summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md3
-rw-r--r--docs/protocol.svg (renamed from solec.svg)322
-rw-r--r--solec.ksy14
-rw-r--r--solec.lua34
-rwxr-xr-xtools/build_spec.sh2
5 files changed, 150 insertions, 225 deletions
diff --git a/README.md b/README.md
index 6c7bf81..d56c4fa 100644
--- a/README.md
+++ b/README.md
@@ -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&#45;&gt;test__seq -->
<g id="edge7" class="edge">
<title>solec__seq_payload_switch:case5&#45;&gt;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&#45;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&#45;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&#45;&gt;string__seq -->
<g id="edge9" class="edge">
<title>auth__seq:name_type&#45;&gt;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&#45;&gt;string__seq -->
<g id="edge10" class="edge">
<title>auth__seq:pass_type&#45;&gt;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&#45;&gt;binary__seq -->
-<g id="edge11" class="edge">
-<title>binary__seq:len_payload_type&#45;&gt;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&#45;&gt;string__seq -->
-<g id="edge12" class="edge">
+<g id="edge11" class="edge">
<title>message__seq:source_type&#45;&gt;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&#45;&gt;string__seq -->
-<g id="edge13" class="edge">
+<g id="edge12" class="edge">
<title>message__seq:target_type&#45;&gt;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&#45;&gt;string__seq -->
-<g id="edge14" class="edge">
+<g id="edge13" class="edge">
<title>message__seq:content_type&#45;&gt;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&#45;&gt;string__seq -->
-<g id="edge15" class="edge">
+<g id="edge14" class="edge">
<title>string__seq:len_payload_type&#45;&gt;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&#45;&gt;binary__seq -->
-<g id="edge17" class="edge">
-<title>test__seq:bin1_type&#45;&gt;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&#45;&gt;string__seq -->
-<g id="edge16" class="edge">
+<g id="edge15" class="edge">
<title>test__seq:str1_type&#45;&gt;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&#45;&gt;string__seq -->
-<g id="edge18" class="edge">
+<g id="edge16" class="edge">
<title>test__seq:str2_type&#45;&gt;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&#45;&gt;string__seq -->
+<g id="edge17" class="edge">
+<title>test__seq:str3_type&#45;&gt;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>
diff --git a/solec.ksy b/solec.ksy
index dcfcc11..d89f18f 100644
--- a/solec.ksy
+++ b/solec.ksy
@@ -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
diff --git a/solec.lua b/solec.lua
index 85efaad..6dece06 100644
--- a/solec.lua
+++ b/solec.lua
@@ -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