haproxy/include/types
Willy Tarreau 4a36b56909 MAJOR: stream_int: use a common stream_int_shut*() functions regardless of the data layer
Up to now, we had to use a shutr/shutw interface per data layer, which
basically means 3 distinct functions when we include SSL :
  - generic stream_interface
  - sock_raw
  - sock_ssl

With this change, the code located in the stream_interface manages all the
stream_interface and buffer updates, and calls the data layer hooks when
needed.

At the moment, the socket layer hook had been implicitly considered as
being a regular socket, so the si_shut*() functions call the normal
shutdown() and EV_FD_CLR() functions on the fd if a socket layer is
defined. This may change in the future. The stream_int_shut*()
functions don't call EV_FD_CLR() so that they can later be embedded
in lower layers.

Thus, the si->data->shutr() is not called anymore and si->data->shutw()
is called to close the data layer only (eg: only for SSL).

Proceeding like this is very important because it's the only way to be
able not to rely on these functions when called from the connection
handlers, and call the data layers' instead.
2012-09-02 21:53:10 +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 MAJOR: http: move buffer->lr to http_msg->next 2012-05-08 12:28:11 +02:00
capture.h
checks.h MINOR: checks: add on-marked-up option 2012-06-03 23:48:42 +02:00
connection.h MAJOR: connection: call data layer handshakes from the handler 2012-09-02 21:53:09 +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 MEDIUM: fd: remove the EV_FD_COND_* primitives 2012-09-02 21:53:10 +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
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
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
port_range.h
proto_http.h MEDIUM: stats: add the ability to kill sessions from the admin interface 2012-06-04 00:26:23 +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
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 MINOR: checks: add on-marked-up option 2012-06-03 23:48:42 +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_int: use a common stream_int_shut*() functions regardless of the data layer 2012-09-02 21:53:10 +02:00
task.h [MEDIUM] signals: add support for registering functions and tasks 2010-08-27 18:00:40 +02:00
template.h