1
0
mirror of https://github.com/Mojang/bedrock-protocol-docs.git synced 2025-08-03 17:50:54 +00:00
Files
bedrock-protocol-docs/html/svg/reliabilityHeader.svg
Oswaldo Leyva Barrientos 11ff951378 Protocol version 671 for r/20_u8
2024-04-25 11:47:36 -07:00

584 lines
31 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 10.0.1 (20240210.2158)
-->
<!-- Title: Reliability Header Pages: 1 -->
<svg width="1042pt" height="962pt"
viewBox="0.00 0.00 1041.62 962.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 958)">
<title>Reliability Header</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-958 1037.62,-958 1037.62,4 -4,4"/>
<!-- 0 -->
<!-- name: &quot;Reliability Header&quot;, typeName: &quot;&quot;, id: 0, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node1" class="node">
<title>0</title>
<ellipse fill="none" stroke="black" cx="76.01" cy="-713" rx="76.01" ry="18"/>
<text text-anchor="middle" x="76.01" y="-707.58" font-family="Times New Roman,serif" font-size="14.00">Reliability Header</text>
</g>
<!-- 1 -->
<!-- name: &quot;Reliability Type (3 bits), is packet split? (1 bit)&quot;, typeName: &quot;&quot;, id: 1, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node2" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="370.83" cy="-915" rx="182.8" ry="18"/>
<text text-anchor="middle" x="370.83" y="-909.58" font-family="Times New Roman,serif" font-size="14.00">Reliability Type (3 bits), is packet split? (1 bit)</text>
</g>
<!-- 0&#45;&gt;1 -->
<g id="edge1" class="edge">
<title>0&#45;&gt;1</title>
<path fill="none" stroke="black" d="M87.34,-730.89C104.67,-759.46 142.27,-815.48 188.03,-848 217.59,-869.01 254.49,-884.2 287.32,-894.76"/>
<polygon fill="black" stroke="black" points="286.24,-898.09 296.83,-897.71 288.32,-891.4 286.24,-898.09"/>
</g>
<!-- 3 -->
<!-- name: &quot;Payload Bit Length&quot;, typeName: &quot;&quot;, id: 3, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node4" class="node">
<title>3</title>
<ellipse fill="none" stroke="black" cx="370.83" cy="-821" rx="81.5" ry="18"/>
<text text-anchor="middle" x="370.83" y="-815.58" font-family="Times New Roman,serif" font-size="14.00">Payload Bit Length</text>
</g>
<!-- 0&#45;&gt;3 -->
<g id="edge3" class="edge">
<title>0&#45;&gt;3</title>
<path fill="none" stroke="black" d="M118.66,-728.36C170.72,-747.56 259.9,-780.46 316.8,-801.44"/>
<polygon fill="black" stroke="black" points="315.36,-804.64 325.96,-804.82 317.79,-798.08 315.36,-804.64"/>
</g>
<!-- 5 -->
<!-- name: &quot;Dependency on &#39;Reliability Type&#39;&quot;, typeName: &quot;&quot;, id: 5, branchId: 0, recurseId: &#45;1, attributes: 2, notes: &quot;&quot; -->
<g id="node6" class="node">
<title>5</title>
<polygon fill="none" stroke="black" points="465.45,-704 270.2,-704 270.2,-668 471.45,-668 471.45,-698 465.45,-704"/>
<polyline fill="none" stroke="black" points="465.45,-704 465.45,-698"/>
<polyline fill="none" stroke="black" points="471.45,-698 465.45,-698"/>
<text text-anchor="middle" x="370.83" y="-680.58" font-family="Times New Roman,serif" font-size="14.00">Dependency on &#39;Reliability Type&#39;</text>
</g>
<!-- 0&#45;&gt;5 -->
<g id="edge5" class="edge">
<title>0&#45;&gt;5</title>
<path fill="none" stroke="black" d="M147.52,-706.5C180.72,-703.44 221.13,-699.71 258.33,-696.28"/>
<polygon fill="black" stroke="black" points="258.62,-699.77 268.26,-695.37 257.98,-692.8 258.62,-699.77"/>
</g>
<!-- 34 -->
<!-- name: &quot;Dependency on &#39;Is Packet Split?&#39;&quot;, typeName: &quot;&quot;, id: 34, branchId: 0, recurseId: &#45;1, attributes: 2, notes: &quot;&quot; -->
<g id="node35" class="node">
<title>34</title>
<polygon fill="none" stroke="black" points="465.08,-198 270.58,-198 270.58,-162 471.08,-162 471.08,-192 465.08,-198"/>
<polyline fill="none" stroke="black" points="465.08,-198 465.08,-192"/>
<polyline fill="none" stroke="black" points="471.08,-192 465.08,-192"/>
<text text-anchor="middle" x="370.83" y="-174.57" font-family="Times New Roman,serif" font-size="14.00">Dependency on &#39;Is Packet Split?&#39;</text>
</g>
<!-- 0&#45;&gt;34 -->
<g id="edge34" class="edge">
<title>0&#45;&gt;34</title>
<path fill="none" stroke="black" d="M86.92,-694.96C130.06,-616.44 301.66,-304.08 354.36,-208.16"/>
<polygon fill="black" stroke="black" points="357.29,-210.08 359.04,-199.64 351.16,-206.71 357.29,-210.08"/>
</g>
<!-- 2 -->
<!-- name: &quot;byte&quot;, typeName: &quot;&quot;, id: 2, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node3" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-936" rx="27" ry="18"/>
<text text-anchor="middle" x="968.59" y="-930.58" font-family="Times New Roman,serif" font-size="14.00">byte</text>
</g>
<!-- 1&#45;&gt;2 -->
<g id="edge2" class="edge">
<title>1&#45;&gt;2</title>
<path fill="none" stroke="black" d="M543.75,-921.06C678,-925.79 854.09,-932 930.05,-934.68"/>
<polygon fill="black" stroke="black" points="929.73,-938.17 939.84,-935.02 929.97,-931.17 929.73,-938.17"/>
</g>
<!-- 4 -->
<!-- name: &quot;unsigned short&quot;, typeName: &quot;&quot;, id: 4, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node5" class="node">
<title>4</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-882" rx="65.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-876.58" font-family="Times New Roman,serif" font-size="14.00">unsigned short</text>
</g>
<!-- 3&#45;&gt;4 -->
<g id="edge4" class="edge">
<title>3&#45;&gt;4</title>
<path fill="none" stroke="black" d="M445.48,-828.54C560.6,-840.33 781.79,-862.98 895.78,-874.65"/>
<polygon fill="black" stroke="black" points="895.32,-878.12 905.63,-875.66 896.04,-871.16 895.32,-878.12"/>
</g>
<!-- 6 -->
<!-- name: &quot;if (0)&quot;, typeName: &quot;&quot;, id: 6, branchId: 0, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node7" class="node">
<title>6</title>
<polygon fill="none" stroke="black" points="630.08,-811 589.62,-793 630.08,-775 670.54,-793 630.08,-811"/>
<text text-anchor="middle" x="630.08" y="-787.58" font-family="Times New Roman,serif" font-size="14.00">if (0)</text>
</g>
<!-- 5&#45;&gt;6 -->
<g id="edge6" class="edge">
<title>5&#45;&gt;6</title>
<path fill="none" stroke="black" d="M416.05,-704.39C467.81,-725.92 552.22,-761.03 597.69,-779.94"/>
<polygon fill="black" stroke="black" points="596.13,-783.08 606.71,-783.69 598.82,-776.62 596.13,-783.08"/>
</g>
<!-- 8 -->
<!-- name: &quot;if (1)&quot;, typeName: &quot;&quot;, id: 8, branchId: 1, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node9" class="node">
<title>8</title>
<polygon fill="none" stroke="black" points="630.08,-721 589.62,-703 630.08,-685 670.54,-703 630.08,-721"/>
<text text-anchor="middle" x="630.08" y="-697.58" font-family="Times New Roman,serif" font-size="14.00">if (1)</text>
</g>
<!-- 5&#45;&gt;8 -->
<g id="edge8" class="edge">
<title>5&#45;&gt;8</title>
<path fill="none" stroke="black" d="M471.66,-692.6C509.85,-695.12 551.62,-697.88 582.53,-699.92"/>
<polygon fill="black" stroke="black" points="582.1,-703.4 592.31,-700.57 582.56,-696.42 582.1,-703.4"/>
</g>
<!-- 15 -->
<!-- name: &quot;if (2)&quot;, typeName: &quot;&quot;, id: 15, branchId: 2, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node16" class="node">
<title>15</title>
<polygon fill="none" stroke="black" points="630.08,-650 589.62,-632 630.08,-614 670.54,-632 630.08,-650"/>
<text text-anchor="middle" x="630.08" y="-626.58" font-family="Times New Roman,serif" font-size="14.00">if (2)</text>
</g>
<!-- 5&#45;&gt;15 -->
<g id="edge15" class="edge">
<title>5&#45;&gt;15</title>
<path fill="none" stroke="black" d="M459.64,-667.57C504.23,-658.21 556.13,-647.31 590.62,-640.07"/>
<polygon fill="black" stroke="black" points="591.07,-643.56 600.14,-638.08 589.63,-636.71 591.07,-643.56"/>
</g>
<!-- 18 -->
<!-- name: &quot;if (3)&quot;, typeName: &quot;&quot;, id: 18, branchId: 3, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node19" class="node">
<title>18</title>
<polygon fill="none" stroke="black" points="630.08,-549 589.62,-531 630.08,-513 670.54,-531 630.08,-549"/>
<text text-anchor="middle" x="630.08" y="-525.58" font-family="Times New Roman,serif" font-size="14.00">if (3)</text>
</g>
<!-- 5&#45;&gt;18 -->
<g id="edge18" class="edge">
<title>5&#45;&gt;18</title>
<path fill="none" stroke="black" d="M402.35,-667.61C453.06,-637.05 553.87,-576.32 602.12,-547.24"/>
<polygon fill="black" stroke="black" points="603.8,-550.32 610.56,-542.16 600.19,-544.32 603.8,-550.32"/>
</g>
<!-- 25 -->
<!-- name: &quot;if (4)&quot;, typeName: &quot;&quot;, id: 25, branchId: 4, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node26" class="node">
<title>25</title>
<polygon fill="none" stroke="black" points="630.08,-360 589.62,-342 630.08,-324 670.54,-342 630.08,-360"/>
<text text-anchor="middle" x="630.08" y="-336.57" font-family="Times New Roman,serif" font-size="14.00">if (4)</text>
</g>
<!-- 5&#45;&gt;25 -->
<g id="edge25" class="edge">
<title>5&#45;&gt;25</title>
<path fill="none" stroke="black" d="M385.66,-667.51C429.35,-609.09 564.31,-428.61 612.1,-364.71"/>
<polygon fill="black" stroke="black" points="614.9,-366.81 618.09,-356.7 609.3,-362.62 614.9,-366.81"/>
</g>
<!-- 7 -->
<!-- name: &quot;[No Data]&quot;, typeName: &quot;&quot;, id: 7, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node8" class="node">
<title>7</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-828" rx="47.57" ry="18"/>
<text text-anchor="middle" x="968.59" y="-822.58" font-family="Times New Roman,serif" font-size="14.00">[No Data]</text>
</g>
<!-- 6&#45;&gt;7 -->
<g id="edge7" class="edge">
<title>6&#45;&gt;7</title>
<path fill="none" stroke="black" d="M663.77,-796.48C677.04,-797.89 692.52,-799.53 706.54,-801 777.05,-808.38 858.27,-816.76 911.15,-822.2"/>
<polygon fill="black" stroke="black" points="910.5,-825.66 920.81,-823.2 911.22,-818.69 910.5,-825.66"/>
</g>
<!-- 9 -->
<!-- name: &quot;Sequenced Index&quot;, typeName: &quot;&quot;, id: 9, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node10" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-774" rx="75.02" ry="18"/>
<text text-anchor="middle" x="787.05" y="-768.58" font-family="Times New Roman,serif" font-size="14.00">Sequenced Index</text>
</g>
<!-- 8&#45;&gt;9 -->
<g id="edge9" class="edge">
<title>8&#45;&gt;9</title>
<path fill="none" stroke="black" d="M647.36,-713.78C662.3,-723.36 685.29,-737.31 706.54,-747 713.49,-750.17 720.93,-753.17 728.36,-755.94"/>
<polygon fill="black" stroke="black" points="727.18,-759.23 737.77,-759.32 729.54,-752.65 727.18,-759.23"/>
</g>
<!-- 11 -->
<!-- name: &quot;Ordering Index&quot;, typeName: &quot;&quot;, id: 11, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node12" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-720" rx="67.03" ry="18"/>
<text text-anchor="middle" x="787.05" y="-714.58" font-family="Times New Roman,serif" font-size="14.00">Ordering Index</text>
</g>
<!-- 8&#45;&gt;11 -->
<g id="edge11" class="edge">
<title>8&#45;&gt;11</title>
<path fill="none" stroke="black" d="M663.57,-706.56C678.06,-708.15 695.76,-710.09 713.15,-712"/>
<polygon fill="black" stroke="black" points="712.67,-715.47 722.99,-713.08 713.43,-708.51 712.67,-715.47"/>
</g>
<!-- 13 -->
<!-- name: &quot;Ordering Channel&quot;, typeName: &quot;&quot;, id: 13, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node14" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-666" rx="76.01" ry="18"/>
<text text-anchor="middle" x="787.05" y="-660.58" font-family="Times New Roman,serif" font-size="14.00">Ordering Channel</text>
</g>
<!-- 8&#45;&gt;13 -->
<g id="edge13" class="edge">
<title>8&#45;&gt;13</title>
<path fill="none" stroke="black" d="M657.37,-696.72C674.88,-692.54 698.7,-686.86 721.09,-681.51"/>
<polygon fill="black" stroke="black" points="721.89,-684.92 730.8,-679.19 720.26,-678.11 721.89,-684.92"/>
</g>
<!-- 10 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 10, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node11" class="node">
<title>10</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-774" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-768.58" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 9&#45;&gt;10 -->
<g id="edge10" class="edge">
<title>9&#45;&gt;10</title>
<path fill="none" stroke="black" d="M862.37,-774C872.46,-774 882.83,-774 892.92,-774"/>
<polygon fill="black" stroke="black" points="892.67,-777.5 902.67,-774 892.67,-770.5 892.67,-777.5"/>
</g>
<!-- 12 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 12, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node13" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-720" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-714.58" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 11&#45;&gt;12 -->
<g id="edge12" class="edge">
<title>11&#45;&gt;12</title>
<path fill="none" stroke="black" d="M854.39,-720C866.99,-720 880.24,-720 893.07,-720"/>
<polygon fill="black" stroke="black" points="892.69,-723.5 902.69,-720 892.69,-716.5 892.69,-723.5"/>
</g>
<!-- 14 -->
<!-- name: &quot;byte&quot;, typeName: &quot;&quot;, id: 14, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node15" class="node">
<title>14</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-666" rx="27" ry="18"/>
<text text-anchor="middle" x="968.59" y="-660.58" font-family="Times New Roman,serif" font-size="14.00">byte</text>
</g>
<!-- 13&#45;&gt;14 -->
<g id="edge14" class="edge">
<title>13&#45;&gt;14</title>
<path fill="none" stroke="black" d="M863.41,-666C886.46,-666 910.8,-666 930.16,-666"/>
<polygon fill="black" stroke="black" points="930,-669.5 940,-666 930,-662.5 930,-669.5"/>
</g>
<!-- 16 -->
<!-- name: &quot;Reliable Message&quot;, typeName: &quot;&quot;, id: 16, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node17" class="node">
<title>16</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-612" rx="75.02" ry="18"/>
<text text-anchor="middle" x="787.05" y="-606.58" font-family="Times New Roman,serif" font-size="14.00">Reliable Message</text>
</g>
<!-- 15&#45;&gt;16 -->
<g id="edge16" class="edge">
<title>15&#45;&gt;16</title>
<path fill="none" stroke="black" d="M662.44,-627.95C675.95,-626.21 692.4,-624.09 708.84,-621.97"/>
<polygon fill="black" stroke="black" points="709.2,-625.45 718.67,-620.7 708.31,-618.5 709.2,-625.45"/>
</g>
<!-- 17 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 17, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node18" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-612" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-606.58" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 16&#45;&gt;17 -->
<g id="edge17" class="edge">
<title>16&#45;&gt;17</title>
<path fill="none" stroke="black" d="M862.37,-612C872.46,-612 882.83,-612 892.92,-612"/>
<polygon fill="black" stroke="black" points="892.67,-615.5 902.67,-612 892.67,-608.5 892.67,-615.5"/>
</g>
<!-- 19 -->
<!-- name: &quot;Reliable Message&quot;, typeName: &quot;&quot;, id: 19, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node20" class="node">
<title>19</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-558" rx="75.02" ry="18"/>
<text text-anchor="middle" x="787.05" y="-552.58" font-family="Times New Roman,serif" font-size="14.00">Reliable Message</text>
</g>
<!-- 18&#45;&gt;19 -->
<g id="edge19" class="edge">
<title>18&#45;&gt;19</title>
<path fill="none" stroke="black" d="M660.23,-536.08C675.55,-538.75 695.06,-542.15 714.13,-545.47"/>
<polygon fill="black" stroke="black" points="713.32,-548.88 723.77,-547.15 714.52,-541.98 713.32,-548.88"/>
</g>
<!-- 21 -->
<!-- name: &quot;Ordering Index&quot;, typeName: &quot;&quot;, id: 21, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node22" class="node">
<title>21</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-504" rx="67.03" ry="18"/>
<text text-anchor="middle" x="787.05" y="-498.57" font-family="Times New Roman,serif" font-size="14.00">Ordering Index</text>
</g>
<!-- 18&#45;&gt;21 -->
<g id="edge21" class="edge">
<title>18&#45;&gt;21</title>
<path fill="none" stroke="black" d="M660.23,-525.92C676.8,-523.03 698.28,-519.29 718.79,-515.72"/>
<polygon fill="black" stroke="black" points="719.31,-519.18 728.56,-514.02 718.1,-512.29 719.31,-519.18"/>
</g>
<!-- 23 -->
<!-- name: &quot;Ordering Channel&quot;, typeName: &quot;&quot;, id: 23, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node24" class="node">
<title>23</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-450" rx="76.01" ry="18"/>
<text text-anchor="middle" x="787.05" y="-444.57" font-family="Times New Roman,serif" font-size="14.00">Ordering Channel</text>
</g>
<!-- 18&#45;&gt;23 -->
<g id="edge23" class="edge">
<title>18&#45;&gt;23</title>
<path fill="none" stroke="black" d="M645.01,-519.1C659.57,-507.15 683.47,-488.84 706.54,-477 713.08,-473.65 720.12,-470.57 727.22,-467.78"/>
<polygon fill="black" stroke="black" points="728.03,-471.21 736.18,-464.45 725.59,-464.65 728.03,-471.21"/>
</g>
<!-- 20 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 20, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node21" class="node">
<title>20</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-558" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-552.58" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 19&#45;&gt;20 -->
<g id="edge20" class="edge">
<title>19&#45;&gt;20</title>
<path fill="none" stroke="black" d="M862.37,-558C872.46,-558 882.83,-558 892.92,-558"/>
<polygon fill="black" stroke="black" points="892.67,-561.5 902.67,-558 892.67,-554.5 892.67,-561.5"/>
</g>
<!-- 22 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 22, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node23" class="node">
<title>22</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-504" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-498.57" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 21&#45;&gt;22 -->
<g id="edge22" class="edge">
<title>21&#45;&gt;22</title>
<path fill="none" stroke="black" d="M854.39,-504C866.99,-504 880.24,-504 893.07,-504"/>
<polygon fill="black" stroke="black" points="892.69,-507.5 902.69,-504 892.69,-500.5 892.69,-507.5"/>
</g>
<!-- 24 -->
<!-- name: &quot;byte&quot;, typeName: &quot;&quot;, id: 24, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node25" class="node">
<title>24</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-450" rx="27" ry="18"/>
<text text-anchor="middle" x="968.59" y="-444.57" font-family="Times New Roman,serif" font-size="14.00">byte</text>
</g>
<!-- 23&#45;&gt;24 -->
<g id="edge24" class="edge">
<title>23&#45;&gt;24</title>
<path fill="none" stroke="black" d="M863.41,-450C886.46,-450 910.8,-450 930.16,-450"/>
<polygon fill="black" stroke="black" points="930,-453.5 940,-450 930,-446.5 930,-453.5"/>
</g>
<!-- 26 -->
<!-- name: &quot;Reliable Message&quot;, typeName: &quot;&quot;, id: 26, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node27" class="node">
<title>26</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-396" rx="75.02" ry="18"/>
<text text-anchor="middle" x="787.05" y="-390.57" font-family="Times New Roman,serif" font-size="14.00">Reliable Message</text>
</g>
<!-- 25&#45;&gt;26 -->
<g id="edge26" class="edge">
<title>25&#45;&gt;26</title>
<path fill="none" stroke="black" d="M653.17,-350.01C668.2,-355.43 688.54,-362.72 706.54,-369 714.58,-371.8 723.09,-374.73 731.44,-377.58"/>
<polygon fill="black" stroke="black" points="730.24,-380.87 740.83,-380.78 732.49,-374.25 730.24,-380.87"/>
</g>
<!-- 28 -->
<!-- name: &quot;Sequenced Index&quot;, typeName: &quot;&quot;, id: 28, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node29" class="node">
<title>28</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-342" rx="75.02" ry="18"/>
<text text-anchor="middle" x="787.05" y="-336.57" font-family="Times New Roman,serif" font-size="14.00">Sequenced Index</text>
</g>
<!-- 25&#45;&gt;28 -->
<g id="edge28" class="edge">
<title>25&#45;&gt;28</title>
<path fill="none" stroke="black" d="M671.39,-342C680.39,-342 690.25,-342 700.31,-342"/>
<polygon fill="black" stroke="black" points="700.19,-345.5 710.19,-342 700.19,-338.5 700.19,-345.5"/>
</g>
<!-- 30 -->
<!-- name: &quot;Ordering Index&quot;, typeName: &quot;&quot;, id: 30, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node31" class="node">
<title>30</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-288" rx="67.03" ry="18"/>
<text text-anchor="middle" x="787.05" y="-282.57" font-family="Times New Roman,serif" font-size="14.00">Ordering Index</text>
</g>
<!-- 25&#45;&gt;30 -->
<g id="edge30" class="edge">
<title>25&#45;&gt;30</title>
<path fill="none" stroke="black" d="M653.17,-333.99C668.2,-328.57 688.54,-321.28 706.54,-315 715.15,-312 724.31,-308.85 733.22,-305.81"/>
<polygon fill="black" stroke="black" points="734.15,-309.19 742.49,-302.65 731.89,-302.56 734.15,-309.19"/>
</g>
<!-- 32 -->
<!-- name: &quot;Ordering Channel&quot;, typeName: &quot;&quot;, id: 32, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node33" class="node">
<title>32</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-234" rx="76.01" ry="18"/>
<text text-anchor="middle" x="787.05" y="-228.57" font-family="Times New Roman,serif" font-size="14.00">Ordering Channel</text>
</g>
<!-- 25&#45;&gt;32 -->
<g id="edge32" class="edge">
<title>25&#45;&gt;32</title>
<path fill="none" stroke="black" d="M640.48,-328.29C653.41,-310.41 678.3,-279.27 706.54,-261 712.03,-257.45 718.04,-254.32 724.21,-251.56"/>
<polygon fill="black" stroke="black" points="725.36,-254.87 733.29,-247.84 722.71,-248.39 725.36,-254.87"/>
</g>
<!-- 27 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 27, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node28" class="node">
<title>27</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-396" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-390.57" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 26&#45;&gt;27 -->
<g id="edge27" class="edge">
<title>26&#45;&gt;27</title>
<path fill="none" stroke="black" d="M862.37,-396C872.46,-396 882.83,-396 892.92,-396"/>
<polygon fill="black" stroke="black" points="892.67,-399.5 902.67,-396 892.67,-392.5 892.67,-399.5"/>
</g>
<!-- 29 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 29, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node30" class="node">
<title>29</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-342" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-336.57" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 28&#45;&gt;29 -->
<g id="edge29" class="edge">
<title>28&#45;&gt;29</title>
<path fill="none" stroke="black" d="M862.37,-342C872.46,-342 882.83,-342 892.92,-342"/>
<polygon fill="black" stroke="black" points="892.67,-345.5 902.67,-342 892.67,-338.5 892.67,-345.5"/>
</g>
<!-- 31 -->
<!-- name: &quot;unsigned int24&quot;, typeName: &quot;&quot;, id: 31, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node32" class="node">
<title>31</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-288" rx="64.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-282.57" font-family="Times New Roman,serif" font-size="14.00">unsigned int24</text>
</g>
<!-- 30&#45;&gt;31 -->
<g id="edge31" class="edge">
<title>30&#45;&gt;31</title>
<path fill="none" stroke="black" d="M854.39,-288C866.99,-288 880.24,-288 893.07,-288"/>
<polygon fill="black" stroke="black" points="892.69,-291.5 902.69,-288 892.69,-284.5 892.69,-291.5"/>
</g>
<!-- 33 -->
<!-- name: &quot;byte&quot;, typeName: &quot;&quot;, id: 33, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node34" class="node">
<title>33</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-234" rx="27" ry="18"/>
<text text-anchor="middle" x="968.59" y="-228.57" font-family="Times New Roman,serif" font-size="14.00">byte</text>
</g>
<!-- 32&#45;&gt;33 -->
<g id="edge33" class="edge">
<title>32&#45;&gt;33</title>
<path fill="none" stroke="black" d="M863.41,-234C886.46,-234 910.8,-234 930.16,-234"/>
<polygon fill="black" stroke="black" points="930,-237.5 940,-234 930,-230.5 930,-237.5"/>
</g>
<!-- 35 -->
<!-- name: &quot;if (0)&quot;, typeName: &quot;&quot;, id: 35, branchId: 0, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node36" class="node">
<title>35</title>
<polygon fill="none" stroke="black" points="630.08,-198 589.62,-180 630.08,-162 670.54,-180 630.08,-198"/>
<text text-anchor="middle" x="630.08" y="-174.57" font-family="Times New Roman,serif" font-size="14.00">if (0)</text>
</g>
<!-- 34&#45;&gt;35 -->
<g id="edge35" class="edge">
<title>34&#45;&gt;35</title>
<path fill="none" stroke="black" d="M471.29,-180C507.52,-180 547.01,-180 577.43,-180"/>
<polygon fill="black" stroke="black" points="577.1,-183.5 587.1,-180 577.1,-176.5 577.1,-183.5"/>
</g>
<!-- 37 -->
<!-- name: &quot;if (1)&quot;, typeName: &quot;&quot;, id: 37, branchId: 1, recurseId: &#45;1, attributes: 4, notes: &quot;&quot; -->
<g id="node38" class="node">
<title>37</title>
<polygon fill="none" stroke="black" points="630.08,-117 589.62,-99 630.08,-81 670.54,-99 630.08,-117"/>
<text text-anchor="middle" x="630.08" y="-93.58" font-family="Times New Roman,serif" font-size="14.00">if (1)</text>
</g>
<!-- 34&#45;&gt;37 -->
<g id="edge37" class="edge">
<title>34&#45;&gt;37</title>
<path fill="none" stroke="black" d="M430.52,-161.52C481.19,-145.57 552.66,-123.06 594.6,-109.86"/>
<polygon fill="black" stroke="black" points="595.43,-113.27 603.91,-106.93 593.32,-106.59 595.43,-113.27"/>
</g>
<!-- 36 -->
<!-- name: &quot;[No Data]&quot;, typeName: &quot;&quot;, id: 36, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node37" class="node">
<title>36</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-180" rx="47.57" ry="18"/>
<text text-anchor="middle" x="968.59" y="-174.57" font-family="Times New Roman,serif" font-size="14.00">[No Data]</text>
</g>
<!-- 35&#45;&gt;36 -->
<g id="edge36" class="edge">
<title>35&#45;&gt;36</title>
<path fill="none" stroke="black" d="M671.67,-180C730.91,-180 841.38,-180 909.3,-180"/>
<polygon fill="black" stroke="black" points="909.13,-183.5 919.13,-180 909.13,-176.5 909.13,-183.5"/>
</g>
<!-- 38 -->
<!-- name: &quot;Split Packet Count&quot;, typeName: &quot;&quot;, id: 38, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node39" class="node">
<title>38</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-126" rx="80.5" ry="18"/>
<text text-anchor="middle" x="787.05" y="-120.58" font-family="Times New Roman,serif" font-size="14.00">Split Packet Count</text>
</g>
<!-- 37&#45;&gt;38 -->
<g id="edge38" class="edge">
<title>37&#45;&gt;38</title>
<path fill="none" stroke="black" d="M660.23,-104.08C674.75,-106.61 693.04,-109.8 711.15,-112.95"/>
<polygon fill="black" stroke="black" points="710.42,-116.38 720.87,-114.64 711.62,-109.48 710.42,-116.38"/>
</g>
<!-- 40 -->
<!-- name: &quot;Split Packet Id&quot;, typeName: &quot;&quot;, id: 40, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node41" class="node">
<title>40</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-72" rx="65.53" ry="18"/>
<text text-anchor="middle" x="787.05" y="-66.58" font-family="Times New Roman,serif" font-size="14.00">Split Packet Id</text>
</g>
<!-- 37&#45;&gt;40 -->
<g id="edge40" class="edge">
<title>37&#45;&gt;40</title>
<path fill="none" stroke="black" d="M660.23,-93.92C677.1,-90.98 699.06,-87.16 719.9,-83.52"/>
<polygon fill="black" stroke="black" points="720.25,-87.02 729.51,-81.85 719.05,-80.12 720.25,-87.02"/>
</g>
<!-- 42 -->
<!-- name: &quot;Split Packet Index&quot;, typeName: &quot;&quot;, id: 42, branchId: 0, recurseId: &#45;1, attributes: 0, notes: &quot;&quot; -->
<g id="node43" class="node">
<title>42</title>
<ellipse fill="none" stroke="black" cx="787.05" cy="-18" rx="78.51" ry="18"/>
<text text-anchor="middle" x="787.05" y="-12.57" font-family="Times New Roman,serif" font-size="14.00">Split Packet Index</text>
</g>
<!-- 37&#45;&gt;42 -->
<g id="edge42" class="edge">
<title>37&#45;&gt;42</title>
<path fill="none" stroke="black" d="M645.01,-87.1C659.57,-75.15 683.47,-56.84 706.54,-45 712.76,-41.81 719.43,-38.87 726.17,-36.2"/>
<polygon fill="black" stroke="black" points="727.22,-39.54 735.35,-32.75 724.75,-32.99 727.22,-39.54"/>
</g>
<!-- 39 -->
<!-- name: &quot;unsigned int&quot;, typeName: &quot;&quot;, id: 39, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node40" class="node">
<title>39</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-126" rx="55.06" ry="18"/>
<text text-anchor="middle" x="968.59" y="-120.58" font-family="Times New Roman,serif" font-size="14.00">unsigned int</text>
</g>
<!-- 38&#45;&gt;39 -->
<g id="edge39" class="edge">
<title>38&#45;&gt;39</title>
<path fill="none" stroke="black" d="M867.84,-126C879.24,-126 890.86,-126 901.95,-126"/>
<polygon fill="black" stroke="black" points="901.76,-129.5 911.76,-126 901.76,-122.5 901.76,-129.5"/>
</g>
<!-- 41 -->
<!-- name: &quot;unsigned short&quot;, typeName: &quot;&quot;, id: 41, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node42" class="node">
<title>41</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-72" rx="65.04" ry="18"/>
<text text-anchor="middle" x="968.59" y="-66.58" font-family="Times New Roman,serif" font-size="14.00">unsigned short</text>
</g>
<!-- 40&#45;&gt;41 -->
<g id="edge41" class="edge">
<title>40&#45;&gt;41</title>
<path fill="none" stroke="black" d="M852.87,-72C865.53,-72 878.91,-72 891.89,-72"/>
<polygon fill="black" stroke="black" points="891.65,-75.5 901.65,-72 891.65,-68.5 891.65,-75.5"/>
</g>
<!-- 43 -->
<!-- name: &quot;unsigned int&quot;, typeName: &quot;&quot;, id: 43, branchId: 0, recurseId: &#45;1, attributes: 512, notes: &quot;&quot; -->
<g id="node44" class="node">
<title>43</title>
<ellipse fill="none" stroke="black" cx="968.59" cy="-18" rx="55.06" ry="18"/>
<text text-anchor="middle" x="968.59" y="-12.57" font-family="Times New Roman,serif" font-size="14.00">unsigned int</text>
</g>
<!-- 42&#45;&gt;43 -->
<g id="edge43" class="edge">
<title>42&#45;&gt;43</title>
<path fill="none" stroke="black" d="M866.01,-18C877.94,-18 890.14,-18 901.77,-18"/>
<polygon fill="black" stroke="black" points="901.66,-21.5 911.66,-18 901.66,-14.5 901.66,-21.5"/>
</g>
</g>
</svg>