haproxy/src
Willy Tarreau b5e2cbdcc8 MEDIUM: connection: add definitions for dual polling mechanisms
The conflicts we're facing with polling is that handshake handlers have
precedence over data handlers and may change the polling requirements
regardless of what is expected by the data layer. This causes issues
such as missed events.

The real need is to have three polling levels :
  - the "current" one, which is effective at any moment
  - the data one, which reflects what the data layer asks for
  - the sock one, which reflects what the socket layer asks for

Depending on whether a handshake is in progress or not, either one of the
last two will replace the current one, and the change will be propagated
to the lower layers.

At the moment, the shutdown status is not considered, and only handshakes
are used to decide which layer to chose. This will probably change.
2012-09-02 21:53:11 +02:00
..
acl.c BUG/MINOR: ACL implicit arguments must be created with unresolved flag 2012-06-15 08:02:34 +02:00
appsession.c CLEANUP: remove a few warning about unchecked return values in debug code 2012-04-30 11:56:30 +02:00
arg.c BUG/MEDIUM: ensure that unresolved arguments are freed exactly once 2012-06-01 10:40:52 +02:00
auth.c CLEANUP: auth: make the code build again with DEBUG_AUTH 2012-05-10 23:25:35 +02:00
backend.c MINOR: balance uri: added 'whole' parameter to include query string in hash calculation 2012-05-22 07:56:54 +02:00
base64.c [MINOR] add encode/decode function for 30-bit integers from/to base64 2010-10-30 19:04:33 +02:00
buffers.c BUG/MEDIUM: buffers: fix bi_putchr() to correctly advance the pointer 2012-05-31 16:40:11 +02:00
cfgparse.c REORG/MINOR: checks: put a struct connection into the server 2012-09-02 21:51:26 +02:00
checks.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
connection.c MEDIUM: connection: add definitions for dual polling mechanisms 2012-09-02 21:53:11 +02:00
cttproxy.c [BUG] cttproxy: socket fd leakage in check_cttproxy_version 2010-05-09 21:19:08 +02:00
dumpstats.c MEDIUM: stats/cli: add support for "set table key" to enter values 2012-09-02 21:51:07 +02:00
ev_epoll.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_kqueue.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_poll.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_select.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
ev_sepoll.c MEDIUM: fd: add fd_poll_{recv,send} for use when explicit polling is required 2012-09-02 21:53:11 +02:00
fd.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
freq_ctr.c [MINOR] freq_ctr: add new types and functions for periods different from 1s 2010-08-10 14:01:09 +02:00
frontend.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
haproxy.c REORG/MEDIUM: fd: remove FD_STCLOSE from struct fdtab 2012-09-02 21:51:25 +02:00
hdr_idx.c OPTIM/MINOR: move the hdr_idx pools out of the proxy struct 2011-10-24 18:15:04 +02:00
i386-linux-vsys.c OPTIM: i386: make use of kernel-mode-linux when available 2012-07-31 07:53:42 +02:00
lb_chash.c [MEDIUM] hash: add support for an 'avalanche' hash-type 2010-11-29 07:28:16 +01:00
lb_fas.c CLEANUP: lb_first: add reference to a paper describing the original idea 2012-04-07 09:08:45 +02:00
lb_fwlc.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_fwrr.c [MEDIUM] build: switch ebtree users to use new ebtree version 2009-10-26 21:10:04 +01:00
lb_map.c [BUG] url_param hash may return a down server 2010-03-12 06:22:16 +01:00
log.c BUG/MINOR: to_log erased with unique-id-format 2012-08-09 19:18:22 +02:00
memory.c MEDIUM: memory: add the ability to poison memory at run time 2012-05-08 21:28:16 +02:00
peers.c MAJOR: get rid of fdtab[].state and use connection->flags instead 2012-09-02 21:51:26 +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: get rid of fdtab[].state and use connection->flags instead 2012-09-02 21:51:26 +02:00
proto_tcp.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
proto_uxst.c CLEANUP: remove the now unused fdtab direct I/O callbacks 2012-09-02 21:51:29 +02:00
protocols.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
proxy.c BUG/MINOR: fix option httplog validation with TCP frontends 2012-05-31 19:30:26 +02:00
queue.c BUG/MEDIUM: zero-weight servers must not dequeue requests from the backend 2012-01-20 16:18:53 +01:00
rbtree.c [MINOR] imported the rbtree function from Linux kernel 2007-01-07 02:12:57 +01:00
regex.c [MINOR] prepare req_*/rsp_* to receive a condition 2010-01-28 18:10:50 +01:00
sample.c REORG: rename "pattern" files 2012-05-08 20:57:21 +02:00
server.c [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
session.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
sessionhash.c [PATCH] appsessions: cleanup DEBUG_HASH and initialize request_counter 2008-08-13 23:43:26 +02:00
signal.c [MEDIUM] signals: support redistribution of signal zero when stopping 2010-08-27 18:26:11 +02:00
sock_raw.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
standard.c MINOR: standard: add an IPv6 parsing function (str62net) 2012-05-08 20:57:21 +02:00
stick_table.c REORG: rename "pattern" files 2012-05-08 20:57:21 +02:00
stream_interface.c MAJOR: fd: replace all EV_FD_* macros with new fd_*_* inline calls 2012-09-02 21:53:11 +02:00
task.c [OPTIM] task: don't scan the run queue if we know it's empty 2011-09-10 20:08:49 +02:00
time.c MINOR: Date and time fonctions that don't use snprintf 2012-02-09 17:03:28 +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 [REORG] http: move the http-request rules to proto_http 2011-03-13 22:00:24 +01:00