This commit is contained in:
2025-11-24 14:19:51 +05:30
commit f5c1412b28
6734 changed files with 1527575 additions and 0 deletions

View File

@ -0,0 +1,9 @@
<map id="DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;" name="DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;">
<area shape="rect" id="node2" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SocketQueryOutput \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="5,358,261,641"/>
<area shape="rect" id="node3" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; BufferedCommand\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="285,351,520,648"/>
<area shape="rect" id="node4" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; Packet \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="545,358,727,641"/>
<area shape="rect" id="node5" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SystemAddress \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="752,358,987,641"/>
<area shape="rect" id="node6" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StartForwarding\lInputStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="1011,351,1231,648"/>
<area shape="rect" id="node7" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; RemoteClient * \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="1255,358,1483,641"/>
<area shape="rect" id="node8" href="$da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StopForwarding\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}" alt="" coords="1508,351,1727,648"/>
</map>

View File

@ -0,0 +1 @@
e44b238018ccf0fae241e55c3f97a4e1

View File

@ -0,0 +1,336 @@
<?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 2.38.0 (20140413.2041)
-->
<!-- Title: DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt; Pages: 1 -->
<!--zoomable 490 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 1299;
var viewHeight = 490;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="565.5,-270.5 565.5,-481.5 730.5,-481.5 730.5,-270.5 565.5,-270.5"/>
<text text-anchor="start" x="573.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; structureType &gt;</text>
<polyline fill="none" stroke="black" points="565.5,-451.5 730.5,-451.5 "/>
<text text-anchor="start" x="573.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="573.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="573.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="573.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="565.5,-399.5 730.5,-399.5 "/>
<text text-anchor="start" x="573.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="573.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="573.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="573.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="573.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="573.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="573.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="573.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="573.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="573.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="573.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SocketQueryOutput \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="0,-6 0,-217 192,-217 192,-6 0,-6"/>
<text text-anchor="start" x="8" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="96" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SocketQueryOutput &gt;</text>
<polyline fill="none" stroke="black" points="0,-187 192,-187 "/>
<text text-anchor="start" x="8" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="8" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="8" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="8" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="0,-135 192,-135 "/>
<text text-anchor="start" x="8" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="8" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="8" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="8" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="8" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="8" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="8" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="8" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="8" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="8" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="8" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="orange" d="M555.451,-357.246C460.831,-336.072 312.353,-294.271 201,-223 197.991,-221.074 195.007,-219.044 192.055,-216.926"/>
<polygon fill="orange" stroke="orange" points="554.771,-360.68 565.29,-359.417 556.279,-353.844 554.771,-360.68"/>
<text text-anchor="middle" x="300" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SocketQueryOutput &gt;</text>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; BufferedCommand\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="210,-0.5 210,-222.5 386,-222.5 386,-0.5 210,-0.5"/>
<text text-anchor="start" x="218" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="218" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; BufferedCommand</text>
<text text-anchor="middle" x="298" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="210,-181.5 386,-181.5 "/>
<text text-anchor="start" x="218" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="218" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="218" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="218" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="210,-129.5 386,-129.5 "/>
<text text-anchor="start" x="218" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="218" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="218" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="218" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="218" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="218" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="218" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="218" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="218" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="218" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="218" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="orange" d="M556.28,-333.028C504.879,-306.469 441.884,-268.566 395,-223 392.071,-220.153 389.129,-217.231 386.188,-214.253"/>
<polygon fill="orange" stroke="orange" points="554.909,-336.258 565.407,-337.689 558.093,-330.024 554.909,-336.258"/>
<text text-anchor="middle" x="488.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; BufferedCommandStruct &gt;</text>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; Packet \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="404.5,-6 404.5,-217 541.5,-217 541.5,-6 404.5,-6"/>
<text text-anchor="start" x="412.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="473" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; Packet &gt;</text>
<polyline fill="none" stroke="black" points="404.5,-187 541.5,-187 "/>
<text text-anchor="start" x="412.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="412.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="412.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="412.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="404.5,-135 541.5,-135 "/>
<text text-anchor="start" x="412.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="412.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="412.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="412.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="412.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="412.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="412.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="412.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="412.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="412.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="412.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge"><title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="orange" d="M572.627,-261.941C562.308,-246.462 551.76,-230.64 541.571,-215.357"/>
<polygon fill="orange" stroke="orange" points="569.873,-264.12 578.333,-270.499 575.698,-260.237 569.873,-264.12"/>
<text text-anchor="middle" x="592" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; Packet &gt;</text>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SystemAddress \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="560,-6 560,-217 736,-217 736,-6 560,-6"/>
<text text-anchor="start" x="568" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SystemAddress &gt;</text>
<polyline fill="none" stroke="black" points="560,-187 736,-187 "/>
<text text-anchor="start" x="568" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="568" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="568" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="568" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="560,-135 736,-135 "/>
<text text-anchor="start" x="568" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="568" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="568" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="568" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="568" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="568" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="568" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="568" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="568" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="568" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="568" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge"><title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="orange" d="M648,-260.128C648,-245.808 648,-231.223 648,-217.07"/>
<polygon fill="orange" stroke="orange" points="644.5,-260.499 648,-270.499 651.5,-260.499 644.5,-260.499"/>
<text text-anchor="middle" x="693.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SystemAddress &gt;</text>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StartForwarding\lInputStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="754.5,-0.5 754.5,-222.5 919.5,-222.5 919.5,-0.5 754.5,-0.5"/>
<text text-anchor="start" x="762.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="762.5" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StartForwarding</text>
<text text-anchor="middle" x="837" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">InputStruct &gt;</text>
<polyline fill="none" stroke="black" points="754.5,-181.5 919.5,-181.5 "/>
<text text-anchor="start" x="762.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="762.5" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="762.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="762.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="754.5,-129.5 919.5,-129.5 "/>
<text text-anchor="start" x="762.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="762.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="762.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="762.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="762.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="762.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="762.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="762.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="762.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="762.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="762.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge"><title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="orange" d="M735.531,-262.255C738.062,-258.808 740.557,-255.384 743,-252 749.838,-242.529 756.834,-232.611 763.771,-222.619"/>
<polygon fill="orange" stroke="orange" points="732.692,-260.209 729.566,-270.332 738.322,-264.367 732.692,-260.209"/>
<text text-anchor="middle" x="817.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StartForwardingInputStruct &gt;</text>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; RemoteClient * \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="937.5,-6 937.5,-217 1108.5,-217 1108.5,-6 937.5,-6"/>
<text text-anchor="start" x="945.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="1023" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; RemoteClient * &gt;</text>
<polyline fill="none" stroke="black" points="937.5,-187 1108.5,-187 "/>
<text text-anchor="start" x="945.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="945.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="945.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="945.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="937.5,-135 1108.5,-135 "/>
<text text-anchor="start" x="945.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="945.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="945.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="945.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="945.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="945.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="945.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="945.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="945.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="945.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="945.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge"><title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="orange" d="M739.781,-339.722C798.497,-313.862 873.578,-274.341 928,-223 931.128,-220.049 934.26,-217.002 937.381,-213.886"/>
<polygon fill="orange" stroke="orange" points="738.279,-336.558 730.503,-343.754 741.07,-342.978 738.279,-336.558"/>
<text text-anchor="middle" x="945.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; RemoteClient * &gt;</text>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StopForwarding\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="1127,-0.5 1127,-222.5 1291,-222.5 1291,-0.5 1127,-0.5"/>
<text text-anchor="start" x="1135" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="1135" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StopForwarding</text>
<text text-anchor="middle" x="1209" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="1127,-181.5 1291,-181.5 "/>
<text text-anchor="start" x="1135" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="1135" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="1135" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="1135" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="1127,-129.5 1291,-129.5 "/>
<text text-anchor="start" x="1135" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="1135" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="1135" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="1135" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="1135" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="1135" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="1135" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="1135" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="1135" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="1135" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="1135" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge"><title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="orange" d="M740.929,-360.739C840.744,-341.984 1000.67,-301.73 1117,-223 1120.31,-220.761 1123.56,-218.371 1126.75,-215.857"/>
<polygon fill="orange" stroke="orange" points="740.061,-357.34 730.862,-362.596 741.331,-364.224 740.061,-357.34"/>
<text text-anchor="middle" x="1141.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StopForwardingStruct &gt;</text>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="class_data_structures_1_1_threadsafe_allocating_queue__inherit__graph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -0,0 +1,262 @@
<?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 2.38.0 (20140413.2041)
-->
<!-- Title: DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt; Pages: 1 -->
<svg width="1299pt" height="490pt"
viewBox="0.00 0.00 1299.00 490.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 486)">
<title>DataStructures::ThreadsafeAllocatingQueue&lt; structureType &gt;</title>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="565.5,-270.5 565.5,-481.5 730.5,-481.5 730.5,-270.5 565.5,-270.5"/>
<text text-anchor="start" x="573.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; structureType &gt;</text>
<polyline fill="none" stroke="black" points="565.5,-451.5 730.5,-451.5 "/>
<text text-anchor="start" x="573.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="573.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="573.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="573.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="565.5,-399.5 730.5,-399.5 "/>
<text text-anchor="start" x="573.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="573.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="573.5" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="573.5" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="573.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="573.5" y="-332.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="573.5" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="573.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="573.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="573.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="573.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SocketQueryOutput \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="0,-6 0,-217 192,-217 192,-6 0,-6"/>
<text text-anchor="start" x="8" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="96" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SocketQueryOutput &gt;</text>
<polyline fill="none" stroke="black" points="0,-187 192,-187 "/>
<text text-anchor="start" x="8" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="8" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="8" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="8" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="0,-135 192,-135 "/>
<text text-anchor="start" x="8" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="8" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="8" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="8" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="8" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="8" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="8" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="8" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="8" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="8" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="8" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="orange" d="M555.451,-357.246C460.831,-336.072 312.353,-294.271 201,-223 197.991,-221.074 195.007,-219.044 192.055,-216.926"/>
<polygon fill="orange" stroke="orange" points="554.771,-360.68 565.29,-359.417 556.279,-353.844 554.771,-360.68"/>
<text text-anchor="middle" x="300" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SocketQueryOutput &gt;</text>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; BufferedCommand\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="210,-0.5 210,-222.5 386,-222.5 386,-0.5 210,-0.5"/>
<text text-anchor="start" x="218" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="218" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; BufferedCommand</text>
<text text-anchor="middle" x="298" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="210,-181.5 386,-181.5 "/>
<text text-anchor="start" x="218" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="218" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="218" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="218" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="210,-129.5 386,-129.5 "/>
<text text-anchor="start" x="218" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="218" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="218" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="218" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="218" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="218" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="218" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="218" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="218" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="218" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="218" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="orange" d="M556.28,-333.028C504.879,-306.469 441.884,-268.566 395,-223 392.071,-220.153 389.129,-217.231 386.188,-214.253"/>
<polygon fill="orange" stroke="orange" points="554.909,-336.258 565.407,-337.689 558.093,-330.024 554.909,-336.258"/>
<text text-anchor="middle" x="488.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; BufferedCommandStruct &gt;</text>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; Packet \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="404.5,-6 404.5,-217 541.5,-217 541.5,-6 404.5,-6"/>
<text text-anchor="start" x="412.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="473" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; Packet &gt;</text>
<polyline fill="none" stroke="black" points="404.5,-187 541.5,-187 "/>
<text text-anchor="start" x="412.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="412.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="412.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="412.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="404.5,-135 541.5,-135 "/>
<text text-anchor="start" x="412.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="412.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="412.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="412.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="412.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="412.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="412.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="412.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="412.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="412.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="412.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge"><title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="orange" d="M572.627,-261.941C562.308,-246.462 551.76,-230.64 541.571,-215.357"/>
<polygon fill="orange" stroke="orange" points="569.873,-264.12 578.333,-270.499 575.698,-260.237 569.873,-264.12"/>
<text text-anchor="middle" x="592" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; Packet &gt;</text>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; SystemAddress \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="560,-6 560,-217 736,-217 736,-6 560,-6"/>
<text text-anchor="start" x="568" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="648" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; SystemAddress &gt;</text>
<polyline fill="none" stroke="black" points="560,-187 736,-187 "/>
<text text-anchor="start" x="568" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="568" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="568" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="568" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="560,-135 736,-135 "/>
<text text-anchor="start" x="568" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="568" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="568" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="568" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="568" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="568" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="568" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="568" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="568" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="568" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="568" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge"><title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="orange" d="M648,-260.128C648,-245.808 648,-231.223 648,-217.07"/>
<polygon fill="orange" stroke="orange" points="644.5,-260.499 648,-270.499 651.5,-260.499 644.5,-260.499"/>
<text text-anchor="middle" x="693.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; SystemAddress &gt;</text>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StartForwarding\lInputStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="754.5,-0.5 754.5,-222.5 919.5,-222.5 919.5,-0.5 754.5,-0.5"/>
<text text-anchor="start" x="762.5" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="762.5" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StartForwarding</text>
<text text-anchor="middle" x="837" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">InputStruct &gt;</text>
<polyline fill="none" stroke="black" points="754.5,-181.5 919.5,-181.5 "/>
<text text-anchor="start" x="762.5" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="762.5" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="762.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="762.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="754.5,-129.5 919.5,-129.5 "/>
<text text-anchor="start" x="762.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="762.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="762.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="762.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="762.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="762.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="762.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="762.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="762.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="762.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="762.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge"><title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="orange" d="M735.531,-262.255C738.062,-258.808 740.557,-255.384 743,-252 749.838,-242.529 756.834,-232.611 763.771,-222.619"/>
<polygon fill="orange" stroke="orange" points="732.692,-260.209 729.566,-270.332 738.322,-264.367 732.692,-260.209"/>
<text text-anchor="middle" x="817.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StartForwardingInputStruct &gt;</text>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; RemoteClient * \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="937.5,-6 937.5,-217 1108.5,-217 1108.5,-6 937.5,-6"/>
<text text-anchor="start" x="945.5" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="middle" x="1023" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; RemoteClient * &gt;</text>
<polyline fill="none" stroke="black" points="937.5,-187 1108.5,-187 "/>
<text text-anchor="start" x="945.5" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="945.5" y="-164" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="945.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="945.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="937.5,-135 1108.5,-135 "/>
<text text-anchor="start" x="945.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="945.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="945.5" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="945.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="945.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="945.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="945.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="945.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="945.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="945.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="945.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge"><title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="orange" d="M739.781,-339.722C798.497,-313.862 873.578,-274.341 928,-223 931.128,-220.049 934.26,-217.002 937.381,-213.886"/>
<polygon fill="orange" stroke="orange" points="738.279,-336.558 730.503,-343.754 741.07,-342.978 738.279,-336.558"/>
<text text-anchor="middle" x="945.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; RemoteClient * &gt;</text>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="../../da/dce/class_data_structures_1_1_threadsafe_allocating_queue.xhtml" target="_top" xlink:title="{DataStructures::Threadsafe\lAllocatingQueue\&lt; StopForwarding\lStruct \&gt;\n|# memoryPool\l# memoryPoolMutex\l# queue\l# queueMutex\l|+ Push()\l+ PopInaccurate()\l+ Pop()\l+ SetPageSize()\l+ IsEmpty()\l+ operator[]()\l+ RemoveAtIndex()\l+ Size()\l+ Allocate()\l+ Deallocate()\l+ Clear()\l}">
<polygon fill="none" stroke="black" points="1127,-0.5 1127,-222.5 1291,-222.5 1291,-0.5 1127,-0.5"/>
<text text-anchor="start" x="1135" y="-210.5" font-family="Helvetica,sans-Serif" font-size="10.00">DataStructures::Threadsafe</text>
<text text-anchor="start" x="1135" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">AllocatingQueue&lt; StopForwarding</text>
<text text-anchor="middle" x="1209" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">Struct &gt;</text>
<polyline fill="none" stroke="black" points="1127,-181.5 1291,-181.5 "/>
<text text-anchor="start" x="1135" y="-169.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPool</text>
<text text-anchor="start" x="1135" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00"># memoryPoolMutex</text>
<text text-anchor="start" x="1135" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queue</text>
<text text-anchor="start" x="1135" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00"># queueMutex</text>
<polyline fill="none" stroke="black" points="1127,-129.5 1291,-129.5 "/>
<text text-anchor="start" x="1135" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Push()</text>
<text text-anchor="start" x="1135" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PopInaccurate()</text>
<text text-anchor="start" x="1135" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Pop()</text>
<text text-anchor="start" x="1135" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPageSize()</text>
<text text-anchor="start" x="1135" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsEmpty()</text>
<text text-anchor="start" x="1135" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator[]()</text>
<text text-anchor="start" x="1135" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAtIndex()</text>
<text text-anchor="start" x="1135" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
<text text-anchor="start" x="1135" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Allocate()</text>
<text text-anchor="start" x="1135" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Deallocate()</text>
<text text-anchor="start" x="1135" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clear()</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge"><title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="orange" d="M740.929,-360.739C840.744,-341.984 1000.67,-301.73 1117,-223 1120.31,-220.761 1123.56,-218.371 1126.75,-215.857"/>
<polygon fill="orange" stroke="orange" points="740.061,-357.34 730.862,-362.596 741.331,-364.224 740.061,-357.34"/>
<text text-anchor="middle" x="1141.5" y="-244" font-family="Helvetica,sans-Serif" font-size="10.00"> &lt; StopForwardingStruct &gt;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB