haproxy/include/types
Willy Tarreau a3e0e0767f [MEDIUM] new option "independant-streams" to stop updating read timeout on writes
By default, when data is sent over a socket, both the write timeout and the
read timeout for that socket are refreshed, because we consider that there is
activity on that socket, and we have no other means of guessing if we should
receive data or not.

While this default behaviour is desirable for almost all applications, there
exists a situation where it is desirable to disable it, and only refresh the
read timeout if there are incoming data. This happens on sessions with large
timeouts and low amounts of exchanged data such as telnet session. If the
server suddenly disappears, the output data accumulates in the system's
socket buffers, both timeouts are correctly refreshed, and there is no way
to know the server does not receive them, so we don't timeout. However, when
the underlying protocol always echoes sent data, it would be enough by itself
to detect the issue using the read timeout. Note that this problem does not
happen with more verbose protocols because data won't accumulate long in the
socket buffers.

When this option is set on the frontend, it will disable read timeout updates
on data sent to the client. There probably is little use of this case. When
the option is set on the backend, it will disable read timeout updates on
data sent to the server. Doing so will typically break large HTTP posts from
slow lines, so use it with caution.

(cherry picked from commit f27b5ea8dc)
2009-10-03 22:11:50 +02:00
..
acl.h [MEDIUM] acl: set types on all currently known ACL verbs 2008-07-25 19:31:03 +02:00
backend.h [MEDIUM] add support for "balance hdr(name)" 2009-05-10 15:50:15 +02:00
buffers.h [OPTIM] buffer: new BF_READ_DONTWAIT flag reduces EAGAIN rates 2009-03-21 21:57:30 +01:00
capture.h [MAJOR] last bunch of capture changes for mempool v2 2007-05-13 22:46:04 +02:00
fd.h [MEDIUM] add support for binding to source port ranges during connect 2009-07-14 20:13:26 +02:00
freq_ctr.h [MEDIUM] measure and report session rate on frontend, backends and servers 2009-03-05 18:43:00 +01:00
global.h [MINOR] add "description", "node" and show-node"/"show-desc", remove "node-name", v2 2009-10-03 20:01:52 +02:00
hdr_idx.h [BUG] files were missing for hdr_idx in previous commit 2006-12-04 02:20:02 +01:00
httperr.h [MAJOR] udpated the stats page to clearly distinguish FEs and BEs 2007-01-01 21:38:07 +01:00
log.h [BUILD] fix build on AIX due to recent log changes 2007-12-05 11:11:55 +01:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
port_range.h [MEDIUM] add support for binding to source port ranges during connect 2009-07-14 20:13:26 +02:00
proto_http.h [MEDIUM] http: add options to ignore invalid header names 2009-04-02 21:36:34 +02:00
proto_tcp.h [MAJOR] implement tcp request content inspection 2008-07-16 10:29:07 +02:00
protocols.h [MEDIUM] minor update to the task api: let the scheduler queue itself 2009-03-08 09:38:41 +01:00
proxy.h [MEDIUM] new option "independant-streams" to stop updating read timeout on writes 2009-10-03 22:11:50 +02:00
queue.h [MAJOR] ported pendconn to mempools v2 2007-05-13 20:19:55 +02:00
server.h [MEDIUM] add support for binding to source port ranges during connect 2009-07-14 20:13:26 +02:00
session.h [MEDIUM] implement error dump on unix socket with "show errors" 2009-03-04 15:53:18 +01:00
signal.h [MINOR] add basic signal handling functions 2009-05-10 09:24:23 +02:00
stream_interface.h [MEDIUM] new option "independant-streams" to stop updating read timeout on writes 2009-10-03 22:11:50 +02:00
task.h [MINOR] show sess: report number of calls to each task 2009-03-28 17:54:35 +01:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00