haproxy/include/proto
Willy Tarreau 79584225e5 [OPTIM] rate-limit: cleaner behaviour on low rates and reduce consumption
The rate-limit was applied to the smoothed value which does a special
case for frequencies below 2 events per period. This caused irregular
limitations when set to 1 session per second.

The proper way to handle this is to compute the number of remaining
events that can occur without reaching the limit. This is what has
been added. It also has the benefit that the frequency calculation
is now done once when entering event_accept(), before the accept()
loop, and not once per accept() loop anymore, thus saving a few CPU
cycles during very high loads.

With this fix, rate limits of 1/s are perfectly respected.
2009-03-06 09:18:27 +01:00
..
acl.h [MEDIUM] acl: when possible, report the name and requirements of ACLs in warnings 2008-08-03 09:41:05 +02:00
backend.h [MAJOR] migrate the connection logic to stream interface 2008-11-02 10:19:10 +01:00
buffers.h [MEDIUM] splice: make use of pipe pools 2009-01-25 13:56:13 +01:00
checks.h [MEDIUM] Spread health checks even more 2007-10-15 09:33:10 +02:00
client.h [CLEANUP] remove unused include/types/client.h 2008-07-16 10:30:40 +02:00
cttproxy.h [MEDIUM] check for cttproxy support when required 2007-03-24 17:24:39 +01:00
dumpstats.h [MEDIUM] implement error dump on unix socket with "show errors" 2009-03-04 15:53:18 +01:00
fd.h [MEDIUM] Fix memory freeing at exit 2008-05-30 07:07:19 +02:00
freq_ctr.h [OPTIM] rate-limit: cleaner behaviour on low rates and reduce consumption 2009-03-06 09:18:27 +01:00
hdr_idx.h [MAJOR] huge rework of the HTTP request FSM 2007-01-21 19:16:41 +01:00
httperr.h [MEDIUM] errorloc now checked first from backend then from frontend 2006-12-24 17:47:20 +01:00
log.h [CLEANUP] remove many #include <types/xxx> from C files 2008-07-16 10:30:42 +02:00
pipe.h [MEDIUM] introduce pipe pools 2009-01-25 13:49:53 +01:00
proto_http.h [MEDIUM] reference the current hijack function in the buffer itself 2008-12-07 18:03:29 +01:00
proto_tcp.h [MEDIUM] extract TCP request processing from HTTP 2008-11-30 23:15:34 +01:00
proto_uxst.h [MAJOR] make unix sockets work again with stats 2008-12-07 16:06:43 +01:00
protocols.h [MINOR] add a generic unbind_all_listeners() primitive 2007-11-04 22:42:49 +01:00
proxy.h [MEDIUM] measure and report session rate on frontend, backends and servers 2009-03-05 18:43:00 +01:00
queue.h [BUG] do not dequeue the backend's pending connections on a dead server 2008-12-07 23:51:12 +01:00
server.h [MEDIUM] measure and report session rate on frontend, backends and servers 2009-03-05 18:43:00 +01:00
session.h [MINOR] declare process_session in session.h, not proto_http.h 2008-12-01 01:35:40 +01:00
stream_interface.h [MINOR] replace client_retnclose() with stream_int_retnclose() 2008-11-30 19:48:07 +01:00
stream_sock.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 [CLEANUP] included common/version.h everywhere 2006-06-29 18:54:54 +02:00