From 977afab3f824b8322853e27abbaaa752f601a504 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 10 Dec 2019 16:06:53 +0100 Subject: [PATCH] DOC: document the listener state transitions This was done by reading all the code affecting a listener's state, hopefully it will save some time in the future. --- doc/internals/listener-states.fig | 140 ++++++++++++++++++++++++++++++ doc/internals/listener-states.png | Bin 0 -> 42848 bytes 2 files changed, 140 insertions(+) create mode 100644 doc/internals/listener-states.fig create mode 100644 doc/internals/listener-states.png diff --git a/doc/internals/listener-states.fig b/doc/internals/listener-states.fig new file mode 100644 index 000000000..23ec87d3c --- /dev/null +++ b/doc/internals/listener-states.fig @@ -0,0 +1,140 @@ +#FIG 3.2 Produced by xfig version 3.2.7a +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 3960 3195 5040 3735 +1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 4500 3465 495 225 4500 3465 4995 3465 +4 1 0 50 -1 18 10 0.0000 4 120 375 4500 3465 FULL\001 +4 1 1 50 -1 16 10 0.0000 4 120 90 4500 3645 7\001 +-6 +6 2160 3105 3240 3645 +1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 2700 3375 495 225 2700 3375 3195 3375 +4 1 0 50 -1 18 10 0.0000 4 120 630 2700 3375 LIMITED\001 +4 1 1 50 -1 16 10 0.0000 4 120 90 2700 3555 8\001 +-6 +6 3105 1305 4185 1845 +1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 3645 1575 495 225 3645 1575 4140 1575 +4 1 0 50 -1 18 10 0.0000 4 120 555 3645 1575 LISTEN\001 +4 1 1 50 -1 16 10 0.0000 4 120 90 3645 1755 5\001 +-6 +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 2700 2481 495 225 2700 2481 3195 2481 +1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 900 3375 495 225 900 3375 1395 3375 +1 1 0 3 0 7 51 -1 20 0.000 1 0.0000 900 1575 495 225 900 1575 1395 1575 +2 2 0 2 13 13 52 -1 20 0.000 1 0 -1 0 0 5 + 270 90 5130 90 5130 810 270 810 270 90 +2 2 0 2 6 6 52 -1 20 0.000 1 0 -1 0 0 5 + 270 2925 1530 2925 1530 3825 270 3825 270 2925 +2 2 0 2 17 17 52 -1 20 0.000 1 0 -1 0 0 5 + 270 1170 1530 1170 1530 1980 270 1980 270 1170 +2 2 0 2 28 28 54 -1 20 0.000 1 0 -1 0 0 5 + 2070 1170 5130 1170 5130 4320 2070 4320 2070 1170 +2 2 0 2 4 4 52 -1 20 0.000 1 0 -1 0 0 5 + 2070 2070 3330 2070 3330 2880 2070 2880 2070 2070 +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 4 + 1 1 1.00 60.00 120.00 + 4500 675 4500 945 3645 945 3645 1350 + 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 + 1170 3195 1485 2430 2205 2475 + 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 + 2205 2565 1530 2565 1260 3240 + 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 + 4140 3330 3960 2655 3105 2610 + 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 3375 1710 3240 2205 3330 + 0.000 1.000 0.000 +3 0 0 3 0 7 50 -1 20 0.000 0 1 0 2 + 1 1 1.00 60.00 120.00 + 3150 1575 1395 1575 + 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 + 2700 3150 2700 2700 + 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 + 2205 3420 1755 3645 1350 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 + 4230 3645 2655 4185 1170 3555 + 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 + 3825 1800 4230 2115 4500 3240 + 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 + 1080 3600 2700 4320 4365 3690 + 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 + 3240 1710 1215 2115 900 3150 + 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 + 3465 1800 2835 1845 2745 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 + 3060 2655 3870 2790 4050 3375 + 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 18 10 0.0000 4 120 630 2700 2475 PAUSED\001 +4 1 0 50 -1 18 10 0.0000 4 120 555 900 3375 READY\001 +4 1 1 50 -1 16 10 0.0000 4 120 90 2700 2655 3\001 +4 1 1 50 -1 16 10 0.0000 4 120 90 900 3555 6\001 +4 1 0 50 -1 18 10 0.0000 4 120 615 900 1575 ZOMBIE\001 +4 1 1 50 -1 16 10 0.0000 4 120 90 900 1755 4\001 +4 1 0 50 -1 16 7 0.0000 4 120 930 2520 1530 zombify_proxy()\001 +4 0 0 50 -1 16 7 0.0000 4 75 510 4185 2070 maxconn\001 +4 1 0 50 -1 16 7 0.0000 4 105 465 2115 3690 resume()\001 +4 1 0 50 -1 16 7 0.0000 4 120 315 1845 3195 limit()\001 +4 1 0 50 -1 16 7 0.0000 4 120 255 2295 4185 full()\001 +4 1 0 50 -1 16 7 0.0000 4 105 465 2790 3915 resume()\001 +4 0 0 50 -1 16 7 0.0000 4 120 660 4050 1980 enable() &&\001 +4 2 0 50 -1 16 7 0.0000 4 120 660 1260 2340 enable() &&\001 +4 2 0 50 -1 16 7 0.0000 4 90 540 1125 2475 !maxconn\001 +4 1 0 52 -1 17 8 0.0000 4 135 420 585 1935 stopped\001 +4 1 0 52 -1 17 8 0.0000 4 90 360 1755 765 No FD\001 +4 1 0 52 -1 17 8 0.0000 4 105 345 495 3780 Polled\001 +4 1 0 52 -1 17 8 0.0000 4 135 1080 4500 4185 FD ready, not polled\001 +4 0 0 52 -1 17 8 0.0000 4 135 585 2070 2205 shut(sock)\001 +4 0 0 50 -1 16 7 0.0000 4 105 405 3060 1980 pause()\001 +4 0 0 50 -1 16 7 0.0000 4 105 405 3465 2610 pause()\001 +4 0 0 50 -1 16 7 0.0000 4 75 510 3465 3330 maxconn\001 +4 0 0 50 -1 16 7 0.0000 4 105 675 3285 3195 resume() &&\001 +4 0 0 50 -1 16 7 0.0000 4 105 405 2745 3015 pause()\001 +4 2 0 50 -1 16 7 0.0000 4 105 405 2025 2385 pause()\001 +4 0 0 50 -1 16 7 0.0000 4 105 675 1710 2745 resume() &&\001 +4 0 0 50 -1 16 7 0.0000 4 90 540 1665 2880 !maxconn\001 +4 1 0 50 -1 16 7 0.0000 4 120 420 1755 405 create()\001 +4 1 0 50 -1 16 7 0.0000 4 120 300 3555 405 add()\001 diff --git a/doc/internals/listener-states.png b/doc/internals/listener-states.png new file mode 100644 index 0000000000000000000000000000000000000000..209453c3fee2944ee9c448f37c32809ba8cb4e58 GIT binary patch literal 42848 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îWlphi2qr>FyDo3QsEiuHxskf+@)X5#F&J4oL#h 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 S7u^8drK9;sqe2Z4{(k_#Bc$5^ literal 0 HcmV?d00001