diff options
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/protocol.svg | 492 |
1 files changed, 492 insertions, 0 deletions
diff --git a/docs/protocol.svg b/docs/protocol.svg new file mode 100644 index 0000000..20a9119 --- /dev/null +++ b/docs/protocol.svg @@ -0,0 +1,492 @@ +<?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 14.1.3 (20260303.0454) + --> +<!-- Pages: 1 --> +<svg width="1130pt" height="920pt" + viewBox="0.00 0.00 1130.00 920.00" 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 916)"> +<polygon fill="white" stroke="none" points="-4,4 -4,-916 1125.75,-916 1125.75,4 -4,4"/> +<g id="clust1" class="cluster"> +<title>cluster__solec</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="8,-8 8,-904 1113.75,-904 1113.75,-8 8,-8"/> +<text xml:space="preserve" text-anchor="middle" x="560.88" y="-886.7" font-family="Times,serif" font-size="14.00">Solec</text> +</g> +<g id="clust2" class="cluster"> +<title>cluster__auth</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="621.25,-755 621.25,-871 780,-871 780,-755 621.25,-755"/> +<text xml:space="preserve" text-anchor="middle" x="700.62" y="-853.7" font-family="Times,serif" font-size="14.00">Solec::Auth</text> +</g> +<g id="clust3" class="cluster"> +<title>cluster__error</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="581.5,-653 581.5,-747 819.75,-747 819.75,-653 581.5,-653"/> +<text xml:space="preserve" text-anchor="middle" x="700.62" y="-729.7" font-family="Times,serif" font-size="14.00">Solec::Error</text> +</g> +<g id="clust4" class="cluster"> +<title>cluster__handshake</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="595,-529 595,-645 806.25,-645 806.25,-529 595,-529"/> +<text xml:space="preserve" text-anchor="middle" x="700.62" y="-627.7" font-family="Times,serif" font-size="14.00">Solec::Handshake</text> +</g> +<g id="clust5" class="cluster"> +<title>cluster__message</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="607.38,-360 607.38,-521 793.88,-521 793.88,-360 607.38,-360"/> +<text xml:space="preserve" text-anchor="middle" x="700.62" y="-503.7" font-family="Times,serif" font-size="14.00">Solec::Message</text> +</g> +<g id="clust6" class="cluster"> +<title>cluster__string</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="839.75,-359 839.75,-493 1105.75,-493 1105.75,-359 839.75,-359"/> +<text xml:space="preserve" text-anchor="middle" x="972.75" y="-475.7" font-family="Times,serif" font-size="14.00">Solec::String</text> +</g> +<g id="clust7" class="cluster"> +<title>cluster__success</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="635.88,-275 635.88,-352 765.38,-352 765.38,-275 635.88,-275"/> +<text xml:space="preserve" text-anchor="middle" x="700.62" y="-334.7" font-family="Times,serif" font-size="14.00">Solec::Success</text> +</g> +<g id="clust8" class="cluster"> +<title>cluster__test</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="620.5,-16 620.5,-267 780.75,-267 780.75,-16 620.5,-16"/> +<text xml:space="preserve" text-anchor="middle" x="700.62" y="-249.7" font-family="Times,serif" font-size="14.00">Solec::Test</text> +</g> +<!-- solec__seq --> +<g id="node1" class="node"> +<title>solec__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="24,-567.5 24,-590 48.75,-590 48.75,-567.5 24,-567.5"/> +<polygon fill="none" stroke="black" points="24,-567.5 24,-590 48.75,-590 48.75,-567.5 24,-567.5"/> +<text xml:space="preserve" text-anchor="start" x="27" y="-574.25" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="48.75,-567.5 48.75,-590 75.75,-590 75.75,-567.5 48.75,-567.5"/> +<polygon fill="none" stroke="black" points="48.75,-567.5 48.75,-590 75.75,-590 75.75,-567.5 48.75,-567.5"/> +<text xml:space="preserve" text-anchor="start" x="51.75" y="-574.25" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="75.75,-567.5 75.75,-590 202.5,-590 202.5,-567.5 75.75,-567.5"/> +<polygon fill="none" stroke="black" points="75.75,-567.5 75.75,-590 202.5,-590 202.5,-567.5 75.75,-567.5"/> +<text xml:space="preserve" text-anchor="start" x="127.5" y="-574.25" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="202.5,-567.5 202.5,-590 281.25,-590 281.25,-567.5 202.5,-567.5"/> +<polygon fill="none" stroke="black" points="202.5,-567.5 202.5,-590 281.25,-590 281.25,-567.5 202.5,-567.5"/> +<text xml:space="preserve" text-anchor="start" x="236.62" y="-574.25" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="24,-545 24,-567.5 48.75,-567.5 48.75,-545 24,-545"/> +<text xml:space="preserve" text-anchor="start" x="33" y="-551.75" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="48.75,-545 48.75,-567.5 75.75,-567.5 75.75,-545 48.75,-545"/> +<text xml:space="preserve" text-anchor="start" x="58.88" y="-551.75" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="75.75,-545 75.75,-567.5 202.5,-567.5 202.5,-545 75.75,-545"/> +<text xml:space="preserve" text-anchor="start" x="89.62" y="-551.75" font-family="Times,serif" font-size="14.00">u1→PayloadType</text> +<polygon fill="none" stroke="black" points="202.5,-545 202.5,-567.5 281.25,-567.5 281.25,-545 202.5,-545"/> +<text xml:space="preserve" text-anchor="start" x="205.5" y="-551.75" font-family="Times,serif" font-size="14.00">type_payload</text> +<polygon fill="none" stroke="black" points="24,-522.5 24,-545 48.75,-545 48.75,-522.5 24,-522.5"/> +<text xml:space="preserve" text-anchor="start" x="33" y="-529.25" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="48.75,-522.5 48.75,-545 75.75,-545 75.75,-522.5 48.75,-522.5"/> +<text xml:space="preserve" text-anchor="start" x="58.88" y="-529.25" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="75.75,-522.5 75.75,-545 202.5,-545 202.5,-522.5 75.75,-522.5"/> +<text xml:space="preserve" text-anchor="start" x="126" y="-529.25" font-family="Times,serif" font-size="14.00">u2be</text> +<polygon fill="none" stroke="black" points="202.5,-522.5 202.5,-545 281.25,-545 281.25,-522.5 202.5,-522.5"/> +<text xml:space="preserve" text-anchor="start" x="208.88" y="-529.25" font-family="Times,serif" font-size="14.00">len_payload</text> +<polygon fill="none" stroke="black" points="24,-500 24,-522.5 48.75,-522.5 48.75,-500 24,-500"/> +<text xml:space="preserve" text-anchor="start" x="33" y="-506.75" font-family="Times,serif" font-size="14.00">3</text> +<polygon fill="none" stroke="black" points="48.75,-500 48.75,-522.5 75.75,-522.5 75.75,-500 48.75,-500"/> +<text xml:space="preserve" text-anchor="start" x="56.62" y="-506.75" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="75.75,-500 75.75,-522.5 202.5,-522.5 202.5,-500 75.75,-500"/> +<text xml:space="preserve" text-anchor="start" x="78.75" y="-506.75" font-family="Times,serif" font-size="14.00">switch (type_payload)</text> +<polygon fill="none" stroke="black" points="202.5,-500 202.5,-522.5 281.25,-522.5 281.25,-500 202.5,-500"/> +<text xml:space="preserve" text-anchor="start" x="220.5" y="-506.75" font-family="Times,serif" font-size="14.00">payload</text> +</g> +<!-- solec__seq->solec__seq --> +<g id="edge8" class="edge"> +<title>solec__seq:type_payload_type->solec__seq:payload_type</title> +<path fill="none" stroke="#404040" d="M213.52,-567.36C171.94,-588.21 181.39,-612 241.88,-612 299.93,-612 310.97,-560.57 274.99,-529.15"/> +<polygon fill="#404040" stroke="#404040" points="277.33,-526.52 267.23,-523.3 273.12,-532.12 277.33,-526.52"/> +</g> +<!-- solec__seq_payload_switch --> +<g id="node2" class="node"> +<title>solec__seq_payload_switch</title> +<polygon fill="#f0f2e4" stroke="none" points="333.25,-568.25 333.25,-590.75 479.5,-590.75 479.5,-568.25 333.25,-568.25"/> +<polygon fill="none" stroke="black" points="333.25,-568.25 333.25,-590.75 479.5,-590.75 479.5,-568.25 333.25,-568.25"/> +<text xml:space="preserve" text-anchor="start" x="394.75" y="-575" font-family="Times,serif" font-size="14.00">case</text> +<polygon fill="#f0f2e4" stroke="none" points="479.5,-568.25 479.5,-590.75 545.5,-590.75 545.5,-568.25 479.5,-568.25"/> +<polygon fill="none" stroke="black" points="479.5,-568.25 479.5,-590.75 545.5,-590.75 545.5,-568.25 479.5,-568.25"/> +<text xml:space="preserve" text-anchor="start" x="500.88" y="-575" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="none" stroke="black" points="333.25,-545.75 333.25,-568.25 479.5,-568.25 479.5,-545.75 333.25,-545.75"/> +<text xml:space="preserve" text-anchor="start" x="353.12" y="-552.5" font-family="Times,serif" font-size="14.00">:payload_type_auth</text> +<polygon fill="none" stroke="black" points="479.5,-545.75 479.5,-568.25 545.5,-568.25 545.5,-545.75 479.5,-545.75"/> +<text xml:space="preserve" text-anchor="start" x="499" y="-552.5" font-family="Times,serif" font-size="14.00">Auth</text> +<polygon fill="none" stroke="black" points="333.25,-523.25 333.25,-545.75 479.5,-545.75 479.5,-523.25 333.25,-523.25"/> +<text xml:space="preserve" text-anchor="start" x="351.62" y="-530" font-family="Times,serif" font-size="14.00">:payload_type_error</text> +<polygon fill="none" stroke="black" points="479.5,-523.25 479.5,-545.75 545.5,-545.75 545.5,-523.25 479.5,-523.25"/> +<text xml:space="preserve" text-anchor="start" x="498.25" y="-530" font-family="Times,serif" font-size="14.00">Error</text> +<polygon fill="none" stroke="black" points="333.25,-500.75 333.25,-523.25 479.5,-523.25 479.5,-500.75 333.25,-500.75"/> +<text xml:space="preserve" text-anchor="start" x="336.25" y="-507.5" font-family="Times,serif" font-size="14.00">:payload_type_handshake</text> +<polygon fill="none" stroke="black" points="479.5,-500.75 479.5,-523.25 545.5,-523.25 545.5,-500.75 479.5,-500.75"/> +<text xml:space="preserve" text-anchor="start" x="482.5" y="-507.5" font-family="Times,serif" font-size="14.00">Handshake</text> +<polygon fill="none" stroke="black" points="333.25,-478.25 333.25,-500.75 479.5,-500.75 479.5,-478.25 333.25,-478.25"/> +<text xml:space="preserve" text-anchor="start" x="341.5" y="-485" font-family="Times,serif" font-size="14.00">:payload_type_message</text> +<polygon fill="none" stroke="black" points="479.5,-478.25 479.5,-500.75 545.5,-500.75 545.5,-478.25 479.5,-478.25"/> +<text xml:space="preserve" text-anchor="start" x="488.5" y="-485" font-family="Times,serif" font-size="14.00">Message</text> +<polygon fill="none" stroke="black" points="333.25,-455.75 333.25,-478.25 479.5,-478.25 479.5,-455.75 333.25,-455.75"/> +<text xml:space="preserve" text-anchor="start" x="344.5" y="-462.5" font-family="Times,serif" font-size="14.00">:payload_type_success</text> +<polygon fill="none" stroke="black" points="479.5,-455.75 479.5,-478.25 545.5,-478.25 545.5,-455.75 479.5,-455.75"/> +<text xml:space="preserve" text-anchor="start" x="491.12" y="-462.5" font-family="Times,serif" font-size="14.00">Success</text> +<polygon fill="none" stroke="black" points="333.25,-433.25 333.25,-455.75 479.5,-455.75 479.5,-433.25 333.25,-433.25"/> +<text xml:space="preserve" text-anchor="start" x="355.38" y="-440" font-family="Times,serif" font-size="14.00">:payload_type_test</text> +<polygon fill="none" stroke="black" points="479.5,-433.25 479.5,-455.75 545.5,-455.75 545.5,-433.25 479.5,-433.25"/> +<text xml:space="preserve" text-anchor="start" x="500.88" y="-440" font-family="Times,serif" font-size="14.00">Test</text> +</g> +<!-- solec__seq->solec__seq_payload_switch --> +<g id="edge1" class="edge"> +<title>solec__seq:payload_type->solec__seq_payload_switch</title> +<path fill="none" stroke="black" stroke-width="2" d="M282.25,-511.25C292.61,-511.25 303.36,-511.27 314.14,-511.3"/> +<polygon fill="black" stroke="black" stroke-width="2" points="312.35,-514.79 322.36,-511.32 312.37,-507.79 312.35,-514.79"/> +</g> +<!-- auth__seq --> +<g id="node3" class="node"> +<title>auth__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="637.25,-812.25 637.25,-834.75 662,-834.75 662,-812.25 637.25,-812.25"/> +<polygon fill="none" stroke="black" points="637.25,-812.25 637.25,-834.75 662,-834.75 662,-812.25 637.25,-812.25"/> +<text xml:space="preserve" text-anchor="start" x="640.25" y="-819" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="662,-812.25 662,-834.75 689,-834.75 689,-812.25 662,-812.25"/> +<polygon fill="none" stroke="black" points="662,-812.25 662,-834.75 689,-834.75 689,-812.25 662,-812.25"/> +<text xml:space="preserve" text-anchor="start" x="665" y="-819" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="689,-812.25 689,-834.75 728,-834.75 728,-812.25 689,-812.25"/> +<polygon fill="none" stroke="black" points="689,-812.25 689,-834.75 728,-834.75 728,-812.25 689,-812.25"/> +<text xml:space="preserve" text-anchor="start" x="696.88" y="-819" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="728,-812.25 728,-834.75 764,-834.75 764,-812.25 728,-812.25"/> +<polygon fill="none" stroke="black" points="728,-812.25 728,-834.75 764,-834.75 764,-812.25 728,-812.25"/> +<text xml:space="preserve" text-anchor="start" x="740.75" y="-819" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="637.25,-789.75 637.25,-812.25 662,-812.25 662,-789.75 637.25,-789.75"/> +<text xml:space="preserve" text-anchor="start" x="646.25" y="-796.5" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="662,-789.75 662,-812.25 689,-812.25 689,-789.75 662,-789.75"/> +<text xml:space="preserve" text-anchor="start" x="669.88" y="-796.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="689,-789.75 689,-812.25 728,-812.25 728,-789.75 689,-789.75"/> +<text xml:space="preserve" text-anchor="start" x="692" y="-796.5" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="728,-789.75 728,-812.25 764,-812.25 764,-789.75 728,-789.75"/> +<text xml:space="preserve" text-anchor="start" x="731" y="-796.5" font-family="Times,serif" font-size="14.00">name</text> +<polygon fill="none" stroke="black" points="637.25,-767.25 637.25,-789.75 662,-789.75 662,-767.25 637.25,-767.25"/> +<text xml:space="preserve" text-anchor="start" x="644" y="-774" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="662,-767.25 662,-789.75 689,-789.75 689,-767.25 662,-767.25"/> +<text xml:space="preserve" text-anchor="start" x="669.88" y="-774" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="689,-767.25 689,-789.75 728,-789.75 728,-767.25 689,-767.25"/> +<text xml:space="preserve" text-anchor="start" x="692" y="-774" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="728,-767.25 728,-789.75 764,-789.75 764,-767.25 728,-767.25"/> +<text xml:space="preserve" text-anchor="start" x="734.38" y="-774" font-family="Times,serif" font-size="14.00">pass</text> +</g> +<!-- solec__seq_payload_switch->auth__seq --> +<g id="edge2" class="edge"> +<title>solec__seq_payload_switch:case0->auth__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M546.5,-557C590.31,-557 554.14,-716.78 581.5,-751 591.29,-763.25 604.63,-772.54 618.83,-779.58"/> +<polygon fill="black" stroke="black" stroke-width="2" points="615.97,-782.12 626.52,-783.06 618.86,-775.75 615.97,-782.12"/> +</g> +<!-- error__seq --> +<g id="node4" class="node"> +<title>error__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="597.5,-688 597.5,-710.5 622.25,-710.5 622.25,-688 597.5,-688"/> +<polygon fill="none" stroke="black" points="597.5,-688 597.5,-710.5 622.25,-710.5 622.25,-688 597.5,-688"/> +<text xml:space="preserve" text-anchor="start" x="600.5" y="-694.75" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="622.25,-688 622.25,-710.5 649.25,-710.5 649.25,-688 622.25,-688"/> +<polygon fill="none" stroke="black" points="622.25,-688 622.25,-710.5 649.25,-710.5 649.25,-688 622.25,-688"/> +<text xml:space="preserve" text-anchor="start" x="625.25" y="-694.75" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="649.25,-688 649.25,-710.5 739.25,-710.5 739.25,-688 649.25,-688"/> +<polygon fill="none" stroke="black" points="649.25,-688 649.25,-710.5 739.25,-710.5 739.25,-688 649.25,-688"/> +<text xml:space="preserve" text-anchor="start" x="682.62" y="-694.75" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="739.25,-688 739.25,-710.5 803.75,-710.5 803.75,-688 739.25,-688"/> +<polygon fill="none" stroke="black" points="739.25,-688 739.25,-710.5 803.75,-710.5 803.75,-688 739.25,-688"/> +<text xml:space="preserve" text-anchor="start" x="766.25" y="-694.75" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="597.5,-665.5 597.5,-688 622.25,-688 622.25,-665.5 597.5,-665.5"/> +<text xml:space="preserve" text-anchor="start" x="606.5" y="-672.25" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="622.25,-665.5 622.25,-688 649.25,-688 649.25,-665.5 622.25,-665.5"/> +<text xml:space="preserve" text-anchor="start" x="632.38" y="-672.25" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="649.25,-665.5 649.25,-688 739.25,-688 739.25,-665.5 649.25,-665.5"/> +<text xml:space="preserve" text-anchor="start" x="652.25" y="-672.25" font-family="Times,serif" font-size="14.00">u1→ErrorType</text> +<polygon fill="none" stroke="black" points="739.25,-665.5 739.25,-688 803.75,-688 803.75,-665.5 739.25,-665.5"/> +<text xml:space="preserve" text-anchor="start" x="742.25" y="-672.25" font-family="Times,serif" font-size="14.00">error_code</text> +</g> +<!-- solec__seq_payload_switch->error__seq --> +<g id="edge3" class="edge"> +<title>solec__seq_payload_switch:case1->error__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M546.5,-534.5C599.71,-534.5 544.29,-610.96 581.5,-649 583.55,-651.09 585.71,-653.08 587.97,-654.95"/> +<polygon fill="black" stroke="black" stroke-width="2" points="584.55,-656.78 594.68,-659.88 588.69,-651.14 584.55,-656.78"/> +</g> +<!-- handshake__seq --> +<g id="node5" class="node"> +<title>handshake__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="611,-586.25 611,-608.75 635.75,-608.75 635.75,-586.25 611,-586.25"/> +<polygon fill="none" stroke="black" points="611,-586.25 611,-608.75 635.75,-608.75 635.75,-586.25 611,-586.25"/> +<text xml:space="preserve" text-anchor="start" x="614" y="-593" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="635.75,-586.25 635.75,-608.75 662.75,-608.75 662.75,-586.25 635.75,-586.25"/> +<polygon fill="none" stroke="black" points="635.75,-586.25 635.75,-608.75 662.75,-608.75 662.75,-586.25 635.75,-586.25"/> +<text xml:space="preserve" text-anchor="start" x="638.75" y="-593" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="662.75,-586.25 662.75,-608.75 692,-608.75 692,-586.25 662.75,-586.25"/> +<polygon fill="none" stroke="black" points="662.75,-586.25 662.75,-608.75 692,-608.75 692,-586.25 662.75,-586.25"/> +<text xml:space="preserve" text-anchor="start" x="665.75" y="-593" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="692,-586.25 692,-608.75 790.25,-608.75 790.25,-586.25 692,-586.25"/> +<polygon fill="none" stroke="black" points="692,-586.25 692,-608.75 790.25,-608.75 790.25,-586.25 692,-586.25"/> +<text xml:space="preserve" text-anchor="start" x="735.88" y="-593" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="611,-563.75 611,-586.25 635.75,-586.25 635.75,-563.75 611,-563.75"/> +<text xml:space="preserve" text-anchor="start" x="620" y="-570.5" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="635.75,-563.75 635.75,-586.25 662.75,-586.25 662.75,-563.75 635.75,-563.75"/> +<text xml:space="preserve" text-anchor="start" x="645.88" y="-570.5" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="662.75,-563.75 662.75,-586.25 692,-586.25 692,-563.75 662.75,-563.75"/> +<text xml:space="preserve" text-anchor="start" x="670.62" y="-570.5" font-family="Times,serif" font-size="14.00">u1</text> +<polygon fill="none" stroke="black" points="692,-563.75 692,-586.25 790.25,-586.25 790.25,-563.75 692,-563.75"/> +<text xml:space="preserve" text-anchor="start" x="695.38" y="-570.5" font-family="Times,serif" font-size="14.00">proto_ver_major</text> +<polygon fill="none" stroke="black" points="611,-541.25 611,-563.75 635.75,-563.75 635.75,-541.25 611,-541.25"/> +<text xml:space="preserve" text-anchor="start" x="620" y="-548" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="635.75,-541.25 635.75,-563.75 662.75,-563.75 662.75,-541.25 635.75,-541.25"/> +<text xml:space="preserve" text-anchor="start" x="645.88" y="-548" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="662.75,-541.25 662.75,-563.75 692,-563.75 692,-541.25 662.75,-541.25"/> +<text xml:space="preserve" text-anchor="start" x="670.62" y="-548" font-family="Times,serif" font-size="14.00">u1</text> +<polygon fill="none" stroke="black" points="692,-541.25 692,-563.75 790.25,-563.75 790.25,-541.25 692,-541.25"/> +<text xml:space="preserve" text-anchor="start" x="695" y="-548" font-family="Times,serif" font-size="14.00">proto_ver_minor</text> +</g> +<!-- solec__seq_payload_switch->handshake__seq --> +<g id="edge4" class="edge"> +<title>solec__seq_payload_switch:case2->handshake__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M546.5,-512C548.28,-512 571.52,-521.39 599.38,-532.93"/> +<polygon fill="black" stroke="black" stroke-width="2" points="596.45,-535.5 607.02,-536.1 599.13,-529.04 596.45,-535.5"/> +</g> +<!-- message__seq --> +<g id="node6" class="node"> +<title>message__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="623.38,-461.75 623.38,-484.25 648.12,-484.25 648.12,-461.75 623.38,-461.75"/> +<polygon fill="none" stroke="black" points="623.38,-461.75 623.38,-484.25 648.12,-484.25 648.12,-461.75 623.38,-461.75"/> +<text xml:space="preserve" text-anchor="start" x="626.38" y="-468.5" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="648.12,-461.75 648.12,-484.25 675.12,-484.25 675.12,-461.75 648.12,-461.75"/> +<polygon fill="none" stroke="black" points="648.12,-461.75 648.12,-484.25 675.12,-484.25 675.12,-461.75 648.12,-461.75"/> +<text xml:space="preserve" text-anchor="start" x="651.12" y="-468.5" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="675.12,-461.75 675.12,-484.25 714.12,-484.25 714.12,-461.75 675.12,-461.75"/> +<polygon fill="none" stroke="black" points="675.12,-461.75 675.12,-484.25 714.12,-484.25 714.12,-461.75 675.12,-461.75"/> +<text xml:space="preserve" text-anchor="start" x="683" y="-468.5" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="714.12,-461.75 714.12,-484.25 777.88,-484.25 777.88,-461.75 714.12,-461.75"/> +<polygon fill="none" stroke="black" points="714.12,-461.75 714.12,-484.25 777.88,-484.25 777.88,-461.75 714.12,-461.75"/> +<text xml:space="preserve" text-anchor="start" x="740.75" y="-468.5" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="623.38,-439.25 623.38,-461.75 648.12,-461.75 648.12,-439.25 623.38,-439.25"/> +<text xml:space="preserve" text-anchor="start" x="632.38" y="-446" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="648.12,-439.25 648.12,-461.75 675.12,-461.75 675.12,-439.25 648.12,-439.25"/> +<text xml:space="preserve" text-anchor="start" x="656" y="-446" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="675.12,-439.25 675.12,-461.75 714.12,-461.75 714.12,-439.25 675.12,-439.25"/> +<text xml:space="preserve" text-anchor="start" x="678.12" y="-446" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="714.12,-439.25 714.12,-461.75 777.88,-461.75 777.88,-439.25 714.12,-439.25"/> +<text xml:space="preserve" text-anchor="start" x="728.38" y="-446" font-family="Times,serif" font-size="14.00">source</text> +<polygon fill="none" stroke="black" points="623.38,-416.75 623.38,-439.25 648.12,-439.25 648.12,-416.75 623.38,-416.75"/> +<text xml:space="preserve" text-anchor="start" x="630.12" y="-423.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="648.12,-416.75 648.12,-439.25 675.12,-439.25 675.12,-416.75 648.12,-416.75"/> +<text xml:space="preserve" text-anchor="start" x="656" y="-423.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="675.12,-416.75 675.12,-439.25 714.12,-439.25 714.12,-416.75 675.12,-416.75"/> +<text xml:space="preserve" text-anchor="start" x="678.12" y="-423.5" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="714.12,-416.75 714.12,-439.25 777.88,-439.25 777.88,-416.75 714.12,-416.75"/> +<text xml:space="preserve" text-anchor="start" x="730.62" y="-423.5" font-family="Times,serif" font-size="14.00">target</text> +<polygon fill="none" stroke="black" points="623.38,-394.25 623.38,-416.75 648.12,-416.75 648.12,-394.25 623.38,-394.25"/> +<text xml:space="preserve" text-anchor="start" x="630.12" y="-401" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="648.12,-394.25 648.12,-416.75 675.12,-416.75 675.12,-394.25 648.12,-394.25"/> +<text xml:space="preserve" text-anchor="start" x="658.25" y="-401" font-family="Times,serif" font-size="14.00">8</text> +<polygon fill="none" stroke="black" points="675.12,-394.25 675.12,-416.75 714.12,-416.75 714.12,-394.25 675.12,-394.25"/> +<text xml:space="preserve" text-anchor="start" x="681.5" y="-401" font-family="Times,serif" font-size="14.00">u8be</text> +<polygon fill="none" stroke="black" points="714.12,-394.25 714.12,-416.75 777.88,-416.75 777.88,-394.25 714.12,-394.25"/> +<text xml:space="preserve" text-anchor="start" x="717.12" y="-401" font-family="Times,serif" font-size="14.00">timestamp</text> +<polygon fill="none" stroke="black" points="623.38,-371.75 623.38,-394.25 648.12,-394.25 648.12,-371.75 623.38,-371.75"/> +<text xml:space="preserve" text-anchor="start" x="630.12" y="-378.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="648.12,-371.75 648.12,-394.25 675.12,-394.25 675.12,-371.75 648.12,-371.75"/> +<text xml:space="preserve" text-anchor="start" x="656" y="-378.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="675.12,-371.75 675.12,-394.25 714.12,-394.25 714.12,-371.75 675.12,-371.75"/> +<text xml:space="preserve" text-anchor="start" x="678.12" y="-378.5" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="714.12,-371.75 714.12,-394.25 777.88,-394.25 777.88,-371.75 714.12,-371.75"/> +<text xml:space="preserve" text-anchor="start" x="726.12" y="-378.5" font-family="Times,serif" font-size="14.00">content</text> +</g> +<!-- solec__seq_payload_switch->message__seq --> +<g id="edge5" class="edge"> +<title>solec__seq_payload_switch:case3->message__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M546.5,-489.5C566.11,-489.5 586.18,-485.1 605.06,-478.66"/> +<polygon fill="black" stroke="black" stroke-width="2" points="604.69,-482.52 612.88,-475.81 602.29,-475.95 604.69,-482.52"/> +</g> +<!-- success__seq --> +<g id="node8" class="node"> +<title>success__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="651.88,-289.75 651.88,-312.25 676.62,-312.25 676.62,-289.75 651.88,-289.75"/> +<polygon fill="none" stroke="black" points="651.88,-289.75 651.88,-312.25 676.62,-312.25 676.62,-289.75 651.88,-289.75"/> +<text xml:space="preserve" text-anchor="start" x="654.88" y="-296.5" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="676.62,-289.75 676.62,-312.25 703.62,-312.25 703.62,-289.75 676.62,-289.75"/> +<polygon fill="none" stroke="black" points="676.62,-289.75 676.62,-312.25 703.62,-312.25 703.62,-289.75 676.62,-289.75"/> +<text xml:space="preserve" text-anchor="start" x="679.62" y="-296.5" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="703.62,-289.75 703.62,-312.25 732.88,-312.25 732.88,-289.75 703.62,-289.75"/> +<polygon fill="none" stroke="black" points="703.62,-289.75 703.62,-312.25 732.88,-312.25 732.88,-289.75 703.62,-289.75"/> +<text xml:space="preserve" text-anchor="start" x="706.62" y="-296.5" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="732.88,-289.75 732.88,-312.25 749.38,-312.25 749.38,-289.75 732.88,-289.75"/> +<polygon fill="none" stroke="black" points="732.88,-289.75 732.88,-312.25 749.38,-312.25 749.38,-289.75 732.88,-289.75"/> +<text xml:space="preserve" text-anchor="start" x="735.88" y="-296.5" font-family="Times,serif" font-size="14.00">id</text> +</g> +<!-- solec__seq_payload_switch->success__seq --> +<g id="edge6" class="edge"> +<title>solec__seq_payload_switch:case4->success__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M546.5,-467C598.23,-467 547.38,-394.88 581.5,-356 595.29,-340.29 614.51,-328.76 633.44,-320.43"/> +<polygon fill="black" stroke="black" stroke-width="2" points="633.18,-324.32 641.1,-317.28 630.52,-317.85 633.18,-324.32"/> +</g> +<!-- test__seq --> +<g id="node9" class="node"> +<title>test__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="636.5,-207.75 636.5,-230.25 661.25,-230.25 661.25,-207.75 636.5,-207.75"/> +<polygon fill="none" stroke="black" points="636.5,-207.75 636.5,-230.25 661.25,-230.25 661.25,-207.75 636.5,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="639.5" y="-214.5" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="661.25,-207.75 661.25,-230.25 688.25,-230.25 688.25,-207.75 661.25,-207.75"/> +<polygon fill="none" stroke="black" points="661.25,-207.75 661.25,-230.25 688.25,-230.25 688.25,-207.75 661.25,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="664.25" y="-214.5" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="688.25,-207.75 688.25,-230.25 727.25,-230.25 727.25,-207.75 688.25,-207.75"/> +<polygon fill="none" stroke="black" points="688.25,-207.75 688.25,-230.25 727.25,-230.25 727.25,-207.75 688.25,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="696.12" y="-214.5" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="727.25,-207.75 727.25,-230.25 764.75,-230.25 764.75,-207.75 727.25,-207.75"/> +<polygon fill="none" stroke="black" points="727.25,-207.75 727.25,-230.25 764.75,-230.25 764.75,-207.75 727.25,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="740.75" y="-214.5" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="636.5,-185.25 636.5,-207.75 661.25,-207.75 661.25,-185.25 636.5,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="645.5" y="-192" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="661.25,-185.25 661.25,-207.75 688.25,-207.75 688.25,-185.25 661.25,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="671.38" y="-192" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="688.25,-185.25 688.25,-207.75 727.25,-207.75 727.25,-185.25 688.25,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="701" y="-192" font-family="Times,serif" font-size="14.00">u1</text> +<polygon fill="none" stroke="black" points="727.25,-185.25 727.25,-207.75 764.75,-207.75 764.75,-185.25 727.25,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="730.25" y="-192" font-family="Times,serif" font-size="14.00">num1</text> +<polygon fill="none" stroke="black" points="636.5,-162.75 636.5,-185.25 661.25,-185.25 661.25,-162.75 636.5,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="645.5" y="-169.5" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="661.25,-162.75 661.25,-185.25 688.25,-185.25 688.25,-162.75 661.25,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="671.38" y="-169.5" font-family="Times,serif" font-size="14.00">8</text> +<polygon fill="none" stroke="black" points="688.25,-162.75 688.25,-185.25 727.25,-185.25 727.25,-162.75 688.25,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="694.62" y="-169.5" font-family="Times,serif" font-size="14.00">u8be</text> +<polygon fill="none" stroke="black" points="727.25,-162.75 727.25,-185.25 764.75,-185.25 764.75,-162.75 727.25,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="730.25" y="-169.5" font-family="Times,serif" font-size="14.00">time1</text> +<polygon fill="none" stroke="black" points="636.5,-140.25 636.5,-162.75 661.25,-162.75 661.25,-140.25 636.5,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="645.5" y="-147" font-family="Times,serif" font-size="14.00">9</text> +<polygon fill="none" stroke="black" points="661.25,-140.25 661.25,-162.75 688.25,-162.75 688.25,-140.25 661.25,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="669.12" y="-147" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="688.25,-140.25 688.25,-162.75 727.25,-162.75 727.25,-140.25 688.25,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="691.25" y="-147" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="727.25,-140.25 727.25,-162.75 764.75,-162.75 764.75,-140.25 727.25,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="735.88" y="-147" font-family="Times,serif" font-size="14.00">str1</text> +<polygon fill="none" stroke="black" points="636.5,-117.75 636.5,-140.25 661.25,-140.25 661.25,-117.75 636.5,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="643.25" y="-124.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="661.25,-117.75 661.25,-140.25 688.25,-140.25 688.25,-117.75 661.25,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="671.38" y="-124.5" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="688.25,-117.75 688.25,-140.25 727.25,-140.25 727.25,-117.75 688.25,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="694.62" y="-124.5" font-family="Times,serif" font-size="14.00">u2be</text> +<polygon fill="none" stroke="black" points="727.25,-117.75 727.25,-140.25 764.75,-140.25 764.75,-117.75 727.25,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="730.25" y="-124.5" font-family="Times,serif" font-size="14.00">num2</text> +<polygon fill="none" stroke="black" points="636.5,-95.25 636.5,-117.75 661.25,-117.75 661.25,-95.25 636.5,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="643.25" y="-102" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="661.25,-95.25 661.25,-117.75 688.25,-117.75 688.25,-95.25 661.25,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="669.12" y="-102" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="688.25,-95.25 688.25,-117.75 727.25,-117.75 727.25,-95.25 688.25,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="691.25" y="-102" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="727.25,-95.25 727.25,-117.75 764.75,-117.75 764.75,-95.25 727.25,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="735.88" y="-102" font-family="Times,serif" font-size="14.00">str2</text> +<polygon fill="none" stroke="black" points="636.5,-72.75 636.5,-95.25 661.25,-95.25 661.25,-72.75 636.5,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="643.25" y="-79.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="661.25,-72.75 661.25,-95.25 688.25,-95.25 688.25,-72.75 661.25,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="671.38" y="-79.5" font-family="Times,serif" font-size="14.00">4</text> +<polygon fill="none" stroke="black" points="688.25,-72.75 688.25,-95.25 727.25,-95.25 727.25,-72.75 688.25,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="694.62" y="-79.5" font-family="Times,serif" font-size="14.00">u4be</text> +<polygon fill="none" stroke="black" points="727.25,-72.75 727.25,-95.25 764.75,-95.25 764.75,-72.75 727.25,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="730.25" y="-79.5" font-family="Times,serif" font-size="14.00">num3</text> +<polygon fill="none" stroke="black" points="636.5,-50.25 636.5,-72.75 661.25,-72.75 661.25,-50.25 636.5,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="643.25" y="-57" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="661.25,-50.25 661.25,-72.75 688.25,-72.75 688.25,-50.25 661.25,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="669.12" y="-57" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="688.25,-50.25 688.25,-72.75 727.25,-72.75 727.25,-50.25 688.25,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="691.25" y="-57" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="727.25,-50.25 727.25,-72.75 764.75,-72.75 764.75,-50.25 727.25,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="735.88" y="-57" font-family="Times,serif" font-size="14.00">str3</text> +<polygon fill="none" stroke="black" points="636.5,-27.75 636.5,-50.25 661.25,-50.25 661.25,-27.75 636.5,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="643.25" y="-34.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="661.25,-27.75 661.25,-50.25 688.25,-50.25 688.25,-27.75 661.25,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="671.38" y="-34.5" font-family="Times,serif" font-size="14.00">8</text> +<polygon fill="none" stroke="black" points="688.25,-27.75 688.25,-50.25 727.25,-50.25 727.25,-27.75 688.25,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="694.62" y="-34.5" font-family="Times,serif" font-size="14.00">u8be</text> +<polygon fill="none" stroke="black" points="727.25,-27.75 727.25,-50.25 764.75,-50.25 764.75,-27.75 727.25,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="730.25" y="-34.5" font-family="Times,serif" font-size="14.00">num4</text> +</g> +<!-- solec__seq_payload_switch->test__seq --> +<g id="edge7" class="edge"> +<title>solec__seq_payload_switch:case5->test__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M546.5,-444.5C585.83,-444.5 564.52,-306.48 581.5,-271 591.84,-249.4 606.2,-228.32 621.35,-209.29"/> +<polygon fill="black" stroke="black" stroke-width="2" points="623.07,-212.72 626.68,-202.76 617.65,-208.29 623.07,-212.72"/> +</g> +<!-- string__seq --> +<g id="node7" class="node"> +<title>string__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="855.75,-416.25 855.75,-438.75 880.5,-438.75 880.5,-416.25 855.75,-416.25"/> +<polygon fill="none" stroke="black" points="855.75,-416.25 855.75,-438.75 880.5,-438.75 880.5,-416.25 855.75,-416.25"/> +<text xml:space="preserve" text-anchor="start" x="858.75" y="-423" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="880.5,-416.25 880.5,-438.75 952.5,-438.75 952.5,-416.25 880.5,-416.25"/> +<polygon fill="none" stroke="black" points="880.5,-416.25 880.5,-438.75 952.5,-438.75 952.5,-416.25 880.5,-416.25"/> +<text xml:space="preserve" text-anchor="start" x="906" y="-423" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="952.5,-416.25 952.5,-438.75 1017.75,-438.75 1017.75,-416.25 952.5,-416.25"/> +<polygon fill="none" stroke="black" points="952.5,-416.25 952.5,-438.75 1017.75,-438.75 1017.75,-416.25 952.5,-416.25"/> +<text xml:space="preserve" text-anchor="start" x="973.5" y="-423" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="1017.75,-416.25 1017.75,-438.75 1089.75,-438.75 1089.75,-416.25 1017.75,-416.25"/> +<polygon fill="none" stroke="black" points="1017.75,-416.25 1017.75,-438.75 1089.75,-438.75 1089.75,-416.25 1017.75,-416.25"/> +<text xml:space="preserve" text-anchor="start" x="1048.5" y="-423" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="855.75,-393.75 855.75,-416.25 880.5,-416.25 880.5,-393.75 855.75,-393.75"/> +<text xml:space="preserve" text-anchor="start" x="864.75" y="-400.5" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="880.5,-393.75 880.5,-416.25 952.5,-416.25 952.5,-393.75 880.5,-393.75"/> +<text xml:space="preserve" text-anchor="start" x="913.12" y="-400.5" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="952.5,-393.75 952.5,-416.25 1017.75,-416.25 1017.75,-393.75 952.5,-393.75"/> +<text xml:space="preserve" text-anchor="start" x="972" y="-400.5" font-family="Times,serif" font-size="14.00">u2be</text> +<polygon fill="none" stroke="black" points="1017.75,-393.75 1017.75,-416.25 1089.75,-416.25 1089.75,-393.75 1017.75,-393.75"/> +<text xml:space="preserve" text-anchor="start" x="1020.75" y="-400.5" font-family="Times,serif" font-size="14.00">len_payload</text> +<polygon fill="none" stroke="black" points="855.75,-371.25 855.75,-393.75 880.5,-393.75 880.5,-371.25 855.75,-371.25"/> +<text xml:space="preserve" text-anchor="start" x="864.75" y="-378" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="880.5,-371.25 880.5,-393.75 952.5,-393.75 952.5,-371.25 880.5,-371.25"/> +<text xml:space="preserve" text-anchor="start" x="883.5" y="-378" font-family="Times,serif" font-size="14.00">len_payload</text> +<polygon fill="none" stroke="black" points="952.5,-371.25 952.5,-393.75 1017.75,-393.75 1017.75,-371.25 952.5,-371.25"/> +<text xml:space="preserve" text-anchor="start" x="955.5" y="-378" font-family="Times,serif" font-size="14.00">str(UTF-8)</text> +<polygon fill="none" stroke="black" points="1017.75,-371.25 1017.75,-393.75 1089.75,-393.75 1089.75,-371.25 1017.75,-371.25"/> +<text xml:space="preserve" text-anchor="start" x="1032.38" y="-378" font-family="Times,serif" font-size="14.00">payload</text> +</g> +<!-- auth__seq->string__seq --> +<g id="edge9" class="edge"> +<title>auth__seq:name_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M765,-801C919.93,-801 958.96,-559.88 968.63,-453.94"/> +<polygon fill="black" stroke="black" stroke-width="2" points="971.98,-455.89 969.34,-445.63 965,-455.29 971.98,-455.89"/> +</g> +<!-- auth__seq->string__seq --> +<g id="edge10" class="edge"> +<title>auth__seq:pass_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M746,-766.25C746,-732.78 793.73,-772.06 819.75,-751 913.62,-675.03 951.08,-529.45 964.72,-453.63"/> +<polygon fill="black" stroke="black" stroke-width="2" points="967.87,-455.95 966.13,-445.5 960.98,-454.76 967.87,-455.95"/> +</g> +<!-- message__seq->string__seq --> +<g id="edge11" class="edge"> +<title>message__seq:source_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M778.88,-450.5C798.31,-450.5 818.55,-448.29 838.31,-444.83"/> +<polygon fill="black" stroke="black" stroke-width="2" points="837.38,-448.57 846.57,-443.29 836.1,-441.69 837.38,-448.57"/> +</g> +<!-- message__seq->string__seq --> +<g id="edge12" class="edge"> +<title>message__seq:target_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M778.88,-428C797.55,-428 817.17,-426.92 836.46,-425.24"/> +<polygon fill="black" stroke="black" stroke-width="2" points="835.12,-428.88 844.75,-424.46 834.47,-421.91 835.12,-428.88"/> +</g> +<!-- message__seq->string__seq --> +<g id="edge13" class="edge"> +<title>message__seq:content_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M778.88,-383C797.61,-383 817.3,-384.04 836.66,-385.66"/> +<polygon fill="black" stroke="black" stroke-width="2" points="834.71,-389 844.98,-386.41 835.34,-382.03 834.71,-389"/> +</g> +<!-- string__seq->string__seq --> +<g id="edge14" class="edge"> +<title>string__seq:len_payload_type->string__seq:payload_size</title> +<path fill="none" stroke="#404040" d="M1082.95,-416.22C1117.56,-435.5 1097.76,-460.75 985.12,-460.75 879.94,-460.75 855.72,-425.4 881.16,-400.64"/> +<polygon fill="#404040" stroke="#404040" points="883.19,-403.5 888.93,-394.6 878.89,-397.98 883.19,-403.5"/> +</g> +<!-- test__seq->string__seq --> +<g id="edge15" class="edge"> +<title>test__seq:str1_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M765.75,-151.5C870.26,-151.5 931.06,-282.87 956.91,-356.47"/> +<polygon fill="black" stroke="black" stroke-width="2" points="953.1,-356.13 959.64,-364.46 959.72,-353.86 953.1,-356.13"/> +</g> +<!-- test__seq->string__seq --> +<g id="edge16" class="edge"> +<title>test__seq:str2_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M765.75,-106.5C885.7,-106.5 941.2,-271.78 961.75,-356.37"/> +<polygon fill="black" stroke="black" stroke-width="2" points="957.98,-355.62 963.67,-364.55 964.79,-354.01 957.98,-355.62"/> +</g> +<!-- test__seq->string__seq --> +<g id="edge17" class="edge"> +<title>test__seq:str3_type->string__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M765.75,-61.5C901.43,-61.5 949.95,-261.03 965.36,-355.95"/> +<polygon fill="black" stroke="black" stroke-width="2" points="961.66,-354.92 966.65,-364.27 968.57,-353.85 961.66,-354.92"/> +</g> +</g> +</svg> |
