costin      01/11/16 14:45:20

  Modified:    jk/native/common jk_channel.h
  Log:
  Few changes in jk_channel, based on what was required in implementing it.
  
  Revision  Changes    Path
  1.4       +66 -46    jakarta-tomcat-connectors/jk/native/common/jk_channel.h
  
  Index: jk_channel.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native/common/jk_channel.h,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- jk_channel.h      2001/11/07 21:39:35     1.3
  +++ jk_channel.h      2001/11/16 22:45:19     1.4
  @@ -58,17 +58,19 @@
   #ifndef JK_CHANNEL_H
   #define JK_CHANNEL_H
   
  -
  -#ifdef __cplusplus
  -extern "C" {
  -#endif /* __cplusplus */
  -
   #include "jk_global.h"
   #include "jk_logger.h"
   #include "jk_pool.h"
   #include "jk_msg_buff.h"
   
  +#ifdef __cplusplus
  +extern "C" {
  +#endif /* __cplusplus */
  +
  +struct jk_worker;
  +struct jk_endpoint;
   struct jk_channel;
  +
   typedef struct jk_channel jk_channel_t;
   
   /**
  @@ -95,52 +97,70 @@
    * @author Costin Manolache
    */
   struct jk_channel {
  -  /** Pool for the channel 
  -   */
  -  jk_pool_t *pool;
  -  jk_logger_t *logger;
  -
  -  char *name;
  +    char *name;
   
  -  /** Prepare the channel, check the properties. This 
  -   * will resolve the host and do all the validations.
  -   * ( needed to remove the dependencies on sockets in ajp)
  -   */
  -  int (JK_METHOD *init)(jk_channel_t *_this );
  -  
  -  /** Open the communication channel
  -   */
  -  int (JK_METHOD *open)(jk_channel_t *_this );
  -  
  -  /** Close the communication channel
  -   */
  -  int (JK_METHOD *close)(jk_channel_t *_this );
  -
  +    /** List of properties this channel 'knows'. 
  +     *  This will permit admin code to 'query' each channel
  +     *  and the setting code can better report errors.
  +     */
  +    char **supportedProperties;
  +    
  +    struct jk_worker *worker; /* XXX Do we need it ? */
  +    jk_logger_t *logger;
  +    jk_map_t *properties;
  +    jk_pool_t *pool; /* XXX Do we need it ? */
  +    
  +    
  +    /** Prepare the channel, check the properties. This 
  +     * will resolve the host and do all the validations.
  +     * ( needed to remove the dependencies on sockets in ajp)
  +     * 
  +     * The channel may save or use data from the worker ( like cache
  +     *  the inet addr, etc )
  +     *  XXX revisit this - we may pass too much that is not needed
  +     */
  +    int (JK_METHOD *init)(jk_channel_t *_this,
  +                       jk_map_t *properties,
  +                       char *worker_name,
  +                       struct jk_worker *worker, 
  +                       jk_logger_t *l );
  +    
  +    /** Open the communication channel
  +     */
  +    int (JK_METHOD *open)(jk_channel_t *_this, 
  +                       struct jk_endpoint *endpoint );
  +    
  +    /** Close the communication channel
  +     */
  +    int (JK_METHOD *close)(jk_channel_t *_this, 
  +                        struct jk_endpoint *endpoint );
  +    
     /** Send a packet
  -   */
  -  int (JK_METHOD *send)(jk_channel_t *_this,
  -                     jk_msg_buf_t *b );
  -
  -  /** Receive a packet
      */
  -  int (JK_METHOD *recv)(jk_channel_t *_this,
  -                     jk_msg_buf_t *b );
  -
  -  /** Set a channel property. Properties are used to configure the 
  -   * communication channel ( example: port, host, file, shmem_name, etc).
  -   */
  -  int (JK_METHOD *setProperty)(jk_channel_t *_this, 
  -                            char *name, char *value);
  -
  -  /** Get a channel property 
  -   */
  -  int (JK_METHOD *getProperty)(jk_channel_t *_this, 
  +    int (JK_METHOD *send)(jk_channel_t *_this,
  +                       struct jk_endpoint *endpoint,
  +                       char *b, int len );
  +    
  +    /** Receive a packet
  +     */
  +    int (JK_METHOD *recv)(jk_channel_t *_this,
  +                       struct jk_endpoint *endpoint,
  +                       char *b, int len );
  +    
  +    /** Set a channel property. Properties are used to configure the 
  +     * communication channel ( example: port, host, file, shmem_name, etc).
  +     */
  +    int (JK_METHOD *setProperty)(jk_channel_t *_this, 
  +                              char *name, char *value);
  +    
  +    /** Get a channel property 
  +     */
  +    int (JK_METHOD *getProperty)(jk_channel_t *_this, 
                               char *name, char **value);
  -
  -  void *_privatePtr;
  -  int _privateInt;
  +    
  +    void *_privatePtr;
   };
  -
  +    
   #ifdef __cplusplus
   }
   #endif /* __cplusplus */
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to