haproxy/doc/internals/listener-states.fig
Willy Tarreau b7ffe1975a [RELEASE] Released version 2.3-dev6
Released version 2.3-dev6 with the following main changes :
    - REGTESTS: use "command" instead of "which" for better POSIX compatibility
    - BUILD: makefile: Update feature flags for OpenBSD
    - DOC: agent-check: fix typo in "fail" word expected reply
    - DOC: crt: advise to move away from cert bundle
    - BUG/MINOR: ssl/crt-list: exit on warning out of crtlist_parse_line()
    - REGTEST: fix host part in balance-uri-path-only.vtc
    - REGTEST: make ssl_client_samples and ssl_server_samples requiret to 2.3
    - REGTEST: the iif converter test requires 2.3
    - REGTEST: make agent-check.vtc require 1.8
    - REGTEST: make abns_socket.vtc require 1.8
    - REGTEST: make map_regm_with_backref require 1.7
    - BUILD: makefile: Update feature flags for FreeBSD
    - OPTIM: backend/random: never queue on the server, always on the backend
    - OPTIM: backend: skip LB when we know the backend is full
    - BUILD: makefile: Fix building with closefrom() support enabled
    - BUILD: makefile: add an EXTRAVERSION variable to ease local naming
    - MINOR: tools: support for word expansion of environment in parse_line
    - BUILD: tools: fix minor build issue on isspace()
    - BUILD: makefile: Enable closefrom() support on Solaris
    - CLEANUP: ssl: Use structured format for error line report during crt-list parsing
    - MINOR: ssl: Add error if a crt-list might be truncated
    - MINOR: ssl: remove uneeded check in crtlist_parse_file
    - BUG/MINOR: Fix several leaks of 'log_tag' in init().
    - DOC: tcp-rules: Refresh details about L7 matching for tcp-request content rules
    - MEDIUM: tcp-rules: Warn if a track-sc* content rule doesn't depend on content
    - BUG/MINOR: tcpcheck: Set socks4 and send-proxy flags before the connect call
    - DOC: ssl: new "cert bundle" behavior
    - BUG/MEDIUM: queue: make pendconn_cond_unlink() really thread-safe
    - CLEANUP: ssl: "bundle" is not an OpenSSL wording
    - MINOR: counters: fix a typo in comment
    - BUG/MINOR: stats: fix validity of the json schema
    - REORG: stats: export some functions
    - MINOR: stats: add stats size as a parameter for csv/json dump
    - MINOR: stats: hide px/sv/li fields in applet struct
    - REORG: stats: extract proxy json dump
    - REORG: stats: extract proxies dump loop in a function
    - MINOR: hlua: Display debug messages on stderr only in debug mode
    - MINOR: stats: define the concept of domain for statistics
    - MINOR: stats: define additional flag px cap on domain
    - MEDIUM: stats: add delimiter for static proxy stats on csv
    - MEDIUM: stats: define an API to register stat modules
    - MEDIUM: stats: add abstract type to store counters
    - MEDIUM: stats: integrate static proxies stats in new stats
    - MINOR: stats: support clear counters for dynamic stats
    - MINOR: stats: display extra proxy stats on the html page
    - MINOR: stats: add config "stats show modules"
    - MINOR: dns/stats: integrate dns counters in stats
    - MINOR: stats: remove for loop declaration
    - DOC: ssl: fix typo about ocsp files
    - BUG/MINOR: peers: Inconsistency when dumping peer status codes.
    - DOC: update INSTALL with supported OpenBSD / FreeBSD versions
    - BUG/MINOR: proto_tcp: Report warning messages when listeners are bound
    - CLEANUP: cache: Fix leak of cconf->c.name during config check
    - CLEANUP: ssl: Release cached SSL sessions on deinit
    - BUG/MINOR: mux-h1: Be sure to only set CO_RFL_READ_ONCE for the first read
    - BUG/MINOR: mux-h1: Always set the session on frontend h1 stream
    - MINOR: mux-h1: Don't wakeup the H1C when output buffer become available
    - CLEANUP: sock-unix: Remove an unreachable goto clause
    - BUG/MINOR: proxy: inc req counter on new syslog messages.
    - BUG/MEDIUM: log: old processes with log foward section don't die on soft stop.
    - MINOR: stats: inc req counter on listeners.
    - MINOR: channel: new getword and getchar functions on channel.
    - MEDIUM: log: syslog TCP support on log forward section.
    - BUG/MINOR: proxy/log: frontend/backend and log forward names must differ
    - DOC: re-work log forward bind statement documentation.
    - DOC: fix a confusing typo on a regsub example
    - BUILD: Add a DragonFlyBSD target
    - BUG/MINOR: makefile: fix a tiny typo in the target list
    - BUILD: makefile: Update feature flags for NetBSD
    - CI: travis-ci: help Coverity to detect BUG_ON() as a real stop
    - DOC: Add missing stats fields in the management doc
    - BUG/MEDIUM: mux-fcgi: Don't handle pending read0 too early on streams
    - BUG/MEDIUM: mux-h2: Don't handle pending read0 too early on streams
    - DOC: Fix typos in configuration.txt
    - BUG/MINOR: http: Fix content-length of the default 500 error
    - BUG/MINOR: http-htx: Expect no body for 204/304 internal HTTP responses
    - REGTESTS: mark abns_socket as broken
    - MEDIUM: fd: always wake up one thread when enabling a foreing FD
    - MEDIUM: listeners: don't bounce listeners management between queues
    - MEDIUM: init: stop disabled proxies after initializing fdtab
    - MEDIUM: listeners: make unbind_listener() converge if needed
    - MEDIUM: deinit: close all receivers/listeners before scanning proxies
    - MEDIUM: listeners: remove the now unused ZOMBIE state
    - MINOR: listeners: do not uselessly try to close zombie listeners in soft_stop()
    - CLEANUP: proxy: remove the first_to_listen hack in zombify_proxy()
    - MINOR: listeners: introduce listener_set_state()
    - MINOR: proxy: maintain per-state counters of listeners
    - MEDIUM: proxy: remove the unused PR_STFULL state
    - MEDIUM: proxy: remove the PR_STERROR state
    - MEDIUM: proxy: remove state PR_STPAUSED
    - MINOR: startup: don't rely on PR_STNEW to check for listeners
    - CLEANUP: peers: don't use the PR_ST* states to mark enabled/disabled
    - MEDIUM: proxy: replace proxy->state with proxy->disabled
    - MEDIUM: proxy: remove start_proxies()
    - MEDIUM: proxy: merge zombify_proxy() with stop_proxy()
    - MINOR: listeners: check the current listener state in pause_listener()
    - MINOR: listeners: check the current listener earlier state in resume_listener()
    - MEDIUM: listener/proxy: make the listeners notify about proxy pause/resume
    - MINOR: protocol: introduce protocol_{pause,resume}_all()
    - MAJOR: signals: use protocol_pause_all() and protocol_resume_all()
    - CLEANUP: proxy: remove the now unused pause_proxies() and resume_proxies()
    - MEDIUM: proto_tcp: make the pause() more robust in multi-process
    - BUG/MEDIUM: listeners: correctly report pause() errors
    - MINOR: listeners: move fd_stop_recv() to the receiver's socket code
    - CLEANUP: protocol: remove the ->disable_all method
    - CLEANUP: listeners: remove unused disable_listener and disable_all_listeners
    - MINOR: listeners: export enable_listener()
    - MINOR: protocol: directly call enable_listener() from protocol_enable_all()
    - CLEANUP: protocol: remove the ->enable_all method
    - CLEANUP: listeners: remove the now unused enable_all_listeners()
    - MINOR: protocol: rename the ->listeners field to ->receivers
    - MINOR: protocol: replace ->pause(listener) with ->rx_suspend(receiver)
    - MINOR: protocol: implement an ->rx_resume() method
    - MINOR: listener: use the protocol's ->rx_resume() method when available
    - MINOR: sock: provide a set of generic enable/disable functions
    - MINOR: protocol: add a new pair of rx_enable/rx_disable methods
    - MINOR: protocol: add a new pair of enable/disable methods for listeners
    - MEDIUM: listeners: now use the listener's ->enable/disable
    - MINOR: listeners: split delete_listener() in two versions
    - MINOR: listeners: count unstoppable jobs on creation, not deletion
    - MINOR: listeners: add a new stop_listener() function
    - MEDIUM: proxy: make stop_proxy() now use stop_listener()
    - MEDIUM: proxy: add mode PR_MODE_PEERS to flag peers frontends
    - MEDIUM: proxy: centralize proxy status update and reporting
    - MINOR: protocol: add protocol_stop_now() to instant-stop listeners
    - MEDIUM: proxy: make soft_stop() stop most listeners using protocol_stop_now()
    - MEDIUM: udp: implement udp_suspend() and udp_resume()
    - MINOR: listener: add a few BUG_ON() statements to detect inconsistencies
    - MEDIUM: listeners: always close master vs worker listeners
    - BROKEN/MEDIUM: listeners: rework the unbind logic to make it idempotent
    - MEDIUM: listener: let do_unbind_listener() decide whether to close or not
    - CLEANUP: listeners: remove the do_close argument to unbind_listener()
    - MINOR: listeners: move the LI_O_MWORKER flag to the receiver
    - MEDIUM: receivers: add an rx_unbind() method in the protocols
    - MINOR: listeners: split do_unbind_listener() in two
    - MEDIUM: listeners: implement protocol level ->suspend/resume() calls
    - MEDIUM: config: mark "grace" as deprecated
    - MEDIUM: config: remove the deprecated and dangerous global "debug" directive
    - BUG/MINOR: proxy: respect the proper format string in sig_pause/sig_listen
    - MINOR: peers: heartbeat, collisions and handshake information for "show peers" command.
    - BUILD: makefile: Enable getaddrinfo() on OS/X
