haproxy/include/types
Willy Tarreau fe3718ab79 [MAJOR] complete layer4/7 separation
All the processing has now completely been split in layers. As of
now, everything is still in process_session() which is not the right
place, but the code sequence works. Timeouts, retries, errors, all
work.

The shutdown sequence has been strictly applied: BF_SHUTR/BF_SHUTW
are only assigned by lower layers. Upper layers can only indicate
their wish to close using BF_SHUTR_NOW and BF_SHUTW_NOW.

When a shutdown is performed on a stream interface, the buffer flags
are updated accordingly and re-checked by upper layers. A lot of care
has been taken to ensure that aborts during intermediate connection
setups are correctly handled and shutdowns correctly propagated to
both buffers.

A future evolution would consist in ensuring that BF_SHUT?_NOW may
be set at any time, and applies only when the buffer is empty. This
might help with error messages, but might complicate the processing
of data remaining in buffers.

Some useless buffer flag combinations have been removed.

Stat counters are still broken (eg: per-server total number of sessions).

Error messages should be delayed to the close instant and be produced by
protocol.

Many functions must now move to proper locations.
2008-11-30 18:14:12 +01:00
..
acl.h [MEDIUM] acl: set types on all currently known ACL verbs 2008-07-25 19:31:03 +02:00
backend.h [MAJOR] implement parameter hashing for POST requests 2008-04-15 15:30:41 +02:00
buffers.h [MAJOR] complete layer4/7 separation 2008-11-30 18:14:12 +01:00
capture.h [MAJOR] last bunch of capture changes for mempool v2 2007-05-13 22:46:04 +02:00
fd.h [MINOR] change type of fdtab[]->owner to void* 2008-11-02 10:19:08 +01:00
global.h [MAJOR] convert all expiration timers from timeval to ticks 2008-07-07 00:09:58 +02:00
hdr_idx.h
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
polling.h [MAJOR] introduced speculative I/O with epoll() 2007-04-16 00:53:59 +02:00
proto_http.h [MEDIUM] merge inspect_exp and txn->exp into request buffer 2008-08-17 18:03:28 +02:00
proto_tcp.h [MAJOR] implement tcp request content inspection 2008-07-16 10:29:07 +02:00
protocols.h [MAJOR] convert all expiration timers from timeval to ticks 2008-07-07 00:09:58 +02:00
proxy.h [BUILD] fix warning in proto_tcp.c with gcc >= 4 2008-08-17 17:13:47 +02:00
queue.h [MAJOR] ported pendconn to mempools v2 2007-05-13 20:19:55 +02:00
server.h [BUG] fix the dequeuing logic to ensure that all requests get served 2008-06-20 15:08:06 +02:00
session.h [MINOR] maintain a global session list in order to ease debugging 2008-11-23 19:53:55 +01:00
stream_interface.h [MEDIUM] remove stream_sock_update_data() 2008-11-23 19:31:35 +01:00
task.h [MEDIUM] indicate a reason for a task wakeup 2008-11-02 10:19:08 +01:00
template.h