haproxy/include/types
Willy Tarreau 96199b1016 MAJOR: stream-interface: restore splicing mechanism
The splicing is now provided by the data-layer rcv_pipe/snd_pipe functions
which in turn are called by the stream interface's recv and send callbacks.

The presence of the rcv_pipe/snd_pipe functions is used to attest support
for splicing at the data layer. It looks like the stream-interface's
SI_FL_CAP_SPLICE flag does not make sense anymore as it's used as a proxy
for the pointers above.

It also appears that we call chk_snd() from the recv callback and then
try to call it again in update_conn(). It is very likely that this last
function will progressively slip into the recv/send callbacks in order
to avoid duplicate check code.

The code works right now with and without splicing. Only raw_sock provides
support for it and it is automatically selected when the various splice
options are set. However it looks like splice-auto doesn't enable it, which
possibly means that the streamer detection code does not work anymore, or
that it's only called at a time where it's too late to enable splicing (in
process_session).
2012-09-03 20:47:31 +02:00
..
acl.h MEDIUM: acl: support IPv6 address matching 2012-05-08 21:28:14 +02:00
arg.h BUG/MEDIUM: ensure that unresolved arguments are freed exactly once 2012-06-01 10:40:52 +02:00
auth.h [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00
backend.h BUG/MAJOR: checks: don't call set_server_status_* when no LB algo is set 2012-05-19 19:09:46 +02:00
buffers.h REORG/MAJOR: extract "struct buffer" from "struct channel" 2012-09-02 21:54:56 +02:00
capture.h [MAJOR] last bunch of capture changes for mempool v2 2007-05-13 22:46:04 +02:00
checks.h MINOR: checks: add on-marked-up option 2012-06-03 23:48:42 +02:00
connection.h MAJOR: raw_sock: extract raw_sock_to_buf() from raw_sock_read() 2012-09-03 20:47:30 +02:00
counters.h [MINOR] stats: report the number of requests intercepted by the frontend 2011-09-10 23:32:41 +02:00
fd.h MINOR: fd: get rid of FD_WAIT_* 2012-09-02 21:53:12 +02:00
freq_ctr.h [MINOR] freq_ctr: add new types and functions for periods different from 1s 2010-08-10 14:01:09 +02:00
global.h BUG/MAJOR: trash must always be the size of a buffer 2012-05-16 14:21:55 +02:00
hdr_idx.h [BUG] files were missing for hdr_idx in previous commit 2006-12-04 02:20:02 +01:00
lb_chash.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fas.h MEDIUM: backend: add the 'first' balancing algorithm 2012-02-21 22:27:27 +01:00
lb_fwlc.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.h [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.h [CLEANUP] proxy: move last lb-specific bits to their respective files 2009-10-03 18:41:18 +02:00
log.h MINOR: log: log-format: usable without httplog and tcplog 2012-04-07 16:25:26 +02:00
peers.h MEDIUM: stream_interface: derive the socket operations from the target 2012-05-11 18:52:14 +02: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-06-10 12:23:32 +02:00
proto_http.h REORG/MAJOR: use "struct channel" instead of "struct buffer" 2012-09-02 21:54:55 +02:00
proto_tcp.h [MINOR] session-counters: use "track-sc{1,2}" instead of "track-{fe,be}-counters" 2010-08-10 18:04:15 +02:00
protocols.h MEDIUM: protocol: add a pointer to struct sock_ops to the listener struct 2012-05-21 22:22:39 +02:00
proxy.h DOC: fix name for "option independant-streams" 2012-09-02 21:51:07 +02:00
queue.h [MAJOR] ported pendconn to mempools v2 2007-05-13 20:19:55 +02:00
sample.h REORG: rename "pattern" files 2012-05-08 20:57:21 +02:00
server.h REORG/MINOR: checks: put a struct connection into the server 2012-09-02 21:51:26 +02:00
session.h REORG/MAJOR: use "struct channel" instead of "struct buffer" 2012-09-02 21:54:55 +02:00
signal.h [MEDIUM] signals: add support for registering functions and tasks 2010-08-27 18:00:40 +02:00
stick_table.h [MEDIUM] IPv6 support for stick-tables 2011-03-29 01:09:14 +02:00
stream_interface.h MAJOR: stream-interface: restore splicing mechanism 2012-09-03 20:47:31 +02:00
task.h [MEDIUM] signals: add support for registering functions and tasks 2010-08-27 18:00:40 +02:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00