2020-10-10 10:45:13 +02:00

151 lines
5.6 KiB
Plaintext

#FIG 3.2 Produced by xfig version 2.3
Portrait
Center
Metric
A4
300.00
Single
-2
1200 2
0 32 #ff60e0
0 33 #ff8020
0 34 #56c5ff
0 35 #55d941
0 36 #f8e010
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 900 450 495 225 900 450 1395 450
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 2700 450 495 225 2700 450 3195 450
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 4500 450 495 225 4500 450 4995 450
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 900 3465 495 225 900 3465 1395 3465
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 2700 2475 495 225 2700 2475 3195 2475
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 3645 1575 495 225 3645 1575 4140 1575
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 4500 2475 495 225 4500 2475 4995 2475
1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 2700 3471 495 225 2700 3471 3195 3471
2 1 1 3 1 7 52 -1 -1 8.000 1 0 -1 0 0 2
270 1980 5355 1350
2 2 0 2 32 32 52 -1 20 0.000 1 0 -1 0 0 5
2070 3060 3330 3060 3330 3870 2070 3870 2070 3060
2 3 0 1 33 33 53 -1 20 0.000 1 0 -1 0 0 5
2070 990 5130 990 5130 2880 2070 2880 2070 990
2 2 0 2 35 35 52 -1 20 0.000 1 0 -1 0 0 5
270 90 5130 90 5130 855 270 855 270 90
2 2 0 2 36 36 52 -1 20 0.000 1 0 -1 0 0 5
270 3060 1530 3060 1530 3870 270 3870 270 3060
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
1395 450 2250 450
0.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
3195 450 4050 450
0.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
4095 1665 4455 2025 4500 2250
0.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
3195 3510 3600 3465 4140 2655
0.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
4410 2250 4365 2070 4050 1710
0.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 4
1 1 1.00 60.00 120.00
945 3240 936 2142 2961 1917 3240 1710
0.000 1.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 4
1 1 1.00 60.00 120.00
3195 1665 2835 1845 855 2115 855 3240
0.000 1.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 5
1 1 1.00 60.00 120.00
990 3690 1035 3960 2880 4050 4365 3915 4410 2700
0.000 1.000 1.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 2
1 1 1.00 60.00 120.00
2700 2700 2700 3240
0.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
4095 2610 3600 3375 3150 3420
0.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 5
1 1 1.00 60.00 120.00
4500 2700 4455 4005 2655 4140 945 4005 900 3690
0.000 1.000 1.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 4
1 1 1.00 60.00 120.00
2205 2520 1395 2745 1260 2970 1125 3240
0.000 1.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 4
1 1 1.00 60.00 120.00
3510 1800 3330 2025 3330 2835 2970 3285
0.000 1.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 4
1 1 1.00 60.00 120.00
1170 3285 1305 3015 1485 2790 2250 2610
0.000 1.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
2205 3420 1710 3420 1395 3465
0.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
1395 3510 1800 3510 2205 3465
0.000 1.000 0.000
3 0 0 3 0 7 51 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
2925 2295 3060 1980 3330 1755
0.000 1.000 0.000
3 0 0 3 0 7 50 -1 -1 0.000 0 1 0 3
1 1 1.00 60.00 120.00
4500 675 4455 990 3960 1395
0.000 1.000 0.000
4 1 0 50 -1 18 10 0.0000 4 120 375 900 450 NEW\001
4 1 0 50 -1 18 10 0.0000 4 120 315 2700 450 INIT\001
4 1 0 50 -1 18 10 0.0000 4 120 810 4500 450 ASSIGNED\001
4 1 1 50 -1 16 10 0.0000 4 120 90 900 630 0\001
4 1 1 50 -1 16 10 0.0000 4 120 90 2700 630 1\001
4 1 1 50 -1 16 10 0.0000 4 120 90 4500 630 2\001
4 1 0 50 -1 16 7 0.0000 4 120 420 1755 405 create()\001
4 2 0 50 -1 16 7 0.0000 4 120 660 1215 2160 enable() &&\001
4 2 0 50 -1 16 7 0.0000 4 90 540 1080 2295 !maxconn\001
4 2 1 51 -1 16 7 1.5708 4 105 600 5355 1485 transitions\001
4 0 1 51 -1 16 7 1.5708 4 105 600 5355 1260 transitions\001
4 2 1 51 -1 16 7 1.5708 4 105 795 5265 1485 multi-threaded\001
4 0 1 51 -1 16 7 1.5708 4 120 870 5265 1260 single-threaded\001
4 0 0 52 -1 17 7 0.0000 4 90 345 315 765 no FD\001
4 0 0 52 -1 17 7 0.0000 4 135 315 315 3825 polled\001
4 1 0 50 -1 18 10 0.0000 4 120 555 900 3465 READY\001
4 0 0 50 -1 16 7 0.0000 4 120 255 1170 3825 full()\001
4 2 0 50 -1 16 7 0.0000 4 90 540 2205 3375 !maxconn\001
4 2 0 50 -1 16 7 0.0000 4 105 675 2295 3240 resume() &&\001
4 0 0 50 -1 16 7 0.0000 4 105 405 1395 3645 pause()\001
4 0 0 52 -1 17 7 0.0000 4 135 585 2115 3825 shut(sock)\001
4 2 0 50 -1 16 7 0.0000 4 120 480 4320 2205 disable()\001
4 2 0 50 -1 16 7 0.0000 4 105 405 4005 2655 pause()\001
4 0 0 50 -1 16 7 0.0000 4 105 465 4545 2835 resume()\001
4 2 0 50 -1 16 7 0.0000 4 120 480 2925 2160 disable()\001
4 0 0 50 -1 16 7 0.0000 4 105 405 3465 1980 pause()\001
4 0 0 50 -1 16 7 0.0000 4 120 660 4230 1710 enable() &&\001
4 0 0 50 -1 16 7 0.0000 4 75 510 4320 1845 maxconn\001
4 2 0 50 -1 16 7 0.0000 4 105 405 2655 2835 pause()\001
4 0 0 50 -1 16 7 0.0000 4 105 675 3375 3555 resume() &&\001
4 0 0 50 -1 16 7 0.0000 4 75 510 3375 3645 maxconn\001
4 0 0 50 -1 16 7 0.0000 4 120 480 1080 2655 disable()\001
4 2 0 50 -1 16 7 0.0000 4 105 465 2160 2475 resume()\001
4 1 0 50 -1 16 7 0.0000 4 120 330 3555 405 .add()\001
4 0 0 50 -1 16 7 0.0000 4 120 375 4545 810 .bind()\001
4 0 0 52 -1 17 7 0.0000 4 135 1080 2115 1125 FD ready, not polled\001
4 0 0 50 -1 16 7 0.0000 4 120 315 1305 3240 limit()\001
4 1 0 50 -1 18 10 0.0000 4 120 630 2700 2475 LIMITED\001
4 1 0 50 -1 18 10 0.0000 4 120 555 3645 1575 LISTEN\001
4 1 0 50 -1 18 10 0.0000 4 120 375 4500 2475 FULL\001
4 1 0 50 -1 18 10 0.0000 4 120 630 2700 3465 PAUSED\001
4 1 1 50 -1 16 10 0.0000 4 120 90 2700 3645 3\001
4 1 1 50 -1 16 10 0.0000 4 120 90 2700 2655 7\001
4 1 1 50 -1 16 10 0.0000 4 120 90 4500 2655 6\001
4 1 1 50 -1 16 10 0.0000 4 120 90 900 3645 5\001
4 1 1 50 -1 16 10 0.0000 4 120 90 3645 1755 4\001