From 0b737a72ef371f25a8db0a163a8d0e51ce469ce4 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 14 Oct 2012 14:05:16 +0200 Subject: [PATCH] DOC: document relations between internal entities Links between internal structures have been represented in entities.fig. The pdf and svg versions were added too. --- doc/internals/entities.fig | 161 ++++++++ doc/internals/entities.pdf | Bin 0 -> 5174 bytes doc/internals/entities.svg | 808 +++++++++++++++++++++++++++++++++++++ 3 files changed, 969 insertions(+) create mode 100644 doc/internals/entities.fig create mode 100644 doc/internals/entities.pdf create mode 100644 doc/internals/entities.svg diff --git a/doc/internals/entities.fig b/doc/internals/entities.fig new file mode 100644 index 000000000..9e59ea370 --- /dev/null +++ b/doc/internals/entities.fig @@ -0,0 +1,161 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +6 675 360 12825 11069 +2 2 0 1 0 2 51 -1 20 0.000 0 0 -1 0 0 5 + 11205 6299 12555 6299 12555 6749 11205 6749 11205 6299 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 + 1 1 1.00 119.99 239.99 + 2475 3870 2475 2790 3555 2340 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 + 1 1 1.00 119.99 239.99 + 3555 2070 1935 2790 1935 3870 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 + 1 1 1.00 119.99 239.99 + 2475 8009 2475 8639 3555 9089 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 + 1 1 1.00 119.99 239.99 + 3555 9359 1935 8639 1935 8009 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 4995 8189 4995 8909 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 4995 3690 4995 2520 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 + 1 1 1.00 119.99 239.99 + 11025 8009 11025 8729 8145 9089 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 + 1 1 1.00 119.99 239.99 + 8145 9449 11565 8999 11565 8009 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 + 1 1 1.00 119.99 239.99 + 8145 2340 10125 2340 11025 3240 11025 3870 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 4 + 1 1 1.00 119.99 239.99 + 11475 3870 11475 3240 10125 1890 8145 1890 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 8055 3870 8865 3240 +2 2 0 1 0 6 52 -1 20 0.000 0 0 -1 0 0 5 + 3555 5670 4905 5670 4905 6119 3555 6119 3555 5670 +2 2 0 1 0 6 52 -1 20 0.000 0 0 -1 0 0 5 + 5175 5670 6525 5670 6525 6119 5175 6119 5175 5670 +2 2 0 1 0 6 52 -1 20 0.000 0 0 -1 0 0 5 + 3555 4140 8145 4140 8145 5310 3555 5310 3555 4140 +2 2 0 1 0 6 52 -1 20 0.000 0 0 -1 0 0 5 + 3555 6479 8145 6479 8145 7739 3555 7739 3555 6479 +2 2 0 1 0 7 53 -1 20 0.000 0 0 -1 0 0 5 + 3375 3870 8325 3870 8325 8009 3375 8009 3375 3870 +2 2 0 1 0 2 51 -1 20 0.000 0 0 -1 0 0 5 + 945 6299 2295 6299 2295 6749 945 6749 945 6299 +2 2 0 1 0 6 52 -1 20 0.000 0 0 -1 0 0 5 + 855 5040 2565 5040 2565 6839 855 6839 855 5040 +2 2 0 1 0 7 53 -1 20 0.000 0 0 -1 0 0 5 + 765 3870 3015 3870 3015 8009 765 8009 765 3870 +2 2 0 1 0 7 53 -1 20 0.000 0 0 -1 0 0 5 + 10485 3870 12735 3870 12735 8009 10485 8009 10485 3870 +2 2 0 1 0 6 52 -1 20 0.000 0 0 -1 0 0 5 + 10935 5040 12645 5040 12645 6839 10935 6839 10935 5040 +2 2 0 1 0 7 53 -1 20 0.000 0 0 -1 0 0 5 + 8775 7289 10125 7289 10125 7739 8775 7739 8775 7289 +2 2 0 1 0 7 53 -1 20 0.000 0 0 -1 0 0 5 + 8775 5220 10125 5220 10125 5670 8775 5670 8775 5220 +2 2 0 1 0 7 53 -1 20 0.000 0 0 -1 0 0 5 + 8775 4140 10125 4140 10125 4590 8775 4590 8775 4140 +2 2 0 1 0 3 54 -1 20 0.000 0 0 -1 0 0 5 + 675 3690 12825 3690 12825 8189 675 8189 675 3690 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 7605 3870 7425 3240 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 6705 9629 6705 10169 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 6705 1710 6705 1260 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 5715 4140 5715 2520 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 5805 7739 5805 8909 +2 2 0 1 0 2 51 -1 20 0.000 0 0 -1 0 0 5 + 945 5670 1395 5670 1395 6119 945 6119 945 5670 +2 2 0 1 0 2 51 -1 20 0.000 0 0 -1 0 0 5 + 12105 5670 12555 5670 12555 6119 12105 6119 12105 5670 +2 2 0 1 0 30 54 -1 20 0.000 0 0 -1 0 0 5 + 8415 2790 9765 2790 9765 3240 8415 3240 8415 2790 +2 2 0 1 0 30 54 -1 20 0.000 0 0 -1 0 0 5 + 6795 2790 8145 2790 8145 3240 6795 3240 6795 2790 +2 2 0 1 0 30 54 -1 20 0.000 0 0 -1 0 0 5 + 8775 6209 10125 6209 10125 6659 8775 6659 8775 6209 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 4545 9629 4545 10169 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 1 1.00 119.99 239.99 + 4545 1710 4545 1260 +2 2 0 1 0 5 54 -1 20 0.000 0 0 -1 0 0 5 + 5625 360 7875 360 7875 1260 5625 1260 5625 360 +2 2 0 1 0 5 54 -1 20 0.000 0 0 -1 0 0 5 + 3825 360 5175 360 5175 1260 3825 1260 3825 360 +2 2 0 1 0 4 54 -1 20 0.000 0 0 -1 0 0 5 + 3555 1710 8145 1710 8145 2520 3555 2520 3555 1710 +2 2 0 1 0 4 54 -1 20 0.000 0 0 -1 0 0 5 + 3555 8909 8145 8909 8145 9629 3555 9629 3555 8909 +2 2 0 1 0 5 54 -1 20 0.000 0 0 -1 0 0 5 + 5625 10169 7875 10169 7875 11069 5625 11069 5625 10169 +2 2 0 1 0 5 54 -1 20 0.000 0 0 -1 0 0 5 + 3825 10169 5175 10169 5175 11069 3825 11069 3825 10169 +4 1 0 50 -1 0 16 0.0000 4 210 570 11835 6569 target\001 +4 1 0 50 -1 0 16 0.0000 4 210 570 1575 6569 target\001 +4 1 0 50 -1 0 16 0.0000 4 150 1080 1755 5310 connection\001 +4 1 0 50 -1 0 16 0.0000 4 150 1080 11745 5310 connection\001 +4 1 0 50 -1 0 16 0.0000 4 180 1980 1845 4230 stream_interface[0]\001 +4 1 0 50 -1 0 16 0.0000 4 180 1980 11565 4230 stream_interface[1]\001 +4 1 0 50 -1 0 16 0.0000 4 240 1380 5805 4410 http_msg[req]\001 +4 1 0 50 -1 0 16 0.0000 4 240 1350 5805 6749 http_msg[rsp]\001 +4 1 0 50 -1 0 16 0.0000 4 210 750 4275 5939 hdr_idx\001 +4 1 0 50 -1 0 16 0.0000 4 180 420 5895 5939 auth\001 +4 1 0 50 -1 0 16 0.0000 4 210 570 9495 7559 target\001 +4 1 0 50 -1 0 16 0.0000 4 210 390 9495 6479 logs\001 +4 1 0 50 -1 0 16 0.0000 4 180 540 9495 5490 stkctr\001 +4 1 0 50 -1 0 16 0.0000 4 150 480 9495 4410 store\001 +4 1 0 50 -1 0 16 0.0000 4 150 690 9495 8099 session\001 +4 1 0 50 -1 0 16 0.0000 4 240 780 7605 6029 http_txn\001 +4 1 0 50 -1 0 16 0.0000 4 240 1290 5805 9179 channel[rep]\001 +4 1 0 50 -1 0 16 0.0000 4 180 210 1215 5939 fd\001 +4 1 0 50 -1 0 16 0.0000 4 180 210 12375 5939 fd\001 +4 1 0 50 -1 0 16 0.0000 4 150 270 7425 3060 uri\001 +4 1 0 50 -1 0 16 0.0000 4 180 750 9135 3060 cookies\001 +4 0 0 54 -1 12 12 0.0000 4 90 480 8235 2250 cons\001 +4 2 0 54 -1 12 12 0.0000 4 150 480 3465 1980 prod\001 +4 2 0 54 -1 12 12 0.0000 4 90 480 3465 9539 cons\001 +4 0 0 54 -1 12 12 0.0000 4 120 360 5085 3600 req\001 +4 0 0 54 -1 12 12 0.0000 4 120 360 5085 8369 rep\001 +4 0 0 54 -1 12 12 0.0000 4 120 240 2565 8369 ob\001 +4 2 0 54 -1 12 12 0.0000 4 120 240 10935 8369 ib\001 +4 0 0 54 -1 12 12 0.0000 4 150 480 8235 9629 prod\001 +4 0 0 54 -1 12 12 0.0000 4 120 240 11565 3600 ob\001 +4 0 0 54 -1 12 12 0.0000 4 120 240 2565 3600 ib\001 +4 1 0 50 -1 0 12 0.0000 4 150 2010 5805 4770 (HTTP request processing)\001 +4 1 0 50 -1 0 12 0.0000 4 150 2100 5805 7199 (HTTP response processing)\001 +4 1 0 50 -1 0 16 0.0000 4 240 1290 5805 1980 channel[req]\001 +4 1 0 50 -1 0 12 0.0000 4 150 2520 5805 2250 (request forwarding and analysis)\001 +4 1 0 50 -1 0 12 0.0000 4 150 2610 5805 9449 (response forwarding and analysis)\001 +4 1 0 50 -1 0 16 0.0000 4 180 630 6705 630 buffer\001 +4 1 0 50 -1 0 12 0.0000 4 150 1320 6705 900 (internal storage)\001 +4 1 0 50 -1 0 16 0.0000 4 180 630 6705 10439 buffer\001 +4 1 0 50 -1 0 12 0.0000 4 150 1320 6705 10709 (internal storage)\001 +4 1 0 50 -1 0 12 0.0000 4 150 1200 4545 10709 (kernel storage)\001 +4 1 0 50 -1 0 16 0.0000 4 210 420 4545 10439 pipe\001 +4 1 0 50 -1 0 12 0.0000 4 150 1200 4545 900 (kernel storage)\001 +4 1 0 50 -1 0 16 0.0000 4 210 420 4545 630 pipe\001 +-6 diff --git a/doc/internals/entities.pdf b/doc/internals/entities.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2252ffa1298a51695d0625ac94f9806c802ff2f7 GIT binary patch literal 5174 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +cons + + +prod + + +cons + + +req + + +rep + + +ob + + +ib + + +prod + + +ob + + +ib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +target + + +target + + +connection + + +connection + + +stream_interface[0] + + +stream_interface[1] + + +http_msg[req] + + +http_msg[rsp] + + +hdr_idx + + +auth + + +target + + +logs + + +stkctr + + +store + + +session + + +http_txn + + +channel[rep] + + +fd + + +fd + + +uri + + +cookies + + +(HTTP request processing) + + +(HTTP response processing) + + +channel[req] + + +(request forwarding and analysis) + + +(response forwarding and analysis) + + +buffer + + +(internal storage) + + +buffer + + +(internal storage) + + +(kernel storage) + + +pipe + + +(kernel storage) + + +pipe + +