haproxy/include/types
Baptiste Assmann da29fe2360 MEDIUM: server: server-state global file stored in a tree
Server states can be recovered from either a "global" file (all backends)
or a "local" file (per backend).

The way the algorithm to parse the state file was first implemented was good
enough for a low number of backends and servers per backend.
Basically, for each backend the state file (global or local) is opened,
parsed entirely and for each line we check if it contains data related to
a server from the backend we're currently processing.
We must read the file entirely, just in case some lines for the current
backend are stored at the end of the file.
This does not scale at all!

This patch changes the behavior above for the "global" file only. Now,
the global file is read and parsed once and all lines it contains are
stored in a tree, for faster discovery.
This result in way much less fopen, fgets, and strcmp calls, which make
loading of very big state files very quick now.
2019-06-17 13:40:42 +02:00
..
acl.h
action.h MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
activity.h MINOR: activity: report the number of failed pool/buffer allocations 2019-05-28 17:25:21 +02:00
applet.h MEDIUM: cache/htx: Always store info about HTX blocks in the cache 2019-06-05 10:12:11 +02:00
arg.h MEDIUM: stick-table: Stop handling stick-tables as proxies. 2019-05-07 06:54:06 +02:00
auth.h
backend.h
capture.h
channel.h
checks.h MEDIUM: connection: Upstream SOCKS4 proxy support 2019-05-31 17:24:06 +02:00
cli.h
compression.h
connection.h CLEANUP: connection: rename the wait_event.task field to .tasklet 2019-06-14 14:42:29 +02:00
counters.h
dict.h MINOR: dict: Store the length of the dictionary entries. 2019-06-07 15:47:54 +02:00
dns.h BUG/MEDIUM: dns: make the port numbers unsigned 2019-05-22 20:07:45 +02:00
fd.h MEDIUM: poller: separate the wait time from the wake events 2019-05-28 17:25:21 +02:00
filters.h MEDIUM: streams: Add the ability to retry a request on L7 failure. 2019-05-04 10:19:56 +02:00
freq_ctr.h
global.h MEDIUM: Make '(cli|con|srv)timeout' directive fatal 2019-06-17 13:35:54 +02:00
hdr_idx.h
hlua.h MEDIUM: regex: modify regex_comp() to atomically allocate/free the my_regex struct 2019-05-07 06:58:15 +02:00
http_htx.h
lb_chash.h
lb_fas.h
lb_fwlc.h
lb_fwrr.h
lb_map.h
listener.h CLEANUP: ssl: never include openssl/*.h outside of openssl-compat.h anymore 2019-05-10 09:36:42 +02:00
log.h MINOR: log: Enable the log sampling and load-balancing feature. 2019-04-30 09:25:09 +02:00
mailers.h
map.h
obj_type.h MINOR: obj_type: new object type for struct stream 2019-04-23 11:35:56 +02:00
pattern.h
peers.h MINOR: peers: Optimization for dictionary cache lookup. 2019-06-07 15:47:54 +02:00
pipe.h
port_range.h BUG/MEDIUM: port_range: Make the ring buffer lock-free. 2019-04-30 15:10:17 +02:00
proto_http.h MEDIUM: sessions: Introduce session flags. 2019-05-29 15:41:47 +02:00
proto_udp.h
protocol_buffers.h
protocol.h MEDIUM: tcp: add the "tfo" option to support TCP fastopen on the server 2019-05-06 22:29:39 +02:00
proxy.h MINOR: proxy: Add a "server by name" tree to proxy. 2019-06-05 08:33:35 +02:00
queue.h
sample.h
server.h MEDIUM: server: server-state global file stored in a tree 2019-06-17 13:40:42 +02:00
session.h MEDIUM: sessions: Introduce session flags. 2019-05-29 15:41:47 +02:00
shctx.h
signal.h
spoe.h BUG/MEDIUM: spoe: arg len encoded in previous frag frame but len changed 2019-04-29 16:02:05 +02:00
ssl_sock.h CLEANUP: ssl: make inclusion of openssl headers safe 2019-05-10 09:58:43 +02:00
stats.h MINOR: raw_sock: report global traffic statistics 2019-05-23 11:45:38 +02:00
stick_table.h MINOR: stick-table: Add "server_name" new data type. 2019-06-05 08:33:35 +02:00
stream_interface.h MEDIUM: stream-int: introduce a new state SI_ST_RDY 2019-06-06 16:36:19 +02:00
stream.h MINOR: stream: measure and report a stream's call rate in "show sess" 2019-04-24 16:04:23 +02:00
task.h CLEANUP: task: move the task_per_thread definition to task.h 2019-04-30 14:36:47 +02:00
template.h
vars.h