haproxy/include/types
Willy Tarreau 3eba98aa57 [MEDIUM] splice: make use of pipe pools
Using pipe pools makes pipe management a lot easier. It also allows to
remove quite a bunch of #ifdefs in areas which depended on the presence
or not of support for kernel splicing.

The buffer now holds a pointer to a pipe structure which is always NULL
except if there are still data in the pipe. When it needs to use that
pipe, it dynamically allocates it from the pipe pool. When the data is
consumed, the pipe is immediately released.

That way, there is no need anymore to care about pipe closure upon
session termination, nor about pipe creation when trying to use
splice().

Another immediate advantage of this method is that it considerably
reduces the number of pipes needed to use splice(). Tests have shown
that even with 0.2 pipe per connection, almost all sessions can use
splice(), because the same pipe may be used by several consecutive
calls to splice().
2009-01-25 13:56:13 +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 [MEDIUM] splice: make use of pipe pools 2009-01-25 13:56:13 +01:00
capture.h [MAJOR] last bunch of capture changes for mempool v2 2007-05-13 22:46:04 +02:00
fd.h [MINOR] move the listener reference from fd to session 2008-12-07 16:45:10 +01:00
global.h [MEDIUM] splice: make use of pipe pools 2009-01-25 13:56:13 +01:00
hdr_idx.h
httperr.h
log.h [BUILD] fix build on AIX due to recent log changes 2007-12-05 11:11:55 +01:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
polling.h [MAJOR] introduced speculative I/O with epoll() 2007-04-16 00:53:59 +02:00
proto_http.h [MINOR] redirect: add support for the "drop-query" option 2008-12-07 23:42:01 +01:00
proto_tcp.h [MAJOR] implement tcp request content inspection 2008-07-16 10:29:07 +02:00
protocols.h [MINOR] pre-set analyser flags on the listener at registration time 2008-12-07 11:50:35 +01:00
proxy.h [MEDIUM] splice: add configuration options and set global.maxpipes 2009-01-18 21:44:07 +01: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 [MEDIUM] add support for "show sess" in unix stats socket 2008-12-07 22:41:17 +01:00
stream_interface.h [MEDIUM] enable inter-stream_interface wakeup calls 2008-12-28 11:09:02 +01:00
task.h [MEDIUM] indicate a reason for a task wakeup 2008-11-02 10:19:08 +01:00
template.h