diff options
| author | bt <bt@rctt.net> | 2026-03-29 08:51:30 +0200 |
|---|---|---|
| committer | bt <bt@rctt.net> | 2026-03-29 08:51:30 +0200 |
| commit | 69703f3a808edd9b1e12f5e0c226abae2e79fa21 (patch) | |
| tree | c44cfa8ccb73c82f20337928fdd05c5128b9f710 | |
| parent | 52d6632a0b51e48334ada3ec4d489d15c2d59c8a (diff) | |
| download | solec-69703f3a808edd9b1e12f5e0c226abae2e79fa21.tar.gz solec-69703f3a808edd9b1e12f5e0c226abae2e79fa21.zip | |
[docs] Update README.md and protocol diagram
| -rw-r--r-- | README.md | 3 | ||||
| -rw-r--r-- | docs/protocol.svg (renamed from solec.svg) | 322 | ||||
| -rw-r--r-- | solec.ksy | 14 | ||||
| -rw-r--r-- | solec.lua | 34 | ||||
| -rwxr-xr-x | tools/build_spec.sh | 2 |
5 files changed, 150 insertions, 225 deletions
@@ -1,6 +1,7 @@ # solec -* [Protocol spec](https://git.rctt.net/solec/plain/PROTOCOL.md?h=main) +* [Protocol documentation](https://git.rctt.net/solec/plain/docs/rfc.txt?h=main) +* [Data format diagram](https://git.rctt.net/solec/plain/docs/protocol.svg?h=main) ## Running the daemon diff --git a/solec.svg b/docs/protocol.svg index 40365b4..20a9119 100644 --- a/solec.svg +++ b/docs/protocol.svg @@ -19,38 +19,33 @@ <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__binary</title> -<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="856.25,-61 856.25,-195 1089.25,-195 1089.25,-61 856.25,-61"/> -<text xml:space="preserve" text-anchor="middle" x="972.75" y="-177.7" font-family="Times,serif" font-size="14.00">Solec::Binary</text> -</g> -<g id="clust4" 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="clust5" class="cluster"> +<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="clust6" class="cluster"> +<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="clust7" class="cluster"> +<g id="clust6" class="cluster"> <title>cluster__string</title> -<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="839.75,-382 839.75,-516 1105.75,-516 1105.75,-382 839.75,-382"/> -<text xml:space="preserve" text-anchor="middle" x="972.75" y="-498.7" font-family="Times,serif" font-size="14.00">Solec::String</text> +<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="clust8" class="cluster"> +<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="clust9" class="cluster"> +<g id="clust8" class="cluster"> <title>cluster__test</title> -<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="618.62,-16 618.62,-267 782.62,-267 782.62,-16 618.62,-16"/> +<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 --> @@ -178,7 +173,7 @@ <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="node5" class="node"> +<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"/> @@ -208,7 +203,7 @@ <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="node6" class="node"> +<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"/> @@ -246,7 +241,7 @@ <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="node7" class="node"> +<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"/> @@ -300,7 +295,7 @@ <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="node9" class="node"> +<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"/> @@ -322,213 +317,176 @@ <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="node10" class="node"> +<g id="node9" class="node"> <title>test__seq</title> -<polygon fill="#e0ffe0" stroke="none" points="634.62,-207.75 634.62,-230.25 659.38,-230.25 659.38,-207.75 634.62,-207.75"/> -<polygon fill="none" stroke="black" points="634.62,-207.75 634.62,-230.25 659.38,-230.25 659.38,-207.75 634.62,-207.75"/> -<text xml:space="preserve" text-anchor="start" x="637.62" y="-214.5" font-family="Times,serif" font-size="14.00">pos</text> -<polygon fill="#e0ffe0" stroke="none" points="659.38,-207.75 659.38,-230.25 686.38,-230.25 686.38,-207.75 659.38,-207.75"/> -<polygon fill="none" stroke="black" points="659.38,-207.75 659.38,-230.25 686.38,-230.25 686.38,-207.75 659.38,-207.75"/> -<text xml:space="preserve" text-anchor="start" x="662.38" y="-214.5" font-family="Times,serif" font-size="14.00">size</text> -<polygon fill="#e0ffe0" stroke="none" points="686.38,-207.75 686.38,-230.25 729.12,-230.25 729.12,-207.75 686.38,-207.75"/> -<polygon fill="none" stroke="black" points="686.38,-207.75 686.38,-230.25 729.12,-230.25 729.12,-207.75 686.38,-207.75"/> +<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="729.12,-207.75 729.12,-230.25 766.62,-230.25 766.62,-207.75 729.12,-207.75"/> -<polygon fill="none" stroke="black" points="729.12,-207.75 729.12,-230.25 766.62,-230.25 766.62,-207.75 729.12,-207.75"/> -<text xml:space="preserve" text-anchor="start" x="742.62" y="-214.5" font-family="Times,serif" font-size="14.00">id</text> -<polygon fill="none" stroke="black" points="634.62,-185.25 634.62,-207.75 659.38,-207.75 659.38,-185.25 634.62,-185.25"/> -<text xml:space="preserve" text-anchor="start" x="643.62" y="-192" font-family="Times,serif" font-size="14.00">0</text> -<polygon fill="none" stroke="black" points="659.38,-185.25 659.38,-207.75 686.38,-207.75 686.38,-185.25 659.38,-185.25"/> -<text xml:space="preserve" text-anchor="start" x="669.5" y="-192" font-family="Times,serif" font-size="14.00">1</text> -<polygon fill="none" stroke="black" points="686.38,-185.25 686.38,-207.75 729.12,-207.75 729.12,-185.25 686.38,-185.25"/> +<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="729.12,-185.25 729.12,-207.75 766.62,-207.75 766.62,-185.25 729.12,-185.25"/> -<text xml:space="preserve" text-anchor="start" x="732.12" y="-192" font-family="Times,serif" font-size="14.00">num1</text> -<polygon fill="none" stroke="black" points="634.62,-162.75 634.62,-185.25 659.38,-185.25 659.38,-162.75 634.62,-162.75"/> -<text xml:space="preserve" text-anchor="start" x="643.62" y="-169.5" font-family="Times,serif" font-size="14.00">1</text> -<polygon fill="none" stroke="black" points="659.38,-162.75 659.38,-185.25 686.38,-185.25 686.38,-162.75 659.38,-162.75"/> -<text xml:space="preserve" text-anchor="start" x="669.5" y="-169.5" font-family="Times,serif" font-size="14.00">8</text> -<polygon fill="none" stroke="black" points="686.38,-162.75 686.38,-185.25 729.12,-185.25 729.12,-162.75 686.38,-162.75"/> +<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="729.12,-162.75 729.12,-185.25 766.62,-185.25 766.62,-162.75 729.12,-162.75"/> -<text xml:space="preserve" text-anchor="start" x="732.12" y="-169.5" font-family="Times,serif" font-size="14.00">time1</text> -<polygon fill="none" stroke="black" points="634.62,-140.25 634.62,-162.75 659.38,-162.75 659.38,-140.25 634.62,-140.25"/> -<text xml:space="preserve" text-anchor="start" x="643.62" y="-147" font-family="Times,serif" font-size="14.00">9</text> -<polygon fill="none" stroke="black" points="659.38,-140.25 659.38,-162.75 686.38,-162.75 686.38,-140.25 659.38,-140.25"/> -<text xml:space="preserve" text-anchor="start" x="667.25" y="-147" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="686.38,-140.25 686.38,-162.75 729.12,-162.75 729.12,-140.25 686.38,-140.25"/> +<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="729.12,-140.25 729.12,-162.75 766.62,-162.75 766.62,-140.25 729.12,-140.25"/> -<text xml:space="preserve" text-anchor="start" x="737.75" y="-147" font-family="Times,serif" font-size="14.00">str1</text> -<polygon fill="none" stroke="black" points="634.62,-117.75 634.62,-140.25 659.38,-140.25 659.38,-117.75 634.62,-117.75"/> -<text xml:space="preserve" text-anchor="start" x="641.38" y="-124.5" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="659.38,-117.75 659.38,-140.25 686.38,-140.25 686.38,-117.75 659.38,-117.75"/> -<text xml:space="preserve" text-anchor="start" x="669.5" y="-124.5" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="686.38,-117.75 686.38,-140.25 729.12,-140.25 729.12,-117.75 686.38,-117.75"/> +<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="729.12,-117.75 729.12,-140.25 766.62,-140.25 766.62,-117.75 729.12,-117.75"/> -<text xml:space="preserve" text-anchor="start" x="732.12" y="-124.5" font-family="Times,serif" font-size="14.00">num2</text> -<polygon fill="none" stroke="black" points="634.62,-95.25 634.62,-117.75 659.38,-117.75 659.38,-95.25 634.62,-95.25"/> -<text xml:space="preserve" text-anchor="start" x="641.38" y="-102" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="659.38,-95.25 659.38,-117.75 686.38,-117.75 686.38,-95.25 659.38,-95.25"/> -<text xml:space="preserve" text-anchor="start" x="667.25" y="-102" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="686.38,-95.25 686.38,-117.75 729.12,-117.75 729.12,-95.25 686.38,-95.25"/> -<text xml:space="preserve" text-anchor="start" x="689.38" y="-102" font-family="Times,serif" font-size="14.00">Binary</text> -<polygon fill="none" stroke="black" points="729.12,-95.25 729.12,-117.75 766.62,-117.75 766.62,-95.25 729.12,-95.25"/> -<text xml:space="preserve" text-anchor="start" x="735.88" y="-102" font-family="Times,serif" font-size="14.00">bin1</text> -<polygon fill="none" stroke="black" points="634.62,-72.75 634.62,-95.25 659.38,-95.25 659.38,-72.75 634.62,-72.75"/> -<text xml:space="preserve" text-anchor="start" x="641.38" y="-79.5" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="659.38,-72.75 659.38,-95.25 686.38,-95.25 686.38,-72.75 659.38,-72.75"/> -<text xml:space="preserve" text-anchor="start" x="669.5" y="-79.5" font-family="Times,serif" font-size="14.00">4</text> -<polygon fill="none" stroke="black" points="686.38,-72.75 686.38,-95.25 729.12,-95.25 729.12,-72.75 686.38,-72.75"/> +<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="729.12,-72.75 729.12,-95.25 766.62,-95.25 766.62,-72.75 729.12,-72.75"/> -<text xml:space="preserve" text-anchor="start" x="732.12" y="-79.5" font-family="Times,serif" font-size="14.00">num3</text> -<polygon fill="none" stroke="black" points="634.62,-50.25 634.62,-72.75 659.38,-72.75 659.38,-50.25 634.62,-50.25"/> -<text xml:space="preserve" text-anchor="start" x="641.38" y="-57" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="659.38,-50.25 659.38,-72.75 686.38,-72.75 686.38,-50.25 659.38,-50.25"/> -<text xml:space="preserve" text-anchor="start" x="667.25" y="-57" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="686.38,-50.25 686.38,-72.75 729.12,-72.75 729.12,-50.25 686.38,-50.25"/> +<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="729.12,-50.25 729.12,-72.75 766.62,-72.75 766.62,-50.25 729.12,-50.25"/> -<text xml:space="preserve" text-anchor="start" x="737.75" y="-57" font-family="Times,serif" font-size="14.00">str2</text> -<polygon fill="none" stroke="black" points="634.62,-27.75 634.62,-50.25 659.38,-50.25 659.38,-27.75 634.62,-27.75"/> -<text xml:space="preserve" text-anchor="start" x="641.38" y="-34.5" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="659.38,-27.75 659.38,-50.25 686.38,-50.25 686.38,-27.75 659.38,-27.75"/> -<text xml:space="preserve" text-anchor="start" x="669.5" y="-34.5" font-family="Times,serif" font-size="14.00">8</text> -<polygon fill="none" stroke="black" points="686.38,-27.75 686.38,-50.25 729.12,-50.25 729.12,-27.75 686.38,-27.75"/> +<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="729.12,-27.75 729.12,-50.25 766.62,-50.25 766.62,-27.75 729.12,-27.75"/> -<text xml:space="preserve" text-anchor="start" x="732.12" y="-34.5" font-family="Times,serif" font-size="14.00">num4</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.44,-250.24 605.08,-229.97 619.58,-211.53"/> -<polygon fill="black" stroke="black" stroke-width="2" points="621.3,-214.97 624.85,-204.99 615.85,-210.58 621.3,-214.97"/> +<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="node8" class="node"> +<g id="node7" class="node"> <title>string__seq</title> -<polygon fill="#e0ffe0" stroke="none" points="855.75,-439.25 855.75,-461.75 880.5,-461.75 880.5,-439.25 855.75,-439.25"/> -<polygon fill="none" stroke="black" points="855.75,-439.25 855.75,-461.75 880.5,-461.75 880.5,-439.25 855.75,-439.25"/> -<text xml:space="preserve" text-anchor="start" x="858.75" y="-446" font-family="Times,serif" font-size="14.00">pos</text> -<polygon fill="#e0ffe0" stroke="none" points="880.5,-439.25 880.5,-461.75 952.5,-461.75 952.5,-439.25 880.5,-439.25"/> -<polygon fill="none" stroke="black" points="880.5,-439.25 880.5,-461.75 952.5,-461.75 952.5,-439.25 880.5,-439.25"/> -<text xml:space="preserve" text-anchor="start" x="906" y="-446" font-family="Times,serif" font-size="14.00">size</text> -<polygon fill="#e0ffe0" stroke="none" points="952.5,-439.25 952.5,-461.75 1017.75,-461.75 1017.75,-439.25 952.5,-439.25"/> -<polygon fill="none" stroke="black" points="952.5,-439.25 952.5,-461.75 1017.75,-461.75 1017.75,-439.25 952.5,-439.25"/> -<text xml:space="preserve" text-anchor="start" x="973.5" y="-446" font-family="Times,serif" font-size="14.00">type</text> -<polygon fill="#e0ffe0" stroke="none" points="1017.75,-439.25 1017.75,-461.75 1089.75,-461.75 1089.75,-439.25 1017.75,-439.25"/> -<polygon fill="none" stroke="black" points="1017.75,-439.25 1017.75,-461.75 1089.75,-461.75 1089.75,-439.25 1017.75,-439.25"/> -<text xml:space="preserve" text-anchor="start" x="1048.5" y="-446" font-family="Times,serif" font-size="14.00">id</text> -<polygon fill="none" stroke="black" points="855.75,-416.75 855.75,-439.25 880.5,-439.25 880.5,-416.75 855.75,-416.75"/> -<text xml:space="preserve" text-anchor="start" x="864.75" y="-423.5" font-family="Times,serif" font-size="14.00">0</text> -<polygon fill="none" stroke="black" points="880.5,-416.75 880.5,-439.25 952.5,-439.25 952.5,-416.75 880.5,-416.75"/> -<text xml:space="preserve" text-anchor="start" x="913.12" y="-423.5" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="952.5,-416.75 952.5,-439.25 1017.75,-439.25 1017.75,-416.75 952.5,-416.75"/> -<text xml:space="preserve" text-anchor="start" x="972" y="-423.5" font-family="Times,serif" font-size="14.00">u2be</text> -<polygon fill="none" stroke="black" points="1017.75,-416.75 1017.75,-439.25 1089.75,-439.25 1089.75,-416.75 1017.75,-416.75"/> -<text xml:space="preserve" text-anchor="start" x="1020.75" y="-423.5" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="855.75,-394.25 855.75,-416.75 880.5,-416.75 880.5,-394.25 855.75,-394.25"/> -<text xml:space="preserve" text-anchor="start" x="864.75" y="-401" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="880.5,-394.25 880.5,-416.75 952.5,-416.75 952.5,-394.25 880.5,-394.25"/> -<text xml:space="preserve" text-anchor="start" x="883.5" y="-401" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="952.5,-394.25 952.5,-416.75 1017.75,-416.75 1017.75,-394.25 952.5,-394.25"/> -<text xml:space="preserve" text-anchor="start" x="955.5" y="-401" font-family="Times,serif" font-size="14.00">str(UTF-8)</text> -<polygon fill="none" stroke="black" points="1017.75,-394.25 1017.75,-416.75 1089.75,-416.75 1089.75,-394.25 1017.75,-394.25"/> -<text xml:space="preserve" text-anchor="start" x="1032.38" y="-401" font-family="Times,serif" font-size="14.00">payload</text> +<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,-801C911.53,-801 955.07,-578.06 967.28,-476.9"/> -<polygon fill="black" stroke="black" stroke-width="2" points="970.58,-478.81 968.24,-468.48 963.63,-478.02 970.58,-478.81"/> +<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="M765,-778.5C903.49,-778.5 951.12,-572.98 965.83,-476.69"/> -<polygon fill="black" stroke="black" stroke-width="2" points="969.04,-478.91 967.03,-468.5 962.12,-477.89 969.04,-478.91"/> -</g> -<!-- binary__seq --> -<g id="node4" class="node"> -<title>binary__seq</title> -<polygon fill="#e0ffe0" stroke="none" points="872.25,-118.25 872.25,-140.75 897,-140.75 897,-118.25 872.25,-118.25"/> -<polygon fill="none" stroke="black" points="872.25,-118.25 872.25,-140.75 897,-140.75 897,-118.25 872.25,-118.25"/> -<text xml:space="preserve" text-anchor="start" x="875.25" y="-125" font-family="Times,serif" font-size="14.00">pos</text> -<polygon fill="#e0ffe0" stroke="none" points="897,-118.25 897,-140.75 969,-140.75 969,-118.25 897,-118.25"/> -<polygon fill="none" stroke="black" points="897,-118.25 897,-140.75 969,-140.75 969,-118.25 897,-118.25"/> -<text xml:space="preserve" text-anchor="start" x="922.5" y="-125" font-family="Times,serif" font-size="14.00">size</text> -<polygon fill="#e0ffe0" stroke="none" points="969,-118.25 969,-140.75 1001.25,-140.75 1001.25,-118.25 969,-118.25"/> -<polygon fill="none" stroke="black" points="969,-118.25 969,-140.75 1001.25,-140.75 1001.25,-118.25 969,-118.25"/> -<text xml:space="preserve" text-anchor="start" x="973.5" y="-125" font-family="Times,serif" font-size="14.00">type</text> -<polygon fill="#e0ffe0" stroke="none" points="1001.25,-118.25 1001.25,-140.75 1073.25,-140.75 1073.25,-118.25 1001.25,-118.25"/> -<polygon fill="none" stroke="black" points="1001.25,-118.25 1001.25,-140.75 1073.25,-140.75 1073.25,-118.25 1001.25,-118.25"/> -<text xml:space="preserve" text-anchor="start" x="1032" y="-125" font-family="Times,serif" font-size="14.00">id</text> -<polygon fill="none" stroke="black" points="872.25,-95.75 872.25,-118.25 897,-118.25 897,-95.75 872.25,-95.75"/> -<text xml:space="preserve" text-anchor="start" x="881.25" y="-102.5" font-family="Times,serif" font-size="14.00">0</text> -<polygon fill="none" stroke="black" points="897,-95.75 897,-118.25 969,-118.25 969,-95.75 897,-95.75"/> -<text xml:space="preserve" text-anchor="start" x="929.62" y="-102.5" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="969,-95.75 969,-118.25 1001.25,-118.25 1001.25,-95.75 969,-95.75"/> -<text xml:space="preserve" text-anchor="start" x="972" y="-102.5" font-family="Times,serif" font-size="14.00">u2be</text> -<polygon fill="none" stroke="black" points="1001.25,-95.75 1001.25,-118.25 1073.25,-118.25 1073.25,-95.75 1001.25,-95.75"/> -<text xml:space="preserve" text-anchor="start" x="1004.25" y="-102.5" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="872.25,-73.25 872.25,-95.75 897,-95.75 897,-73.25 872.25,-73.25"/> -<text xml:space="preserve" text-anchor="start" x="881.25" y="-80" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="897,-73.25 897,-95.75 969,-95.75 969,-73.25 897,-73.25"/> -<text xml:space="preserve" text-anchor="start" x="900" y="-80" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="969,-73.25 969,-95.75 1001.25,-95.75 1001.25,-73.25 969,-73.25"/> -<polygon fill="none" stroke="black" points="1001.25,-73.25 1001.25,-95.75 1073.25,-95.75 1073.25,-73.25 1001.25,-73.25"/> -<text xml:space="preserve" text-anchor="start" x="1015.88" y="-80" font-family="Times,serif" font-size="14.00">payload</text> -</g> -<!-- binary__seq->binary__seq --> -<g id="edge11" class="edge"> -<title>binary__seq:len_payload_type->binary__seq:payload_size</title> -<path fill="none" stroke="#404040" d="M1066.54,-118.22C1101.57,-137.5 1084.16,-162.75 985.12,-162.75 892.64,-162.75 871.34,-127.4 897.46,-102.64"/> -<polygon fill="#404040" stroke="#404040" points="899.55,-105.45 905.36,-96.59 895.29,-99.9 899.55,-105.45"/> +<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="edge12" class="edge"> +<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.5C797.55,-450.5 817.16,-449.45 836.45,-447.8"/> -<polygon fill="black" stroke="black" stroke-width="2" points="835.1,-451.44 844.74,-447.04 834.46,-444.46 835.1,-451.44"/> +<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="edge13" class="edge"> +<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.49,-428 817.11,-428 836.43,-428"/> -<polygon fill="black" stroke="black" stroke-width="2" points="834.74,-431.5 844.74,-428 834.74,-424.5 834.74,-431.5"/> +<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="edge14" class="edge"> +<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.77,-383 817.45,-385.07 836.69,-388.33"/> -<polygon fill="black" stroke="black" stroke-width="2" points="834.52,-391.5 844.99,-389.84 835.78,-384.61 834.52,-391.5"/> +<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="edge15" class="edge"> +<g id="edge14" class="edge"> <title>string__seq:len_payload_type->string__seq:payload_size</title> -<path fill="none" stroke="#404040" d="M1082.95,-439.22C1117.56,-458.5 1097.76,-483.75 985.12,-483.75 879.94,-483.75 855.72,-448.4 881.16,-423.64"/> -<polygon fill="#404040" stroke="#404040" points="883.19,-426.5 888.93,-417.6 878.89,-420.98 883.19,-426.5"/> -</g> -<!-- test__seq->binary__seq --> -<g id="edge17" class="edge"> -<title>test__seq:bin1_type->binary__seq</title> -<path fill="none" stroke="black" stroke-width="2" d="M767.62,-106.5C795.27,-106.5 825.02,-106.55 853.02,-106.61"/> -<polygon fill="black" stroke="black" stroke-width="2" points="851.45,-110.11 861.46,-106.63 851.47,-103.11 851.45,-110.11"/> +<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="edge16" class="edge"> +<g id="edge15" class="edge"> <title>test__seq:str1_type->string__seq</title> -<path fill="none" stroke="black" stroke-width="2" d="M767.62,-151.5C823.8,-151.5 907.77,-301.09 948.26,-380.21"/> -<polygon fill="black" stroke="black" stroke-width="2" points="944.42,-380.39 952.07,-387.72 950.67,-377.22 944.42,-380.39"/> +<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="edge18" class="edge"> +<g id="edge16" class="edge"> <title>test__seq:str2_type->string__seq</title> -<path fill="none" stroke="black" stroke-width="2" d="M767.62,-61.5C836.63,-61.5 806.48,-138.54 839.75,-199 874.68,-262.49 916.74,-334.79 943.85,-380.87"/> -<polygon fill="black" stroke="black" stroke-width="2" points="939.94,-381.13 948.03,-387.97 945.97,-377.57 939.94,-381.13"/> +<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> @@ -47,14 +47,6 @@ types: size: len_payload encoding: UTF-8 - binary: - doc: Binary data of unspecifed type. - seq: - - id: len_payload - type: u2 - - id: payload - size: len_payload - success: doc: Send from server if operation succeded. @@ -108,11 +100,11 @@ types: type: string - id: num2 type: u2 - - id: bin1 - type: binary + - id: str2 + type: string - id: num3 type: u4 - - id: str2 + - id: str3 type: string - id: num4 type: u8 @@ -23,10 +23,6 @@ local Solec_Test_num3 = ProtoField.new('num3', 'Solec.Test.num3', ftypes.UINT32) table.insert(proto.fields, Solec_Test_num3) local Solec_Test_num4 = ProtoField.new('num4', 'Solec.Test.num4', ftypes.UINT32) table.insert(proto.fields, Solec_Test_num4) -local Solec_Binary_len_payload = ProtoField.new('len_payload', 'Solec.Binary.len_payload', ftypes.UINT32) -table.insert(proto.fields, Solec_Binary_len_payload) -local Solec_Binary_payload = ProtoField.new('payload', 'Solec.Binary.payload', ftypes.BYTES) -table.insert(proto.fields, Solec_Binary_payload) local Solec_String_len_payload = ProtoField.new('len_payload', 'Solec.String.len_payload', ftypes.UINT32) table.insert(proto.fields, Solec_String_len_payload) local str_decode = require("string_decode") @@ -152,15 +148,15 @@ function Solec.Test:_read() self.num2 = self._io:read_u2be() self._tree:add(Solec_Test_num2, self._io._io.tvb(_offset, self._io:pos() - _offset), self.num2) local _offset = self._io:pos() - local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'bin1') - self.bin1 = Solec.Binary(self._io, _tree, self, self._root) + local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'str2') + self.str2 = Solec.String(self._io, _tree, self, self._root) _tree:set_len(self._io:pos() - _offset) local _offset = self._io:pos() self.num3 = self._io:read_u4be() self._tree:add(Solec_Test_num3, self._io._io.tvb(_offset, self._io:pos() - _offset), self.num3) local _offset = self._io:pos() - local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'str2') - self.str2 = Solec.String(self._io, _tree, self, self._root) + local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'str3') + self.str3 = Solec.String(self._io, _tree, self, self._root) _tree:set_len(self._io:pos() - _offset) local _offset = self._io:pos() self.num4 = self._io:read_u8be() @@ -184,28 +180,6 @@ function Solec.Success:_read() end --- --- Binary data of unspecifed type. -Solec.Binary = class.class(KaitaiStruct) - -function Solec.Binary:_init(io, tree, parent, root) - KaitaiStruct._init(self, io) - self._parent = parent - self._root = root or self - self._tree = tree - self:_read() -end - -function Solec.Binary:_read() - local _offset = self._io:pos() - self.len_payload = self._io:read_u2be() - self._tree:add(Solec_Binary_len_payload, self._io._io.tvb(_offset, self._io:pos() - _offset), self.len_payload) - local _offset = self._io:pos() - self.payload = self._io:read_bytes(self.len_payload) - self._tree:add(Solec_Binary_payload, self._io._io.tvb(_offset, self._io:pos() - _offset), self.payload) -end - - Solec.Auth = class.class(KaitaiStruct) function Solec.Auth:_init(io, tree, parent, root) diff --git a/tools/build_spec.sh b/tools/build_spec.sh index dfebbd2..f5272b4 100755 --- a/tools/build_spec.sh +++ b/tools/build_spec.sh @@ -7,7 +7,7 @@ else fi kaitai-struct-compiler -t graphviz solec.ksy -dot -Tsvg solec.dot > solec.svg +dot -Tsvg solec.dot > docs/protocol.svg rm solec.dot ~/bin/kaitai-struct-compiler-ws/bin/kaitai-struct-compiler -t wireshark --read-pos solec.ksy |
