haproxy/include/types
Willy Tarreau 520d95e42b [MAJOR] buffers: split BF_WRITE_ENA into BF_AUTO_CONNECT and BF_AUTO_CLOSE
The BF_WRITE_ENA buffer flag became very complex to deal with, because
it was used to :
  - enable automatic connection
  - enable close forwarding
  - enable data forwarding

The last point was not very true anymore since we introduced ->send_max,
but still the test remained everywhere. This was causing issues such as
impossibility to connect without forwarding data, impossibility to prevent
closing when data was forwarded, etc...

This patch clarifies the situation by getting rid of this multi-purpose
flag and replacing it with :
  - data forwarding based only on ->send_max || ->pipe ;
  - a new BF_AUTO_CONNECT flag to allow automatic connection and only
    that ;
  - ability to perform an automatic connection when ->send_max or ->pipe
    indicate that data is waiting to leave the buffer ;
  - a new BF_AUTO_CLOSE flag to let the producer automatically set the
    BF_SHUTW_NOW flag when it gets a BF_SHUTR.

During this cleanup, it was discovered that some tests were performed
twice, or that the BF_HIJACK flag was still tested, which is not needed
anymore since ->send_max replcaed it. These places have been fixed too.

These cleanups have also revealed a few areas where the other flags
such as BF_EMPTY are not cleanly used. This will be an opportunity for
a second patch.
2009-09-19 21:14:54 +02:00
..
acl.h [MEDIUM] acl: set types on all currently known ACL verbs 2008-07-25 19:31:03 +02:00
backend.h [MEDIUM] add support for RDP cookie load-balancing 2009-07-14 12:50:39 +02:00
buffers.h [MAJOR] buffers: split BF_WRITE_ENA into BF_AUTO_CONNECT and BF_AUTO_CLOSE 2009-09-19 21:14:54 +02:00
capture.h [MAJOR] last bunch of capture changes for mempool v2 2007-05-13 22:46:04 +02:00
fd.h [MEDIUM] remove TCP_CORK and make use of MSG_MORE instead 2009-08-19 11:29:44 +02:00
freq_ctr.h [MEDIUM] measure and report session rate on frontend, backends and servers 2009-03-05 18:43:00 +01:00
global.h [MEDIUM] make it possible to change the buffer size in the configuration 2009-08-17 22:56:56 +02:00
hdr_idx.h [BUG] files were missing for hdr_idx in previous commit 2006-12-04 02:20:02 +01:00
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
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: add options to ignore invalid header names 2009-04-02 21:36:34 +02:00
proto_tcp.h [MAJOR] implement tcp request content inspection 2008-07-16 10:29:07 +02:00
protocols.h [MINOR] move the initial task's nice value to the listener 2009-08-16 19:36:56 +02:00
proxy.h [MEDIUM] set rep->analysers from fe and be analysers 2009-08-16 22:57:50 +02:00
queue.h [MAJOR] ported pendconn to mempools v2 2007-05-13 20:19:55 +02:00
server.h [MEDIUM] add support for binding to source port ranges during connect 2009-06-10 12:23:32 +02:00
session.h [MEDIUM] implement error dump on unix socket with "show errors" 2009-03-04 15:53:18 +01:00
signal.h [MINOR] add basic signal handling functions 2009-05-10 09:24:23 +02:00
stream_interface.h [MEDIUM] stream_interface: add and use ->update function to resync 2009-08-18 07:38:19 +02:00
task.h [MINOR] show sess: report number of calls to each task 2009-03-28 17:54:35 +01:00
template.h [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00