MINOR: server: add a list of safe, already reused idle connections

These ones are considered safe as they have already been reused.
They will be useful in "aggressive" and "always" http-reuse modes
in order to place the first request of a connection with the least
risk.
This commit is contained in:
Willy Tarreau 2015-08-05 16:35:23 +02:00
parent 161d45ffc7
commit 7017cb040c
3 changed files with 4 additions and 0 deletions

View File

@ -168,6 +168,7 @@ struct server {
struct list actconns; /* active connections */
struct list priv_conns; /* private idle connections attached to stream interfaces */
struct list idle_conns; /* sharable idle connections attached or not to a stream interface */
struct list safe_conns; /* safe idle connections attached to stream interfaces, shared */
struct task *warmup; /* the task dedicated to the warmup when slowstart is set */
struct conn_src conn_src; /* connection source settings */

View File

@ -5062,6 +5062,7 @@ void hlua_init(void)
LIST_INIT(&socket_tcp.pendconns);
LIST_INIT(&socket_tcp.priv_conns);
LIST_INIT(&socket_tcp.idle_conns);
LIST_INIT(&socket_tcp.safe_conns);
socket_tcp.state = SRV_ST_RUNNING; /* early server setup */
socket_tcp.last_change = 0;
socket_tcp.id = "LUA-TCP-CONN";
@ -5107,6 +5108,7 @@ void hlua_init(void)
LIST_INIT(&socket_ssl.pendconns);
LIST_INIT(&socket_ssl.priv_conns);
LIST_INIT(&socket_ssl.idle_conns);
LIST_INIT(&socket_ssl.safe_conns);
socket_ssl.state = SRV_ST_RUNNING; /* early server setup */
socket_ssl.last_change = 0;
socket_ssl.id = "LUA-SSL-CONN";

View File

@ -888,6 +888,7 @@ int parse_server(const char *file, int linenum, char **args, struct proxy *curpr
LIST_INIT(&newsrv->pendconns);
LIST_INIT(&newsrv->priv_conns);
LIST_INIT(&newsrv->idle_conns);
LIST_INIT(&newsrv->safe_conns);
do_check = 0;
do_agent = 0;
newsrv->flags = 0;