haproxy/doc/internals/muxes.fig
Willy Tarreau 8ab65c201a [RELEASE] Released version 2.4-dev10
Released version 2.4-dev10 with the following main changes :
    - BUILD: SSL: introduce fine guard for RAND_keep_random_devices_open
    - MINOR: Configure the `cpp` userdiff driver for *.[ch] in .gitattributes
    - BUG/MINOR: ssl/cli: potential null pointer dereference in "set ssl cert"
    - BUG/MINOR: sample: secure convs that accept base64 string and var name as args
    - BUG/MEDIUM: vars: make functions vars_get_by_{name,desc} thread-safe
    - CLEANUP: vars: make smp_fetch_var() to reuse vars_get_by_desc()
    - DOC: muxes: add a diagram of the exchanges between muxes and outer world
    - BUG/MEDIUM: proxy: use thread-safe stream killing on hard-stop
    - BUG/MEDIUM: cli/shutdown sessions: make it thread-safe
    - BUG/MINOR: proxy: wake up all threads when sending the hard-stop signal
    - MINOR: stream: add an "epoch" to figure which streams appeared when
    - MINOR: cli/streams: make "show sess" dump all streams till the new epoch
    - MINOR: streams: use one list per stream instead of a global one
    - MEDIUM: streams: do not use the streams lock anymore
    - BUILD: dns: avoid a build warning when threads are disabled (dss unused)
    - MEDIUM: task: remove the tasks_run_queue counter and have one per thread
    - MINOR: tasks: do not maintain the rqueue_size counter anymore
    - CLEANUP: tasks: use a less confusing name for task_list_size
    - CLEANUP: task: move the tree root detection from __task_wakeup() to task_wakeup()
    - MINOR: task: limit the remote thread wakeup to the global runqueue only
    - MINOR: task: move the allocated tasks counter to the per-thread struct
    - CLEANUP: task: split the large tasklet_wakeup_on() function in two
    - BUG/MINOR: fd: properly wait for !running_mask in fd_set_running_excl()
    - BUG/MINOR: resolvers: Fix condition to release received ARs if not assigned
    - BUG/MINOR: resolvers: Only renew TTL for SRV records with an additional record
    - BUG/MINOR: resolvers: new callback to properly handle SRV record errors
    - BUG/MEDIUM: resolvers: Reset server address and port for obselete SRV records
    - BUG/MEDIUM: resolvers: Reset address for unresolved servers
    - DOC: Update the module list in MAINTAINERS file
    - MINOR: htx: Add function to reserve the max possible size for an HTX DATA block
    - DOC: Update the HTX API documentation
    - DOC: Update the filters guide
    - BUG/MEDIUM: contrib/prometheus-exporter: fix segfault in listener name dump
    - MINOR: task: split the counts of local and global tasks picked
    - MINOR: task: do not use __task_unlink_rq() from process_runnable_tasks()
    - MINOR: task: don't decrement then increment the local run queue
    - CLEANUP: task: re-merge __task_unlink_rq() with task_unlink_rq()
    - MINOR: task: make grq_total atomic to move it outside of the grq_lock
    - MINOR: tasks: also compute the tasklet latency when DEBUG_TASK is set
    - MINOR: task: make tasklet wakeup latency measurements more accurate
    - MINOR: server: Be more strict on the server-state line parsing
    - MINOR: server: Only fill one array when parsing a server-state line
    - MEDIUM: server: Refactor apply_server_state() to make it more readable
    - CLEANUP: server: Rename state_line node to node instead of name_name
    - CLEANUP: server: Rename state_line structure into server_state_line
    - CLEANUP: server: Use a local eb-tree to store lines of the global server-state file
    - MINOR: server: Be more strict when reading the version of a server-state file
    - MEDIUM: server: Store parsed params of a server-state line in the tree
    - MINOR: server: Remove cached line from global server-state tree when found
    - MINOR: server: Move loading state of servers in a dedicated function
    - MEDIUM: server: Use a tree to store local server-state lines
    - MINOR: server: Parse and store server-state lines in a dedicated function
    - MEDIUM: server: Don't load server-state file if a line is corrupted
    - REORG: server: Export and rename some functions updating server info
    - REORG: server-state: Move functions to deal with server-state in its own file
    - MINOR: server-state: Don't load server-state file for serverless proxies
    - CLEANUP: muxes: Remove useless if condition in show_fd function
    - BUG/MINOR: stats: fix compare of no-maint url suffix
    - MINOR: task: limit the number of subsequent heavy tasks with flag TASK_HEAVY
    - MINOR: ssl: mark the SSL handshake tasklet as heavy
    - CLEANUP: server: rename srv_cleanup_{idle,toremove}_connections()
    - BUG/MINOR: ssl: potential null pointer dereference in ckchs_dup()
    - MINOR: task: add one extra tasklet class: TL_HEAVY
    - MINOR: task: place the heavy elements in TL_HEAVY
    - MINOR: task: only limit TL_HEAVY tasks but not others
    - BUG/MINOR: http-ana: Only consider dst address to process originalto option
    - MINOR: tools: Add net_addr structure describing a network addess
    - MINOR: tools: Add function to compare an address to a network address
    - MEDIUM: http-ana: Add IPv6 support for forwardfor and orignialto options
    - CLEANUP: hlua: Use net_addr structure internally to parse and compare addresses
    - REGTESTS: Add script to test except param for fowardedfor/originalto options
    - DOC: scheduler: add a diagram showing the different queues and their usages
    - CLEANUP: tree-wide: replace free(x);x=NULL with ha_free(&x)
    - CLEANUP: config: replace a few free() with ha_free()
    - CLEANUP: vars: always zero the pointers after a free()
    - CLEANUP: ssl: remove a useless "if" before freeing an error message
    - CLEANUP: ssl: make ssl_sock_free_srv_ctx() zero the pointers after free
    - CLEANUP: ssl: use realloc() instead of free()+malloc()
