haproxy/include/types
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 MINOR: action: Add a function pointer in act_rule struct to check its validity 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 CLEANUP: Fix typo in ARGT_MSK6 comment 2018-01-25 22:25:40 +01:00
auth.h
backend.h MINOR: backend: implement random-based load balancing 2018-05-03 07:20:40 +02:00
cache.h MEDIUM: cache: enable the HTTP analysers 2017-11-20 19:22:27 +01:00
capture.h CLEANUP: pools: rename all pool functions and pointers to remove this "2" 2017-11-24 17:49:53 +01:00
channel.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
checks.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
cli.h MEDIUM: cli: Add payload support 2018-04-26 14:19:33 +02:00
compression.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
connection.h MINOR: connection: add a new receive flag : CO_RFL_BUF_WET 2018-07-19 16:23:41 +02:00
counters.h MINOR: http: Log warning if (add|set)-header fails 2018-05-28 14:53:59 +02:00
dns.h MINOR: dns: new DNS options to allow/prevent IP address duplication 2018-07-12 17:56:44 +02:00
fd.h MINOR: pollers: move polled_mask outside of struct fdtab. 2018-05-06 06:27:34 +02:00
filters.h MEDIUM: threads/filters: Add init/deinit callback per thread 2017-10-31 13:58:32 +01:00
freq_ctr.h
global.h MAJOR: applets: Use tasks, instead of rolling our own scheduler. 2018-05-26 20:03:30 +02:00
h1.h MINOR: h1: store the status code in the H1 message 2017-10-31 08:43:29 +01:00
hdr_idx.h
hlua.h MINOR: lua: Improve error message 2018-05-22 18:57:46 +02:00
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 MINOR: config: Add threads support for "process" option on "bind" lines 2017-11-24 15:38:50 +01:00
log.h MINOR: log: Keep the ref when a log server is copied to avoid duplicate entries 2018-04-05 15:13:54 +02:00
mailers.h
map.h
obj_type.h MINOR: connection: introduce conn_stream 2017-10-31 18:03:23 +01:00
pattern.h MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00
peers.h MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00
pipe.h
port_range.h
proto_http.h MINOR: http: Add support for 421 Misdirected Request 2018-04-28 07:03:39 +02:00
proto_udp.h
protocol.h
proxy.h CLEANUP: proxy: slightly reorder the struct proxy to reduce holes 2017-11-26 11:10:52 +01:00
queue.h BUG/MAJOR: threads/queue: Fix thread-safety issues on the queues management 2018-03-19 10:03:06 +01:00
sample.h
server.h REORG: compact "struct server" 2018-03-21 05:04:01 +01:00
session.h MINOR: session: remove the list of streams from struct session 2017-10-08 22:32:05 +02:00
shctx.h MEDIUM: shctx: use unsigned int for len and block_count 2017-11-21 21:35:04 +01:00
signal.h
spoe.h MAJOR: buffer: finalize buffer detachment 2018-07-19 16:23:43 +02:00
ssl_sock.h BUG/MINOR: ssl: properly ref-count the tls_keys entries 2018-07-18 08:59:50 +02:00
stats.h MINOR: http: Log warning if (add|set)-header fails 2018-05-28 14:53:59 +02:00
stick_table.h MINOR: stick-tables: Adds support for new "gpc1" and "gpc1_rate" counters. 2018-01-31 09:40:05 +01:00
stream.h BUG/MAJOR: threads/queue: Fix thread-safety issues on the queues management 2018-03-19 10:03:06 +01:00
stream_interface.h MINOR: stream-int: set flag SI_FL_CLEAN_ABRT when mux supports clean aborts 2017-12-20 16:56:32 +01:00
task.h MAJOR: tasks: Introduce tasklets. 2018-05-26 20:03:19 +02:00
template.h
vars.h MINOR: threads: Use __decl_hathreads to declare locks 2017-11-13 11:38:17 +01:00