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 0000000000..23ec87d3c1 --- /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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 z 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 Nmij}rQWZq-{{X-vq}u=h literal 0 Hc-jL100001 -- 2.47.3