haproxy/include/proto
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 REORG: rename "pattern" files 2012-05-08 20:57:21 +02:00
arg.h MEDIUM: add a new typed argument list parsing framework 2012-05-08 20:57:10 +02:00
auth.h MAJOR: acl: make use of the new sample struct and get rid of acl_test 2012-05-08 20:57:14 +02:00
backend.h MEDIUM: cfgparse: make backend_parse_balance() use memprintf to report errors 2012-05-08 21:28:17 +02:00
buffers.h BUG/MAJOR: b_rew() must pass a signed offset to b_ptr() 2012-05-31 11:33:42 +02:00
checks.h CLEANUP: Make check_statuses, analyze_statuses and process_chk static 2012-03-24 21:54:19 +01:00
connection.h MAJOR: stream_int: use a common stream_int_shut*() functions regardless of the data layer 2012-09-02 21:53:10 +02:00
cttproxy.h [MEDIUM] check for cttproxy support when required 2007-03-24 17:24:39 +01:00
dumpstats.h MEDIUM: stats/cli: add support for "set table key" to enter values 2012-09-02 21:51:07 +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
frontend.h MEDIUM: stream_sock: add a get_src and get_dst callback and remove SN_FRT_ADDR_SET 2012-04-07 18:03:52 +02:00
hdr_idx.h OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
lb_chash.h [MEDIUM] backend: implement consistent hashing variation 2009-10-09 07:17:58 +02:00
lb_fas.h MEDIUM: backend: add the 'first' balancing algorithm 2012-02-21 22:27:27 +01:00
lb_fwlc.h [CLEANUP] backend: move LB algos to individual files 2009-10-01 11:19:37 +02:00
lb_fwrr.h [CLEANUP] backend: move LB algos to individual files 2009-10-01 11:19:37 +02:00
lb_map.h [MINOR] lb_map: reorder code in order to ease integration of new hash functions 2009-10-01 21:11:15 +02:00
log.h MEDIUM: log: Unique ID 2012-04-07 16:25:26 +02:00
peers.h [CLEANUP] peers.h: fix declarations 2011-06-18 20:27:19 +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 MEDIUM: http: merge acl and pattern header fetch functions 2012-05-08 20:57:19 +02:00
proto_tcp.h MEDIUM: stream_interface: pass connection instead of fd in sock_ops 2012-09-02 21:53:08 +02:00
proto_uxst.h BUG/MEDIUM: stream_interface: restore get_src/get_dst 2012-05-11 16:48:10 +02:00
protocols.h REORG/MEDIUM: move the default accept function from sockstream to protocols.c 2012-05-08 21:28:15 +02:00
proxy.h MEDIUM: session: add support for tunnel timeouts 2012-05-12 12:50:00 +02:00
queue.h BUG/MEDIUM: zero-weight servers must not dequeue requests from the backend 2012-01-20 16:18:53 +01:00
sample.h REORG: rename "pattern" files 2012-05-08 20:57:21 +02:00
server.h [OPTIM] counters: move some max numbers to the counters struct 2009-10-04 23:26:19 +02:00
session.h MEDIUM: cfgparse: use the new error reporting framework for remaining cfg_keywords 2012-05-08 21:28:17 +02:00
signal.h [MEDIUM] signals: support redistribution of signal zero when stopping 2010-08-27 18:26:11 +02:00
sock_raw.h CLEANUP: sock_raw: remove last references to stream_sock 2012-05-11 17:03:42 +02:00
stick_table.h REORG: use the name "sample" instead of "pattern" to designate extracted data 2012-05-08 20:57:20 +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 [MAJOR] proxy: finally get rid of maintain_proxies() 2011-07-25 16:33:49 +02:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00