2021-02-26 22:49:10 +01:00

403 lines
15 KiB
Plaintext

#FIG 3.2 Produced by xfig version 2.4
Landscape
Center
Inches
Letter
100.00
Single
-1
1200 2
0 32 #bbf2e2
0 33 #a7ceb3
0 34 #dae8fc
0 35 #458dba
0 36 #ffe6cc
0 37 #e9b000
0 38 #1a1a1a
0 39 #8e8e8e
0 40 #ffc1e7
6 4200 8700 4800 9825
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
4261 9751 4261 8751 4761 8751 4761 9751
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
4761 9751 4761 8751 4261 8751 4261 9751 4761 9751
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
4261 8850 4761 8850
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
4261 8925 4761 8925
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
4261 9000 4761 9000
-6
6 1425 3525 2025 4650
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
1486 4576 1486 3576 1986 3576 1986 4576
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
1986 4576 1986 3576 1486 3576 1486 4576 1986 4576
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
1486 3675 1986 3675
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
1486 3750 1986 3750
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
1486 3825 1986 3825
-6
6 3225 3525 3825 4650
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
3286 4576 3286 3576 3786 3576 3786 4576
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
3786 4576 3786 3576 3286 3576 3286 4576 3786 4576
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
3286 3675 3786 3675
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
3286 3750 3786 3750
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
3286 3825 3786 3825
-6
6 5025 3525 5625 4650
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
5086 4576 5086 3576 5586 3576 5586 4576
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
5586 4576 5586 3576 5086 3576 5086 4576 5586 4576
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
5086 3675 5586 3675
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
5086 3750 5586 3750
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
5086 3825 5586 3825
-6
6 6900 3525 7500 4650
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
6961 4576 6961 3576 7461 3576 7461 4576
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
7461 4576 7461 3576 6961 3576 6961 4576 7461 4576
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
6961 3675 7461 3675
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
6961 3750 7461 3750
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
6961 3825 7461 3825
-6
6 11925 10725 13875 11475
2 4 0 3 0 35 50 -1 20 0.000 1 0 7 0 0 5
13800 11400 12000 11400 12000 10800 13800 10800 13800 11400
4 1 0 49 -1 4 18 0.0000 4 270 1410 12900 11175 Transport\001
-6
6 6600 1200 10050 1800
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
6692 1261 9959 1261 9959 1761 6692 1761
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
6692 1761 9959 1761 9959 1261 6692 1261 6692 1761
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
9750 1261 9750 1761
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
9525 1261 9525 1761
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
9300 1261 9300 1761
4 1 0 46 -1 4 16 0.0000 4 210 1620 8025 1575 channel buf\001
-6
6 12375 8100 12900 8700
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
12600 8161 12600 8661
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
12425 8161 12825 8161 12825 8661 12425 8661
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
12425 8661 12825 8661 12825 8161 12425 8161 12425 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
12675 8161 12675 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
12750 8161 12750 8661
-6
6 11700 8100 12225 8700
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
11925 8161 11925 8661
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
11750 8161 12150 8161 12150 8661 11750 8661
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
11750 8661 12150 8661 12150 8161 11750 8161 11750 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
12000 8161 12000 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
12075 8161 12075 8661
-6
6 11025 8100 11550 8700
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
11250 8161 11250 8661
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
11075 8161 11475 8161 11475 8661 11075 8661
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
11075 8661 11475 8661 11475 8161 11075 8161 11075 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
11325 8161 11325 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
11400 8161 11400 8661
-6
6 10350 8100 10875 8700
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
10575 8161 10575 8661
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
10400 8161 10800 8161 10800 8661 10400 8661
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
10400 8661 10800 8661 10800 8161 10400 8161 10400 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
10650 8161 10650 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
10725 8161 10725 8661
-6
6 13050 8100 13575 8700
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
13275 8161 13275 8661
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
13100 8161 13500 8161 13500 8661 13100 8661
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
13100 8661 13500 8661 13500 8161 13100 8161 13100 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
13350 8161 13350 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
13425 8161 13425 8661
-6
6 13725 8100 14250 8700
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
13950 8161 13950 8661
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
13775 8161 14175 8161 14175 8661 13775 8661
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
13775 8661 14175 8661 14175 8161 13775 8161 13775 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
14025 8161 14025 8661
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
14100 8161 14100 8661
-6
6 11100 11700 13050 12150
1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 11400 11925 225 150 11400 11925 11625 12075
4 0 0 49 -1 4 12 0.0000 4 180 1170 11850 12000 I/O tasklet\001
-6
6 11100 12300 11700 12600
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
11357 12331 11357 12581
2 1 0 4 35 -1 48 -1 -1 0.000 0 0 -1 0 0 4
11157 12331 11614 12331 11614 12581 11157 12581
2 3 0 0 -1 34 49 -1 20 0.000 0 0 -1 0 0 5
11157 12581 11614 12581 11614 12331 11157 12331 11157 12581
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
11443 12331 11443 12581
2 1 0 2 35 -1 47 -1 -1 0.000 0 0 -1 0 0 2
11529 12331 11529 12581
-6
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 10725 5700 75 75 10725 5700 10800 5700
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 12750 5700 75 75 12750 5700 12825 5700
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 13875 5700 75 75 13875 5700 13950 5700
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 11700 5700 75 75 11700 5700 11775 5700
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 2925 6750 75 75 2925 6750 3000 6750
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 4950 6750 75 75 4950 6750 5025 6750
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 6075 6750 75 75 6075 6750 6150 6750
1 3 0 3 0 0 49 -1 20 0.000 1 0.0000 3900 6750 75 75 3900 6750 3975 6750
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 9525 4140 583 250 9525 4140 10108 3890
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 11341 4140 583 250 11341 4140 11924 3890
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 13154 4140 583 250 13154 4140 13737 3890
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 15033 4140 583 250 15033 4140 15616 3890
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 7182 5173 583 250 7182 5173 7765 4923
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 3507 5173 583 250 3507 5173 4090 4923
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 1719 5173 583 250 1719 5173 2302 4923
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 5325 5175 583 250 5325 5175 5908 4925
1 1 0 4 10 11 45 -1 20 0.000 1 0.0000 4488 8082 612 250 4488 8082 5100 8082
1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 8400 600 900 210 8400 600 9300 600
1 1 0 4 10 11 49 -1 20 0.000 1 0.0000 12333 7025 417 250 12333 7025 12750 7025
1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 12392 9240 808 210 12392 9240 13200 9240
1 1 0 4 20 40 49 -1 20 0.000 1 0.0000 3167 9240 808 210 3167 9240 3975 9240
1 1 0 4 37 36 49 -1 20 0.000 1 0.0000 1800 11925 225 150 1800 11925 2025 12075
1 1 0 4 10 11 45 -1 20 0.000 1 0.0000 6600 11925 225 150 6600 11925 6825 12075
2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2
2550 3300 2550 6150
2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2
4500 3300 4500 6150
2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2
6300 3300 6300 6150
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 90.00 180.00
600 8025 600 11700
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 90.00 180.00
600 3150 600 1800
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 90.00 180.00
600 1500 600 150
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 1 4
1 1 1.00 90.00 180.00
1 1 1.00 90.00 180.00
3000 3300 3000 1425 3675 600 7500 600
2 3 0 4 33 32 50 -1 20 0.000 0 0 -1 0 0 5
900 3300 900 9900 8100 9900 8100 3300 900 3300
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 0 4
1 1 1.00 90.00 180.00
3525 3525 3525 2625 4500 1500 6750 1500
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 0 3
1 1 1.00 90.00 180.00
11295 4425 11295 4725 11700 5625
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 0 3
1 1 1.00 90.00 180.00
9495 4425 9495 4725 10695 5700
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 0 3
1 1 1.00 90.00 180.00
13163 4425 13163 4725 12788 5625
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 0 3
1 1 1.00 90.00 180.00
15013 4427 15013 4725 13888 5702
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
9525 3525 9525 3825
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
13125 3525 13125 3825
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
15000 3525 15000 3825
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 5
1 1 1.00 90.00 180.00
12300 7275 12300 7725 9975 7725 9975 8400 10425 8400
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 0 3
1 1 1.00 90.00 180.00
11775 5850 12300 6450 12300 6825
2 1 1 3 0 7 49 -1 -1 8.000 1 0 -1 0 0 3
11475 6150 13200 6150 13200 6825
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 0 1 3
1 1 1.00 90.00 180.00
3975 6900 4500 7650 4500 7875
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 0 1 3
1 1 1.00 90.00 180.00
3495 5475 3495 5775 3900 6675
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 0 1 3
1 1 1.00 90.00 180.00
1695 5475 1695 5775 2895 6750
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 0 1 3
1 1 1.00 90.00 180.00
7213 5477 7213 5775 6088 6752
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
1725 4875 1725 4575
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
3525 4875 3525 4575
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
5325 4875 5325 4575
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
7200 4875 7200 4575
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 0 1 2
1 1 1.00 90.00 180.00
4500 8325 4500 8721
2 1 1 3 0 7 49 -1 -1 8.000 1 0 -1 0 0 3
3225 7875 3225 7350 4725 7350
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 1 2
1 1 1.00 90.00 180.00
1 1 1.00 90.00 180.00
3900 10800 3225 9450
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 90.00 180.00
4500 10800 4500 9750
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 1 1 3
1 1 1.00 90.00 180.00
1 1 1.00 90.00 180.00
12375 10800 12375 9750 12375 9450
2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2
12225 3300 12225 5025
2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2
10425 3300 10425 5025
2 1 1 1 0 7 49 -1 -1 4.000 1 0 -1 0 0 2
14025 3300 14025 5025
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 4
1 1 1.00 90.00 180.00
9975 1500 10800 1500 11325 2100 11325 3825
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 1 4
1 1 1.00 90.00 180.00
1 1 1.00 90.00 180.00
9300 600 11175 600 11775 1275 11775 3300
2 3 0 4 33 32 50 -1 20 0.000 0 0 -1 0 0 5
8700 3300 8700 9900 15900 9900 15900 3300 8700 3300
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 0 1 5
1 1 1.00 90.00 180.00
13200 10800 13200 10200 14625 9750 14625 8400 14175 8400
2 1 0 3 0 7 49 -1 -1 0.000 1 0 -1 0 1 3
1 1 1.00 90.00 180.00
5325 5475 5325 5775 4950 6675
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 90.00 180.00
600 5400 600 3300
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 0 0 2
600 7800 600 5700
2 4 0 3 0 35 50 -1 20 0.000 1 0 7 0 0 5
5400 11400 3600 11400 3600 10800 5400 10800 5400 11400
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
12150 8400 12450 8400
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
11475 8400 11775 8400
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
10800 8400 11100 8400
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
12825 8400 13125 8400
2 1 0 3 0 7 49 -1 -1 8.000 1 0 -1 1 0 2
1 1 1.00 60.00 120.00
13500 8400 13800 8400
2 4 0 3 0 35 50 -1 20 0.000 1 0 7 0 0 5
2100 12600 1575 12600 1575 12300 2100 12300 2100 12600
2 4 0 3 33 32 50 -1 20 0.000 1 0 7 0 0 5
6900 12600 6375 12600 6375 12300 6900 12300 6900 12600
4 1 0 49 -1 4 14 1.5708 4 225 1365 450 825 application\001
4 1 0 49 -1 4 14 1.5708 4 180 2820 450 9450 connection = cs->conn\001
4 1 38 48 -1 4 12 0.0000 4 180 1230 8409 657 si_cs_io_cb\001
4 0 0 49 -1 4 12 1.5708 4 180 2820 2850 3225 mux->subscribe(SUB_RECV)\001
4 1 0 46 -1 4 16 1.5708 4 210 750 3600 4200 rxbuf\001
4 1 0 46 -1 4 16 1.5708 4 210 645 4575 9375 dbuf\001
4 1 0 49 -1 4 12 1.5708 4 195 1185 900 825 (eg: checks,\001
4 1 0 49 -1 4 12 1.5708 4 180 1200 1125 750 stream-int)\001
4 1 0 49 -1 4 16 0.0000 4 195 600 12300 7125 MUX\001
4 1 0 44 -1 4 16 0.0000 4 195 960 4500 8175 DEMUX\001
4 2 0 49 -1 4 12 0.0000 4 150 1080 3600 8100 Stream ID\001
4 0 0 49 -1 4 12 0.0000 4 150 1080 12825 7125 Stream ID\001
4 2 0 49 -1 4 12 0.0000 4 195 1845 3300 10125 tasklet_wakeup()\001
4 2 0 49 -1 4 12 0.0000 4 195 1845 12150 10125 tasklet_wakeup()\001
4 2 0 49 -1 4 12 0.0000 4 180 1590 11175 3150 mux->snd_buf()\001
4 0 0 49 -1 4 12 0.0000 4 180 1605 3675 3225 mux->rcv_buf()\001
4 0 0 49 -1 4 12 0.0000 4 195 2130 13425 10575 xprt->snd_buf(mbuf)\001
4 0 0 49 -1 4 12 0.0000 4 195 2070 4725 10500 xprt->rcv_buf(dbuf)\001
4 1 0 49 -1 4 12 0.0000 4 165 3465 8400 2100 HTX contents when mode==HTTP\001
4 0 0 49 -1 4 12 0.0000 4 180 2430 13125 675 snd_buf() will move the\001
4 0 0 49 -1 4 12 0.0000 4 195 2490 13125 975 buffer (zero-copy) when\001
4 0 0 49 -1 4 12 0.0000 4 195 2595 13125 1275 the destination is empty.\001
4 2 0 49 -1 4 12 0.0000 4 195 1845 7500 450 tasklet_wakeup()\001
4 0 0 49 -1 4 12 0.0000 4 195 1845 9300 450 tasklet_wakeup()\001
4 1 38 48 -1 4 12 0.0000 4 165 735 9534 4200 encode\001
4 1 38 48 -1 4 12 0.0000 4 165 735 11325 4200 encode\001
4 1 38 48 -1 4 12 0.0000 4 165 735 13134 4200 encode\001
4 1 38 48 -1 4 12 0.0000 4 165 735 15009 4200 encode\001
4 1 38 48 -1 4 12 0.0000 4 165 735 1725 5250 decode\001
4 1 38 48 -1 4 12 0.0000 4 165 735 3525 5250 decode\001
4 1 38 48 -1 4 12 0.0000 4 165 735 5325 5250 decode\001
4 1 38 48 -1 4 12 0.0000 4 165 735 7200 5250 decode\001
4 1 38 48 -1 4 12 0.0000 4 180 1155 12375 9300 mux_io_cb\001
4 0 0 49 -1 4 12 1.5708 4 180 2835 12075 3225 mux->subscribe(SUB_SEND)\001
4 1 0 49 -1 4 14 1.5708 4 165 1605 450 4500 mux streams\001
4 1 0 49 -1 4 14 1.5708 4 150 2145 450 6750 mux=conn->mux\001
4 1 0 49 -1 4 14 1.5708 4 180 1590 450 2550 conn_stream\001
4 0 0 49 -1 4 12 0.0000 4 150 660 12900 75 Notes:\001
4 0 0 49 -1 4 12 0.0000 4 180 2175 12975 375 - mux->rcv_buf() and\001
4 0 0 49 -1 4 12 0.0000 4 195 2475 12975 1650 - the application is also\001
4 0 0 49 -1 4 12 0.0000 4 195 2655 13125 1950 called the data layer and\001
4 0 0 49 -1 4 12 0.0000 4 180 2925 13125 2250 is cs->data and cs->data_cb\001
4 0 0 49 -1 4 12 0.0000 4 195 2940 12975 2550 - transport layers (xprt) are\001
4 0 0 49 -1 4 12 0.0000 4 195 2520 13125 2775 stackable. conn->xprt is\001
4 0 0 49 -1 4 12 0.0000 4 195 1770 13125 3000 the topmost one.\001
4 1 0 49 -1 4 18 0.0000 4 270 1410 4500 11175 Transport\001
4 1 0 46 -1 4 16 0.0000 4 210 735 14625 8175 mbuf\001
4 1 38 48 -1 4 12 0.0000 4 180 1155 3159 9300 mux_io_cb\001
4 0 0 49 -1 4 12 0.0000 4 195 2910 2250 12000 encoding/decoding function\001
4 0 0 49 -1 4 12 0.0000 4 195 1635 2250 12525 transport layer\001
4 0 0 49 -1 4 12 0.0000 4 195 2730 7050 12525 multiplexer (MUX/DEMUX)\001
4 0 0 49 -1 4 12 0.0000 4 195 2895 7050 12000 general processing function\001
4 0 0 49 -1 4 12 0.0000 4 195 3255 11775 12525 stream buffer (byte-level FIFO)\001
4 2 0 49 -1 4 12 0.0000 4 195 2835 3675 10725 xprt->subscribe(SUB_RECV)\001
4 2 0 49 -1 4 12 0.0000 4 195 2850 12225 10725 xprt->subscribe(SUB_SEND)\001