You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by mt...@apache.org on 2004/08/03 15:17:46 UTC

cvs commit: jakarta-tomcat-connectors/ajp/proxy mod_proxy.h

mturk       2004/08/03 06:17:46

  Modified:    ajp/proxy mod_proxy.h
  Log:
  Initial structures for connection pool support.
  
  Revision  Changes    Path
  1.3       +32 -0     jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h
  
  Index: mod_proxy.h
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/ajp/proxy/mod_proxy.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mod_proxy.h	3 Aug 2004 12:08:22 -0000	1.2
  +++ mod_proxy.h	3 Aug 2004 13:17:45 -0000	1.3
  @@ -51,6 +51,7 @@
   #include "apr_date.h"
   #include "apr_strmatch.h"
   #include "apr_fnmatch.h"
  +#include "apr_reslist.h"
   #define APR_WANT_STRFUNC
   #include "apr_want.h"
   
  @@ -96,6 +97,16 @@
       apr_port_t  port;		/* the port for this proxy */
       regex_t *regexp;		/* compiled regex (if any) for the remote */
       int use_regex;		/* simple boolean. True if we have a regex pattern */
  +
  +    const char *name;       /* name of the remote.
  +                             * used for grouping remotes in loadbalancer.
  +                             */
  +    const char *sticky;     /* sticky session identifier */
  +    int         sticky_force; /* Disable failover for sticky sessions */
  +    int         lbfactor;   /* load balancing factor */
  +    int         mmin;  /* Desired minimum number of available connections */
  +    int         smax;  /* Soft maximum on the total number of connections */
  +    int         hmax;  /* Hard maximum on the total number of connections */
   };
   
   struct proxy_alias {
  @@ -188,6 +199,24 @@
           int content_length; /* length of the content */
   } proxy_completion;
   
  +/* Connection to the backend server */
  +typedef struct {
  +    apr_pool_t   *pool; /* Subpool used for creating socket */
  +    apr_socket_t *sock;
  +    int          close;
  +} proxy_conn;
  +
  +/* Connection pool */
  +typedef struct {
  +    apr_pool_t     *pool;   /* The pool used in constructor and destructor calls */
  +    struct proxy_remote *remote; /* Informations about remote backend */
  +    apr_sockaddr_t *addr;   /* Preparsed remote address info */
  +#if APR_HAS_THREADS
  +    apr_reslist_t  *res;    /* Connection resource list */
  +#else
  +    proxy_conn     *con;    /* Single connection for prefork mpm's */
  +#endif
  +} proxy_conn_pool;
   
   /* hooks */
   
  @@ -254,6 +283,9 @@
   PROXY_DECLARE(int) ap_proxy_connect_to_backend(apr_socket_t **, const char *, apr_sockaddr_t *, const char *, proxy_server_conf *, server_rec *, apr_pool_t *);
   PROXY_DECLARE(int) ap_proxy_ssl_enable(conn_rec *c);
   PROXY_DECLARE(int) ap_proxy_ssl_disable(conn_rec *c);
  +
  +/* Connection pool API */
  +
   
   /* For proxy_util */
   extern module PROXY_DECLARE_DATA proxy_module;
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org