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
action.h
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
channel.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
checks.h
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
fd.h MINOR: pollers: move polled_mask outside of struct fdtab. 2018-05-06 06:27:34 +02:00
filters.h
flt_http_comp.h
freq_ctr.h
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
hlua.h
hlua_fcn.h
lb_chash.h
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
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
obj_type.h
openssl-compat.h
pattern.h
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
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
sample.h
server.h
session.h
shctx.h
signal.h
spoe.h
ssl_sock.h MINOR: connection: add proxy-v2-options authority 2018-03-01 11:38:32 +01:00
stats.h
stick_table.h
stream.h MINOR: tasks: Change the task API so that the callback takes 3 arguments. 2018-05-26 19:23:57 +02:00
stream_interface.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
task.h MINOR: tasklet: Set process to NULL. 2018-07-19 16:23:08 +02:00
tcp_rules.h
template.h
vars.h