Files
tsun-gen3-proxy/app/proxy.svg
2024-05-03 18:21:15 +02:00

356 lines
28 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: G Pages: 1 -->
<svg width="680pt" height="1204pt"
viewBox="0.00 0.00 680.13 1204.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 1200)">
<title>G</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-1200 676.1305,-1200 676.1305,4 -4,4"/>
<!-- A0 -->
<g id="node1" class="node">
<title>A0</title>
<polygon fill="#fff8dc" stroke="#000000" points="108.5444,-1100 .1516,-1100 .1516,-1064 114.5444,-1064 114.5444,-1094 108.5444,-1100"/>
<polyline fill="none" stroke="#000000" points="108.5444,-1100 108.5444,-1094 "/>
<polyline fill="none" stroke="#000000" points="114.5444,-1094 108.5444,-1094 "/>
<text text-anchor="middle" x="57.348" y="-1085" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">You can stick notes</text>
<text text-anchor="middle" x="57.348" y="-1073" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">on diagrams too!</text>
</g>
<!-- A1 -->
<g id="node2" class="node">
<title>A1</title>
<polygon fill="none" stroke="#000000" points="619.0297,-804 549.6663,-804 549.6663,-768 619.0297,-768 619.0297,-804"/>
<text text-anchor="middle" x="584.348" y="-783" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Singleton</text>
</g>
<!-- A2 -->
<g id="node3" class="node">
<title>A2</title>
<polygon fill="none" stroke="#000000" points="468.348,-518 468.348,-550 590.348,-550 590.348,-518 468.348,-518"/>
<text text-anchor="start" x="519.625" y="-531" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Mqtt</text>
<polygon fill="none" stroke="#000000" points="468.348,-462 468.348,-518 590.348,-518 590.348,-462 468.348,-462"/>
<text text-anchor="start" x="486.8355" y="-499" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;ha_restarts</text>
<text text-anchor="start" x="494.6145" y="-487" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;__client</text>
<text text-anchor="start" x="478.2215" y="-475" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;static&gt;__cb_MqttIsUp</text>
<polygon fill="none" stroke="#000000" points="468.348,-418 468.348,-462 590.348,-462 590.348,-418 468.348,-418"/>
<text text-anchor="start" x="491.284" y="-443" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;publish()</text>
<text text-anchor="start" x="495.4525" y="-431" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;close()</text>
</g>
<!-- A1&#45;&gt;A2 -->
<g id="edge1" class="edge">
<title>A1&#45;&gt;A2</title>
<path fill="none" stroke="#000000" d="M579.1509,-757.4632C570.5669,-710.3291 553.2059,-615.0013 541.4253,-550.3153"/>
<polygon fill="none" stroke="#000000" points="575.7551,-758.3521 580.9903,-767.5632 582.6419,-757.0978 575.7551,-758.3521"/>
</g>
<!-- A3 -->
<g id="node4" class="node">
<title>A3</title>
<polygon fill="none" stroke="#000000" points="671.9145,-502 608.7815,-502 608.7815,-466 671.9145,-466 671.9145,-502"/>
<text text-anchor="middle" x="640.348" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Modbus</text>
</g>
<!-- A1&#45;&gt;A3 -->
<g id="edge2" class="edge">
<title>A1&#45;&gt;A3</title>
<path fill="none" stroke="#000000" d="M589.6474,-757.4212C601.0365,-696.0013 627.5746,-552.8854 636.974,-502.1955"/>
<polygon fill="none" stroke="#000000" points="586.1487,-757.0926 587.7668,-767.5632 593.0314,-758.3689 586.1487,-757.0926"/>
</g>
<!-- A11 -->
<g id="node12" class="node">
<title>A11</title>
<polygon fill="none" stroke="#000000" points="475.348,-282 475.348,-314 583.348,-314 583.348,-282 475.348,-282"/>
<text text-anchor="start" x="512.4015" y="-295" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Inverter</text>
<polygon fill="none" stroke="#000000" points="475.348,-190 475.348,-282 583.348,-282 583.348,-190 475.348,-190"/>
<text text-anchor="start" x="505.452" y="-263" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.db_stat</text>
<text text-anchor="start" x="498.7885" y="-251" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.entity_prfx</text>
<text text-anchor="start" x="489.6235" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.discovery_prfx</text>
<text text-anchor="start" x="489.0595" y="-227" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.proxy_node_id</text>
<text text-anchor="start" x="485.1705" y="-215" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.proxy_unique_id</text>
<text text-anchor="start" x="501.0135" y="-203" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">cls.mqtt:Mqtt</text>
<polygon fill="none" stroke="#000000" points="475.348,-170 475.348,-190 583.348,-190 583.348,-170 475.348,-170"/>
</g>
<!-- A2&#45;&gt;A11 -->
<g id="edge12" class="edge">
<title>A2&#45;&gt;A11</title>
<path fill="none" stroke="#000000" d="M529.348,-417.8724C529.348,-385.8251 529.348,-347.2624 529.348,-314.4235"/>
</g>
<!-- A4 -->
<g id="node5" class="node">
<title>A4</title>
<polygon fill="none" stroke="#000000" points="323.348,-1092 323.348,-1124 394.348,-1124 394.348,-1092 323.348,-1092"/>
<text text-anchor="start" x="333.293" y="-1105" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">IterRegistry</text>
<polygon fill="none" stroke="#000000" points="323.348,-1072 323.348,-1092 394.348,-1092 394.348,-1072 323.348,-1072"/>
<polygon fill="none" stroke="#000000" points="323.348,-1040 323.348,-1072 394.348,-1072 394.348,-1040 323.348,-1040"/>
<text text-anchor="start" x="340.787" y="-1053" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__iter__</text>
</g>
<!-- A5 -->
<g id="node6" class="node">
<title>A5</title>
<polygon fill="none" stroke="#000000" points="291.348,-886 291.348,-918 425.348,-918 425.348,-886 291.348,-886"/>
<text text-anchor="start" x="338.0655" y="-899" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Message</text>
<polygon fill="none" stroke="#000000" points="291.348,-722 291.348,-886 425.348,-886 425.348,-722 291.348,-722"/>
<text text-anchor="start" x="321.6745" y="-867" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">server_side:bool</text>
<text text-anchor="start" x="318.891" y="-855" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">header_valid:bool</text>
<text text-anchor="start" x="311.662" y="-843" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">header_len:unsigned</text>
<text text-anchor="start" x="317.496" y="-831" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">data_len:unsigned</text>
<text text-anchor="start" x="336.6725" y="-819" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">unique_id</text>
<text text-anchor="start" x="340.5615" y="-807" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">node_id</text>
<text text-anchor="start" x="337.5065" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">sug_area</text>
<text text-anchor="start" x="308.337" y="-783" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_recv_buffer:bytearray</text>
<text text-anchor="start" x="306.9425" y="-771" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_send_buffer:bytearray</text>
<text text-anchor="start" x="301.1145" y="-759" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_forward_buffer:bytearray</text>
<text text-anchor="start" x="340.5615" y="-747" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">db:Infos</text>
<text text-anchor="start" x="329.174" y="-735" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">new_data:list</text>
<polygon fill="none" stroke="#000000" points="291.348,-654 291.348,-722 425.348,-722 425.348,-654 291.348,-654"/>
<text text-anchor="start" x="308.0575" y="-703" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_read():void&lt;abstract&gt;</text>
<text text-anchor="start" x="332.7925" y="-691" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close():void</text>
<text text-anchor="start" x="318.6205" y="-679" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">inc_counter():void</text>
<text text-anchor="start" x="316.9505" y="-667" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">dec_counter():void</text>
</g>
<!-- A4&#45;&gt;A5 -->
<g id="edge3" class="edge">
<title>A4&#45;&gt;A5</title>
<path fill="none" stroke="#000000" d="M358.348,-1029.7414C358.348,-998.6043 358.348,-957.5621 358.348,-918.0536"/>
<polygon fill="none" stroke="#000000" points="354.8481,-1029.9047 358.348,-1039.9048 361.8481,-1029.9048 354.8481,-1029.9047"/>
</g>
<!-- A6 -->
<g id="node7" class="node">
<title>A6</title>
<polygon fill="none" stroke="#000000" points="71.348,-566 71.348,-598 185.348,-598 185.348,-566 71.348,-566"/>
<text text-anchor="start" x="114.456" y="-579" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Talent</text>
<polygon fill="none" stroke="#000000" points="71.348,-486 71.348,-566 185.348,-566 185.348,-486 71.348,-486"/>
<text text-anchor="start" x="81.111" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">await_conn_resp_cnt</text>
<text text-anchor="start" x="116.1255" y="-535" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">id_str</text>
<text text-anchor="start" x="96.948" y="-523" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">contact_name</text>
<text text-anchor="start" x="100.288" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">contact_mail</text>
<text text-anchor="start" x="114.46" y="-499" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">switch</text>
<polygon fill="none" stroke="#000000" points="71.348,-370 71.348,-486 185.348,-486 185.348,-370 71.348,-370"/>
<text text-anchor="start" x="85.8405" y="-467" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">msg_contact_info()</text>
<text text-anchor="start" x="87.7805" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">msg_ota_update()</text>
<text text-anchor="start" x="93.6245" y="-443" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">msg_get_time()</text>
<text text-anchor="start" x="81.6765" y="-431" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">msg_collector_data()</text>
<text text-anchor="start" x="83.6215" y="-419" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">msg_inverter_data()</text>
<text text-anchor="start" x="92.7885" y="-407" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">msg_unknown()</text>
<text text-anchor="start" x="113.3505" y="-383" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
</g>
<!-- A5&#45;&gt;A6 -->
<g id="edge4" class="edge">
<title>A5&#45;&gt;A6</title>
<path fill="none" stroke="#000000" d="M284.6697,-662.7392C281.9515,-659.7257 279.1765,-656.8051 276.348,-654 246.0399,-623.9427 223.8486,-634.8503 194.348,-604 191.308,-600.8209 188.3627,-597.4746 185.5143,-594.0019"/>
<polygon fill="none" stroke="#000000" points="282.1169,-665.1379 291.3078,-670.4083 287.4096,-660.5567 282.1169,-665.1379"/>
</g>
<!-- A7 -->
<g id="node8" class="node">
<title>A7</title>
<polygon fill="none" stroke="#000000" points="338.348,-530 338.348,-562 429.348,-562 429.348,-530 338.348,-530"/>
<text text-anchor="start" x="356.343" y="-543" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">SolarmanV5</text>
<polygon fill="none" stroke="#000000" points="338.348,-462 338.348,-530 429.348,-530 429.348,-462 338.348,-462"/>
<text text-anchor="start" x="368.846" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">control</text>
<text text-anchor="start" x="371.9055" y="-499" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">serial</text>
<text text-anchor="start" x="376.904" y="-487" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">snr</text>
<text text-anchor="start" x="369.96" y="-475" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">switch</text>
<polygon fill="none" stroke="#000000" points="338.348,-406 338.348,-462 429.348,-462 429.348,-406 338.348,-406"/>
<text text-anchor="start" x="348.2885" y="-443" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">msg_unknown()</text>
<text text-anchor="start" x="368.8505" y="-419" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
</g>
<!-- A5&#45;&gt;A7 -->
<g id="edge5" class="edge">
<title>A5&#45;&gt;A7</title>
<path fill="none" stroke="#000000" d="M370.129,-643.6857C372.4472,-615.6816 374.7985,-587.2778 376.8626,-562.3442"/>
<polygon fill="none" stroke="#000000" points="366.614,-643.723 369.277,-653.9777 373.5901,-644.3006 366.614,-643.723"/>
</g>
<!-- A8 -->
<g id="node9" class="node">
<title>A8</title>
<polygon fill="none" stroke="#000000" points="97.348,-258 97.348,-290 247.348,-290 247.348,-258 97.348,-258"/>
<text text-anchor="start" x="140.3935" y="-271" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ConnectionG3</text>
<polygon fill="none" stroke="#000000" points="97.348,-226 97.348,-258 247.348,-258 247.348,-226 97.348,-226"/>
<text text-anchor="start" x="107.335" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">remoteStream:ConnectionG3</text>
<polygon fill="none" stroke="#000000" points="97.348,-194 97.348,-226 247.348,-226 247.348,-194 97.348,-194"/>
<text text-anchor="start" x="157.3505" y="-207" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
</g>
<!-- A6&#45;&gt;A8 -->
<g id="edge6" class="edge">
<title>A6&#45;&gt;A8</title>
<path fill="none" stroke="#000000" d="M150.9172,-359.8695C155.4204,-335.1019 159.8918,-310.5092 163.576,-290.2462"/>
<polygon fill="none" stroke="#000000" points="147.4693,-359.2674 149.124,-369.7323 154.3564,-360.5197 147.4693,-359.2674"/>
</g>
<!-- A9 -->
<g id="node10" class="node">
<title>A9</title>
<polygon fill="none" stroke="#000000" points="283.348,-258 283.348,-290 439.348,-290 439.348,-258 283.348,-258"/>
<text text-anchor="start" x="326.059" y="-271" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ConnectionG3P</text>
<polygon fill="none" stroke="#000000" points="283.348,-226 283.348,-258 439.348,-258 439.348,-226 283.348,-226"/>
<text text-anchor="start" x="293.0005" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">remoteStream:ConnectionG3P</text>
<polygon fill="none" stroke="#000000" points="283.348,-194 283.348,-226 439.348,-226 439.348,-194 283.348,-194"/>
<text text-anchor="start" x="346.3505" y="-207" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
</g>
<!-- A7&#45;&gt;A9 -->
<g id="edge7" class="edge">
<title>A7&#45;&gt;A9</title>
<path fill="none" stroke="#000000" d="M375.2886,-395.3467C372.0505,-359.7276 368.4455,-320.0725 365.7128,-290.0125"/>
<polygon fill="none" stroke="#000000" points="371.8445,-396.1217 376.2356,-405.7637 378.8158,-395.4879 371.8445,-396.1217"/>
</g>
<!-- A8&#45;&gt;A8 -->
<g id="edge14" class="edge">
<title>A8&#45;&gt;A8</title>
<path fill="none" stroke="#000000" d="M247.5164,-272.6238C258.1874,-267.6708 265.348,-257.4629 265.348,-242 265.348,-231.1277 261.8079,-222.8533 255.9966,-217.1769"/>
<polygon fill="#000000" stroke="#000000" points="247.5164,-211.3762 258.3108,-213.3079 251.6433,-214.1991 255.7702,-217.0221 255.7702,-217.0221 255.7702,-217.0221 251.6433,-214.1991 253.2296,-220.7363 247.5164,-211.3762 247.5164,-211.3762"/>
<text text-anchor="middle" x="267.2494" y="-211.6335" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">0..1</text>
<text text-anchor="middle" x="259.5555" y="-253.6532" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">has</text>
</g>
<!-- A12 -->
<g id="node13" class="node">
<title>A12</title>
<polygon fill="none" stroke="#000000" points="220.348,-88 220.348,-120 342.348,-120 342.348,-88 220.348,-88"/>
<text text-anchor="start" x="257.7325" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterG3</text>
<polygon fill="none" stroke="#000000" points="220.348,-56 220.348,-88 342.348,-88 342.348,-56 220.348,-56"/>
<text text-anchor="start" x="250.7835" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__ha_restarts</text>
<polygon fill="none" stroke="#000000" points="220.348,0 220.348,-56 342.348,-56 342.348,0 220.348,0"/>
<text text-anchor="start" x="229.9515" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">async_create_remote()</text>
<text text-anchor="start" x="266.3505" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
</g>
<!-- A8&#45;&gt;A12 -->
<g id="edge13" class="edge">
<title>A8&#45;&gt;A12</title>
<path fill="none" stroke="#000000" d="M206.451,-185.0573C218.7898,-164.4551 232.7585,-141.1311 245.2619,-120.2539"/>
<polygon fill="none" stroke="#000000" points="203.4072,-183.3277 201.2718,-193.7052 209.4126,-186.9244 203.4072,-183.3277"/>
</g>
<!-- A9&#45;&gt;A9 -->
<g id="edge16" class="edge">
<title>A9&#45;&gt;A9</title>
<path fill="none" stroke="#000000" d="M439.6951,-272.2739C450.2923,-267.1987 457.348,-257.1074 457.348,-242 457.348,-231.3776 453.8598,-223.2351 448.1049,-217.5725"/>
<polygon fill="#000000" stroke="#000000" points="439.6951,-211.7261 450.4746,-213.7393 443.8005,-214.5802 447.9059,-217.4342 447.9059,-217.4342 447.9059,-217.4342 443.8005,-214.5802 445.3373,-221.1291 439.6951,-211.7261 439.6951,-211.7261"/>
<text text-anchor="middle" x="459.4028" y="-212.1325" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">0..1</text>
<text text-anchor="middle" x="451.5654" y="-253.1774" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">has</text>
</g>
<!-- A13 -->
<g id="node14" class="node">
<title>A13</title>
<polygon fill="none" stroke="#000000" points="384.348,-88 384.348,-120 506.348,-120 506.348,-88 384.348,-88"/>
<text text-anchor="start" x="418.398" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InverterG3P</text>
<polygon fill="none" stroke="#000000" points="384.348,-56 384.348,-88 506.348,-88 506.348,-56 384.348,-56"/>
<text text-anchor="start" x="414.7835" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__ha_restarts</text>
<polygon fill="none" stroke="#000000" points="384.348,0 384.348,-56 506.348,-56 506.348,0 384.348,0"/>
<text text-anchor="start" x="393.9515" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">async_create_remote()</text>
<text text-anchor="start" x="430.3505" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
</g>
<!-- A9&#45;&gt;A13 -->
<g id="edge15" class="edge">
<title>A9&#45;&gt;A13</title>
<path fill="none" stroke="#000000" d="M387.8842,-184.5048C397.3301,-164.0387 407.9889,-140.9447 417.5385,-120.2539"/>
<polygon fill="none" stroke="#000000" points="384.6507,-183.1588 383.6379,-193.7052 391.0064,-186.0923 384.6507,-183.1588"/>
</g>
<!-- A10 -->
<g id="node11" class="node">
<title>A10</title>
<polygon fill="none" stroke="#000000" points="203.348,-572 203.348,-604 319.348,-604 319.348,-572 203.348,-572"/>
<text text-anchor="start" x="231.622" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">AsyncStream</text>
<polygon fill="none" stroke="#000000" points="203.348,-492 203.348,-572 319.348,-572 319.348,-492 203.348,-492"/>
<text text-anchor="start" x="246.901" y="-553" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">reader</text>
<text text-anchor="start" x="249.131" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">writer</text>
<text text-anchor="start" x="251.345" y="-529" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">addr</text>
<text text-anchor="start" x="246.901" y="-517" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">r_addr</text>
<text text-anchor="start" x="247.456" y="-505" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">l_addr</text>
<polygon fill="none" stroke="#000000" points="203.348,-364 203.348,-492 319.348,-492 319.348,-364 203.348,-364"/>
<text text-anchor="start" x="213.0055" y="-473" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;server_loop()</text>
<text text-anchor="start" x="215.226" y="-461" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;client_loop()</text>
<text text-anchor="start" x="233.002" y="-449" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">&lt;async&gt;loop</text>
<text text-anchor="start" x="249.13" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">disc()</text>
<text text-anchor="start" x="246.3505" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">close()</text>
<text text-anchor="start" x="226.6185" y="-401" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__async_read()</text>
<text text-anchor="start" x="231.628" y="-389" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">async_write()</text>
<text text-anchor="start" x="219.955" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">__async_forward()</text>
</g>
<!-- A10&#45;&gt;A8 -->
<g id="edge8" class="edge">
<title>A10&#45;&gt;A8</title>
<path fill="none" stroke="#000000" d="M213.6245,-354.235C205.2086,-331.3512 196.9472,-308.8877 190.0529,-290.1415"/>
<polygon fill="none" stroke="#000000" points="210.3721,-355.5317 217.1087,-363.709 216.9419,-353.1155 210.3721,-355.5317"/>
</g>
<!-- A10&#45;&gt;A9 -->
<g id="edge9" class="edge">
<title>A10&#45;&gt;A9</title>
<path fill="none" stroke="#000000" d="M314.9699,-354.235C324.426,-331.3512 333.7085,-308.8877 341.4548,-290.1415"/>
<polygon fill="none" stroke="#000000" points="311.6394,-353.1303 311.055,-363.709 318.1088,-355.8036 311.6394,-353.1303"/>
</g>
<!-- A11&#45;&gt;A12 -->
<g id="edge10" class="edge">
<title>A11&#45;&gt;A12</title>
<path fill="none" stroke="#000000" d="M467.4632,-170.9047C467.0919,-170.6008 466.7202,-170.2992 466.348,-170 430.3838,-141.0837 415.041,-143.5383 375.348,-120 364.607,-113.6305 353.3113,-106.6618 342.4223,-99.8002"/>
<polygon fill="none" stroke="#000000" points="465.3303,-173.6876 475.1811,-177.588 469.9127,-168.3959 465.3303,-173.6876"/>
</g>
<!-- A11&#45;&gt;A13 -->
<g id="edge11" class="edge">
<title>A11&#45;&gt;A13</title>
<path fill="none" stroke="#000000" d="M491.7164,-160.4648C485.4476,-146.8826 479.0477,-133.016 473.0833,-120.0931"/>
<polygon fill="none" stroke="#000000" points="488.6598,-162.1945 496.0283,-169.8074 495.0156,-159.2611 488.6598,-162.1945"/>
</g>
<!-- A14 -->
<g id="node15" class="node">
<title>A14</title>
<polygon fill="none" stroke="#000000" points="133.348,-1164 133.348,-1196 236.348,-1196 236.348,-1164 133.348,-1164"/>
<text text-anchor="start" x="174.01" y="-1177" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">Infos</text>
<polygon fill="none" stroke="#000000" points="133.348,-1108 133.348,-1164 236.348,-1164 236.348,-1108 133.348,-1108"/>
<text text-anchor="start" x="176.7895" y="-1145" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">stat</text>
<text text-anchor="start" x="152.334" y="-1133" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">new_stat_data</text>
<text text-anchor="start" x="165.9515" y="-1121" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">info_dev</text>
<polygon fill="none" stroke="#000000" points="133.348,-968 133.348,-1108 236.348,-1108 236.348,-968 133.348,-968"/>
<text text-anchor="start" x="160.6835" y="-1089" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">static_init()</text>
<text text-anchor="start" x="158.7325" y="-1077" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">dev_value()</text>
<text text-anchor="start" x="155.6785" y="-1065" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">inc_counter()</text>
<text text-anchor="start" x="154.0085" y="-1053" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">dec_counter()</text>
<text text-anchor="start" x="152.058" y="-1041" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ha_proxy_conf</text>
<text text-anchor="start" x="167.061" y="-1029" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ha_conf</text>
<text text-anchor="start" x="161.2225" y="-1017" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">update_db</text>
<text text-anchor="start" x="145.385" y="-1005" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">set_db_def_value</text>
<text text-anchor="start" x="154.8335" y="-993" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">get_db_value</text>
<text text-anchor="start" x="143.1705" y="-981" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ignore_this_device</text>
</g>
<!-- A15 -->
<g id="node16" class="node">
<title>A15</title>
<polygon fill="none" stroke="#000000" points="102.348,-802 102.348,-834 169.348,-834 169.348,-802 102.348,-802"/>
<text text-anchor="start" x="118.341" y="-815" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InfosG3</text>
<polygon fill="none" stroke="#000000" points="102.348,-782 102.348,-802 169.348,-802 169.348,-782 102.348,-782"/>
<polygon fill="none" stroke="#000000" points="102.348,-738 102.348,-782 169.348,-782 169.348,-738 102.348,-738"/>
<text text-anchor="start" x="112.232" y="-763" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ha_confs()</text>
<text text-anchor="start" x="120.016" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">parse()</text>
</g>
<!-- A14&#45;&gt;A15 -->
<g id="edge17" class="edge">
<title>A14&#45;&gt;A15</title>
<path fill="none" stroke="#000000" d="M163.7966,-957.853C156.5794,-914.2551 148.8927,-867.821 143.3311,-834.2247"/>
<polygon fill="none" stroke="#000000" points="160.3871,-958.688 165.4734,-967.9821 167.2932,-957.5447 160.3871,-958.688"/>
</g>
<!-- A16 -->
<g id="node17" class="node">
<title>A16</title>
<polygon fill="none" stroke="#000000" points="200.348,-802 200.348,-834 267.348,-834 267.348,-802 200.348,-802"/>
<text text-anchor="start" x="213.0065" y="-815" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">InfosG3P</text>
<polygon fill="none" stroke="#000000" points="200.348,-782 200.348,-802 267.348,-802 267.348,-782 200.348,-782"/>
<polygon fill="none" stroke="#000000" points="200.348,-738 200.348,-782 267.348,-782 267.348,-738 200.348,-738"/>
<text text-anchor="start" x="210.232" y="-763" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ha_confs()</text>
<text text-anchor="start" x="218.016" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">parse()</text>
</g>
<!-- A14&#45;&gt;A16 -->
<g id="edge18" class="edge">
<title>A14&#45;&gt;A16</title>
<path fill="none" stroke="#000000" d="M204.8994,-957.853C212.1166,-914.2551 219.8033,-867.821 225.3649,-834.2247"/>
<polygon fill="none" stroke="#000000" points="201.4028,-957.5447 203.2226,-967.9821 208.3089,-958.688 201.4028,-957.5447"/>
</g>
<!-- A15&#45;&gt;A6 -->
<g id="edge20" class="edge">
<title>A15&#45;&gt;A6</title>
<path fill="none" stroke="#000000" d="M134.2311,-737.8133C133.4219,-702.9014 132.289,-654.0256 131.2332,-608.4745"/>
<polygon fill="#000000" stroke="#000000" points="130.9951,-598.2039 135.7257,-608.0969 131.111,-603.2026 131.2269,-608.2013 131.2269,-608.2013 131.2269,-608.2013 131.111,-603.2026 126.7281,-608.3056 130.9951,-598.2039 130.9951,-598.2039"/>
</g>
<!-- A16&#45;&gt;A7 -->
<g id="edge19" class="edge">
<title>A16&#45;&gt;A7</title>
<path fill="none" stroke="#000000" d="M246.269,-737.8364C254.4272,-711.8814 266.4511,-679.9517 282.348,-654 298.1208,-628.2508 311.6295,-629.1455 328.348,-604 335.1562,-593.7602 341.5266,-582.5412 347.3437,-571.2033"/>
<polygon fill="#000000" stroke="#000000" points="351.888,-562.1015 351.4471,-573.0585 349.6545,-566.5749 347.421,-571.0483 347.421,-571.0483 347.421,-571.0483 349.6545,-566.5749 343.3949,-569.0382 351.888,-562.1015 351.888,-562.1015"/>
</g>
</g>
</svg>