mirror of
https://github.com/simplex-chat/simplexmq.git
synced 2026-04-01 20:26:09 +00:00
278 lines
22 KiB
XML
278 lines
22 KiB
XML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
|
-->
|
|
<!-- Title: SMPServer Pages: 1 -->
|
|
<svg width="855pt" height="677pt"
|
|
viewBox="0.00 0.00 855.00 677.40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 673.3999)">
|
|
<title>SMPServer</title>
|
|
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-673.3999 851,-673.3999 851,4 -4,4"/>
|
|
<g id="clust1" class="cluster">
|
|
<title>clusterPersistence</title>
|
|
<polygon fill="none" stroke="#000000" points="671,-112.175 671,-200.275 839,-200.275 839,-112.175 671,-112.175"/>
|
|
<text text-anchor="middle" x="755" y="-183.675" font-family="arial" font-size="14.00" fill="#000000">persistence (STM)</text>
|
|
</g>
|
|
<g id="clust2" class="cluster">
|
|
<title>clusterServer</title>
|
|
<polygon fill="none" stroke="#000000" points="8,-356.4499 8,-661.3999 314,-661.3999 314,-356.4499 8,-356.4499"/>
|
|
<text text-anchor="middle" x="161" y="-644.7999" font-family="arial" font-size="14.00" fill="#000000">server threads</text>
|
|
</g>
|
|
<g id="clust3" class="cluster">
|
|
<title>clusterThreads</title>
|
|
<polygon fill="none" stroke="#000000" points="96,-364.4499 96,-436.6249 306,-436.6249 306,-364.4499 96,-364.4499"/>
|
|
</g>
|
|
<g id="clust5" class="cluster">
|
|
<title>clusterConnection</title>
|
|
<polygon fill="none" stroke="#000000" points="322,-8 322,-545.4249 663,-545.4249 663,-8 322,-8"/>
|
|
<text text-anchor="middle" x="492.5" y="-528.8249" font-family="arial" font-size="14.00" fill="#000000">1 group per client connection</text>
|
|
</g>
|
|
<g id="clust6" class="cluster">
|
|
<title>clusterThreads</title>
|
|
<polygon fill="none" stroke="#000000" points="330,-254.275 330,-326.4499 621,-326.4499 621,-254.275 330,-254.275"/>
|
|
</g>
|
|
<!-- msgQueues -->
|
|
<g id="node1" class="node">
|
|
<title>msgQueues</title>
|
|
<path fill="none" stroke="#000000" d="M831.1227,-163.2985C831.1227,-165.6863 817.6212,-167.6259 801,-167.6259 784.3788,-167.6259 770.8773,-165.6863 770.8773,-163.2985 770.8773,-163.2985 770.8773,-124.3515 770.8773,-124.3515 770.8773,-121.9636 784.3788,-120.024 801,-120.024 817.6212,-120.024 831.1227,-121.9636 831.1227,-124.3515 831.1227,-124.3515 831.1227,-163.2985 831.1227,-163.2985"/>
|
|
<path fill="none" stroke="#000000" d="M831.1227,-163.2985C831.1227,-160.9107 817.6212,-158.971 801,-158.971 784.3788,-158.971 770.8773,-160.9107 770.8773,-163.2985"/>
|
|
<text text-anchor="middle" x="801" y="-147.125" font-family="arial" font-size="11.00" fill="#000000">Message</text>
|
|
<text text-anchor="middle" x="801" y="-133.925" font-family="arial" font-size="11.00" fill="#000000">queues</text>
|
|
</g>
|
|
<!-- subscriber -->
|
|
<g id="node13" class="node">
|
|
<title>subscriber</title>
|
|
<polygon fill="none" stroke="#ffa500" points="655.4603,-44.0875 628.2302,-72.2627 573.7698,-72.2627 546.5397,-44.0875 573.7698,-15.9122 628.2302,-15.9122 655.4603,-44.0875"/>
|
|
<text text-anchor="middle" x="601" y="-47.3875" font-family="arial" font-size="11.00" fill="#000000">subscriber</text>
|
|
<text text-anchor="middle" x="601" y="-34.1875" font-family="arial" font-size="11.00" fill="#000000">thread</text>
|
|
</g>
|
|
<!-- msgQueues->subscriber -->
|
|
<g id="edge13" class="edge">
|
|
<title>msgQueues->subscriber</title>
|
|
<path fill="none" stroke="#00ff00" d="M775.3099,-121.3134C771.01,-118.0388 766.485,-114.869 762,-112.175 727.1066,-91.2154 684.5821,-73.5284 652.0009,-61.4383"/>
|
|
<polygon fill="#00ff00" stroke="#00ff00" points="642.2282,-57.8684 653.1652,-57.0728 646.9247,-59.584 651.6211,-61.2996 651.6211,-61.2996 651.6211,-61.2996 646.9247,-59.584 650.0771,-65.5264 642.2282,-57.8684 642.2282,-57.8684"/>
|
|
<text text-anchor="middle" x="761.2825" y="-93.175" font-family="arial" font-size="10.00" fill="#00ff00">Message</text>
|
|
</g>
|
|
<!-- queueStore -->
|
|
<g id="node2" class="node">
|
|
<title>queueStore</title>
|
|
<path fill="none" stroke="#000000" d="M752.9666,-163.2985C752.9666,-165.6863 736.3976,-167.6259 716,-167.6259 695.6024,-167.6259 679.0334,-165.6863 679.0334,-163.2985 679.0334,-163.2985 679.0334,-124.3515 679.0334,-124.3515 679.0334,-121.9636 695.6024,-120.024 716,-120.024 736.3976,-120.024 752.9666,-121.9636 752.9666,-124.3515 752.9666,-124.3515 752.9666,-163.2985 752.9666,-163.2985"/>
|
|
<path fill="none" stroke="#000000" d="M752.9666,-163.2985C752.9666,-160.9107 736.3976,-158.971 716,-158.971 695.6024,-158.971 679.0334,-160.9107 679.0334,-163.2985"/>
|
|
<text text-anchor="middle" x="716" y="-147.125" font-family="arial" font-size="11.00" fill="#000000">SMP queue</text>
|
|
<text text-anchor="middle" x="716" y="-133.925" font-family="arial" font-size="11.00" fill="#000000">records</text>
|
|
</g>
|
|
<!-- main -->
|
|
<g id="node3" class="node">
|
|
<title>main</title>
|
|
<polygon fill="none" stroke="#ffa500" points="93.542,-600.5124 74.271,-628.6876 35.729,-628.6876 16.458,-600.5124 35.729,-572.3371 74.271,-572.3371 93.542,-600.5124"/>
|
|
<text text-anchor="middle" x="55" y="-603.8124" font-family="arial" font-size="11.00" fill="#000000">main</text>
|
|
<text text-anchor="middle" x="55" y="-590.6124" font-family="arial" font-size="11.00" fill="#000000">thread</text>
|
|
</g>
|
|
<!-- runClient -->
|
|
<g id="node5" class="node">
|
|
<title>runClient</title>
|
|
<polygon fill="none" stroke="#ffa500" points="297.9814,-400.5374 273.4907,-428.7127 224.5093,-428.7127 200.0186,-400.5374 224.5093,-372.3622 273.4907,-372.3622 297.9814,-400.5374"/>
|
|
<text text-anchor="middle" x="249" y="-403.8374" font-family="arial" font-size="11.00" fill="#000000">runClient</text>
|
|
<text text-anchor="middle" x="249" y="-390.6374" font-family="arial" font-size="11.00" fill="#000000">thread</text>
|
|
</g>
|
|
<!-- main->runClient -->
|
|
<g id="edge1" class="edge">
|
|
<title>main->runClient</title>
|
|
<path fill="none" stroke="#ffa500" stroke-dasharray="5,2" d="M82.4126,-583.8786C98.0501,-573.7433 117.5501,-559.9715 133,-545.4249 168.3831,-512.1106 202.3371,-467.7613 224.2648,-436.9423"/>
|
|
<polygon fill="#ffa500" stroke="#ffa500" points="230.1218,-428.629 228.041,-439.3957 227.2421,-432.7164 224.3623,-436.8039 224.3623,-436.8039 224.3623,-436.8039 227.2421,-432.7164 220.6836,-434.2121 230.1218,-428.629 230.1218,-428.629"/>
|
|
<text text-anchor="middle" x="203.7235" y="-491.6249" font-family="arial" font-size="10.00" fill="#ffa500">race</text>
|
|
</g>
|
|
<!-- server -->
|
|
<g id="node6" class="node">
|
|
<title>server</title>
|
|
<polygon fill="none" stroke="#ffa500" points="181.542,-400.5374 162.271,-428.7127 123.729,-428.7127 104.458,-400.5374 123.729,-372.3622 162.271,-372.3622 181.542,-400.5374"/>
|
|
<text text-anchor="middle" x="143" y="-403.8374" font-family="arial" font-size="11.00" fill="#000000">server</text>
|
|
<text text-anchor="middle" x="143" y="-390.6374" font-family="arial" font-size="11.00" fill="#000000">thread</text>
|
|
</g>
|
|
<!-- main->server -->
|
|
<g id="edge2" class="edge">
|
|
<title>main->server</title>
|
|
<path fill="none" stroke="#ffa500" stroke-dasharray="5,2" d="M67.4216,-572.285C82.8393,-537.2492 109.19,-477.3686 126.3476,-438.379"/>
|
|
<polygon fill="#ffa500" stroke="#ffa500" points="130.4994,-428.9443 130.5904,-439.9098 128.4855,-433.5208 126.4715,-438.0972 126.4715,-438.0972 126.4715,-438.0972 128.4855,-433.5208 122.3527,-436.2847 130.4994,-428.9443 130.4994,-428.9443"/>
|
|
<text text-anchor="middle" x="119.7235" y="-491.6249" font-family="arial" font-size="10.00" fill="#ffa500">race</text>
|
|
</g>
|
|
<!-- ss -->
|
|
<g id="node4" class="node">
|
|
<title>ss</title>
|
|
<polygon fill="none" stroke="#0000ff" points="218.4518,-618.5124 111.5482,-618.5124 111.5482,-582.5124 218.4518,-582.5124 218.4518,-618.5124"/>
|
|
<text text-anchor="middle" x="165" y="-597.2124" font-family="arial" font-size="11.00" fill="#000000">server TCP socket</text>
|
|
</g>
|
|
<!-- ss->runClient -->
|
|
<g id="edge3" class="edge">
|
|
<title>ss->runClient</title>
|
|
<path fill="none" stroke="#0000ff" d="M190.6135,-582.3228C202.2946,-572.6811 215.2249,-559.8501 223,-545.4249 240.8424,-512.3216 246.7634,-469.4031 248.5729,-438.8905"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="249.0542,-428.6517 253.0796,-438.852 248.8194,-433.6461 248.5845,-438.6406 248.5845,-438.6406 248.5845,-438.6406 248.8194,-433.6461 244.0895,-438.4293 249.0542,-428.6517 249.0542,-428.6517"/>
|
|
</g>
|
|
<!-- cs -->
|
|
<g id="node8" class="node">
|
|
<title>cs</title>
|
|
<polygon fill="none" stroke="#0000ff" points="552.8099,-512.6249 395.1901,-512.6249 395.1901,-476.6249 552.8099,-476.6249 552.8099,-512.6249"/>
|
|
<text text-anchor="middle" x="474" y="-491.3249" font-family="arial" font-size="11.00" fill="#000000">client connection TCP socket</text>
|
|
</g>
|
|
<!-- runClient->cs -->
|
|
<g id="edge5" class="edge">
|
|
<title>runClient->cs</title>
|
|
<path fill="none" stroke="#0000ff" stroke-dasharray="5,2" d="M272.5995,-428.901C283.0081,-439.7165 296.0409,-451.2129 309.985,-458.6249 332.9376,-470.8253 359.7984,-478.8942 385.0605,-484.2295"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="395.0232,-486.2129 384.337,-488.6737 390.1195,-485.2366 385.2157,-484.2603 385.2157,-484.2603 385.2157,-484.2603 390.1195,-485.2366 386.0944,-479.8469 395.0232,-486.2129 395.0232,-486.2129"/>
|
|
<text text-anchor="middle" x="326.5075" y="-449.6249" font-family="arial" font-size="10.00" fill="#0000ff">connect</text>
|
|
</g>
|
|
<!-- receive -->
|
|
<g id="node9" class="node">
|
|
<title>receive</title>
|
|
<polygon fill="none" stroke="#ffa500" points="422.0134,-290.3624 401.0067,-318.5377 358.9933,-318.5377 337.9866,-290.3624 358.9933,-262.1872 401.0067,-262.1872 422.0134,-290.3624"/>
|
|
<text text-anchor="middle" x="380" y="-293.6624" font-family="arial" font-size="11.00" fill="#000000">receive</text>
|
|
<text text-anchor="middle" x="380" y="-280.4624" font-family="arial" font-size="11.00" fill="#000000">thread</text>
|
|
</g>
|
|
<!-- runClient->receive -->
|
|
<g id="edge6" class="edge">
|
|
<title>runClient->receive</title>
|
|
<path fill="none" stroke="#ffa500" stroke-dasharray="5,2" d="M242.4559,-372.1449C241.3023,-360.1277 242.3132,-346.5931 249.553,-336.4499 259.7013,-322.232 300.429,-309.2925 333.711,-300.7686"/>
|
|
<polygon fill="#ffa500" stroke="#ffa500" points="343.7588,-298.2684 335.1413,-305.05 338.9067,-299.4758 334.0547,-300.6831 334.0547,-300.6831 334.0547,-300.6831 338.9067,-299.4758 332.9681,-296.3163 343.7588,-298.2684 343.7588,-298.2684"/>
|
|
<text text-anchor="middle" x="258.7235" y="-339.4499" font-family="arial" font-size="10.00" fill="#ffa500">race</text>
|
|
</g>
|
|
<!-- client -->
|
|
<g id="node10" class="node">
|
|
<title>client</title>
|
|
<polygon fill="none" stroke="#ffa500" points="612.542,-290.3624 593.271,-318.5377 554.729,-318.5377 535.458,-290.3624 554.729,-262.1872 593.271,-262.1872 612.542,-290.3624"/>
|
|
<text text-anchor="middle" x="574" y="-293.6624" font-family="arial" font-size="11.00" fill="#000000">client</text>
|
|
<text text-anchor="middle" x="574" y="-280.4624" font-family="arial" font-size="11.00" fill="#000000">thread</text>
|
|
</g>
|
|
<!-- runClient->client -->
|
|
<g id="edge7" class="edge">
|
|
<title>runClient->client</title>
|
|
<path fill="none" stroke="#ffa500" stroke-dasharray="5,2" d="M277.06,-376.3985C296.597,-360.1633 321.2685,-340.9357 333.553,-336.4499 414.4215,-306.9205 446.2239,-356.2313 527,-326.4499 532.1882,-324.5371 537.2696,-321.8366 542.0605,-318.7636"/>
|
|
<polygon fill="#ffa500" stroke="#ffa500" points="550.3305,-312.9195 544.7608,-322.3656 546.2472,-315.8051 542.1638,-318.6906 542.1638,-318.6906 542.1638,-318.6906 546.2472,-315.8051 539.5668,-315.0156 550.3305,-312.9195 550.3305,-312.9195"/>
|
|
<text text-anchor="middle" x="342.7235" y="-339.4499" font-family="arial" font-size="10.00" fill="#ffa500">race</text>
|
|
</g>
|
|
<!-- send -->
|
|
<g id="node11" class="node">
|
|
<title>send</title>
|
|
<polygon fill="none" stroke="#ffa500" points="517.542,-290.3624 498.271,-318.5377 459.729,-318.5377 440.458,-290.3624 459.729,-262.1872 498.271,-262.1872 517.542,-290.3624"/>
|
|
<text text-anchor="middle" x="479" y="-293.6624" font-family="arial" font-size="11.00" fill="#000000">send</text>
|
|
<text text-anchor="middle" x="479" y="-280.4624" font-family="arial" font-size="11.00" fill="#000000">thread</text>
|
|
</g>
|
|
<!-- runClient->send -->
|
|
<g id="edge8" class="edge">
|
|
<title>runClient->send</title>
|
|
<path fill="none" stroke="#ffa500" stroke-dasharray="5,2" d="M260.5478,-372.3313C267.4946,-359.1125 277.7098,-344.526 291.553,-336.4499 318.388,-320.7945 401.9033,-337.3399 431,-326.4499 436.5046,-324.3897 441.9126,-321.4869 446.9995,-318.2123"/>
|
|
<polygon fill="#ffa500" stroke="#ffa500" points="455.2178,-312.4339 449.6258,-321.8669 451.1276,-315.3098 447.0375,-318.1857 447.0375,-318.1857 447.0375,-318.1857 451.1276,-315.3098 444.4492,-314.5046 455.2178,-312.4339 455.2178,-312.4339"/>
|
|
<text text-anchor="middle" x="300.7235" y="-339.4499" font-family="arial" font-size="10.00" fill="#ffa500">race</text>
|
|
</g>
|
|
<!-- inq -->
|
|
<g id="node12" class="node">
|
|
<title>inq</title>
|
|
<polygon fill="none" stroke="#000000" points="375.5723,-56.0875 330.4277,-56.0875 330.4277,-32.0875 375.5723,-32.0875 375.5723,-26.0875 393.5723,-44.0875 375.5723,-62.0875 375.5723,-56.0875"/>
|
|
<text text-anchor="middle" x="362" y="-47.3875" font-family="arial" font-size="11.00" fill="#000000">receive</text>
|
|
<text text-anchor="middle" x="362" y="-34.1875" font-family="arial" font-size="11.00" fill="#000000">TBQueue</text>
|
|
</g>
|
|
<!-- server->inq -->
|
|
<g id="edge9" class="edge">
|
|
<title>server->inq</title>
|
|
<path fill="none" stroke="#000000" d="M160.3676,-372.2694C201.6259,-305.1164 305.0826,-136.7276 345.4771,-70.9806"/>
|
|
<polygon fill="#000000" stroke="#000000" points="350.7453,-62.4059 349.3446,-73.2819 348.1279,-66.6661 345.5104,-70.9262 345.5104,-70.9262 345.5104,-70.9262 348.1279,-66.6661 341.6763,-68.5705 350.7453,-62.4059 350.7453,-62.4059"/>
|
|
<text text-anchor="middle" x="270.5535" y="-223.275" font-family="arial" font-size="10.00" fill="#000000">END</text>
|
|
</g>
|
|
<!-- subscribedQ -->
|
|
<g id="node7" class="node">
|
|
<title>subscribedQ</title>
|
|
<polygon fill="none" stroke="#000000" points="305.6775,-612.5124 254.3225,-612.5124 254.3225,-618.5124 236.3225,-600.5124 254.3225,-582.5124 254.3225,-588.5124 305.6775,-588.5124 305.6775,-612.5124"/>
|
|
<text text-anchor="middle" x="271" y="-603.8124" font-family="arial" font-size="11.00" fill="#000000">subscribed</text>
|
|
<text text-anchor="middle" x="271" y="-590.6124" font-family="arial" font-size="11.00" fill="#000000">TBQueue</text>
|
|
</g>
|
|
<!-- subscribedQ->server -->
|
|
<g id="edge4" class="edge">
|
|
<title>subscribedQ->server</title>
|
|
<path fill="none" stroke="#000000" d="M266.5979,-582.0921C259.9663,-556.7857 245.7163,-510.5487 223,-476.6249 210.3763,-457.773 192.3233,-440.0878 176.5604,-426.5205"/>
|
|
<polygon fill="#000000" stroke="#000000" points="168.5671,-419.8168 179.1209,-422.7948 172.3982,-423.0298 176.2292,-426.2428 176.2292,-426.2428 176.2292,-426.2428 172.3982,-423.0298 173.3375,-429.6907 168.5671,-419.8168 168.5671,-419.8168"/>
|
|
</g>
|
|
<!-- cs->receive -->
|
|
<g id="edge10" class="edge">
|
|
<title>cs->receive</title>
|
|
<path fill="none" stroke="#0000ff" d="M465.6581,-476.498C450.379,-443.2963 417.6111,-372.0915 397.3247,-328.0092"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="393.0726,-318.7693 401.3411,-325.9723 395.1629,-323.3114 397.2532,-327.8535 397.2532,-327.8535 397.2532,-327.8535 395.1629,-323.3114 393.1653,-329.7348 393.0726,-318.7693 393.0726,-318.7693"/>
|
|
</g>
|
|
<!-- receive->inq -->
|
|
<g id="edge11" class="edge">
|
|
<title>receive->inq</title>
|
|
<path fill="none" stroke="#0000ff" d="M377.9352,-262.1116C374.4741,-214.757 367.5409,-119.8979 364.0738,-72.4613"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="363.33,-62.2842 368.547,-71.9295 363.6945,-67.2709 364.059,-72.2576 364.059,-72.2576 364.059,-72.2576 363.6945,-67.2709 359.571,-72.5856 363.33,-62.2842 363.33,-62.2842"/>
|
|
</g>
|
|
<!-- client->msgQueues -->
|
|
<g id="edge17" class="edge">
|
|
<title>client->msgQueues</title>
|
|
<path fill="none" stroke="#00ff00" d="M615.7447,-277.4263C656.3868,-263.3055 718.2574,-237.6106 762,-200.275 769.9504,-193.4891 777.0327,-184.7227 782.9078,-176.1309"/>
|
|
<polygon fill="#00ff00" stroke="#00ff00" points="606.1466,-280.6832 614.1703,-273.2085 610.8815,-279.0765 615.6163,-277.4699 615.6163,-277.4699 615.6163,-277.4699 610.8815,-279.0765 617.0623,-281.7312 606.1466,-280.6832 606.1466,-280.6832"/>
|
|
<polygon fill="#00ff00" stroke="#00ff00" points="788.3681,-167.6771 786.7225,-178.5188 785.6553,-171.8771 782.9424,-176.0772 782.9424,-176.0772 782.9424,-176.0772 785.6553,-171.8771 779.1624,-173.6357 788.3681,-167.6771 788.3681,-167.6771"/>
|
|
<text text-anchor="middle" x="763.2775" y="-235.275" font-family="arial" font-size="10.00" fill="#000000">SEND,</text>
|
|
<text text-anchor="middle" x="763.2775" y="-223.275" font-family="arial" font-size="10.00" fill="#000000">SUB,</text>
|
|
<text text-anchor="middle" x="763.2775" y="-211.275" font-family="arial" font-size="10.00" fill="#000000">ACK</text>
|
|
</g>
|
|
<!-- client->queueStore -->
|
|
<g id="edge15" class="edge">
|
|
<title>client->queueStore</title>
|
|
<path fill="none" stroke="#000000" d="M609.8863,-268.3247C620.1282,-261.2548 630.9539,-252.9826 640,-244.275 661.2301,-223.8393 681.1673,-197.0861 695.2906,-176.3279"/>
|
|
<polygon fill="#000000" stroke="#000000" points="601.4722,-273.9638 607.2738,-264.6583 605.6257,-271.1801 609.7791,-268.3964 609.7791,-268.3964 609.7791,-268.3964 605.6257,-271.1801 612.2844,-272.1346 601.4722,-273.9638 601.4722,-273.9638"/>
|
|
<polygon fill="#000000" stroke="#000000" points="700.9743,-167.8345 699.1526,-178.648 698.1935,-171.9899 695.4127,-176.1453 695.4127,-176.1453 695.4127,-176.1453 698.1935,-171.9899 691.6729,-173.6426 700.9743,-167.8345 700.9743,-167.8345"/>
|
|
</g>
|
|
<!-- client->subscribedQ -->
|
|
<g id="edge21" class="edge">
|
|
<title>client->subscribedQ</title>
|
|
<path fill="none" stroke="#000000" d="M548.6699,-309.8896C541.6619,-315.2708 534.0458,-321.0992 527,-326.4499 456.1732,-380.2374 427.111,-381.0795 367,-446.6249 330.9316,-485.954 300.5471,-540.6501 284.1272,-573.1325"/>
|
|
<polygon fill="#000000" stroke="#000000" points="279.4889,-582.4585 279.9129,-571.5008 281.7155,-577.9816 283.9421,-573.5048 283.9421,-573.5048 283.9421,-573.5048 281.7155,-577.9816 287.9713,-575.5087 279.4889,-582.4585 279.4889,-582.4585"/>
|
|
<text text-anchor="middle" x="391.7185" y="-449.6249" font-family="arial" font-size="10.00" fill="#000000">(rId, Client)</text>
|
|
</g>
|
|
<!-- client->subscriber -->
|
|
<g id="edge16" class="edge">
|
|
<title>client->subscriber</title>
|
|
<path fill="none" stroke="#ffa500" stroke-dasharray="5,2" d="M577.0972,-262.1116C581.9467,-217.8786 591.3402,-132.1977 596.796,-82.4333"/>
|
|
<polygon fill="#ffa500" stroke="#ffa500" points="597.8974,-72.3872 601.2807,-82.818 597.3525,-77.3574 596.8075,-82.3276 596.8075,-82.3276 596.8075,-82.3276 597.3525,-77.3574 592.3343,-81.8371 597.8974,-72.3872 597.8974,-72.3872"/>
|
|
<text text-anchor="middle" x="619.1205" y="-146.825" font-family="arial" font-size="10.00" fill="#000000">1 fork per</text>
|
|
<text text-anchor="middle" x="619.1205" y="-134.825" font-family="arial" font-size="10.00" fill="#000000">SMP queue</text>
|
|
</g>
|
|
<!-- outq -->
|
|
<g id="node14" class="node">
|
|
<title>outq</title>
|
|
<polygon fill="none" stroke="#000000" points="474.5723,-56.0875 429.4277,-56.0875 429.4277,-62.0875 411.4277,-44.0875 429.4277,-26.0875 429.4277,-32.0875 474.5723,-32.0875 474.5723,-56.0875"/>
|
|
<text text-anchor="middle" x="443" y="-47.3875" font-family="arial" font-size="11.00" fill="#000000">send</text>
|
|
<text text-anchor="middle" x="443" y="-34.1875" font-family="arial" font-size="11.00" fill="#000000">TBQueue</text>
|
|
</g>
|
|
<!-- client->outq -->
|
|
<g id="edge18" class="edge">
|
|
<title>client->outq</title>
|
|
<path fill="none" stroke="#0000ff" d="M569.0363,-262.148C560.7382,-221.1225 540.9769,-144.0325 502,-90.175 496.236,-82.2103 488.7272,-74.9287 481.0081,-68.6219"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="472.622,-62.1747 483.2926,-64.7021 476.5859,-65.2222 480.5499,-68.2697 480.5499,-68.2697 480.5499,-68.2697 476.5859,-65.2222 477.8071,-71.8372 472.622,-62.1747 472.622,-62.1747"/>
|
|
</g>
|
|
<!-- send->cs -->
|
|
<g id="edge20" class="edge">
|
|
<title>send->cs</title>
|
|
<path fill="none" stroke="#0000ff" d="M478.3046,-318.7693C477.35,-357.7707 475.6436,-427.4808 474.6911,-466.3911"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="474.4437,-476.498 470.1899,-466.3908 474.5661,-471.4995 474.6885,-466.501 474.6885,-466.501 474.6885,-466.501 474.5661,-471.4995 479.1872,-466.6111 474.4437,-476.498 474.4437,-476.498"/>
|
|
</g>
|
|
<!-- inq->client -->
|
|
<g id="edge12" class="edge">
|
|
<title>inq->client</title>
|
|
<path fill="none" stroke="#0000ff" d="M377.6198,-62.2326C413.1933,-103.5575 500.6514,-205.1552 545.8859,-257.703"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="552.5056,-265.393 542.5712,-260.75 549.2436,-261.6036 545.9816,-257.8142 545.9816,-257.8142 545.9816,-257.8142 549.2436,-261.6036 549.3921,-254.8784 552.5056,-265.393 552.5056,-265.393"/>
|
|
</g>
|
|
<!-- subscriber->outq -->
|
|
<g id="edge14" class="edge">
|
|
<title>subscriber->outq</title>
|
|
<path fill="none" stroke="#0000ff" d="M546.4214,-44.0875C526.1863,-44.0875 503.5804,-44.0875 484.6766,-44.0875"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="474.5939,-44.0875 484.594,-39.5876 479.5939,-44.0875 484.5939,-44.0876 484.5939,-44.0876 484.5939,-44.0876 479.5939,-44.0875 484.5939,-48.5876 474.5939,-44.0875 474.5939,-44.0875"/>
|
|
<text text-anchor="middle" x="510.528" y="-50.0875" font-family="arial" font-size="10.00" fill="#0000ff">MSG</text>
|
|
</g>
|
|
<!-- outq->send -->
|
|
<g id="edge19" class="edge">
|
|
<title>outq->send</title>
|
|
<path fill="none" stroke="#0000ff" d="M445.66,-62.2842C451.4907,-102.1724 465.5041,-198.0375 473.381,-251.9232"/>
|
|
<polygon fill="#0000ff" stroke="#0000ff" points="474.8703,-262.1116 468.9712,-252.8677 474.1471,-257.1642 473.4239,-252.2167 473.4239,-252.2167 473.4239,-252.2167 474.1471,-257.1642 477.8765,-251.5658 474.8703,-262.1116 474.8703,-262.1116"/>
|
|
</g>
|
|
</g>
|
|
</svg>
|