diff options
| author | bt <bt@rctt.net> | 2026-03-10 14:48:51 +0100 |
|---|---|---|
| committer | bt <bt@rctt.net> | 2026-03-10 14:48:51 +0100 |
| commit | 69192d956aa2b6b3dbf87bac0e265e718b49dd70 (patch) | |
| tree | 1f439780ffd61737701b990572d215733459f4d0 | |
| parent | e5644d24c51634c0e263a758bd57b797d5949c9c (diff) | |
| download | solec-69192d956aa2b6b3dbf87bac0e265e718b49dd70.tar.gz solec-69192d956aa2b6b3dbf87bac0e265e718b49dd70.zip | |
Update spec
| -rw-r--r-- | cmd/client/main.go | 2 | ||||
| -rw-r--r-- | solec.ksy | 21 | ||||
| -rw-r--r-- | solec.lua | 155 | ||||
| -rw-r--r-- | solec.svg | 549 |
4 files changed, 468 insertions, 259 deletions
diff --git a/cmd/client/main.go b/cmd/client/main.go index bf28e87..6e5d996 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -29,7 +29,7 @@ func main() { func ping(conn net.Conn) { for { log.Print("ping") - data, err := core.Encode(core.Ping{}) + data, err := core.Encode(core.Pong{Timestamp: time.Now()}) if err != nil { panic(err) } @@ -21,6 +21,10 @@ seq: type: switch-on: payload_type cases: + 'type::handshake': handshake + 'type::ping': ping + 'type::pong': pong +# 'type::message': message 'type::test': test types: @@ -32,13 +36,30 @@ types: type: str size: len_payload encoding: UTF-8 + binary: seq: - id: len_payload type: u2 - id: payload size: len_payload + + handshake: + seq: + - id: proto_ver_major + type: u1 + - id: proto_ver_minor + type: u1 + + ping: {} + + pong: + seq: + - id: timestamp + type: u8 + test: + doc: Test payload, used for parsers testing seq: - id: num1 type: u1 @@ -13,15 +13,6 @@ local Solec_payload_type = ProtoField.new('payload_type', 'Solec.payload_type', table.insert(proto.fields, Solec_payload_type) local Solec_payload_length = ProtoField.new('payload_length', 'Solec.payload_length', ftypes.UINT32) table.insert(proto.fields, Solec_payload_length) -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") -local Solec_String_payload = ProtoField.new('payload', 'Solec.String.payload', ftypes.STRINGZ) -table.insert(proto.fields, Solec_String_payload) -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_Test_num1 = ProtoField.new('num1', 'Solec.Test.num1', ftypes.UINT8) table.insert(proto.fields, Solec_Test_num1) local Solec_Test_time1 = ProtoField.new('time1', 'Solec.Test.time1', ftypes.UINT32) @@ -32,6 +23,21 @@ 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") +local Solec_String_payload = ProtoField.new('payload', 'Solec.String.payload', ftypes.STRINGZ) +table.insert(proto.fields, Solec_String_payload) +local Solec_Handshake_proto_ver_major = ProtoField.new('proto_ver_major', 'Solec.Handshake.proto_ver_major', ftypes.UINT8) +table.insert(proto.fields, Solec_Handshake_proto_ver_major) +local Solec_Handshake_proto_ver_minor = ProtoField.new('proto_ver_minor', 'Solec.Handshake.proto_ver_minor', ftypes.UINT8) +table.insert(proto.fields, Solec_Handshake_proto_ver_minor) +local Solec_Pong_timestamp = ProtoField.new('timestamp', 'Solec.Pong.timestamp', ftypes.UINT32) +table.insert(proto.fields, Solec_Pong_timestamp) function proto.dissector(tvb, pinfo, root) pinfo.cols.protocol = 'Solec' @@ -67,7 +73,19 @@ function Solec:_read() self._tree:add(Solec_payload_length, self._io._io.tvb(_offset, self._io:pos() - _offset), self.payload_length) local _offset = self._io:pos() local _on = self.payload_type - if _on == Solec.Type.test then + if _on == Solec.Type.handshake then + local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'payload') + self.payload = Solec.Handshake(self._io, _tree, self, self._root) + _tree:set_len(self._io:pos() - _offset) + elseif _on == Solec.Type.ping then + local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'payload') + self.payload = Solec.Ping(self._io, _tree, self, self._root) + _tree:set_len(self._io:pos() - _offset) + elseif _on == Solec.Type.pong then + local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'payload') + self.payload = Solec.Pong(self._io, _tree, self, self._root) + _tree:set_len(self._io:pos() - _offset) + elseif _on == Solec.Type.test then local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'payload') self.payload = Solec.Test(self._io, _tree, self, self._root) _tree:set_len(self._io:pos() - _offset) @@ -75,9 +93,11 @@ function Solec:_read() end -Solec.String = class.class(KaitaiStruct) +-- +-- Test payload, used for parsers testing. +Solec.Test = class.class(KaitaiStruct) -function Solec.String:_init(io, tree, parent, root) +function Solec.Test:_init(io, tree, parent, root) KaitaiStruct._init(self, io) self._parent = parent self._root = root or self @@ -85,13 +105,34 @@ function Solec.String:_init(io, tree, parent, root) self:_read() end -function Solec.String:_read() +function Solec.Test:_read() local _offset = self._io:pos() - self.len_payload = self._io:read_u2be() - self._tree:add(Solec_String_len_payload, self._io._io.tvb(_offset, self._io:pos() - _offset), self.len_payload) + self.num1 = self._io:read_u1() + self._tree:add(Solec_Test_num1, self._io._io.tvb(_offset, self._io:pos() - _offset), self.num1) local _offset = self._io:pos() - self.payload = str_decode.decode(self._io:read_bytes(self.len_payload), "UTF-8") - self._tree:add(Solec_String_payload, self._io._io.tvb(_offset, self._io:pos() - _offset), self.payload) + self.time1 = self._io:read_u8be() + self._tree:add(Solec_Test_time1, self._io._io.tvb(_offset, self._io:pos() - _offset), self.time1) + local _offset = self._io:pos() + local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'str1') + self.str1 = Solec.String(self._io, _tree, self, self._root) + _tree:set_len(self._io:pos() - _offset) + local _offset = self._io:pos() + 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) + _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) + _tree:set_len(self._io:pos() - _offset) + local _offset = self._io:pos() + self.num4 = self._io:read_u8be() + self._tree:add(Solec_Test_num4, self._io._io.tvb(_offset, self._io:pos() - _offset), self.num4) end @@ -115,9 +156,9 @@ function Solec.Binary:_read() end -Solec.Test = class.class(KaitaiStruct) +Solec.String = class.class(KaitaiStruct) -function Solec.Test:_init(io, tree, parent, root) +function Solec.String:_init(io, tree, parent, root) KaitaiStruct._init(self, io) self._parent = parent self._root = root or self @@ -125,34 +166,64 @@ function Solec.Test:_init(io, tree, parent, root) self:_read() end -function Solec.Test:_read() - local _offset = self._io:pos() - self.num1 = self._io:read_u1() - self._tree:add(Solec_Test_num1, self._io._io.tvb(_offset, self._io:pos() - _offset), self.num1) - local _offset = self._io:pos() - self.time1 = self._io:read_u8be() - self._tree:add(Solec_Test_time1, self._io._io.tvb(_offset, self._io:pos() - _offset), self.time1) - local _offset = self._io:pos() - local _tree = self._tree:add(self._io._io.tvb(_offset, 0), 'str1') - self.str1 = Solec.String(self._io, _tree, self, self._root) - _tree:set_len(self._io:pos() - _offset) +function Solec.String:_read() local _offset = self._io:pos() - self.num2 = self._io:read_u2be() - self._tree:add(Solec_Test_num2, self._io._io.tvb(_offset, self._io:pos() - _offset), self.num2) + self.len_payload = self._io:read_u2be() + self._tree:add(Solec_String_len_payload, self._io._io.tvb(_offset, self._io:pos() - _offset), self.len_payload) 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) - _tree:set_len(self._io:pos() - _offset) + self.payload = str_decode.decode(self._io:read_bytes(self.len_payload), "UTF-8") + self._tree:add(Solec_String_payload, self._io._io.tvb(_offset, self._io:pos() - _offset), self.payload) +end + + +Solec.Ping = class.class(KaitaiStruct) + +function Solec.Ping:_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.Ping:_read() +end + + +Solec.Handshake = class.class(KaitaiStruct) + +function Solec.Handshake:_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.Handshake:_read() 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) + self.proto_ver_major = self._io:read_u1() + self._tree:add(Solec_Handshake_proto_ver_major, self._io._io.tvb(_offset, self._io:pos() - _offset), self.proto_ver_major) 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) - _tree:set_len(self._io:pos() - _offset) + self.proto_ver_minor = self._io:read_u1() + self._tree:add(Solec_Handshake_proto_ver_minor, self._io._io.tvb(_offset, self._io:pos() - _offset), self.proto_ver_minor) +end + + +Solec.Pong = class.class(KaitaiStruct) + +function Solec.Pong:_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.Pong:_read() local _offset = self._io:pos() - self.num4 = self._io:read_u8be() - self._tree:add(Solec_Test_num4, self._io._io.tvb(_offset, self._io:pos() - _offset), self.num4) + self.timestamp = self._io:read_u8be() + self._tree:add(Solec_Pong_timestamp, self._io._io.tvb(_offset, self._io:pos() - _offset), self.timestamp) end @@ -4,274 +4,391 @@ <!-- Generated by graphviz version 14.1.3 (20260303.0454) --> <!-- Pages: 1 --> -<svg width="942pt" height="341pt" - viewBox="0.00 0.00 942.00 341.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 337)"> -<polygon fill="white" stroke="none" points="-4,4 -4,-337 937.5,-337 937.5,4 -4,4"/> +<svg width="1064pt" height="627pt" + viewBox="0.00 0.00 1064.00 627.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 623)"> +<polygon fill="white" stroke="none" points="-4,4 -4,-623 1059.75,-623 1059.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,-325 925.5,-325 925.5,-8 8,-8"/> -<text xml:space="preserve" text-anchor="middle" x="466.75" y="-307.7" font-family="Times,serif" font-size="14.00">Solec</text> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="8,-8 8,-611 1047.75,-611 1047.75,-8 8,-8"/> +<text xml:space="preserve" text-anchor="middle" x="527.88" y="-593.7" font-family="Times,serif" font-size="14.00">Solec</text> </g> <g id="clust2" class="cluster"> <title>cluster__binary</title> -<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="668,-16 668,-150 901,-150 901,-16 668,-16"/> -<text xml:space="preserve" text-anchor="middle" x="784.5" y="-132.7" font-family="Times,serif" font-size="14.00">Solec::Binary</text> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="790.25,-16 790.25,-150 1023.25,-150 1023.25,-16 790.25,-16"/> +<text xml:space="preserve" text-anchor="middle" x="906.75" y="-132.7" font-family="Times,serif" font-size="14.00">Solec::Binary</text> </g> <g id="clust3" class="cluster"> -<title>cluster__string</title> -<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="651.5,-158 651.5,-292 917.5,-292 917.5,-158 651.5,-158"/> -<text xml:space="preserve" text-anchor="middle" x="784.5" y="-274.7" font-family="Times,serif" font-size="14.00">Solec::String</text> +<title>cluster__handshake</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="542.5,-462 542.5,-578 753.75,-578 753.75,-462 542.5,-462"/> +<text xml:space="preserve" text-anchor="middle" x="648.12" y="-560.7" font-family="Times,serif" font-size="14.00">Solec::Handshake</text> </g> <g id="clust4" class="cluster"> +<title>cluster__ping</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="583.38,-377 583.38,-454 712.88,-454 712.88,-377 583.38,-377"/> +<text xml:space="preserve" text-anchor="middle" x="648.12" y="-436.7" font-family="Times,serif" font-size="14.00">Solec::Ping</text> +</g> +<g id="clust5" class="cluster"> +<title>cluster__pong</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="558.25,-275 558.25,-369 738,-369 738,-275 558.25,-275"/> +<text xml:space="preserve" text-anchor="middle" x="648.12" y="-351.7" font-family="Times,serif" font-size="14.00">Solec::Pong</text> +</g> +<g id="clust6" class="cluster"> +<title>cluster__string</title> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="773.75,-158 773.75,-292 1039.75,-292 1039.75,-158 773.75,-158"/> +<text xml:space="preserve" text-anchor="middle" x="906.75" y="-274.7" font-family="Times,serif" font-size="14.00">Solec::String</text> +</g> +<g id="clust7" class="cluster"> <title>cluster__test</title> -<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="467.5,-41 467.5,-292 631.5,-292 631.5,-41 467.5,-41"/> -<text xml:space="preserve" text-anchor="middle" x="549.5" y="-274.7" font-family="Times,serif" font-size="14.00">Solec::Test</text> +<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="566.12,-16 566.12,-267 730.12,-267 730.12,-16 566.12,-16"/> +<text xml:space="preserve" text-anchor="middle" x="648.12" 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,-220.5 24,-243 48.75,-243 48.75,-220.5 24,-220.5"/> -<polygon fill="none" stroke="black" points="24,-220.5 24,-243 48.75,-243 48.75,-220.5 24,-220.5"/> -<text xml:space="preserve" text-anchor="start" x="27" y="-227.25" font-family="Times,serif" font-size="14.00">pos</text> -<polygon fill="#e0ffe0" stroke="none" points="48.75,-220.5 48.75,-243 75.75,-243 75.75,-220.5 48.75,-220.5"/> -<polygon fill="none" stroke="black" points="48.75,-220.5 48.75,-243 75.75,-243 75.75,-220.5 48.75,-220.5"/> -<text xml:space="preserve" text-anchor="start" x="51.75" y="-227.25" font-family="Times,serif" font-size="14.00">size</text> -<polygon fill="#e0ffe0" stroke="none" points="75.75,-220.5 75.75,-243 202.5,-243 202.5,-220.5 75.75,-220.5"/> -<polygon fill="none" stroke="black" points="75.75,-220.5 75.75,-243 202.5,-243 202.5,-220.5 75.75,-220.5"/> -<text xml:space="preserve" text-anchor="start" x="127.5" y="-227.25" font-family="Times,serif" font-size="14.00">type</text> -<polygon fill="#e0ffe0" stroke="none" points="202.5,-220.5 202.5,-243 291.75,-243 291.75,-220.5 202.5,-220.5"/> -<polygon fill="none" stroke="black" points="202.5,-220.5 202.5,-243 291.75,-243 291.75,-220.5 202.5,-220.5"/> -<text xml:space="preserve" text-anchor="start" x="241.88" y="-227.25" font-family="Times,serif" font-size="14.00">id</text> -<polygon fill="none" stroke="black" points="24,-198 24,-220.5 48.75,-220.5 48.75,-198 24,-198"/> -<text xml:space="preserve" text-anchor="start" x="33" y="-204.75" font-family="Times,serif" font-size="14.00">0</text> -<polygon fill="none" stroke="black" points="48.75,-198 48.75,-220.5 75.75,-220.5 75.75,-198 48.75,-198"/> -<text xml:space="preserve" text-anchor="start" x="58.88" y="-204.75" font-family="Times,serif" font-size="14.00">1</text> -<polygon fill="none" stroke="black" points="75.75,-198 75.75,-220.5 202.5,-220.5 202.5,-198 75.75,-198"/> -<text xml:space="preserve" text-anchor="start" x="111.38" y="-204.75" font-family="Times,serif" font-size="14.00">u1→Type</text> -<polygon fill="none" stroke="black" points="202.5,-198 202.5,-220.5 291.75,-220.5 291.75,-198 202.5,-198"/> -<text xml:space="preserve" text-anchor="start" x="210.75" y="-204.75" font-family="Times,serif" font-size="14.00">payload_type</text> -<polygon fill="none" stroke="black" points="24,-175.5 24,-198 48.75,-198 48.75,-175.5 24,-175.5"/> -<text xml:space="preserve" text-anchor="start" x="33" y="-182.25" font-family="Times,serif" font-size="14.00">1</text> -<polygon fill="none" stroke="black" points="48.75,-175.5 48.75,-198 75.75,-198 75.75,-175.5 48.75,-175.5"/> -<text xml:space="preserve" text-anchor="start" x="58.88" y="-182.25" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="75.75,-175.5 75.75,-198 202.5,-198 202.5,-175.5 75.75,-175.5"/> -<text xml:space="preserve" text-anchor="start" x="126" y="-182.25" font-family="Times,serif" font-size="14.00">u2be</text> -<polygon fill="none" stroke="black" points="202.5,-175.5 202.5,-198 291.75,-198 291.75,-175.5 202.5,-175.5"/> -<text xml:space="preserve" text-anchor="start" x="205.5" y="-182.25" font-family="Times,serif" font-size="14.00">payload_length</text> -<polygon fill="none" stroke="black" points="24,-153 24,-175.5 48.75,-175.5 48.75,-153 24,-153"/> -<text xml:space="preserve" text-anchor="start" x="33" y="-159.75" font-family="Times,serif" font-size="14.00">3</text> -<polygon fill="none" stroke="black" points="48.75,-153 48.75,-175.5 75.75,-175.5 75.75,-153 48.75,-153"/> -<text xml:space="preserve" text-anchor="start" x="56.62" y="-159.75" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="75.75,-153 75.75,-175.5 202.5,-175.5 202.5,-153 75.75,-153"/> -<text xml:space="preserve" text-anchor="start" x="78.75" y="-159.75" font-family="Times,serif" font-size="14.00">switch (payload_type)</text> -<polygon fill="none" stroke="black" points="202.5,-153 202.5,-175.5 291.75,-175.5 291.75,-153 202.5,-153"/> -<text xml:space="preserve" text-anchor="start" x="225.75" y="-159.75" font-family="Times,serif" font-size="14.00">payload</text> +<polygon fill="#e0ffe0" stroke="none" points="24,-422.5 24,-445 48.75,-445 48.75,-422.5 24,-422.5"/> +<polygon fill="none" stroke="black" points="24,-422.5 24,-445 48.75,-445 48.75,-422.5 24,-422.5"/> +<text xml:space="preserve" text-anchor="start" x="27" y="-429.25" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="48.75,-422.5 48.75,-445 75.75,-445 75.75,-422.5 48.75,-422.5"/> +<polygon fill="none" stroke="black" points="48.75,-422.5 48.75,-445 75.75,-445 75.75,-422.5 48.75,-422.5"/> +<text xml:space="preserve" text-anchor="start" x="51.75" y="-429.25" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="75.75,-422.5 75.75,-445 202.5,-445 202.5,-422.5 75.75,-422.5"/> +<polygon fill="none" stroke="black" points="75.75,-422.5 75.75,-445 202.5,-445 202.5,-422.5 75.75,-422.5"/> +<text xml:space="preserve" text-anchor="start" x="127.5" y="-429.25" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="202.5,-422.5 202.5,-445 291.75,-445 291.75,-422.5 202.5,-422.5"/> +<polygon fill="none" stroke="black" points="202.5,-422.5 202.5,-445 291.75,-445 291.75,-422.5 202.5,-422.5"/> +<text xml:space="preserve" text-anchor="start" x="241.88" y="-429.25" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="24,-400 24,-422.5 48.75,-422.5 48.75,-400 24,-400"/> +<text xml:space="preserve" text-anchor="start" x="33" y="-406.75" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="48.75,-400 48.75,-422.5 75.75,-422.5 75.75,-400 48.75,-400"/> +<text xml:space="preserve" text-anchor="start" x="58.88" y="-406.75" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="75.75,-400 75.75,-422.5 202.5,-422.5 202.5,-400 75.75,-400"/> +<text xml:space="preserve" text-anchor="start" x="111.38" y="-406.75" font-family="Times,serif" font-size="14.00">u1→Type</text> +<polygon fill="none" stroke="black" points="202.5,-400 202.5,-422.5 291.75,-422.5 291.75,-400 202.5,-400"/> +<text xml:space="preserve" text-anchor="start" x="210.75" y="-406.75" font-family="Times,serif" font-size="14.00">payload_type</text> +<polygon fill="none" stroke="black" points="24,-377.5 24,-400 48.75,-400 48.75,-377.5 24,-377.5"/> +<text xml:space="preserve" text-anchor="start" x="33" y="-384.25" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="48.75,-377.5 48.75,-400 75.75,-400 75.75,-377.5 48.75,-377.5"/> +<text xml:space="preserve" text-anchor="start" x="58.88" y="-384.25" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="75.75,-377.5 75.75,-400 202.5,-400 202.5,-377.5 75.75,-377.5"/> +<text xml:space="preserve" text-anchor="start" x="126" y="-384.25" font-family="Times,serif" font-size="14.00">u2be</text> +<polygon fill="none" stroke="black" points="202.5,-377.5 202.5,-400 291.75,-400 291.75,-377.5 202.5,-377.5"/> +<text xml:space="preserve" text-anchor="start" x="205.5" y="-384.25" font-family="Times,serif" font-size="14.00">payload_length</text> +<polygon fill="none" stroke="black" points="24,-355 24,-377.5 48.75,-377.5 48.75,-355 24,-355"/> +<text xml:space="preserve" text-anchor="start" x="33" y="-361.75" font-family="Times,serif" font-size="14.00">3</text> +<polygon fill="none" stroke="black" points="48.75,-355 48.75,-377.5 75.75,-377.5 75.75,-355 48.75,-355"/> +<text xml:space="preserve" text-anchor="start" x="56.62" y="-361.75" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="75.75,-355 75.75,-377.5 202.5,-377.5 202.5,-355 75.75,-355"/> +<text xml:space="preserve" text-anchor="start" x="78.75" y="-361.75" font-family="Times,serif" font-size="14.00">switch (payload_type)</text> +<polygon fill="none" stroke="black" points="202.5,-355 202.5,-377.5 291.75,-377.5 291.75,-355 202.5,-355"/> +<text xml:space="preserve" text-anchor="start" x="225.75" y="-361.75" font-family="Times,serif" font-size="14.00">payload</text> </g> <!-- solec__seq->solec__seq --> -<g id="edge3" class="edge"> +<g id="edge6" class="edge"> <title>solec__seq:payload_type_type->solec__seq:payload_type</title> -<path fill="none" stroke="#404040" d="M224.41,-220.36C191.09,-241.21 198.66,-265 247.12,-265 293.05,-265 302.26,-214.86 274.73,-183.35"/> -<polygon fill="#404040" stroke="#404040" points="277.2,-180.86 267.56,-176.44 272.34,-185.9 277.2,-180.86"/> +<path fill="none" stroke="#404040" d="M220.7,-422.36C181.94,-443.21 190.75,-467 247.12,-467 301.01,-467 311.43,-416 278.41,-384.55"/> +<polygon fill="#404040" stroke="#404040" points="280.77,-381.95 270.81,-378.35 276.35,-387.38 280.77,-381.95"/> </g> <!-- solec__seq_payload_switch --> <g id="node2" class="node"> <title>solec__seq_payload_switch</title> -<polygon fill="#f0f2e4" stroke="none" points="343.75,-165 343.75,-187.5 402.25,-187.5 402.25,-165 343.75,-165"/> -<polygon fill="none" stroke="black" points="343.75,-165 343.75,-187.5 402.25,-187.5 402.25,-165 343.75,-165"/> -<text xml:space="preserve" text-anchor="start" x="361.38" y="-171.75" font-family="Times,serif" font-size="14.00">case</text> -<polygon fill="#f0f2e4" stroke="none" points="402.25,-165 402.25,-187.5 431.5,-187.5 431.5,-165 402.25,-165"/> -<polygon fill="none" stroke="black" points="402.25,-165 402.25,-187.5 431.5,-187.5 431.5,-165 402.25,-165"/> -<text xml:space="preserve" text-anchor="start" x="405.25" y="-171.75" font-family="Times,serif" font-size="14.00">type</text> -<polygon fill="none" stroke="black" points="343.75,-142.5 343.75,-165 402.25,-165 402.25,-142.5 343.75,-142.5"/> -<text xml:space="preserve" text-anchor="start" x="346.75" y="-149.25" font-family="Times,serif" font-size="14.00">:type_test</text> -<polygon fill="none" stroke="black" points="402.25,-142.5 402.25,-165 431.5,-165 431.5,-142.5 402.25,-142.5"/> -<text xml:space="preserve" text-anchor="start" x="405.25" y="-149.25" font-family="Times,serif" font-size="14.00">Test</text> +<polygon fill="#f0f2e4" stroke="none" points="343.75,-400.75 343.75,-423.25 440.5,-423.25 440.5,-400.75 343.75,-400.75"/> +<polygon fill="none" stroke="black" points="343.75,-400.75 343.75,-423.25 440.5,-423.25 440.5,-400.75 343.75,-400.75"/> +<text xml:space="preserve" text-anchor="start" x="380.5" y="-407.5" font-family="Times,serif" font-size="14.00">case</text> +<polygon fill="#f0f2e4" stroke="none" points="440.5,-400.75 440.5,-423.25 506.5,-423.25 506.5,-400.75 440.5,-400.75"/> +<polygon fill="none" stroke="black" points="440.5,-400.75 440.5,-423.25 506.5,-423.25 506.5,-400.75 440.5,-400.75"/> +<text xml:space="preserve" text-anchor="start" x="461.88" y="-407.5" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="none" stroke="black" points="343.75,-378.25 343.75,-400.75 440.5,-400.75 440.5,-378.25 343.75,-378.25"/> +<text xml:space="preserve" text-anchor="start" x="346.75" y="-385" font-family="Times,serif" font-size="14.00">:type_handshake</text> +<polygon fill="none" stroke="black" points="440.5,-378.25 440.5,-400.75 506.5,-400.75 506.5,-378.25 440.5,-378.25"/> +<text xml:space="preserve" text-anchor="start" x="443.5" y="-385" font-family="Times,serif" font-size="14.00">Handshake</text> +<polygon fill="none" stroke="black" points="343.75,-355.75 343.75,-378.25 440.5,-378.25 440.5,-355.75 343.75,-355.75"/> +<text xml:space="preserve" text-anchor="start" x="363.25" y="-362.5" font-family="Times,serif" font-size="14.00">:type_ping</text> +<polygon fill="none" stroke="black" points="440.5,-355.75 440.5,-378.25 506.5,-378.25 506.5,-355.75 440.5,-355.75"/> +<text xml:space="preserve" text-anchor="start" x="461.12" y="-362.5" font-family="Times,serif" font-size="14.00">Ping</text> +<polygon fill="none" stroke="black" points="343.75,-333.25 343.75,-355.75 440.5,-355.75 440.5,-333.25 343.75,-333.25"/> +<text xml:space="preserve" text-anchor="start" x="361.75" y="-340" font-family="Times,serif" font-size="14.00">:type_pong</text> +<polygon fill="none" stroke="black" points="440.5,-333.25 440.5,-355.75 506.5,-355.75 506.5,-333.25 440.5,-333.25"/> +<text xml:space="preserve" text-anchor="start" x="459.62" y="-340" font-family="Times,serif" font-size="14.00">Pong</text> +<polygon fill="none" stroke="black" points="343.75,-310.75 343.75,-333.25 440.5,-333.25 440.5,-310.75 343.75,-310.75"/> +<text xml:space="preserve" text-anchor="start" x="365.88" y="-317.5" font-family="Times,serif" font-size="14.00">:type_test</text> +<polygon fill="none" stroke="black" points="440.5,-310.75 440.5,-333.25 506.5,-333.25 506.5,-310.75 440.5,-310.75"/> +<text xml:space="preserve" text-anchor="start" x="461.88" y="-317.5" 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="M292.75,-164.25C303.04,-164.25 313.97,-164.3 324.59,-164.36"/> -<polygon fill="black" stroke="black" stroke-width="2" points="322.91,-167.85 332.93,-164.43 322.96,-160.85 322.91,-167.85"/> +<path fill="none" stroke="black" stroke-width="2" d="M292.75,-366.25C303.08,-366.25 313.86,-366.27 324.61,-366.31"/> +<polygon fill="black" stroke="black" stroke-width="2" points="322.75,-369.8 332.76,-366.35 322.78,-362.8 322.75,-369.8"/> </g> -<!-- test__seq --> +<!-- handshake__seq --> +<g id="node4" class="node"> +<title>handshake__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="558.5,-519.25 558.5,-541.75 583.25,-541.75 583.25,-519.25 558.5,-519.25"/> +<polygon fill="none" stroke="black" points="558.5,-519.25 558.5,-541.75 583.25,-541.75 583.25,-519.25 558.5,-519.25"/> +<text xml:space="preserve" text-anchor="start" x="561.5" y="-526" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="583.25,-519.25 583.25,-541.75 610.25,-541.75 610.25,-519.25 583.25,-519.25"/> +<polygon fill="none" stroke="black" points="583.25,-519.25 583.25,-541.75 610.25,-541.75 610.25,-519.25 583.25,-519.25"/> +<text xml:space="preserve" text-anchor="start" x="586.25" y="-526" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="610.25,-519.25 610.25,-541.75 639.5,-541.75 639.5,-519.25 610.25,-519.25"/> +<polygon fill="none" stroke="black" points="610.25,-519.25 610.25,-541.75 639.5,-541.75 639.5,-519.25 610.25,-519.25"/> +<text xml:space="preserve" text-anchor="start" x="613.25" y="-526" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="639.5,-519.25 639.5,-541.75 737.75,-541.75 737.75,-519.25 639.5,-519.25"/> +<polygon fill="none" stroke="black" points="639.5,-519.25 639.5,-541.75 737.75,-541.75 737.75,-519.25 639.5,-519.25"/> +<text xml:space="preserve" text-anchor="start" x="683.38" y="-526" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="558.5,-496.75 558.5,-519.25 583.25,-519.25 583.25,-496.75 558.5,-496.75"/> +<text xml:space="preserve" text-anchor="start" x="567.5" y="-503.5" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="583.25,-496.75 583.25,-519.25 610.25,-519.25 610.25,-496.75 583.25,-496.75"/> +<text xml:space="preserve" text-anchor="start" x="593.38" y="-503.5" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="610.25,-496.75 610.25,-519.25 639.5,-519.25 639.5,-496.75 610.25,-496.75"/> +<text xml:space="preserve" text-anchor="start" x="618.12" y="-503.5" font-family="Times,serif" font-size="14.00">u1</text> +<polygon fill="none" stroke="black" points="639.5,-496.75 639.5,-519.25 737.75,-519.25 737.75,-496.75 639.5,-496.75"/> +<text xml:space="preserve" text-anchor="start" x="642.88" y="-503.5" font-family="Times,serif" font-size="14.00">proto_ver_major</text> +<polygon fill="none" stroke="black" points="558.5,-474.25 558.5,-496.75 583.25,-496.75 583.25,-474.25 558.5,-474.25"/> +<text xml:space="preserve" text-anchor="start" x="567.5" y="-481" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="583.25,-474.25 583.25,-496.75 610.25,-496.75 610.25,-474.25 583.25,-474.25"/> +<text xml:space="preserve" text-anchor="start" x="593.38" y="-481" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="610.25,-474.25 610.25,-496.75 639.5,-496.75 639.5,-474.25 610.25,-474.25"/> +<text xml:space="preserve" text-anchor="start" x="618.12" y="-481" font-family="Times,serif" font-size="14.00">u1</text> +<polygon fill="none" stroke="black" points="639.5,-474.25 639.5,-496.75 737.75,-496.75 737.75,-474.25 639.5,-474.25"/> +<text xml:space="preserve" text-anchor="start" x="642.5" y="-481" font-family="Times,serif" font-size="14.00">proto_ver_minor</text> +</g> +<!-- solec__seq_payload_switch->handshake__seq --> +<g id="edge2" class="edge"> +<title>solec__seq_payload_switch:case0->handshake__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M507.5,-389.5C541.69,-389.5 518.01,-434.15 542.5,-458 544.35,-459.8 546.27,-461.54 548.26,-463.23"/> +<polygon fill="black" stroke="black" stroke-width="2" points="544.91,-465.06 554.95,-468.43 549.21,-459.53 544.91,-465.06"/> +</g> +<!-- ping__seq --> <g id="node5" class="node"> +<title>ping__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="599.38,-391.75 599.38,-414.25 624.12,-414.25 624.12,-391.75 599.38,-391.75"/> +<polygon fill="none" stroke="black" points="599.38,-391.75 599.38,-414.25 624.12,-414.25 624.12,-391.75 599.38,-391.75"/> +<text xml:space="preserve" text-anchor="start" x="602.38" y="-398.5" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="624.12,-391.75 624.12,-414.25 651.12,-414.25 651.12,-391.75 624.12,-391.75"/> +<polygon fill="none" stroke="black" points="624.12,-391.75 624.12,-414.25 651.12,-414.25 651.12,-391.75 624.12,-391.75"/> +<text xml:space="preserve" text-anchor="start" x="627.12" y="-398.5" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="651.12,-391.75 651.12,-414.25 680.38,-414.25 680.38,-391.75 651.12,-391.75"/> +<polygon fill="none" stroke="black" points="651.12,-391.75 651.12,-414.25 680.38,-414.25 680.38,-391.75 651.12,-391.75"/> +<text xml:space="preserve" text-anchor="start" x="654.12" y="-398.5" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="680.38,-391.75 680.38,-414.25 696.88,-414.25 696.88,-391.75 680.38,-391.75"/> +<polygon fill="none" stroke="black" points="680.38,-391.75 680.38,-414.25 696.88,-414.25 696.88,-391.75 680.38,-391.75"/> +<text xml:space="preserve" text-anchor="start" x="683.38" y="-398.5" font-family="Times,serif" font-size="14.00">id</text> +</g> +<!-- solec__seq_payload_switch->ping__seq --> +<g id="edge3" class="edge"> +<title>solec__seq_payload_switch:case1->ping__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M507.5,-367C515.32,-367 548.73,-375.57 580.91,-384.34"/> +<polygon fill="black" stroke="black" stroke-width="2" points="578.25,-387.24 588.82,-386.51 580.1,-380.49 578.25,-387.24"/> +</g> +<!-- pong__seq --> +<g id="node6" class="node"> +<title>pong__seq</title> +<polygon fill="#e0ffe0" stroke="none" points="574.25,-310 574.25,-332.5 599,-332.5 599,-310 574.25,-310"/> +<polygon fill="none" stroke="black" points="574.25,-310 574.25,-332.5 599,-332.5 599,-310 574.25,-310"/> +<text xml:space="preserve" text-anchor="start" x="577.25" y="-316.75" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="599,-310 599,-332.5 626,-332.5 626,-310 599,-310"/> +<polygon fill="none" stroke="black" points="599,-310 599,-332.5 626,-332.5 626,-310 599,-310"/> +<text xml:space="preserve" text-anchor="start" x="602" y="-316.75" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="626,-310 626,-332.5 658.25,-332.5 658.25,-310 626,-310"/> +<polygon fill="none" stroke="black" points="626,-310 626,-332.5 658.25,-332.5 658.25,-310 626,-310"/> +<text xml:space="preserve" text-anchor="start" x="630.5" y="-316.75" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="658.25,-310 658.25,-332.5 722,-332.5 722,-310 658.25,-310"/> +<polygon fill="none" stroke="black" points="658.25,-310 658.25,-332.5 722,-332.5 722,-310 658.25,-310"/> +<text xml:space="preserve" text-anchor="start" x="684.88" y="-316.75" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="574.25,-287.5 574.25,-310 599,-310 599,-287.5 574.25,-287.5"/> +<text xml:space="preserve" text-anchor="start" x="583.25" y="-294.25" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="599,-287.5 599,-310 626,-310 626,-287.5 599,-287.5"/> +<text xml:space="preserve" text-anchor="start" x="609.12" y="-294.25" font-family="Times,serif" font-size="14.00">8</text> +<polygon fill="none" stroke="black" points="626,-287.5 626,-310 658.25,-310 658.25,-287.5 626,-287.5"/> +<text xml:space="preserve" text-anchor="start" x="629" y="-294.25" font-family="Times,serif" font-size="14.00">u8be</text> +<polygon fill="none" stroke="black" points="658.25,-287.5 658.25,-310 722,-310 722,-287.5 658.25,-287.5"/> +<text xml:space="preserve" text-anchor="start" x="661.25" y="-294.25" font-family="Times,serif" font-size="14.00">timestamp</text> +</g> +<!-- solec__seq_payload_switch->pong__seq --> +<g id="edge4" class="edge"> +<title>solec__seq_payload_switch:case2->pong__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M507.5,-344.5C523.73,-344.5 540.72,-342.28 557.04,-338.96"/> +<polygon fill="black" stroke="black" stroke-width="2" points="556.24,-342.72 565.25,-337.15 554.73,-335.88 556.24,-342.72"/> +</g> +<!-- test__seq --> +<g id="node8" class="node"> <title>test__seq</title> -<polygon fill="#e0ffe0" stroke="none" points="483.5,-232.75 483.5,-255.25 508.25,-255.25 508.25,-232.75 483.5,-232.75"/> -<polygon fill="none" stroke="black" points="483.5,-232.75 483.5,-255.25 508.25,-255.25 508.25,-232.75 483.5,-232.75"/> -<text xml:space="preserve" text-anchor="start" x="486.5" y="-239.5" font-family="Times,serif" font-size="14.00">pos</text> -<polygon fill="#e0ffe0" stroke="none" points="508.25,-232.75 508.25,-255.25 535.25,-255.25 535.25,-232.75 508.25,-232.75"/> -<polygon fill="none" stroke="black" points="508.25,-232.75 508.25,-255.25 535.25,-255.25 535.25,-232.75 508.25,-232.75"/> -<text xml:space="preserve" text-anchor="start" x="511.25" y="-239.5" font-family="Times,serif" font-size="14.00">size</text> -<polygon fill="#e0ffe0" stroke="none" points="535.25,-232.75 535.25,-255.25 578,-255.25 578,-232.75 535.25,-232.75"/> -<polygon fill="none" stroke="black" points="535.25,-232.75 535.25,-255.25 578,-255.25 578,-232.75 535.25,-232.75"/> -<text xml:space="preserve" text-anchor="start" x="545" y="-239.5" font-family="Times,serif" font-size="14.00">type</text> -<polygon fill="#e0ffe0" stroke="none" points="578,-232.75 578,-255.25 615.5,-255.25 615.5,-232.75 578,-232.75"/> -<polygon fill="none" stroke="black" points="578,-232.75 578,-255.25 615.5,-255.25 615.5,-232.75 578,-232.75"/> -<text xml:space="preserve" text-anchor="start" x="591.5" y="-239.5" font-family="Times,serif" font-size="14.00">id</text> -<polygon fill="none" stroke="black" points="483.5,-210.25 483.5,-232.75 508.25,-232.75 508.25,-210.25 483.5,-210.25"/> -<text xml:space="preserve" text-anchor="start" x="492.5" y="-217" font-family="Times,serif" font-size="14.00">0</text> -<polygon fill="none" stroke="black" points="508.25,-210.25 508.25,-232.75 535.25,-232.75 535.25,-210.25 508.25,-210.25"/> -<text xml:space="preserve" text-anchor="start" x="518.38" y="-217" font-family="Times,serif" font-size="14.00">1</text> -<polygon fill="none" stroke="black" points="535.25,-210.25 535.25,-232.75 578,-232.75 578,-210.25 535.25,-210.25"/> -<text xml:space="preserve" text-anchor="start" x="549.88" y="-217" font-family="Times,serif" font-size="14.00">u1</text> -<polygon fill="none" stroke="black" points="578,-210.25 578,-232.75 615.5,-232.75 615.5,-210.25 578,-210.25"/> -<text xml:space="preserve" text-anchor="start" x="581" y="-217" font-family="Times,serif" font-size="14.00">num1</text> -<polygon fill="none" stroke="black" points="483.5,-187.75 483.5,-210.25 508.25,-210.25 508.25,-187.75 483.5,-187.75"/> -<text xml:space="preserve" text-anchor="start" x="492.5" y="-194.5" font-family="Times,serif" font-size="14.00">1</text> -<polygon fill="none" stroke="black" points="508.25,-187.75 508.25,-210.25 535.25,-210.25 535.25,-187.75 508.25,-187.75"/> -<text xml:space="preserve" text-anchor="start" x="518.38" y="-194.5" font-family="Times,serif" font-size="14.00">8</text> -<polygon fill="none" stroke="black" points="535.25,-187.75 535.25,-210.25 578,-210.25 578,-187.75 535.25,-187.75"/> -<text xml:space="preserve" text-anchor="start" x="543.5" y="-194.5" font-family="Times,serif" font-size="14.00">u8be</text> -<polygon fill="none" stroke="black" points="578,-187.75 578,-210.25 615.5,-210.25 615.5,-187.75 578,-187.75"/> -<text xml:space="preserve" text-anchor="start" x="581" y="-194.5" font-family="Times,serif" font-size="14.00">time1</text> -<polygon fill="none" stroke="black" points="483.5,-165.25 483.5,-187.75 508.25,-187.75 508.25,-165.25 483.5,-165.25"/> -<text xml:space="preserve" text-anchor="start" x="492.5" y="-172" font-family="Times,serif" font-size="14.00">9</text> -<polygon fill="none" stroke="black" points="508.25,-165.25 508.25,-187.75 535.25,-187.75 535.25,-165.25 508.25,-165.25"/> -<text xml:space="preserve" text-anchor="start" x="516.12" y="-172" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="535.25,-165.25 535.25,-187.75 578,-187.75 578,-165.25 535.25,-165.25"/> -<text xml:space="preserve" text-anchor="start" x="540.12" y="-172" font-family="Times,serif" font-size="14.00">String</text> -<polygon fill="none" stroke="black" points="578,-165.25 578,-187.75 615.5,-187.75 615.5,-165.25 578,-165.25"/> -<text xml:space="preserve" text-anchor="start" x="586.62" y="-172" font-family="Times,serif" font-size="14.00">str1</text> -<polygon fill="none" stroke="black" points="483.5,-142.75 483.5,-165.25 508.25,-165.25 508.25,-142.75 483.5,-142.75"/> -<text xml:space="preserve" text-anchor="start" x="490.25" y="-149.5" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="508.25,-142.75 508.25,-165.25 535.25,-165.25 535.25,-142.75 508.25,-142.75"/> -<text xml:space="preserve" text-anchor="start" x="518.38" y="-149.5" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="535.25,-142.75 535.25,-165.25 578,-165.25 578,-142.75 535.25,-142.75"/> -<text xml:space="preserve" text-anchor="start" x="543.5" y="-149.5" font-family="Times,serif" font-size="14.00">u2be</text> -<polygon fill="none" stroke="black" points="578,-142.75 578,-165.25 615.5,-165.25 615.5,-142.75 578,-142.75"/> -<text xml:space="preserve" text-anchor="start" x="581" y="-149.5" font-family="Times,serif" font-size="14.00">num2</text> -<polygon fill="none" stroke="black" points="483.5,-120.25 483.5,-142.75 508.25,-142.75 508.25,-120.25 483.5,-120.25"/> -<text xml:space="preserve" text-anchor="start" x="490.25" y="-127" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="508.25,-120.25 508.25,-142.75 535.25,-142.75 535.25,-120.25 508.25,-120.25"/> -<text xml:space="preserve" text-anchor="start" x="516.12" y="-127" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="535.25,-120.25 535.25,-142.75 578,-142.75 578,-120.25 535.25,-120.25"/> -<text xml:space="preserve" text-anchor="start" x="538.25" y="-127" font-family="Times,serif" font-size="14.00">Binary</text> -<polygon fill="none" stroke="black" points="578,-120.25 578,-142.75 615.5,-142.75 615.5,-120.25 578,-120.25"/> -<text xml:space="preserve" text-anchor="start" x="584.75" y="-127" font-family="Times,serif" font-size="14.00">bin1</text> -<polygon fill="none" stroke="black" points="483.5,-97.75 483.5,-120.25 508.25,-120.25 508.25,-97.75 483.5,-97.75"/> -<text xml:space="preserve" text-anchor="start" x="490.25" y="-104.5" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="508.25,-97.75 508.25,-120.25 535.25,-120.25 535.25,-97.75 508.25,-97.75"/> -<text xml:space="preserve" text-anchor="start" x="518.38" y="-104.5" font-family="Times,serif" font-size="14.00">4</text> -<polygon fill="none" stroke="black" points="535.25,-97.75 535.25,-120.25 578,-120.25 578,-97.75 535.25,-97.75"/> -<text xml:space="preserve" text-anchor="start" x="543.5" y="-104.5" font-family="Times,serif" font-size="14.00">u4be</text> -<polygon fill="none" stroke="black" points="578,-97.75 578,-120.25 615.5,-120.25 615.5,-97.75 578,-97.75"/> -<text xml:space="preserve" text-anchor="start" x="581" y="-104.5" font-family="Times,serif" font-size="14.00">num3</text> -<polygon fill="none" stroke="black" points="483.5,-75.25 483.5,-97.75 508.25,-97.75 508.25,-75.25 483.5,-75.25"/> -<text xml:space="preserve" text-anchor="start" x="490.25" y="-82" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="508.25,-75.25 508.25,-97.75 535.25,-97.75 535.25,-75.25 508.25,-75.25"/> -<text xml:space="preserve" text-anchor="start" x="516.12" y="-82" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="535.25,-75.25 535.25,-97.75 578,-97.75 578,-75.25 535.25,-75.25"/> -<text xml:space="preserve" text-anchor="start" x="540.12" y="-82" font-family="Times,serif" font-size="14.00">String</text> -<polygon fill="none" stroke="black" points="578,-75.25 578,-97.75 615.5,-97.75 615.5,-75.25 578,-75.25"/> -<text xml:space="preserve" text-anchor="start" x="586.62" y="-82" font-family="Times,serif" font-size="14.00">str2</text> -<polygon fill="none" stroke="black" points="483.5,-52.75 483.5,-75.25 508.25,-75.25 508.25,-52.75 483.5,-52.75"/> -<text xml:space="preserve" text-anchor="start" x="490.25" y="-59.5" font-family="Times,serif" font-size="14.00">...</text> -<polygon fill="none" stroke="black" points="508.25,-52.75 508.25,-75.25 535.25,-75.25 535.25,-52.75 508.25,-52.75"/> -<text xml:space="preserve" text-anchor="start" x="518.38" y="-59.5" font-family="Times,serif" font-size="14.00">8</text> -<polygon fill="none" stroke="black" points="535.25,-52.75 535.25,-75.25 578,-75.25 578,-52.75 535.25,-52.75"/> -<text xml:space="preserve" text-anchor="start" x="543.5" y="-59.5" font-family="Times,serif" font-size="14.00">u8be</text> -<polygon fill="none" stroke="black" points="578,-52.75 578,-75.25 615.5,-75.25 615.5,-52.75 578,-52.75"/> -<text xml:space="preserve" text-anchor="start" x="581" y="-59.5" font-family="Times,serif" font-size="14.00">num4</text> +<polygon fill="#e0ffe0" stroke="none" points="582.12,-207.75 582.12,-230.25 606.88,-230.25 606.88,-207.75 582.12,-207.75"/> +<polygon fill="none" stroke="black" points="582.12,-207.75 582.12,-230.25 606.88,-230.25 606.88,-207.75 582.12,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="585.12" y="-214.5" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="606.88,-207.75 606.88,-230.25 633.88,-230.25 633.88,-207.75 606.88,-207.75"/> +<polygon fill="none" stroke="black" points="606.88,-207.75 606.88,-230.25 633.88,-230.25 633.88,-207.75 606.88,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="609.88" y="-214.5" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="633.88,-207.75 633.88,-230.25 676.62,-230.25 676.62,-207.75 633.88,-207.75"/> +<polygon fill="none" stroke="black" points="633.88,-207.75 633.88,-230.25 676.62,-230.25 676.62,-207.75 633.88,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="643.62" y="-214.5" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="676.62,-207.75 676.62,-230.25 714.12,-230.25 714.12,-207.75 676.62,-207.75"/> +<polygon fill="none" stroke="black" points="676.62,-207.75 676.62,-230.25 714.12,-230.25 714.12,-207.75 676.62,-207.75"/> +<text xml:space="preserve" text-anchor="start" x="690.12" y="-214.5" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="582.12,-185.25 582.12,-207.75 606.88,-207.75 606.88,-185.25 582.12,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="591.12" y="-192" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="606.88,-185.25 606.88,-207.75 633.88,-207.75 633.88,-185.25 606.88,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="617" y="-192" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="633.88,-185.25 633.88,-207.75 676.62,-207.75 676.62,-185.25 633.88,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="648.5" y="-192" font-family="Times,serif" font-size="14.00">u1</text> +<polygon fill="none" stroke="black" points="676.62,-185.25 676.62,-207.75 714.12,-207.75 714.12,-185.25 676.62,-185.25"/> +<text xml:space="preserve" text-anchor="start" x="679.62" y="-192" font-family="Times,serif" font-size="14.00">num1</text> +<polygon fill="none" stroke="black" points="582.12,-162.75 582.12,-185.25 606.88,-185.25 606.88,-162.75 582.12,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="591.12" y="-169.5" font-family="Times,serif" font-size="14.00">1</text> +<polygon fill="none" stroke="black" points="606.88,-162.75 606.88,-185.25 633.88,-185.25 633.88,-162.75 606.88,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="617" y="-169.5" font-family="Times,serif" font-size="14.00">8</text> +<polygon fill="none" stroke="black" points="633.88,-162.75 633.88,-185.25 676.62,-185.25 676.62,-162.75 633.88,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="642.12" y="-169.5" font-family="Times,serif" font-size="14.00">u8be</text> +<polygon fill="none" stroke="black" points="676.62,-162.75 676.62,-185.25 714.12,-185.25 714.12,-162.75 676.62,-162.75"/> +<text xml:space="preserve" text-anchor="start" x="679.62" y="-169.5" font-family="Times,serif" font-size="14.00">time1</text> +<polygon fill="none" stroke="black" points="582.12,-140.25 582.12,-162.75 606.88,-162.75 606.88,-140.25 582.12,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="591.12" y="-147" font-family="Times,serif" font-size="14.00">9</text> +<polygon fill="none" stroke="black" points="606.88,-140.25 606.88,-162.75 633.88,-162.75 633.88,-140.25 606.88,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="614.75" y="-147" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="633.88,-140.25 633.88,-162.75 676.62,-162.75 676.62,-140.25 633.88,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="638.75" y="-147" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="676.62,-140.25 676.62,-162.75 714.12,-162.75 714.12,-140.25 676.62,-140.25"/> +<text xml:space="preserve" text-anchor="start" x="685.25" y="-147" font-family="Times,serif" font-size="14.00">str1</text> +<polygon fill="none" stroke="black" points="582.12,-117.75 582.12,-140.25 606.88,-140.25 606.88,-117.75 582.12,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="588.88" y="-124.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="606.88,-117.75 606.88,-140.25 633.88,-140.25 633.88,-117.75 606.88,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="617" y="-124.5" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="633.88,-117.75 633.88,-140.25 676.62,-140.25 676.62,-117.75 633.88,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="642.12" y="-124.5" font-family="Times,serif" font-size="14.00">u2be</text> +<polygon fill="none" stroke="black" points="676.62,-117.75 676.62,-140.25 714.12,-140.25 714.12,-117.75 676.62,-117.75"/> +<text xml:space="preserve" text-anchor="start" x="679.62" y="-124.5" font-family="Times,serif" font-size="14.00">num2</text> +<polygon fill="none" stroke="black" points="582.12,-95.25 582.12,-117.75 606.88,-117.75 606.88,-95.25 582.12,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="588.88" y="-102" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="606.88,-95.25 606.88,-117.75 633.88,-117.75 633.88,-95.25 606.88,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="614.75" y="-102" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="633.88,-95.25 633.88,-117.75 676.62,-117.75 676.62,-95.25 633.88,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="636.88" y="-102" font-family="Times,serif" font-size="14.00">Binary</text> +<polygon fill="none" stroke="black" points="676.62,-95.25 676.62,-117.75 714.12,-117.75 714.12,-95.25 676.62,-95.25"/> +<text xml:space="preserve" text-anchor="start" x="683.38" y="-102" font-family="Times,serif" font-size="14.00">bin1</text> +<polygon fill="none" stroke="black" points="582.12,-72.75 582.12,-95.25 606.88,-95.25 606.88,-72.75 582.12,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="588.88" y="-79.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="606.88,-72.75 606.88,-95.25 633.88,-95.25 633.88,-72.75 606.88,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="617" y="-79.5" font-family="Times,serif" font-size="14.00">4</text> +<polygon fill="none" stroke="black" points="633.88,-72.75 633.88,-95.25 676.62,-95.25 676.62,-72.75 633.88,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="642.12" y="-79.5" font-family="Times,serif" font-size="14.00">u4be</text> +<polygon fill="none" stroke="black" points="676.62,-72.75 676.62,-95.25 714.12,-95.25 714.12,-72.75 676.62,-72.75"/> +<text xml:space="preserve" text-anchor="start" x="679.62" y="-79.5" font-family="Times,serif" font-size="14.00">num3</text> +<polygon fill="none" stroke="black" points="582.12,-50.25 582.12,-72.75 606.88,-72.75 606.88,-50.25 582.12,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="588.88" y="-57" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="606.88,-50.25 606.88,-72.75 633.88,-72.75 633.88,-50.25 606.88,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="614.75" y="-57" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="633.88,-50.25 633.88,-72.75 676.62,-72.75 676.62,-50.25 633.88,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="638.75" y="-57" font-family="Times,serif" font-size="14.00">String</text> +<polygon fill="none" stroke="black" points="676.62,-50.25 676.62,-72.75 714.12,-72.75 714.12,-50.25 676.62,-50.25"/> +<text xml:space="preserve" text-anchor="start" x="685.25" y="-57" font-family="Times,serif" font-size="14.00">str2</text> +<polygon fill="none" stroke="black" points="582.12,-27.75 582.12,-50.25 606.88,-50.25 606.88,-27.75 582.12,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="588.88" y="-34.5" font-family="Times,serif" font-size="14.00">...</text> +<polygon fill="none" stroke="black" points="606.88,-27.75 606.88,-50.25 633.88,-50.25 633.88,-27.75 606.88,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="617" y="-34.5" font-family="Times,serif" font-size="14.00">8</text> +<polygon fill="none" stroke="black" points="633.88,-27.75 633.88,-50.25 676.62,-50.25 676.62,-27.75 633.88,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="642.12" y="-34.5" font-family="Times,serif" font-size="14.00">u8be</text> +<polygon fill="none" stroke="black" points="676.62,-27.75 676.62,-50.25 714.12,-50.25 714.12,-27.75 676.62,-27.75"/> +<text xml:space="preserve" text-anchor="start" x="679.62" y="-34.5" font-family="Times,serif" font-size="14.00">num4</text> </g> <!-- solec__seq_payload_switch->test__seq --> -<g id="edge2" class="edge"> -<title>solec__seq_payload_switch:case0->test__seq</title> -<path fill="none" stroke="black" stroke-width="2" d="M432.5,-153.75C442.89,-153.75 453.8,-153.76 464.6,-153.78"/> -<polygon fill="black" stroke="black" stroke-width="2" points="462.76,-157.27 472.77,-153.79 462.77,-150.27 462.76,-157.27"/> +<g id="edge5" class="edge"> +<title>solec__seq_payload_switch:case3->test__seq</title> +<path fill="none" stroke="black" stroke-width="2" d="M507.5,-322C534.99,-322 526.57,-293.4 542.5,-271 550.63,-259.57 559.21,-247.68 567.8,-235.86"/> +<polygon fill="black" stroke="black" stroke-width="2" points="569.53,-239.44 572.59,-229.29 563.87,-235.31 569.53,-239.44"/> </g> <!-- binary__seq --> <g id="node3" class="node"> <title>binary__seq</title> -<polygon fill="#e0ffe0" stroke="none" points="684,-73.25 684,-95.75 708.75,-95.75 708.75,-73.25 684,-73.25"/> -<polygon fill="none" stroke="black" points="684,-73.25 684,-95.75 708.75,-95.75 708.75,-73.25 684,-73.25"/> -<text xml:space="preserve" text-anchor="start" x="687" y="-80" font-family="Times,serif" font-size="14.00">pos</text> -<polygon fill="#e0ffe0" stroke="none" points="708.75,-73.25 708.75,-95.75 780.75,-95.75 780.75,-73.25 708.75,-73.25"/> -<polygon fill="none" stroke="black" points="708.75,-73.25 708.75,-95.75 780.75,-95.75 780.75,-73.25 708.75,-73.25"/> -<text xml:space="preserve" text-anchor="start" x="734.25" y="-80" font-family="Times,serif" font-size="14.00">size</text> -<polygon fill="#e0ffe0" stroke="none" points="780.75,-73.25 780.75,-95.75 813,-95.75 813,-73.25 780.75,-73.25"/> -<polygon fill="none" stroke="black" points="780.75,-73.25 780.75,-95.75 813,-95.75 813,-73.25 780.75,-73.25"/> -<text xml:space="preserve" text-anchor="start" x="785.25" y="-80" font-family="Times,serif" font-size="14.00">type</text> -<polygon fill="#e0ffe0" stroke="none" points="813,-73.25 813,-95.75 885,-95.75 885,-73.25 813,-73.25"/> -<polygon fill="none" stroke="black" points="813,-73.25 813,-95.75 885,-95.75 885,-73.25 813,-73.25"/> -<text xml:space="preserve" text-anchor="start" x="843.75" y="-80" font-family="Times,serif" font-size="14.00">id</text> -<polygon fill="none" stroke="black" points="684,-50.75 684,-73.25 708.75,-73.25 708.75,-50.75 684,-50.75"/> -<text xml:space="preserve" text-anchor="start" x="693" y="-57.5" font-family="Times,serif" font-size="14.00">0</text> -<polygon fill="none" stroke="black" points="708.75,-50.75 708.75,-73.25 780.75,-73.25 780.75,-50.75 708.75,-50.75"/> -<text xml:space="preserve" text-anchor="start" x="741.38" y="-57.5" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="780.75,-50.75 780.75,-73.25 813,-73.25 813,-50.75 780.75,-50.75"/> -<text xml:space="preserve" text-anchor="start" x="783.75" y="-57.5" font-family="Times,serif" font-size="14.00">u2be</text> -<polygon fill="none" stroke="black" points="813,-50.75 813,-73.25 885,-73.25 885,-50.75 813,-50.75"/> -<text xml:space="preserve" text-anchor="start" x="816" y="-57.5" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="684,-28.25 684,-50.75 708.75,-50.75 708.75,-28.25 684,-28.25"/> -<text xml:space="preserve" text-anchor="start" x="693" y="-35" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="708.75,-28.25 708.75,-50.75 780.75,-50.75 780.75,-28.25 708.75,-28.25"/> -<text xml:space="preserve" text-anchor="start" x="711.75" y="-35" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="780.75,-28.25 780.75,-50.75 813,-50.75 813,-28.25 780.75,-28.25"/> -<polygon fill="none" stroke="black" points="813,-28.25 813,-50.75 885,-50.75 885,-28.25 813,-28.25"/> -<text xml:space="preserve" text-anchor="start" x="827.62" y="-35" font-family="Times,serif" font-size="14.00">payload</text> +<polygon fill="#e0ffe0" stroke="none" points="806.25,-73.25 806.25,-95.75 831,-95.75 831,-73.25 806.25,-73.25"/> +<polygon fill="none" stroke="black" points="806.25,-73.25 806.25,-95.75 831,-95.75 831,-73.25 806.25,-73.25"/> +<text xml:space="preserve" text-anchor="start" x="809.25" y="-80" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="831,-73.25 831,-95.75 903,-95.75 903,-73.25 831,-73.25"/> +<polygon fill="none" stroke="black" points="831,-73.25 831,-95.75 903,-95.75 903,-73.25 831,-73.25"/> +<text xml:space="preserve" text-anchor="start" x="856.5" y="-80" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="903,-73.25 903,-95.75 935.25,-95.75 935.25,-73.25 903,-73.25"/> +<polygon fill="none" stroke="black" points="903,-73.25 903,-95.75 935.25,-95.75 935.25,-73.25 903,-73.25"/> +<text xml:space="preserve" text-anchor="start" x="907.5" y="-80" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="935.25,-73.25 935.25,-95.75 1007.25,-95.75 1007.25,-73.25 935.25,-73.25"/> +<polygon fill="none" stroke="black" points="935.25,-73.25 935.25,-95.75 1007.25,-95.75 1007.25,-73.25 935.25,-73.25"/> +<text xml:space="preserve" text-anchor="start" x="966" y="-80" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="806.25,-50.75 806.25,-73.25 831,-73.25 831,-50.75 806.25,-50.75"/> +<text xml:space="preserve" text-anchor="start" x="815.25" y="-57.5" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="831,-50.75 831,-73.25 903,-73.25 903,-50.75 831,-50.75"/> +<text xml:space="preserve" text-anchor="start" x="863.62" y="-57.5" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="903,-50.75 903,-73.25 935.25,-73.25 935.25,-50.75 903,-50.75"/> +<text xml:space="preserve" text-anchor="start" x="906" y="-57.5" font-family="Times,serif" font-size="14.00">u2be</text> +<polygon fill="none" stroke="black" points="935.25,-50.75 935.25,-73.25 1007.25,-73.25 1007.25,-50.75 935.25,-50.75"/> +<text xml:space="preserve" text-anchor="start" x="938.25" y="-57.5" font-family="Times,serif" font-size="14.00">len_payload</text> +<polygon fill="none" stroke="black" points="806.25,-28.25 806.25,-50.75 831,-50.75 831,-28.25 806.25,-28.25"/> +<text xml:space="preserve" text-anchor="start" x="815.25" y="-35" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="831,-28.25 831,-50.75 903,-50.75 903,-28.25 831,-28.25"/> +<text xml:space="preserve" text-anchor="start" x="834" y="-35" font-family="Times,serif" font-size="14.00">len_payload</text> +<polygon fill="none" stroke="black" points="903,-28.25 903,-50.75 935.25,-50.75 935.25,-28.25 903,-28.25"/> +<polygon fill="none" stroke="black" points="935.25,-28.25 935.25,-50.75 1007.25,-50.75 1007.25,-28.25 935.25,-28.25"/> +<text xml:space="preserve" text-anchor="start" x="949.88" y="-35" font-family="Times,serif" font-size="14.00">payload</text> </g> <!-- binary__seq->binary__seq --> -<g id="edge4" class="edge"> +<g id="edge7" class="edge"> <title>binary__seq:len_payload_type->binary__seq:payload_size</title> -<path fill="none" stroke="#404040" d="M874.25,-73.22C904.32,-92.5 888.26,-117.75 796.88,-117.75 712.07,-117.75 692.13,-82.84 713.73,-58.11"/> -<polygon fill="#404040" stroke="#404040" points="715.97,-60.81 721.05,-51.51 711.28,-55.61 715.97,-60.81"/> +<path fill="none" stroke="#404040" d="M999.07,-73.22C1032.3,-92.5 1015.38,-117.75 919.12,-117.75 829.24,-117.75 808.54,-82.4 833.26,-57.64"/> +<polygon fill="#404040" stroke="#404040" points="835.13,-60.63 840.7,-51.62 830.73,-55.19 835.13,-60.63"/> </g> <!-- string__seq --> -<g id="node4" class="node"> +<g id="node7" class="node"> <title>string__seq</title> -<polygon fill="#e0ffe0" stroke="none" points="667.5,-215.25 667.5,-237.75 692.25,-237.75 692.25,-215.25 667.5,-215.25"/> -<polygon fill="none" stroke="black" points="667.5,-215.25 667.5,-237.75 692.25,-237.75 692.25,-215.25 667.5,-215.25"/> -<text xml:space="preserve" text-anchor="start" x="670.5" y="-222" font-family="Times,serif" font-size="14.00">pos</text> -<polygon fill="#e0ffe0" stroke="none" points="692.25,-215.25 692.25,-237.75 764.25,-237.75 764.25,-215.25 692.25,-215.25"/> -<polygon fill="none" stroke="black" points="692.25,-215.25 692.25,-237.75 764.25,-237.75 764.25,-215.25 692.25,-215.25"/> -<text xml:space="preserve" text-anchor="start" x="717.75" y="-222" font-family="Times,serif" font-size="14.00">size</text> -<polygon fill="#e0ffe0" stroke="none" points="764.25,-215.25 764.25,-237.75 829.5,-237.75 829.5,-215.25 764.25,-215.25"/> -<polygon fill="none" stroke="black" points="764.25,-215.25 764.25,-237.75 829.5,-237.75 829.5,-215.25 764.25,-215.25"/> -<text xml:space="preserve" text-anchor="start" x="785.25" y="-222" font-family="Times,serif" font-size="14.00">type</text> -<polygon fill="#e0ffe0" stroke="none" points="829.5,-215.25 829.5,-237.75 901.5,-237.75 901.5,-215.25 829.5,-215.25"/> -<polygon fill="none" stroke="black" points="829.5,-215.25 829.5,-237.75 901.5,-237.75 901.5,-215.25 829.5,-215.25"/> -<text xml:space="preserve" text-anchor="start" x="860.25" y="-222" font-family="Times,serif" font-size="14.00">id</text> -<polygon fill="none" stroke="black" points="667.5,-192.75 667.5,-215.25 692.25,-215.25 692.25,-192.75 667.5,-192.75"/> -<text xml:space="preserve" text-anchor="start" x="676.5" y="-199.5" font-family="Times,serif" font-size="14.00">0</text> -<polygon fill="none" stroke="black" points="692.25,-192.75 692.25,-215.25 764.25,-215.25 764.25,-192.75 692.25,-192.75"/> -<text xml:space="preserve" text-anchor="start" x="724.88" y="-199.5" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="764.25,-192.75 764.25,-215.25 829.5,-215.25 829.5,-192.75 764.25,-192.75"/> -<text xml:space="preserve" text-anchor="start" x="783.75" y="-199.5" font-family="Times,serif" font-size="14.00">u2be</text> -<polygon fill="none" stroke="black" points="829.5,-192.75 829.5,-215.25 901.5,-215.25 901.5,-192.75 829.5,-192.75"/> -<text xml:space="preserve" text-anchor="start" x="832.5" y="-199.5" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="667.5,-170.25 667.5,-192.75 692.25,-192.75 692.25,-170.25 667.5,-170.25"/> -<text xml:space="preserve" text-anchor="start" x="676.5" y="-177" font-family="Times,serif" font-size="14.00">2</text> -<polygon fill="none" stroke="black" points="692.25,-170.25 692.25,-192.75 764.25,-192.75 764.25,-170.25 692.25,-170.25"/> -<text xml:space="preserve" text-anchor="start" x="695.25" y="-177" font-family="Times,serif" font-size="14.00">len_payload</text> -<polygon fill="none" stroke="black" points="764.25,-170.25 764.25,-192.75 829.5,-192.75 829.5,-170.25 764.25,-170.25"/> -<text xml:space="preserve" text-anchor="start" x="767.25" y="-177" font-family="Times,serif" font-size="14.00">str(UTF-8)</text> -<polygon fill="none" stroke="black" points="829.5,-170.25 829.5,-192.75 901.5,-192.75 901.5,-170.25 829.5,-170.25"/> -<text xml:space="preserve" text-anchor="start" x="844.12" y="-177" font-family="Times,serif" font-size="14.00">payload</text> +<polygon fill="#e0ffe0" stroke="none" points="789.75,-215.25 789.75,-237.75 814.5,-237.75 814.5,-215.25 789.75,-215.25"/> +<polygon fill="none" stroke="black" points="789.75,-215.25 789.75,-237.75 814.5,-237.75 814.5,-215.25 789.75,-215.25"/> +<text xml:space="preserve" text-anchor="start" x="792.75" y="-222" font-family="Times,serif" font-size="14.00">pos</text> +<polygon fill="#e0ffe0" stroke="none" points="814.5,-215.25 814.5,-237.75 886.5,-237.75 886.5,-215.25 814.5,-215.25"/> +<polygon fill="none" stroke="black" points="814.5,-215.25 814.5,-237.75 886.5,-237.75 886.5,-215.25 814.5,-215.25"/> +<text xml:space="preserve" text-anchor="start" x="840" y="-222" font-family="Times,serif" font-size="14.00">size</text> +<polygon fill="#e0ffe0" stroke="none" points="886.5,-215.25 886.5,-237.75 951.75,-237.75 951.75,-215.25 886.5,-215.25"/> +<polygon fill="none" stroke="black" points="886.5,-215.25 886.5,-237.75 951.75,-237.75 951.75,-215.25 886.5,-215.25"/> +<text xml:space="preserve" text-anchor="start" x="907.5" y="-222" font-family="Times,serif" font-size="14.00">type</text> +<polygon fill="#e0ffe0" stroke="none" points="951.75,-215.25 951.75,-237.75 1023.75,-237.75 1023.75,-215.25 951.75,-215.25"/> +<polygon fill="none" stroke="black" points="951.75,-215.25 951.75,-237.75 1023.75,-237.75 1023.75,-215.25 951.75,-215.25"/> +<text xml:space="preserve" text-anchor="start" x="982.5" y="-222" font-family="Times,serif" font-size="14.00">id</text> +<polygon fill="none" stroke="black" points="789.75,-192.75 789.75,-215.25 814.5,-215.25 814.5,-192.75 789.75,-192.75"/> +<text xml:space="preserve" text-anchor="start" x="798.75" y="-199.5" font-family="Times,serif" font-size="14.00">0</text> +<polygon fill="none" stroke="black" points="814.5,-192.75 814.5,-215.25 886.5,-215.25 886.5,-192.75 814.5,-192.75"/> +<text xml:space="preserve" text-anchor="start" x="847.12" y="-199.5" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="886.5,-192.75 886.5,-215.25 951.75,-215.25 951.75,-192.75 886.5,-192.75"/> +<text xml:space="preserve" text-anchor="start" x="906" y="-199.5" font-family="Times,serif" font-size="14.00">u2be</text> +<polygon fill="none" stroke="black" points="951.75,-192.75 951.75,-215.25 1023.75,-215.25 1023.75,-192.75 951.75,-192.75"/> +<text xml:space="preserve" text-anchor="start" x="954.75" y="-199.5" font-family="Times,serif" font-size="14.00">len_payload</text> +<polygon fill="none" stroke="black" points="789.75,-170.25 789.75,-192.75 814.5,-192.75 814.5,-170.25 789.75,-170.25"/> +<text xml:space="preserve" text-anchor="start" x="798.75" y="-177" font-family="Times,serif" font-size="14.00">2</text> +<polygon fill="none" stroke="black" points="814.5,-170.25 814.5,-192.75 886.5,-192.75 886.5,-170.25 814.5,-170.25"/> +<text xml:space="preserve" text-anchor="start" x="817.5" y="-177" font-family="Times,serif" font-size="14.00">len_payload</text> +<polygon fill="none" stroke="black" points="886.5,-170.25 886.5,-192.75 951.75,-192.75 951.75,-170.25 886.5,-170.25"/> +<text xml:space="preserve" text-anchor="start" x="889.5" y="-177" font-family="Times,serif" font-size="14.00">str(UTF-8)</text> +<polygon fill="none" stroke="black" points="951.75,-170.25 951.75,-192.75 1023.75,-192.75 1023.75,-170.25 951.75,-170.25"/> +<text xml:space="preserve" text-anchor="start" x="966.38" y="-177" font-family="Times,serif" font-size="14.00">payload</text> </g> <!-- string__seq->string__seq --> -<g id="edge5" class="edge"> +<g id="edge8" class="edge"> <title>string__seq:len_payload_type->string__seq:payload_size</title> -<path fill="none" stroke="#404040" d="M890.66,-215.22C920.31,-234.5 901.86,-259.75 796.88,-259.75 699.45,-259.75 676.54,-224.84 697.45,-200.11"/> -<polygon fill="#404040" stroke="#404040" points="699.62,-202.86 704.62,-193.52 694.89,-197.71 699.62,-202.86"/> +<path fill="none" stroke="#404040" d="M1015.48,-215.22C1048.29,-234.5 1028.98,-259.75 919.12,-259.75 816.98,-259.75 793.12,-224.7 816.65,-199.96"/> +<polygon fill="#404040" stroke="#404040" points="818.82,-202.71 824.28,-193.63 814.35,-197.33 818.82,-202.71"/> </g> <!-- test__seq->binary__seq --> -<g id="edge7" class="edge"> +<g id="edge10" class="edge"> <title>test__seq:bin1_type->binary__seq</title> -<path fill="none" stroke="black" stroke-width="2" d="M616.5,-131.5C650.49,-131.5 685.59,-119.08 714.79,-104.73"/> -<polygon fill="black" stroke="black" stroke-width="2" points="714.84,-108.63 722.16,-100.97 711.66,-102.4 714.84,-108.63"/> +<path fill="none" stroke="black" stroke-width="2" d="M715.12,-106.5C738.74,-106.5 763.58,-103.22 787.25,-98.44"/> +<polygon fill="black" stroke="black" stroke-width="2" points="786.38,-102.21 795.43,-96.7 784.92,-95.36 786.38,-102.21"/> </g> <!-- test__seq->string__seq --> -<g id="edge6" class="edge"> +<g id="edge9" class="edge"> <title>test__seq:str1_type->string__seq</title> -<path fill="none" stroke="black" stroke-width="2" d="M616.5,-176.5C626.97,-176.5 637.76,-177.03 648.57,-177.95"/> -<polygon fill="black" stroke="black" stroke-width="2" points="646.54,-181.27 656.83,-178.75 647.21,-174.3 646.54,-181.27"/> +<path fill="none" stroke="black" stroke-width="2" d="M715.12,-151.5C742.13,-151.5 770.53,-156.46 796.93,-163.32"/> +<polygon fill="black" stroke="black" stroke-width="2" points="794.23,-166.22 804.8,-165.47 796.07,-159.46 794.23,-166.22"/> </g> <!-- test__seq->string__seq --> -<g id="edge8" class="edge"> +<g id="edge11" class="edge"> <title>test__seq:str2_type->string__seq</title> -<path fill="none" stroke="black" stroke-width="2" d="M616.5,-86.5C650.29,-86.5 626.26,-131.53 651.5,-154 653.78,-156.03 656.15,-157.98 658.6,-159.86"/> -<polygon fill="black" stroke="black" stroke-width="2" points="655.11,-161.68 665.3,-164.57 659.14,-155.95 655.11,-161.68"/> +<path fill="none" stroke="black" stroke-width="2" d="M715.12,-61.5C763.8,-61.5 736.03,-123.24 773.75,-154 776.42,-156.18 779.19,-158.26 782.05,-160.26"/> +<polygon fill="black" stroke="black" stroke-width="2" points="778.61,-162.2 788.9,-164.72 782.43,-156.34 778.61,-162.2"/> </g> </g> </svg> |
