lsd0003

LSD0003: Set Union
Log | Files | Refs | README

commit 27a71a4f2c7adca0057967731f69cac1b3ff4f3c
parent aaed20b2e02242eb86d0fd05c31f626ea548115b
Author: Elias Summermatter <elias.summermatter@seccom.ch>
Date:   Thu, 10 Dec 2020 17:31:16 +0100

Added edited state maschine + some minor changes

Diffstat:
Mdraft-summermatter-set-union.xml | 5+++--
Dstatemaschine/full_diag.jpg | 0
Astatemaschine/full_state_maschine.jpg | 0
Astatemaschine/full_state_maschine.svg | 4++++
Mstatemaschine/full_state_maschine.xml | 4++--
5 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/draft-summermatter-set-union.xml b/draft-summermatter-set-union.xml @@ -111,8 +111,9 @@ <section anchor="contributors" numbered="true" toc="default"> <name>Contributors</name> <t> - The major original contributors of this documents have been Elias Summermatter and Christian Grothoff - + The major original contributors of this documents have been Elias Summermatter and Christian Grothoff. + </t> + <t> The origianl GNU NET implementation of the Byzantine Fault Tolerant Set Reconciliation has been mainly written by Florian Dold and Christian Grothoff </t> diff --git a/statemaschine/full_diag.jpg b/statemaschine/full_diag.jpg Binary files differ. diff --git a/statemaschine/full_state_maschine.jpg b/statemaschine/full_state_maschine.jpg Binary files differ. diff --git a/statemaschine/full_state_maschine.svg b/statemaschine/full_state_maschine.svg @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1541px" height="921px" viewBox="-0.5 -0.5 1541 921" content="&lt;mxfile host=&quot;embed.diagrams.net&quot; modified=&quot;2020-12-10T16:26:00.246Z&quot; agent=&quot;5.0 (X11)&quot; etag=&quot;FSq_DMcMe0YsbQ6RXBaY&quot; version=&quot;13.10.6&quot; type=&quot;embed&quot;&gt;&lt;diagram id=&quot;C5RBs43oDa-KdzZeNtuy&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-1-ffffff-1-s-0"><stop offset="0%" style="stop-color:#ffffff"/><stop offset="100%" style="stop-color:#ffffff"/></linearGradient></defs><g><path d="M 315.5 40 L 315.5 128.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 315.5 133.88 L 312 126.88 L 315.5 128.63 L 319 126.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 88px; margin-left: 316px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Operation request<br /></div><div>send: SE(C) </div></div></div></div></foreignObject><text x="316" y="91" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Operation request...</text></switch></g><path d="M 363 160 L 783 160 L 783 355 L 1326.63 355" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1331.88 355 L 1324.88 358.5 L 1326.63 355 L 1324.88 351.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 158px; margin-left: 648px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element</div></div></div></foreignObject><text x="648" y="161" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element</text></switch></g><ellipse cx="315.5" cy="160" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 160px; margin-left: 269px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting IBF</div></div></div></foreignObject><text x="316" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting IBF</text></switch></g><path d="M 140.5 300 L 140.5 900 L 715.14 900" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 720.39 900 L 713.39 903.5 L 715.14 900 L 713.39 896.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 570px; margin-left: 141px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Full done</div></div></div></div></foreignObject><text x="141" y="573" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full done</text></switch></g><ellipse cx="140.5" cy="275" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 275px; margin-left: 94px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Full Sending</div></div></div></foreignObject><text x="141" y="279" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Full Sending</text></switch></g><ellipse cx="618" cy="325" rx="55" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 325px; margin-left: 564px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting IBF Last</div></div></div></foreignObject><text x="618" y="329" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting IBF Last</text></switch></g><ellipse cx="410.5" cy="535" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 535px; margin-left: 364px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Active <br /></div><div>Decoding</div></div></div></div></foreignObject><text x="411" y="539" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Active...</text></switch></g><path d="M 409.5 735 L 409.5 880 L 738 880 L 738 877.37" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 738 872.12 L 741.5 879.12 L 738 877.37 L 734.5 879.12 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 881px; margin-left: 576px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: all demanded elements <br /></div>have been received</div></div></div></foreignObject><text x="576" y="884" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: all demanded elements...</text></switch></g><ellipse cx="410.5" cy="710" rx="47.5" ry="25" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 93px; height: 1px; padding-top: 710px; margin-left: 364px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Finish</div><div> Closing</div></div></div></div></foreignObject><text x="411" y="714" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finish...</text></switch></g><path d="M 285.75 179.49 L 175.51 251.99" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 171.13 254.87 L 175.05 248.1 L 175.51 251.99 L 178.9 253.95 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 210px; margin-left: 234px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Request full<br /></div><div>send: Full element*</div><div>send: Full done</div></div></div></div></foreignObject><text x="234" y="214" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Request full...</text></switch></g><path d="M 348.56 177.95 L 577.23 302.73" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 581.84 305.25 L 574.02 304.97 L 577.23 302.73 L 577.37 298.82 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 211px; margin-left: 411px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: IBF</div></div></div></foreignObject><text x="411" y="214" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF</text></switch></g><path d="M 595.44 347.8 L 436.85 508.28" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 433.16 512.01 L 435.59 504.57 L 436.85 508.28 L 440.57 509.49 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 402px; margin-left: 544px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF-LAST</div></div></div></div></div></foreignObject><text x="544" y="406" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 410.5 560 L 410.5 678.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 410.5 683.88 L 407 676.88 L 410.5 678.63 L 414 676.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 650px; margin-left: 412px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Done</div></div></div></foreignObject><text x="412" y="653" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Done</text></switch></g><path d="M 438.88 555.05 L 494.81 594.26 Q 503 600 493.97 604.3 L 449.03 625.7 Q 440 630 438.67 620.09 L 431.68 568.16" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 430.98 562.96 L 435.38 569.43 L 431.68 568.16 L 428.44 570.36 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 604px; margin-left: 486px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF decoded <br /></div><div>with side = -1</div><div>send: Inquiry</div></div></div></div></foreignObject><text x="486" y="607" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF decoded...</text></switch></g><path d="M 364.35 529.08 L 302.92 521.26 Q 293 520 294.64 529.86 L 301.36 570.14 Q 303 580 312.23 576.15 L 367.52 553.06" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 372.36 551.04 L 367.25 556.96 L 367.52 553.06 L 364.55 550.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 550px; margin-left: 283px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF fished decoding<br /></div><div>send: Done</div></div></div></div></foreignObject><text x="283" y="553" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF fished decoding...</text></switch></g><path d="M 390.29 512.38 L 349.7 467.42 Q 343 460 335.93 467.07 L 320.07 482.93 Q 313 490 322.08 494.18 L 369.08 515.81" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 373.85 518 L 366.03 518.25 L 369.08 515.81 L 368.96 511.9 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 482px; margin-left: 328px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv:: Offer<br /></div><div>send: Demand</div></div></div></div></foreignObject><text x="328" y="485" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv:: Offer...</text></switch></g><path d="M 413.65 510.06 L 421.68 449.91 Q 423 440 432.7 442.43 L 453.3 447.57 Q 463 450 457.73 458.5 L 428.41 505.79" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 425.65 510.25 L 426.36 502.46 L 428.41 505.79 L 432.31 506.15 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 447px; margin-left: 445px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="445" y="450" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 651.21 305.07 L 684.43 285.14 Q 693 280 697.22 289.07 L 708.78 313.93 Q 713 323 703 323.21 L 679.31 323.71" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 674.06 323.82 L 680.98 320.17 L 679.31 323.71 L 681.13 327.17 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 301px; margin-left: 703px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF*</div></div></div></div></div></foreignObject><text x="703" y="304" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF*</text></switch></g><ellipse cx="1378" cy="160" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 160px; margin-left: 1344px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expect SE</div></div></div></foreignObject><text x="1378" y="164" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expect SE</text></switch></g><path d="M 1378 375 L 1378 895 L 826.87 895" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 821.62 895 L 828.62 891.5 L 826.87 895 L 828.62 898.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 609px; margin-left: 1379px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: Full done</div>send:  Full element*</div><div>send: Full done</div></div></div></div></foreignObject><text x="1379" y="612" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full donesend:  Full element*...</text></switch></g><ellipse cx="1378" cy="355" rx="45" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 88px; height: 1px; padding-top: 355px; margin-left: 1334px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Full Receiving <br />f:Expect_IBF</div></div></div></foreignObject><text x="1378" y="359" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Full Receiving...</text></switch></g><path d="M 1048 562.64 L 1048 686.13" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1048 691.38 L 1044.5 684.38 L 1048 686.13 L 1051.5 684.38 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 646px; margin-left: 1048px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Done</div></div></div></foreignObject><text x="1048" y="649" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Done</text></switch></g><ellipse cx="1048" cy="542.64" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 543px; margin-left: 1014px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Passive Decoding</div></div></div></foreignObject><text x="1048" y="546" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Passive Dec...</text></switch></g><path d="M 1362.53 177.94 L 1067.65 519.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1064.22 523.86 L 1066.14 516.27 L 1067.65 519.88 L 1071.44 520.84 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 407px; margin-left: 1164px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>If ! Fullsync</div><div>recv: SE(C)</div><div>send: IBF* <br /></div><div>send: IBF-LAST <br /></div></div></div></div></foreignObject><text x="1164" y="411" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">If ! Fullsync...</text></switch></g><path d="M 1378 180 L 1378 328.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1378 333.88 L 1374.5 326.88 L 1378 328.63 L 1381.5 326.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 271px; margin-left: 1404px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: fullsync &amp;&amp; my_size &gt; other_size </div><div>recv: SE(C)</div><div>send: Request full<br /></div></div></div></div></foreignObject><text x="1404" y="274" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: fullsync &amp;&amp; my_size &gt; other_size...</text></switch></g><path d="M 1343.49 163.33 L 194.34 274.39" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 189.11 274.89 L 195.74 270.74 L 194.34 274.39 L 196.42 277.7 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 201px; margin-left: 953px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">if:  fullsync &amp;&amp; my_size &lt;= other_size<br /><div>recv: SE(C)</div><div><div>send: Full element*</div><div>send: Full done</div></div></div></div></div></foreignObject><text x="953" y="204" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if:  fullsync &amp;&amp; my_size &lt;= other_size...</text></switch></g><path d="M 1051.64 522.75 L 1061.22 469.84 Q 1063 460 1053.19 461.96 L 1022.81 468.04 Q 1013 470 1017.33 479.01 L 1035.88 517.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1038.15 522.36 L 1031.96 517.57 L 1035.88 517.63 L 1038.27 514.54 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 471px; margin-left: 1013px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Demand</div><div>send: Element</div></div></div></div></foreignObject><text x="1013" y="474" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Demand...</text></switch></g><path d="M 1048 732.5 L 1048 880 L 816.87 880" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 811.62 880 L 818.62 876.5 L 816.87 880 L 818.62 883.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 799px; margin-left: 1050px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: all demanded elements <br /></div><div>have been received<br /></div><div>send: Done</div></div></div></div></foreignObject><text x="1050" y="802" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: all demanded elements...</text></switch></g><ellipse cx="1048" cy="712.5" rx="35" ry="20" fill="#ffffff" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 713px; margin-left: 1014px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Finish Waiting</div></div></div></foreignObject><text x="1048" y="716" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finish Wait...</text></switch></g><path d="M 1418.42 346.21 L 1483.23 332.12 Q 1493 330 1493 340 L 1493 370 Q 1493 380 1483.23 377.88 L 1424.65 365.14" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1419.52 364.03 L 1427.1 362.09 L 1424.65 365.14 L 1425.61 368.93 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 355px; margin-left: 1495px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element*</div></div></div></foreignObject><text x="1495" y="359" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element*</text></switch></g><path d="M 1021.8 529.38 L 660.49 346.45" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 655.81 344.08 L 663.63 344.12 L 660.49 346.45 L 660.47 350.37 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 444px; margin-left: 853px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div><div>recv: IBF</div></div></div></div></div></foreignObject><text x="853" y="447" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF</text></switch></g><path d="M 458 535 L 773.14 588.33 Q 783 590 792.84 588.24 L 1008.3 549.69" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1013.47 548.77 L 1007.2 553.44 L 1008.3 549.69 L 1005.97 546.55 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 590px; margin-left: 743px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if: IBF failed to decode <br /></div><div>send: IBF*</div><div>send: IBF-LAST</div></div></div></div></foreignObject><text x="743" y="594" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if: IBF failed to decode...</text></switch></g><path d="M 383.14 555.44 L 331.03 594.05 Q 323 600 331 606 L 355 624 Q 363 630 367.48 621.06 L 395.67 564.88" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 398.03 560.19 L 398.02 568.02 L 395.67 564.88 L 391.76 564.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 336px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>if IBF decoded <br /></div><div>with side = 1</div><div>send: Offer<br /></div></div></div></div></foreignObject><text x="336" y="613" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">if IBF decoded...</text></switch></g><path d="M 1083.98 553.64 L 1153.3 536.41 Q 1163 534 1160.18 524.41 L 1155.82 509.59 Q 1153 500 1144.01 504.38 L 1089.7 530.85" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1084.98 533.15 L 1089.74 526.94 L 1089.7 530.85 L 1092.81 533.23 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 523px; margin-left: 1184px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Offer</div><div>send: Demand<br /></div></div></div></div></foreignObject><text x="1184" y="526" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Offer...</text></switch></g><path d="M 438.88 514.95 L 494.81 475.74 Q 503 470 507.47 478.94 L 518.53 501.06 Q 523 510 513.14 511.66 L 457.82 520.95" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 452.64 521.81 L 458.97 517.2 L 457.82 520.95 L 460.13 524.11 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 491px; margin-left: 524px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Demand</div>send: Element</div></div></div></foreignObject><text x="524" y="494" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Demandsend: Element</text></switch></g><path d="M 1026.97 558.63 L 980.94 593.92 Q 973 600 980.07 607.07 L 995.93 622.93 Q 1003 630 1007.58 621.11 L 1035.17 567.48" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1037.57 562.81 L 1037.48 570.64 L 1035.17 567.48 L 1031.25 567.44 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 611px; margin-left: 981px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="981" y="614" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 1057.92 561.82 L 1088.42 621.11 Q 1093 630 1100.81 623.75 L 1135.19 596.25 Q 1143 590 1133.96 585.73 L 1078.51 559.5" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1073.76 557.26 L 1081.58 557.09 L 1078.51 559.5 L 1078.59 563.42 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 610px; margin-left: 1123px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: Inquiry<br /></div><div>send: Offer<br /></div></div></div></div></foreignObject><text x="1123" y="614" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Inquiry...</text></switch></g><path d="M 321.73 184.78 L 402.66 504.05" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 403.95 509.14 L 398.83 503.21 L 402.66 504.05 L 405.62 501.49 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 311px; margin-left: 354px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: IBF-LAST</div></div></div></div></foreignObject><text x="354" y="315" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 1013.58 539.03 L 752.94 511.07 Q 743 510 733.03 510.75 L 463.87 530.98" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 458.64 531.38 L 465.35 527.36 L 463.87 530.98 L 465.88 534.34 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 509px; margin-left: 749px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; "><div>recv: IBF-LAST</div></div></div></div></foreignObject><text x="749" y="512" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: IBF-LAST</text></switch></g><path d="M 117.85 253.03 L 80.22 216.92 Q 73 210 67 218 L 49 242 Q 43 250 52.69 252.47 L 91.67 262.43" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 96.76 263.73 L 89.11 265.39 L 91.67 262.43 L 90.84 258.61 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 230px; margin-left: 45px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Full element*</div></div></div></foreignObject><text x="45" y="234" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Full element*</text></switch></g><path d="M 1072.75 726.64 L 1143 726.52 Q 1153 726.5 1150.52 716.81 L 1145.48 697.19 Q 1143 687.5 1133.12 689.03 L 1079.04 697.39" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1073.85 698.19 L 1080.24 693.66 L 1079.04 697.39 L 1081.31 700.58 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 711px; margin-left: 1145px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="1145" y="714" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><path d="M 457.43 713.85 L 523.03 719.19 Q 533 720 533 710 L 533 700 Q 533 690 523.13 691.61 L 462.14 701.54" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 456.95 702.39 L 463.3 697.81 L 462.14 701.54 L 464.43 704.71 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 705px; margin-left: 533px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">recv: Element</div></div></div></foreignObject><text x="533" y="708" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">recv: Element</text></switch></g><ellipse cx="770.5" cy="895" rx="50" ry="25" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><ellipse cx="770.5" cy="895" rx="47" ry="22" fill="transparent" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 92px; height: 1px; padding-top: 895px; margin-left: 725px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><pre class="moz-quote-pre">Finished</pre></div></div></div></foreignObject><text x="771" y="899" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Finished</text></switch></g><ellipse cx="315.5" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 267px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">Expecting Connection</div></div></div></foreignObject><text x="316" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Expecting Connec...</text></switch></g><path d="M 1378 40 L 1378 133.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1378 138.88 L 1374.5 131.88 L 1378 133.63 L 1381.5 131.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 77px; margin-left: 1381px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; background-color: #ffffff; white-space: nowrap; ">send: Operation request</div></div></div></foreignObject><text x="1381" y="80" fill="#000000" font-family="Helvetica" font-size="11px" text-anchor="middle">send: Operation request</text></switch></g><ellipse cx="1378" cy="20" rx="50" ry="20" fill="url(#mx-gradient-ffffff-1-ffffff-1-s-0)" stroke="#000000" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 98px; height: 1px; padding-top: 20px; margin-left: 1329px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div>Initiating Connection<br /></div></div></div></div></foreignObject><text x="1378" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">Initiating Conne...</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://desk.draw.io/support/solutions/articles/16000042487" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Viewer does not support full SVG 1.1</text></a></switch></svg> +\ No newline at end of file diff --git a/statemaschine/full_state_maschine.xml b/statemaschine/full_state_maschine.xml @@ -1 +1 @@ -<mxfile host="embed.diagrams.net" modified="2020-12-03T15:05:28.830Z" agent="5.0 (X11)" etag="UdxWVrhVWdTqgWMnNU7v" version="13.9.9" type="embed"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">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</diagram></mxfile> -\ No newline at end of file +<mxfile host="embed.diagrams.net" modified="2020-12-10T16:25:47.507Z" agent="5.0 (X11)" etag="6AUw3vuFSUcA-qloOJSa" version="13.10.6" type="embed"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">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</diagram></mxfile> +\ No newline at end of file