haproxy/src
Willy Tarreau 8dff998b91 MAJOR: backend: initial work towards connection reuse
In connect_server(), if we don't have a connection attached to the
stream-int, we first look into the server's idle_conns list and we
pick the first one there, we detach it from its owner if it had one.
If we used to have a connection, we close it.

This mechanism works well but doesn't scale : as servers increase,
the likeliness that the connection attached to the stream interface
doesn't match the server and gets closed increases.
2015-08-06 11:34:21 +02:00
..
51d.c BUG/MEDIUM: 51d: possible incorrect operations on smp->data.str.str 2015-07-07 17:19:33 +02:00
acl.c MAJOR: sample: converts uint and sint in 64 bits signed integer 2015-07-22 00:48:23 +02:00
applet.c MEDIUM: applet: make the applets only use si_applet_{cant|want|stop}_{get|put} 2015-04-23 17:56:17 +02:00
appsession.c MINOR: includes: fix a lot of missing or useless includes 2015-02-28 23:12:32 +01:00
arg.c MAJOR: arg: converts uint and sint in sint 2015-07-22 00:48:23 +02:00
auth.c BUILD: Compile clean when debug options defined 2015-05-03 09:17:43 +02:00
backend.c MAJOR: backend: initial work towards connection reuse 2015-08-06 11:34:21 +02:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffer.c BUG/MAJOR: buffers: make the buffer_slow_realign() function respect output data 2015-07-02 15:27:24 +02:00
cfgparse.c MINOR: config: add new setting "http-reuse" 2015-08-06 11:14:20 +02:00
channel.c MEDIUM: channel: don't always set CF_WAKE_WRITE on bi_put* 2015-03-13 14:00:47 +01:00
checks.c BUG/MEDIUM: mailer: DATA part must be terminated with <CRLF>.<CRLF> 2015-07-22 22:39:39 +02:00
chunk.c BUG/MINOR: chunk: Fix function chunk_strcmp and chunk_strcasecmp match a substring. 2014-05-09 19:16:13 +02:00
compression.c MAJOR: sample: converts uint and sint in 64 bits signed integer 2015-07-22 00:48:23 +02:00
connection.c BUG/MAJOR: connection: fix TLV offset calculation for proxy protocol v2 parsing 2015-07-03 17:05:20 +02:00
cttproxy.c CLEANUP: cttproxy: remove a warning on undeclared close() 2012-10-05 22:18:07 +02:00
da.c CLEANUP: da: remove ifdef USE_DEVICEATLAS from da.c 2015-06-02 13:42:12 +02:00
dns.c BUG/MAJOR: dns: fix the length of the string to be copied 2015-07-22 16:53:22 +02:00
dumpstats.c MINOR: stats: improve compression stats reporting 2015-07-04 14:35:15 +02:00
ev_epoll.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_kqueue.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_poll.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
ev_select.c CLEANUP: poll: move the conditions for waiting out of the poll functions 2015-04-13 20:47:51 +02:00
fd.c MAJOR: polling: centralize calls to I/O callbacks 2014-11-21 20:37:32 +01:00
freq_ctr.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
frontend.c MAJOR: sample: converts uint and sint in 64 bits signed integer 2015-07-22 00:48:23 +02:00
haproxy-systemd-wrapper.c BUILD/CLEANUP: systemd: avoid a warning due to mixed code and declaration 2015-03-04 10:11:57 +01:00
haproxy.c MEDIUM: 51d: add LRU-based cache on User-Agent string detection 2015-06-30 10:43:03 +02:00
hash.c MINOR: hash: add new function hash_crc32 2015-01-20 19:48:05 +01:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
hlua.c MINOR: server: add a list of already used idle connections 2015-08-06 11:13:47 +02:00
i386-linux-vsys.c MEDIUM: listener: add support for linux's accept4() syscall 2012-10-08 20:11:03 +02:00
lb_chash.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fas.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwlc.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_fwrr.c REORG/MEDIUM: server: split server state and flags in two different variables 2014-05-22 11:27:00 +02:00
lb_map.c MINOR: server: make use of srv_is_usable() instead of checking eweight 2014-05-23 14:29:11 +02:00
listener.c MAJOR: sample: converts uint and sint in 64 bits signed integer 2015-07-22 00:48:23 +02:00
log.c MINOR: args: add new context for servers 2015-07-09 11:39:33 +02:00
lru.c BUG/MEDIUM: lru: fix possible memory leak when ->free() is used 2015-06-17 20:33:30 +02:00
mailers.c MEDIUM: Add parsing of mailers section 2015-02-03 00:24:16 +01:00
map.c MAJOR: arg: converts uint and sint in sint 2015-07-22 00:48:23 +02:00
memory.c MEDIUM: memory: improve pool_refill_alloc() to pass a refill count 2014-12-24 23:47:31 +01:00
namespace.c MAJOR: namespace: add Linux network namespace support 2014-11-21 07:51:57 +01:00
pattern.c MAJOR: sample: converts uint and sint in 64 bits signed integer 2015-07-22 00:48:23 +02:00
payload.c MAJOR: arg: converts uint and sint in sint 2015-07-22 00:48:23 +02:00
peers.c MEDIUM: peers: support of any stick-table data-types for sync 2015-06-16 16:11:59 +02:00
pipe.c BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) 2011-10-24 17:09:22 +02:00
proto_http.c MAJOR: backend: initial work towards connection reuse 2015-08-06 11:34:21 +02:00
proto_tcp.c MINOR: connection: add a new flag CO_FL_PRIVATE 2015-08-06 11:14:17 +02:00
proto_udp.c MEDIUM: protocol: add minimalist UDP protocol client 2015-06-13 22:07:35 +02:00
proto_uxst.c REORG/MEDIUM: stream: rename stream flags from SN_* to SF_* 2015-04-06 11:23:57 +02:00
protocol.c MEDIUM: protocol: use a family array to index the protocol handlers 2015-02-28 23:12:31 +01:00
proxy.c MINOR: proxy: bit field for proxy_find_best_match diff status 2015-07-21 23:24:16 +02:00
queue.c REORG/MEDIUM: stream: rename stream flags from SN_* to SF_* 2015-04-06 11:23:57 +02:00
raw_sock.c BUG/MINOR: raw_sock: also consider ENOTCONN in addition to EAGAIN for recv() 2014-03-04 07:27:18 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c MEDIUM: regex: add support for passing regex flags to regex_exec_match() 2015-01-22 14:24:53 +01:00
sample.c MEDIUM: vars/sample: operators can use variables as parameter 2015-07-22 00:48:24 +02:00
server.c MINOR: server: add a list of already used idle connections 2015-08-06 11:13:47 +02:00
session.c MEDIUM: vars: move the session variables to the session, not the stream 2015-06-19 11:59:02 +02:00
sessionhash.c [PATCH] appsessions: cleanup DEBUG_HASH and initialize request_counter 2008-08-13 23:43:26 +02:00
shctx.c MINOR: stats: add counters for SSL cache lookups and misses 2014-05-28 16:53:04 +02:00
signal.c BUG/MEDIUM: signal: signal handler does not properly check for signal bounds 2013-01-24 16:19:19 +01:00
ssl_sock.c BUILD: ssl: Allow building against libssl without SSLv3. 2015-07-26 08:11:57 +02:00
standard.c MINOR: standard: add 64 bits conversion functions 2015-07-21 23:27:10 +02:00
stick_table.c MAJOR: sample: converts uint and sint in 64 bits signed integer 2015-07-22 00:48:23 +02:00
stream_interface.c MEDIUM: stream-int: queue idle connections at the server 2015-08-06 11:06:25 +02:00
stream.c MINOR: stream: initialize the current_rule field to NULL on stream init 2015-07-26 21:50:50 +02:00
task.c REORG/MAJOR: session: rename the "session" entity to "stream" 2015-04-06 11:23:56 +02:00
time.c BUG/MINOR: time: frequency counters are not totally accurate 2012-12-29 21:50:07 +01:00
trace.c MINOR: add a new function call tracer for debugging purposes 2012-05-26 00:12:37 +02:00
uri_auth.c BUG/MEDIUM: uri_auth: missing NULL check and memory leak on memory shortage 2013-01-24 16:19:19 +01:00
vars.c MINOR: vars: returns variable content 2015-07-22 00:48:24 +02:00
xxhash.c IMPORT: hash: import xxhash-r39 2015-04-29 19:15:21 +02:00