X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=gateway.h;h=3868c2bd65d4fb5d103be7e567b99bacadc3a2f8;hp=d96bc58d914d316f208cae77f5a0935d2e485188;hb=8a5751cc96dd085fcbcc34bef77499306bddc0c0;hpb=97110184221edacdb7d4dfc29de0e38d63f4d831 diff --git a/gateway.h b/gateway.h index d96bc58d..3868c2bd 100644 --- a/gateway.h +++ b/gateway.h @@ -1,6 +1,6 @@ #ifndef GATEWAY_H_INCLUDED #define GATEWAY_H_INCLUDED -#define GATEWAY_H_VERSION "$Id: gateway.h,v 1.6 2002/03/25 22:12:45 oes Exp $" +#define GATEWAY_H_VERSION "$Id: gateway.h,v 1.14 2009/05/13 18:20:54 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/gateway.h,v $ @@ -36,6 +36,31 @@ * * Revisions : * $Log: gateway.h,v $ + * Revision 1.14 2009/05/13 18:20:54 fabiankeil + * There's no reason for keep_alive_timeout to be signed. + * + * Revision 1.13 2009/05/10 10:12:30 fabiankeil + * Initial keep-alive support for the client socket. + * Temporarily disable the server-side-only keep-alive code. + * + * Revision 1.12 2008/12/24 17:06:19 fabiankeil + * Keep a thread around to timeout alive connections + * even if no new requests are coming in. + * + * Revision 1.11 2008/11/13 09:08:42 fabiankeil + * Add new config option: keep-alive-timeout. + * + * Revision 1.10 2008/10/09 18:21:41 fabiankeil + * Flush work-in-progress changes to keep outgoing connections + * alive where possible. Incomplete and mostly #ifdef'd out. + * + * Revision 1.9 2006/07/18 14:48:46 david__schmidt + * Reorganizing the repository: swapping out what was HEAD (the old 3.1 branch) + * with what was really the latest development (the v_3_0_branch branch) + * + * Revision 1.7 2002/03/26 22:29:54 swa + * we have a new homepage! + * * Revision 1.6 2002/03/25 22:12:45 oes * Added fix for undefined INADDR_NONE on Solaris by Bart Schelstraete * @@ -96,6 +121,28 @@ struct client_state; extern jb_socket forwarded_connect(const struct forward_spec * fwd, struct http_request *http, struct client_state *csp); +#ifdef FEATURE_CONNECTION_KEEP_ALIVE + +/* + * Default number of seconds after which an + * open connection will no longer be reused. + */ +#define DEFAULT_KEEP_ALIVE_TIMEOUT 180 + +extern void set_keep_alive_timeout(unsigned int timeout); +extern void initialize_reusable_connections(void); +extern void forget_connection(jb_socket sfd); +extern void remember_connection(jb_socket sfd, + const struct http_request *http, + const struct forward_spec *fwd, + unsigned int timeout); +extern int close_unusable_connections(void); +extern void mark_connection_closed(struct reusable_connection *closed_connection); +extern int connection_destination_matches(const struct reusable_connection *connection, + const struct http_request *http, + const struct forward_spec *fwd); +#endif /* FEATURE_CONNECTION_KEEP_ALIVE */ + /* * Solaris fix