Files
clang-uml/docs/test_cases/t20029_sequence.svg
2023-12-22 22:30:06 +01:00

137 lines
18 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="727px" preserveAspectRatio="none" style="width:937px;height:727px;background:#FFFFFF;" version="1.1" viewBox="0 0 937 727" width="937px" zoomAndPan="magnify">
<defs>
<style type="text/css">a:hover { text-decoration: underline; }</style>
</defs>
<g>
<rect fill="#FFFFFF" height="634.8002" style="stroke:#181818;stroke-width:1.0;" width="10" x="94.5" y="46.7999"/>
<rect fill="#FFFFFF" height="380.0001" style="stroke:#181818;stroke-width:1.0;" width="10" x="255" y="279.6"/>
<rect fill="#FFFFFF" height="53" style="stroke:#181818;stroke-width:1.0;" width="10" x="260" y="384.0001"/>
<rect fill="#FFFFFF" height="172.0001" style="stroke:#181818;stroke-width:1.0;" width="10" x="472.5" y="473.6001"/>
<rect fill="#FFFFFF" height="30" style="stroke:#181818;stroke-width:1.0;" width="10" x="652.5" y="119.6"/>
<rect fill="#FFFFFF" height="14" style="stroke:#181818;stroke-width:1.0;" width="10" x="652.5" y="603.6002"/>
<rect fill="#FFFFFF" height="14" style="stroke:#181818;stroke-width:1.0;" width="10" x="813" y="403.0001"/>
<rect fill="none" height="458.8002" style="stroke:#000000;stroke-width:1.5;" width="881.5" x="50" y="215.8"/>
<rect fill="none" height="427.2002" style="stroke:#000000;stroke-width:1.5;" width="861.5" x="60" y="240.4"/>
<rect fill="none" height="92.8" style="stroke:#000000;stroke-width:1.5;" width="363.5" x="371" y="539.8001"/>
<rect fill="none" height="61.2" style="stroke:#000000;stroke-width:1.5;" width="343.5" x="381" y="564.4001"/>
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="99" x2="99" y1="36.7999" y2="691.6002"/>
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="260" x2="260" y1="36.7999" y2="691.6002"/>
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="477" x2="477" y1="36.7999" y2="691.6002"/>
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="657.5" x2="657.5" y1="36.7999" y2="691.6002"/>
<line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5.0,5.0;" x1="817.5" x2="817.5" y1="36.7999" y2="691.6002"/>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L59" target="_top" title="tmain" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L59" xlink:show="new" xlink:title="tmain" xlink:type="simple">
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="59" x="70" y="5"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="77" y="25.0059">tmain()</text>
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="59" x="70" y="690.6002"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="45" x="77" y="710.6061">tmain()</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L11" target="_top" title="Encoder" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L11" xlink:show="new" xlink:title="Encoder" xlink:type="simple">
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="242" x="139" y="5"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="228" x="146" y="25.0059">Encoder&lt;Retrier&lt;ConnectionPool&gt;&gt;</text>
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="242" x="139" y="690.6002"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="228" x="146" y="710.6061">Encoder&lt;Retrier&lt;ConnectionPool&gt;&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L25" target="_top" title="Retrier" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L25" xlink:show="new" xlink:title="Retrier" xlink:type="simple">
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="173" x="391" y="5"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="159" x="398" y="25.0059">Retrier&lt;ConnectionPool&gt;</text>
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="173" x="391" y="690.6002"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="159" x="398" y="710.6061">Retrier&lt;ConnectionPool&gt;</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L43" target="_top" title="ConnectionPool" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L43" xlink:show="new" xlink:title="ConnectionPool" xlink:type="simple">
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="600.5" y="5"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="607.5" y="25.0059">ConnectionPool</text>
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="114" x="600.5" y="690.6002"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100" x="607.5" y="710.6061">ConnectionPool</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L9" target="_top" title="encode_b64" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L9" xlink:show="new" xlink:title="encode_b64" xlink:type="simple">
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="187" x="724.5" y="5"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173" x="731.5" y="25.0059">encode_b64(std::string &amp;&amp;)</text>
<rect fill="#E2E2F0" height="30.7999" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="187" x="724.5" y="690.6002"/>
<text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173" x="731.5" y="710.6061">encode_b64(std::string &amp;&amp;)</text>
</a>
<rect fill="#FFFFFF" height="634.8002" style="stroke:#181818;stroke-width:1.0;" width="10" x="94.5" y="46.7999"/>
<rect fill="#FFFFFF" height="380.0001" style="stroke:#181818;stroke-width:1.0;" width="10" x="255" y="279.6"/>
<rect fill="#FFFFFF" height="53" style="stroke:#181818;stroke-width:1.0;" width="10" x="260" y="384.0001"/>
<rect fill="#FFFFFF" height="172.0001" style="stroke:#181818;stroke-width:1.0;" width="10" x="472.5" y="473.6001"/>
<rect fill="#FFFFFF" height="30" style="stroke:#181818;stroke-width:1.0;" width="10" x="652.5" y="119.6"/>
<rect fill="#FFFFFF" height="14" style="stroke:#181818;stroke-width:1.0;" width="10" x="652.5" y="603.6002"/>
<rect fill="#FFFFFF" height="14" style="stroke:#181818;stroke-width:1.0;" width="10" x="813" y="403.0001"/>
<path d="M5,51.7999 L5,92.7999 L194,92.7999 L194,61.7999 L184,51.7999 L5,51.7999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<path d="M184,51.7999 L184,61.7999 L194,61.7999 L184,51.7999 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="158" x="11" y="68.8769">Establish connection to the</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="168" x="11" y="84.477">remote server synchronously</text>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L64" target="_top" title="" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L64" xlink:show="new" xlink:title="" xlink:type="simple">
<polygon fill="#181818" points="640.5,115.6,650.5,119.6,640.5,123.6,644.5,119.6" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;" x1="104.5" x2="646.5" y1="119.6" y2="119.6"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="54" x="111.5" y="114.077">connect()</text>
</a>
<path d="M13,162.6 L13,203.6 L186,203.6 L186,172.6 L176,162.6 L13,162.6 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<path d="M176,162.6 L176,172.6 L186,172.6 L176,162.6 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="152" x="19" y="179.677">Repeat for each line in the</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="72" x="19" y="195.277">input stream</text>
<path d="M50,215.8 L123,215.8 L123,223.4 L113,233.4 L50,233.4 L50,215.8 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/>
<rect fill="none" height="458.8002" style="stroke:#000000;stroke-width:1.5;" width="881.5" x="50" y="215.8"/>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="28" x="65" y="228.877">loop</text>
<path d="M60,240.4 L120,240.4 L120,248 L110,258 L60,258 L60,240.4 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/>
<rect fill="none" height="427.2002" style="stroke:#000000;stroke-width:1.5;" width="861.5" x="60" y="240.4"/>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="15" x="75" y="253.477">alt</text>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L68" target="_top" title="" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L68" xlink:show="new" xlink:title="" xlink:type="simple">
<polygon fill="#181818" points="243,275.6,253,279.6,243,283.6,247,279.6" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;" x1="104.5" x2="249" y1="279.6" y2="279.6"/>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="4" x="111.5" y="274.077">[</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="116" x="115.5" y="274.077">send(std::string &amp;&amp;)</text>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="4" x="231.5" y="274.077">]</text>
</a>
<path d="M170,292.6 L170,348.6 L349,348.6 L349,302.6 L339,292.6 L170,292.6 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<path d="M339,292.6 L339,302.6 L349,302.6 L339,292.6 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="158" x="176" y="309.677">Encode the message using</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="157" x="176" y="325.2771">Base64 encoding and pass</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="105" x="176" y="340.8771">it to the next layer</text>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L18" target="_top" title="" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L18" xlink:show="new" xlink:title="" xlink:type="simple">
<line style="stroke:#181818;stroke-width:1.0;" x1="265" x2="312" y1="371.0001" y2="371.0001"/>
<line style="stroke:#181818;stroke-width:1.0;" x1="312" x2="312" y1="371.0001" y2="384.0001"/>
<line style="stroke:#181818;stroke-width:1.0;" x1="271" x2="312" y1="384.0001" y2="384.0001"/>
<polygon fill="#181818" points="281,380.0001,271,384.0001,281,388.0001,277,384.0001" style="stroke:#181818;stroke-width:1.0;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="130" x="277" y="365.4771">encode(std::string &amp;&amp;)</text>
</a>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L22" target="_top" title="" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L22" xlink:show="new" xlink:title="" xlink:type="simple">
<polygon fill="#181818" points="801,399.0001,811,403.0001,801,407.0001,805,403.0001" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;" x1="270" x2="807" y1="403.0001" y2="403.0001"/>
</a>
<polygon fill="#181818" points="281,413.0001,271,417.0001,281,421.0001,277,417.0001" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="275" x2="817" y1="417.0001" y2="417.0001"/>
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="270" x2="312" y1="436.0001" y2="436.0001"/>
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="312" x2="312" y1="436.0001" y2="449.0001"/>
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="265" x2="312" y1="449.0001" y2="449.0001"/>
<polygon fill="#181818" points="275,445.0001,265,449.0001,275,453.0001,271,449.0001" style="stroke:#181818;stroke-width:1.0;"/>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L15" target="_top" title="" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L15" xlink:show="new" xlink:title="" xlink:type="simple">
<polygon fill="#181818" points="460.5,469.6001,470.5,473.6001,460.5,477.6001,464.5,473.6001" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;" x1="265" x2="466.5" y1="473.6001" y2="473.6001"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="116" x="272" y="468.0771">send(std::string &amp;&amp;)</text>
</a>
<path d="M382,486.6001 L382,527.6001 L572,527.6001 L572,496.6001 L562,486.6001 L382,486.6001 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<path d="M562,486.6001 L562,496.6001 L572,496.6001 L562,486.6001 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="169" x="388" y="503.6771">Repeat until send() succeeds</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="151" x="388" y="519.2771">or retry count is exceeded</text>
<path d="M371,539.8001 L444,539.8001 L444,547.4001 L434,557.4001 L371,557.4001 L371,539.8001 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/>
<rect fill="none" height="92.8" style="stroke:#000000;stroke-width:1.5;" width="363.5" x="371" y="539.8001"/>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="28" x="386" y="552.8771">loop</text>
<path d="M381,564.4001 L441,564.4001 L441,572.0002 L431,582.0002 L381,582.0002 L381,564.4001 " fill="#EEEEEE" style="stroke:#000000;stroke-width:1.5;"/>
<rect fill="none" height="61.2" style="stroke:#000000;stroke-width:1.5;" width="343.5" x="381" y="564.4001"/>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="15" x="396" y="577.4772">alt</text>
<a href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L35" target="_top" title="" xlink:actuate="onRequest" xlink:href="https://github.com/bkryza/clang-uml/blob/427d110b37885e5ce52a6525f175236affea35fa/tests/t20029/t20029.cc#L35" xlink:show="new" xlink:title="" xlink:type="simple">
<polygon fill="#181818" points="640.5,599.6002,650.5,603.6002,640.5,607.6002,644.5,603.6002" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;" x1="482.5" x2="646.5" y1="603.6002" y2="603.6002"/>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="4" x="489.5" y="598.0772">[</text>
<text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="143" x="493.5" y="598.0772">send(const std::string &amp;)</text>
<text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="4" x="636.5" y="598.0772">]</text>
</a>
<polygon fill="#181818" points="493.5,613.6002,483.5,617.6002,493.5,621.6002,489.5,617.6002" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="487.5" x2="656.5" y1="617.6002" y2="617.6002"/>
<polygon fill="#181818" points="276,641.6002,266,645.6002,276,649.6002,272,645.6002" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="270" x2="476.5" y1="645.6002" y2="645.6002"/>
<polygon fill="#181818" points="115.5,655.6002,105.5,659.6002,115.5,663.6002,111.5,659.6002" style="stroke:#181818;stroke-width:1.0;"/>
<line style="stroke:#181818;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="109.5" x2="259" y1="659.6002" y2="659.6002"/>
</g>
</svg>