haproxy/include/proto
Willy Tarreau c9fa0480af MAJOR: buffer: finalize buffer detachment
Now the buffers only contain the header and a pointer to the storage
area which can be anywhere. This will significantly simplify buffer
swapping and will make it possible to map chunks on buffers as well.

The buf_empty variable was removed, as now it's enough to have size==0
and area==NULL to designate the empty buffer (thus a non-allocated head
is the empty buffer by default). buf_wanted for now is indicated by
size==0 and area==(void *)1.

The channels and the checks now embed the buffer's head, and the only
pointer is to the storage area. This slightly increases the unallocated
buffer size (3 extra ints for the empty buffer) but considerably
simplifies dynamic buffer management. It will also later permit to
detach unused checks.

The way the struct buffer is arranged has proven quite efficient on a
number of tests, which makes sense given that size is always accessed
and often first, followed by the othe ones.
2018-07-19 16:23:43 +02:00
..
acl.h MINOR: acl: Pass the ACLs as an explicit parameter of build_acl_cond 2017-10-31 11:36:12 +01:00
action.h MINOR: action: Add function to check rules using an action ACT_ACTION_TRK_* 2017-10-31 11:36:12 +01:00
applet.h MAJOR: applets: Use tasks, instead of rolling our own scheduler. 2018-05-26 20:03:30 +02:00
arg.h
auth.h
backend.h MEDIUM: check: server states and weight propagation re-work 2017-09-05 15:23:16 +02:00
channel.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
checks.h BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
cli.h MEDIUM: cli: Add payload support 2018-04-26 14:19:33 +02:00
compression.h
connection.h BUG/MEDIUM: connection: Make sure we have a mux before calling detach(). 2018-04-13 16:02:21 +02:00
dns.h BUG/MINOR: dns: Don't try to get the server lock if it's already held. 2017-11-06 18:34:24 +01:00
fd.h MINOR: pollers: move polled_mask outside of struct fdtab. 2018-05-06 06:27:34 +02:00
filters.h CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
flt_http_comp.h
freq_ctr.h BUG/MAJOR: threads/freq_ctr: fix lock on freq counters. 2017-10-31 13:58:33 +01:00
frontend.h
h1.h MINOR: buffer: use b_orig() to replace most references to b->data 2018-07-19 16:23:42 +02:00
hdr_idx.h CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
hlua_fcn.h MINOR: lua: add utility function for check boolean argument 2016-11-24 21:35:10 +01:00
hlua.h
lb_chash.h
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h MEDIUM: threads/lb: Make LB algorithms (lb_*.c) thread-safe 2017-10-31 13:58:31 +01:00
listener.h BUG/MEDIUM: threads/unix: Fix a deadlock when a listener is temporarily disabled 2018-03-16 11:19:07 +01:00
log.h MINOR: log: move 'log' keyword parsing in dedicated function 2018-04-05 15:13:54 +02:00
map.h
mux_pt.h MEDIUM: connection: start to introduce a mux layer between xprt and data 2017-10-31 18:03:23 +01:00
obj_type.h MINOR: connection: introduce conn_stream 2017-10-31 18:03:23 +01:00
openssl-compat.h MINOR: ssl: build with recent BoringSSL library 2017-10-24 19:57:16 +02:00
pattern.h BUG/MEDIUM: map/acl: fix unwanted flags inheritance. 2017-07-04 10:45:53 +02:00
payload.h
peers.h
pipe.h
port_range.h
proto_http.h MINOR: channel: remove almost all references to buf->i and buf->o 2018-07-19 16:23:42 +02:00
proto_tcp.h MINOR: protocols: register the ->add function and stop calling them directly 2017-09-15 11:49:52 +02:00
proto_udp.h
protocol.h
proxy.h MINOR: tasks: Change the task API so that the callback takes 3 arguments. 2018-05-26 19:23:57 +02:00
queue.h BUG/MAJOR: threads/queue: Fix thread-safety issues on the queues management 2018-03-19 10:03:06 +01:00
raw_sock.h CLEANUP: connection: unexport raw_sock and ssl_sock 2016-12-22 23:26:38 +01:00
sample.h MINOR: samples: Handle the type SMP_T_METH in smp_is_safe and smp_is_rw 2017-07-24 17:16:00 +02:00
server.h BUG/MINOR: dns: Fix SRV records with the new thread code. 2017-10-31 15:47:55 +01:00
session.h BUG/MEDIUM: peers: fix some track counter rules dont register entries for sync. 2017-11-29 19:16:22 +01:00
shctx.h MINOR: shctx: rename lock functions 2017-10-31 03:49:44 +01:00
signal.h CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
spoe.h BUG/MINOR: Wrong type used as argument for spoe_decode_buffer(). 2017-08-22 11:27:20 +02:00
ssl_sock.h MINOR: connection: add proxy-v2-options authority 2018-03-01 11:38:32 +01:00
stats.h BUG/MINOR: stats: make field_str() return an empty string on NULL 2016-11-26 15:58:37 +01:00
stick_table.h BUILD: threads: Rename SPIN/RWLOCK macros using HA_ prefix 2017-11-07 11:10:24 +01:00
stream_interface.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
stream.h MINOR: tasks: Change the task API so that the callback takes 3 arguments. 2018-05-26 19:23:57 +02:00
task.h MINOR: tasklet: Set process to NULL. 2018-07-19 16:23:08 +02:00
tcp_rules.h MINOR: action: Use trk_idx instead of tcp/http_trk_idx 2017-10-31 11:36:12 +01:00
template.h
vars.h MINOR: vars: Add 'unset-var' action/converter 2016-11-09 22:57:01 +01:00