Address actors via ID, send messages over transport (TCP, QUIC, etc) Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
1118 lines
92 KiB
XML
1118 lines
92 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 14.1.1 (20251213.1925)
|
|
-->
|
|
<!-- Title: swactor Pages: 1 -->
|
|
<svg width="3803pt" height="2179pt"
|
|
viewBox="0.00 0.00 3803.00 2179.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 2174.6)">
|
|
<title>swactor</title>
|
|
<polygon fill="white" stroke="none" points="-4,4 -4,-2174.6 3799.29,-2174.6 3799.29,4 -4,4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1897.64" y="-2154" font-family="Helvetica,sans-Serif" font-size="14.00">swactor — internal dependency DAG</text>
|
|
<g id="clust1" class="cluster">
|
|
<title>cluster_actor</title>
|
|
<path fill="#e3f2fd" stroke="#1565c0" d="M1030.78,-1548C1030.78,-1548 3775.29,-1548 3775.29,-1548 3781.29,-1548 3787.29,-1554 3787.29,-1560 3787.29,-1560 3787.29,-1702 3787.29,-1702 3787.29,-1708 3781.29,-1714 3775.29,-1714 3775.29,-1714 1030.78,-1714 1030.78,-1714 1024.78,-1714 1018.78,-1708 1018.78,-1702 1018.78,-1702 1018.78,-1560 1018.78,-1560 1018.78,-1554 1024.78,-1548 1030.78,-1548"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2403.03" y="-1697.4" font-family="Helvetica,sans-Serif" font-size="14.00">actor</text>
|
|
</g>
|
|
<g id="clust2" class="cluster">
|
|
<title>cluster_worker</title>
|
|
<path fill="#fce4ec" stroke="#c62828" d="M952.82,-1292C952.82,-1292 2444.45,-1292 2444.45,-1292 2450.45,-1292 2456.45,-1298 2456.45,-1304 2456.45,-1304 2456.45,-1489 2456.45,-1489 2456.45,-1495 2450.45,-1501 2444.45,-1501 2444.45,-1501 952.82,-1501 952.82,-1501 946.82,-1501 940.82,-1495 940.82,-1489 940.82,-1489 940.82,-1304 940.82,-1304 940.82,-1298 946.82,-1292 952.82,-1292"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1698.63" y="-1484.4" font-family="Helvetica,sans-Serif" font-size="14.00">worker</text>
|
|
</g>
|
|
<g id="clust3" class="cluster">
|
|
<title>cluster_channel</title>
|
|
<path fill="#fff3e0" stroke="#e65100" d="M1619.64,-959C1619.64,-959 2964.53,-959 2964.53,-959 2970.53,-959 2976.53,-965 2976.53,-971 2976.53,-971 2976.53,-1073 2976.53,-1073 2976.53,-1079 2970.53,-1085 2964.53,-1085 2964.53,-1085 1619.64,-1085 1619.64,-1085 1613.64,-1085 1607.64,-1079 1607.64,-1073 1607.64,-1073 1607.64,-971 1607.64,-971 1607.64,-965 1613.64,-959 1619.64,-959"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2292.09" y="-1068.4" font-family="Helvetica,sans-Serif" font-size="14.00">channel</text>
|
|
</g>
|
|
<g id="clust4" class="cluster">
|
|
<title>cluster_error</title>
|
|
<path fill="#f3e5f5" stroke="#7b1fa2" d="M3265.86,-1793C3265.86,-1793 3581.45,-1793 3581.45,-1793 3587.45,-1793 3593.45,-1799 3593.45,-1805 3593.45,-1805 3593.45,-1859 3593.45,-1859 3593.45,-1865 3587.45,-1871 3581.45,-1871 3581.45,-1871 3265.86,-1871 3265.86,-1871 3259.86,-1871 3253.86,-1865 3253.86,-1859 3253.86,-1859 3253.86,-1805 3253.86,-1805 3253.86,-1799 3259.86,-1793 3265.86,-1793"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3423.66" y="-1854.4" font-family="Helvetica,sans-Serif" font-size="14.00">error</text>
|
|
</g>
|
|
<g id="clust5" class="cluster">
|
|
<title>cluster_config</title>
|
|
<path fill="#e8f5e9" stroke="#2e7d32" d="M2181.83,-428C2181.83,-428 2963,-428 2963,-428 2969,-428 2975,-434 2975,-440 2975,-440 2975,-519 2975,-519 2975,-525 2969,-531 2963,-531 2963,-531 2181.83,-531 2181.83,-531 2175.83,-531 2169.83,-525 2169.83,-519 2169.83,-519 2169.83,-440 2169.83,-440 2169.83,-434 2175.83,-428 2181.83,-428"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2572.42" y="-514.4" font-family="Helvetica,sans-Serif" font-size="14.00">config</text>
|
|
</g>
|
|
<g id="clust6" class="cluster">
|
|
<title>cluster_delivery</title>
|
|
<path fill="#fff9c4" stroke="#f9a825" d="M1537.29,-131C1537.29,-131 3016.95,-131 3016.95,-131 3022.95,-131 3028.95,-137 3028.95,-143 3028.95,-143 3028.95,-362 3028.95,-362 3028.95,-368 3022.95,-374 3016.95,-374 3016.95,-374 1537.29,-374 1537.29,-374 1531.29,-374 1525.29,-368 1525.29,-362 1525.29,-362 1525.29,-143 1525.29,-143 1525.29,-137 1531.29,-131 1537.29,-131"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2277.12" y="-357.4" font-family="Helvetica,sans-Serif" font-size="14.00">delivery</text>
|
|
</g>
|
|
<g id="clust7" class="cluster">
|
|
<title>cluster_stats</title>
|
|
<path fill="#e0f7fa" stroke="#00838f" d="M2122.24,-567C2122.24,-567 3233.86,-567 3233.86,-567 3239.86,-567 3245.86,-573 3245.86,-579 3245.86,-579 3245.86,-817 3245.86,-817 3245.86,-823 3239.86,-829 3233.86,-829 3233.86,-829 2122.24,-829 2122.24,-829 2116.24,-829 2110.24,-823 2110.24,-817 2110.24,-817 2110.24,-579 2110.24,-579 2110.24,-573 2116.24,-567 2122.24,-567"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2678.05" y="-812.4" font-family="Helvetica,sans-Serif" font-size="14.00">stats</text>
|
|
</g>
|
|
<g id="clust8" class="cluster">
|
|
<title>cluster_runtime</title>
|
|
<path fill="#fbe9e7" stroke="#d84315" d="M27.74,-872C27.74,-872 1256.23,-872 1256.23,-872 1262.23,-872 1268.23,-878 1268.23,-884 1268.23,-884 1268.23,-1068 1268.23,-1068 1268.23,-1074 1262.23,-1080 1256.23,-1080 1256.23,-1080 27.74,-1080 27.74,-1080 21.74,-1080 15.74,-1074 15.74,-1068 15.74,-1068 15.74,-884 15.74,-884 15.74,-878 21.74,-872 27.74,-872"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="641.98" y="-1063.4" font-family="Helvetica,sans-Serif" font-size="14.00">runtime</text>
|
|
</g>
|
|
<g id="clust9" class="cluster">
|
|
<title>cluster_transport</title>
|
|
<path fill="#e3f2fd" stroke="#1565c0" stroke-dasharray="5,2" d="M20,-1893C20,-1893 3516.36,-1893 3516.36,-1893 3522.36,-1893 3528.36,-1899 3528.36,-1905 3528.36,-1905 3528.36,-2090 3528.36,-2090 3528.36,-2096 3522.36,-2102 3516.36,-2102 3516.36,-2102 20,-2102 20,-2102 14,-2102 8,-2096 8,-2090 8,-2090 8,-1905 8,-1905 8,-1899 14,-1893 20,-1893"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1768.18" y="-2085.4" font-family="Helvetica,sans-Serif" font-size="14.00">transport  (feature-gated)</text>
|
|
</g>
|
|
<!-- Message -->
|
|
<g id="node1" class="node">
|
|
<title>Message</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="1685.41,-1569 1685.41,-1605 1779.66,-1605 1779.66,-1569 1685.41,-1569"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-1584.1" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» Message</text>
|
|
</g>
|
|
<!-- ActorInterface -->
|
|
<g id="node2" class="node">
|
|
<title>ActorInterface</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="1026.78,-1571.2 1026.78,-1618.8 1338.78,-1618.8 1338.78,-1571.2 1026.78,-1571.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1085.83" y="-1591.7" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» ActorInterface</text>
|
|
<polyline fill="none" stroke="black" points="1144.87,-1571.2 1144.87,-1618.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1241.82" y="-1604.9" font-family="Helvetica,sans-Serif" font-size="11.00">Incoming(Message)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1241.82" y="-1591.7" font-family="Helvetica,sans-Serif" font-size="11.00">Response(Message)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1241.82" y="-1578.5" font-family="Helvetica,sans-Serif" font-size="11.00">handle((&self, &Ctx, Self::Incoming))</text>
|
|
</g>
|
|
<!-- ActorInterface->Message -->
|
|
<g id="edge1" class="edge">
|
|
<title>ActorInterface->Message</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M1339.21,-1588.1C1339.21,-1588.1 1673.52,-1588.1 1673.52,-1588.1"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="1673.52,-1591.6 1683.52,-1588.1 1673.52,-1584.6 1673.52,-1591.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1577.7" font-family="Helvetica,sans-Serif" font-size="9.00">Incoming</text>
|
|
</g>
|
|
<!-- Ctx -->
|
|
<g id="node7" class="node">
|
|
<title>Ctx</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="1641.8,-1645 1641.8,-1681 1823.26,-1681 1823.26,-1645 1641.8,-1645"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1658.05" y="-1660" font-family="Helvetica,sans-Serif" font-size="11.00">Ctx</text>
|
|
<polyline fill="none" stroke="black" points="1674.3,-1645.6 1674.3,-1681"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1748.78" y="-1666.6" font-family="Helvetica,sans-Serif" font-size="11.00">inner: &'a dyn ContextInner</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1748.78" y="-1653.4" font-family="Helvetica,sans-Serif" font-size="11.00">self_addr: ActorAddress</text>
|
|
</g>
|
|
<!-- ActorInterface->Ctx -->
|
|
<g id="edge2" class="edge">
|
|
<title>ActorInterface->Ctx</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M1339.12,-1612.4C1479.38,-1612.4 1663.29,-1612.4 1663.29,-1612.4 1663.29,-1612.4 1663.29,-1633.22 1663.29,-1633.22"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="1659.79,-1633.22 1663.29,-1643.22 1666.79,-1633.22 1659.79,-1633.22"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1611.7" font-family="Helvetica,sans-Serif" font-size="9.00">handle</text>
|
|
</g>
|
|
<!-- ActorAddress -->
|
|
<g id="node3" class="node">
|
|
<title>ActorAddress</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="3638.46,-1557 3638.46,-1593 3779.29,-1593 3779.29,-1557 3638.46,-1557"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3679.47" y="-1572.1" font-family="Helvetica,sans-Serif" font-size="11.00">ActorAddress</text>
|
|
<polyline fill="none" stroke="black" points="3720.49,-1557.8 3720.49,-1593"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3749.89" y="-1572.1" font-family="Helvetica,sans-Serif" font-size="11.00">0: [u8; ..]</text>
|
|
</g>
|
|
<!-- Actor -->
|
|
<g id="node4" class="node">
|
|
<title>Actor</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="1144.16,-1639 1144.16,-1675 1221.4,-1675 1221.4,-1639 1144.16,-1639"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1164.99" y="-1654.1" font-family="Helvetica,sans-Serif" font-size="11.00">Actor</text>
|
|
<polyline fill="none" stroke="black" points="1185.83,-1639.8 1185.83,-1675"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1203.61" y="-1654.1" font-family="Helvetica,sans-Serif" font-size="11.00">0: A</text>
|
|
</g>
|
|
<!-- AnyActor -->
|
|
<g id="node5" class="node">
|
|
<title>AnyActor</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="2680.49,-1557 2680.49,-1593 3032.57,-1593 3032.57,-1557 2680.49,-1557"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2727.62" y="-1572.1" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» AnyActor</text>
|
|
<polyline fill="none" stroke="black" points="2774.74,-1557.8 2774.74,-1593"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2903.65" y="-1572.1" font-family="Helvetica,sans-Serif" font-size="11.00">handle_any((&self, &Ctx, Box<dyn Any + Send>))</text>
|
|
</g>
|
|
<!-- Actor->AnyActor -->
|
|
<g id="edge8" class="edge">
|
|
<title>Actor->AnyActor</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="1,5" d="M1182.29,-1638.73C1182.29,-1633.36 1182.29,-1628.9 1182.29,-1628.9 1182.29,-1628.9 2685.29,-1628.9 2685.29,-1628.9 2685.29,-1628.9 2685.29,-1604.76 2685.29,-1604.76"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="2688.79,-1604.76 2685.29,-1594.76 2681.79,-1604.76 2688.79,-1604.76"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1627.7" font-family="Helvetica,sans-Serif" font-size="9.00">impl</text>
|
|
</g>
|
|
<!-- Actor->Ctx -->
|
|
<g id="edge9" class="edge">
|
|
<title>Actor->Ctx</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M1221.87,-1660C1221.87,-1660 1629.95,-1660 1629.95,-1660"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="1629.95,-1663.5 1639.95,-1660 1629.95,-1656.5 1629.95,-1663.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1664.7" font-family="Helvetica,sans-Serif" font-size="9.00">handle_any() param</text>
|
|
</g>
|
|
<!-- AnyActor->Ctx -->
|
|
<g id="edge3" class="edge">
|
|
<title>AnyActor->Ctx</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M2687.29,-1593.16C2687.29,-1617.27 2687.29,-1656.83 2687.29,-1656.83 2687.29,-1656.83 1835.16,-1656.83 1835.16,-1656.83"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="1835.16,-1653.33 1825.16,-1656.83 1835.16,-1660.33 1835.16,-1653.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-1652.7" font-family="Helvetica,sans-Serif" font-size="9.00">handle_any</text>
|
|
</g>
|
|
<!-- ContextInner -->
|
|
<g id="node6" class="node">
|
|
<title>ContextInner</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="2050.82,-1557 2050.82,-1593 2551.44,-1593 2551.44,-1557 2050.82,-1557"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2107.12" y="-1572" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» ContextInner</text>
|
|
<polyline fill="none" stroke="black" points="2163.42,-1557.6 2163.42,-1593"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2357.43" y="-1578.6" font-family="Helvetica,sans-Serif" font-size="11.00">send_any((&self, ActorAddress, Box<dyn Any + Send>) → Result<(), Error>)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2357.43" y="-1565.4" font-family="Helvetica,sans-Serif" font-size="11.00">spawn_any((&self, ActorAddress, Box<dyn AnyActor>) → Result<(), Error>)</text>
|
|
</g>
|
|
<!-- ContextInner->ActorAddress -->
|
|
<g id="edge4" class="edge">
|
|
<title>ContextInner->ActorAddress</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M2528.29,-1593.32C2528.29,-1596.86 2528.29,-1599.5 2528.29,-1599.5 2528.29,-1599.5 3662.29,-1599.5 3662.29,-1599.5 3662.29,-1599.5 3662.29,-1598.88 3662.29,-1598.88"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="3665.79,-1604.83 3662.29,-1594.83 3658.79,-1604.83 3665.79,-1604.83"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-1635.7" font-family="Helvetica,sans-Serif" font-size="9.00">send_any</text>
|
|
</g>
|
|
<!-- ContextInner->AnyActor -->
|
|
<g id="edge5" class="edge">
|
|
<title>ContextInner->AnyActor</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M2551.62,-1575C2551.62,-1575 2668.81,-1575 2668.81,-1575"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="2668.81,-1578.5 2678.81,-1575 2668.81,-1571.5 2668.81,-1578.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1577.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_any</text>
|
|
</g>
|
|
<!-- Error -->
|
|
<g id="node15" class="node">
|
|
<title>Error</title>
|
|
<polygon fill="#e1bee7" stroke="black" points="3261.86,-1802 3261.86,-1838 3585.45,-1838 3585.45,-1802 3261.86,-1802"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3282.09" y="-1817.1" font-family="Helvetica,sans-Serif" font-size="11.00">Error</text>
|
|
<polyline fill="none" stroke="black" points="3302.31,-1802.8 3302.31,-1838"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3443.88" y="-1817.1" font-family="Helvetica,sans-Serif" font-size="11.00">0: Box<dyn std :: error :: Error + Send + Sync + 'static></text>
|
|
</g>
|
|
<!-- ContextInner->Error -->
|
|
<g id="edge36" class="edge">
|
|
<title>ContextInner->Error</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M2539.29,-1593.5C2539.29,-1649.07 2539.29,-1810.75 2539.29,-1810.75 2539.29,-1810.75 3249.18,-1810.75 3249.18,-1810.75"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3249.18,-1814.25 3259.18,-1810.75 3249.18,-1807.25 3249.18,-1814.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2856.53" y="-1719.7" font-family="Helvetica,sans-Serif" font-size="9.00">send_any</text>
|
|
</g>
|
|
<!-- Ctx->ActorAddress -->
|
|
<g id="edge7" class="edge">
|
|
<title>Ctx->ActorAddress</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M1823.45,-1669.17C2208.51,-1669.17 3685.29,-1669.17 3685.29,-1669.17 3685.29,-1669.17 3685.29,-1604.67 3685.29,-1604.67"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="3688.79,-1604.67 3685.29,-1594.67 3681.79,-1604.67 3688.79,-1604.67"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2856.53" y="-1672.7" font-family="Helvetica,sans-Serif" font-size="9.00">self_addr</text>
|
|
</g>
|
|
<!-- Ctx->ContextInner -->
|
|
<g id="edge6" class="edge">
|
|
<title>Ctx->ContextInner</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M1801.29,-1644.8C1801.29,-1620.64 1801.29,-1581 1801.29,-1581 1801.29,-1581 2038.96,-1581 2038.96,-1581"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="2038.96,-1584.5 2048.96,-1581 2038.96,-1577.5 2038.96,-1584.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1593.7" font-family="Helvetica,sans-Serif" font-size="9.00">inner</text>
|
|
</g>
|
|
<!-- Ctx->Error -->
|
|
<g id="edge37" class="edge">
|
|
<title>Ctx->Error</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M1732.29,-1681.32C1732.29,-1722.73 1732.29,-1820 1732.29,-1820 1732.29,-1820 3249.21,-1820 3249.21,-1820"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3249.21,-1823.5 3259.21,-1820 3249.21,-1816.5 3249.21,-1823.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1755.7" font-family="Helvetica,sans-Serif" font-size="9.00">send() param</text>
|
|
</g>
|
|
<!-- Worker -->
|
|
<g id="node8" class="node">
|
|
<title>Worker</title>
|
|
<polygon fill="#ffcdd2" stroke="black" points="972.36,-1300.4 972.36,-1387.6 1393.2,-1387.6 1393.2,-1300.4 972.36,-1300.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="998.08" y="-1340.7" font-family="Helvetica,sans-Serif" font-size="11.00">Worker</text>
|
|
<polyline fill="none" stroke="black" points="1023.8,-1300.4 1023.8,-1387.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1208.5" y="-1373.7" font-family="Helvetica,sans-Serif" font-size="11.00">id: WorkerId</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1208.5" y="-1360.5" font-family="Helvetica,sans-Serif" font-size="11.00">pool: ActorPool</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1208.5" y="-1347.3" font-family="Helvetica,sans-Serif" font-size="11.00">transfer_rx: Receiver<Envelope></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1208.5" y="-1334.1" font-family="Helvetica,sans-Serif" font-size="11.00">spawn_rx: Receiver<(ActorAddress, Box<dyn AnyActor>)></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1208.5" y="-1320.9" font-family="Helvetica,sans-Serif" font-size="11.00">stats: Arc<WorkerStats></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1208.5" y="-1307.7" font-family="Helvetica,sans-Serif" font-size="11.00">mailbox_snapshot: Arc<std::sync::Mutex<Vec<(ActorAddress, usize)>>></text>
|
|
</g>
|
|
<!-- Worker->ActorAddress -->
|
|
<g id="edge38" class="edge">
|
|
<title>Worker->ActorAddress</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1393.55,-1347.67C1992.96,-1347.67 3664.29,-1347.67 3664.29,-1347.67 3664.29,-1347.67 3664.29,-1544.51 3664.29,-1544.51"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="3660.79,-1544.51 3664.29,-1554.51 3667.79,-1544.51 3660.79,-1544.51"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-923.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_rx</text>
|
|
</g>
|
|
<!-- Worker->AnyActor -->
|
|
<g id="edge39" class="edge">
|
|
<title>Worker->AnyActor</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1393.56,-1359.61C1807.62,-1359.61 2687.29,-1359.61 2687.29,-1359.61 2687.29,-1359.61 2687.29,-1544.37 2687.29,-1544.37"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2683.79,-1544.37 2687.29,-1554.37 2690.79,-1544.37 2683.79,-1544.37"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1311.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_rx</text>
|
|
</g>
|
|
<!-- ActorPool -->
|
|
<g id="node11" class="node">
|
|
<title>ActorPool</title>
|
|
<polygon fill="#ffcdd2" stroke="black" points="1586.31,-1384 1586.31,-1420 1878.76,-1420 1878.76,-1384 1586.31,-1384"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1618.15" y="-1399.1" font-family="Helvetica,sans-Serif" font-size="11.00">ActorPool</text>
|
|
<polyline fill="none" stroke="black" points="1650,-1384.8 1650,-1420"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1764.38" y="-1399.1" font-family="Helvetica,sans-Serif" font-size="11.00">actors: HashMap<ActorAddress, ActorSlot></text>
|
|
</g>
|
|
<!-- Worker->ActorPool -->
|
|
<g id="edge10" class="edge">
|
|
<title>Worker->ActorPool</title>
|
|
<path fill="none" stroke="#c62828" stroke-dasharray="5,2" d="M1393.57,-1371.56C1497.68,-1371.56 1601.29,-1371.56 1601.29,-1371.56 1601.29,-1371.56 1601.29,-1372.76 1601.29,-1372.76"/>
|
|
<polygon fill="#c62828" stroke="#c62828" points="1597.79,-1372.08 1601.29,-1382.08 1604.79,-1372.08 1597.79,-1372.08"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1394.7" font-family="Helvetica,sans-Serif" font-size="9.00">pool</text>
|
|
</g>
|
|
<!-- Receiver -->
|
|
<g id="node13" class="node">
|
|
<title>Receiver</title>
|
|
<polygon fill="#ffe0b2" stroke="black" points="1615.64,-1016 1615.64,-1052 1849.42,-1052 1849.42,-1016 1615.64,-1016"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1645.34" y="-1031.1" font-family="Helvetica,sans-Serif" font-size="11.00">Receiver</text>
|
|
<polyline fill="none" stroke="black" points="1675.05,-1016.8 1675.05,-1052"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1762.23" y="-1031.1" font-family="Helvetica,sans-Serif" font-size="11.00">queue: Arc<HybridChannel<T>></text>
|
|
</g>
|
|
<!-- Worker->Receiver -->
|
|
<g id="edge47" class="edge">
|
|
<title>Worker->Receiver</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1349.29,-1300.22C1349.29,-1214.21 1349.29,-1031.5 1349.29,-1031.5 1349.29,-1031.5 1602.93,-1031.5 1602.93,-1031.5"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="1602.93,-1035 1612.93,-1031.5 1602.93,-1028 1602.93,-1035"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1100.7" font-family="Helvetica,sans-Serif" font-size="9.00">transfer_rx</text>
|
|
</g>
|
|
<!-- WorkerId -->
|
|
<g id="node18" class="node">
|
|
<title>WorkerId</title>
|
|
<polygon fill="#fff59d" stroke="black" points="2799.27,-250 2799.27,-286 2913.8,-286 2913.8,-250 2799.27,-250"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2829.58" y="-265.1" font-family="Helvetica,sans-Serif" font-size="11.00">WorkerId</text>
|
|
<polyline fill="none" stroke="black" points="2859.89,-250.8 2859.89,-286"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2886.84" y="-265.1" font-family="Helvetica,sans-Serif" font-size="11.00">0: usize</text>
|
|
</g>
|
|
<!-- Worker->WorkerId -->
|
|
<g id="edge49" class="edge">
|
|
<title>Worker->WorkerId</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1393.65,-1335.73C1771.6,-1335.73 2525.29,-1335.73 2525.29,-1335.73 2525.29,-1335.73 2525.29,-271.7 2525.29,-271.7 2525.29,-271.7 2786.56,-271.7 2786.56,-271.7"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2786.56,-275.2 2796.56,-271.7 2786.56,-268.2 2786.56,-275.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-650.7" font-family="Helvetica,sans-Serif" font-size="9.00">id</text>
|
|
</g>
|
|
<!-- Envelope -->
|
|
<g id="node21" class="node">
|
|
<title>Envelope</title>
|
|
<polygon fill="#fff59d" stroke="black" points="2184.99,-140 2184.99,-176 2417.27,-176 2417.27,-140 2184.99,-140"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2215.92" y="-155" font-family="Helvetica,sans-Serif" font-size="11.00">Envelope</text>
|
|
<polyline fill="none" stroke="black" points="2246.86,-140.6 2246.86,-176"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2332.07" y="-161.6" font-family="Helvetica,sans-Serif" font-size="11.00">dest: ActorAddress</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2332.07" y="-148.4" font-family="Helvetica,sans-Serif" font-size="11.00">payload: Box<dyn Any + Send></text>
|
|
</g>
|
|
<!-- Worker->Envelope -->
|
|
<g id="edge50" class="edge">
|
|
<title>Worker->Envelope</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1304.29,-1300.03C1304.29,-1085.39 1304.29,-158 1304.29,-158 1304.29,-158 2172.56,-158 2172.56,-158"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2172.56,-161.5 2182.56,-158 2172.56,-154.5 2172.56,-161.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-162.7" font-family="Helvetica,sans-Serif" font-size="9.00">transfer_rx</text>
|
|
</g>
|
|
<!-- TickContext -->
|
|
<g id="node24" class="node">
|
|
<title>TickContext</title>
|
|
<polygon fill="#fff59d" stroke="black" points="1533.29,-227.2 1533.29,-340.8 1931.78,-340.8 1931.78,-227.2 1533.29,-227.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1570.32" y="-280.7" font-family="Helvetica,sans-Serif" font-size="11.00">TickContext</text>
|
|
<polyline fill="none" stroke="black" points="1607.36,-227.2 1607.36,-340.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-326.9" font-family="Helvetica,sans-Serif" font-size="11.00">address_map: &'a AddressMap</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-313.7" font-family="Helvetica,sans-Serif" font-size="11.00">transfer_txs: &'a [Sender<Envelope>]</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-300.5" font-family="Helvetica,sans-Serif" font-size="11.00">spawn_txs: &'a [Sender<(ActorAddress, Box<dyn AnyActor>)>]</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-287.3" font-family="Helvetica,sans-Serif" font-size="11.00">placement: &'a Placement</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-274.1" font-family="Helvetica,sans-Serif" font-size="11.00">inbox_registry: &'a InboxRegistry</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-260.9" font-family="Helvetica,sans-Serif" font-size="11.00">config: &'a RuntimeConfig</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-247.7" font-family="Helvetica,sans-Serif" font-size="11.00">codec_registry: Option<&'a crate::transport::CodecRegistry></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1769.57" y="-234.5" font-family="Helvetica,sans-Serif" font-size="11.00">transport_router: Option<&'a crate::transport::TransportRouter></text>
|
|
</g>
|
|
<!-- Worker->TickContext -->
|
|
<g id="edge53" class="edge">
|
|
<title>Worker->TickContext</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1393.61,-1311.84C1480.08,-1311.84 1560.29,-1311.84 1560.29,-1311.84 1560.29,-1311.84 1560.29,-353.36 1560.29,-353.36"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="1563.79,-353.36 1560.29,-343.36 1556.79,-353.36 1563.79,-353.36"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-425.7" font-family="Helvetica,sans-Serif" font-size="9.00">tick_once() param</text>
|
|
</g>
|
|
<!-- WorkerStats -->
|
|
<g id="node26" class="node">
|
|
<title>WorkerStats</title>
|
|
<polygon fill="#b2ebf2" stroke="black" points="2118.24,-668.6 2118.24,-795.4 2484.02,-795.4 2484.02,-668.6 2118.24,-668.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2156.49" y="-728.7" font-family="Helvetica,sans-Serif" font-size="11.00">WorkerStats</text>
|
|
<polyline fill="none" stroke="black" points="2194.75,-668.6 2194.75,-795.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-781.5" font-family="Helvetica,sans-Serif" font-size="11.00">num_actors: AtomicUsize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-768.3" font-family="Helvetica,sans-Serif" font-size="11.00">total_mailbox_depth: AtomicUsize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-755.1" font-family="Helvetica,sans-Serif" font-size="11.00">messages_processed: AtomicU64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-741.9" font-family="Helvetica,sans-Serif" font-size="11.00">local_sends: AtomicU64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-728.7" font-family="Helvetica,sans-Serif" font-size="11.00">cross_sends: AtomicU64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-715.5" font-family="Helvetica,sans-Serif" font-size="11.00">inbox_sends: AtomicU64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-702.3" font-family="Helvetica,sans-Serif" font-size="11.00">type_mismatches: AtomicU64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-689.1" font-family="Helvetica,sans-Serif" font-size="11.00">panics: AtomicU64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2339.39" y="-675.9" font-family="Helvetica,sans-Serif" font-size="11.00">tick_timings: std::sync::Mutex<VecDeque<TickTiming>></text>
|
|
</g>
|
|
<!-- Worker->WorkerStats -->
|
|
<g id="edge54" class="edge">
|
|
<title>Worker->WorkerStats</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1393.51,-1323.79C1673.24,-1323.79 2132.29,-1323.79 2132.29,-1323.79 2132.29,-1323.79 2132.29,-808.16 2132.29,-808.16"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2135.79,-808.16 2132.29,-798.16 2128.79,-808.16 2135.79,-808.16"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-819.7" font-family="Helvetica,sans-Serif" font-size="9.00">stats</text>
|
|
</g>
|
|
<!-- WorkerContext -->
|
|
<g id="node9" class="node">
|
|
<title>WorkerContext</title>
|
|
<polygon fill="#ffcdd2" stroke="black" points="948.82,-1406.6 948.82,-1467.4 1416.74,-1467.4 1416.74,-1406.6 948.82,-1406.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="993.49" y="-1433.7" font-family="Helvetica,sans-Serif" font-size="11.00">WorkerContext</text>
|
|
<polyline fill="none" stroke="black" points="1038.17,-1406.6 1038.17,-1467.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1227.45" y="-1453.5" font-family="Helvetica,sans-Serif" font-size="11.00">worker_id: WorkerId</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1227.45" y="-1440.3" font-family="Helvetica,sans-Serif" font-size="11.00">tc: &'a TickContext<'a></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1227.45" y="-1427.1" font-family="Helvetica,sans-Serif" font-size="11.00">pending_local: &'a RefCell<Vec<(ActorAddress, Box<dyn Any + Send>)>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1227.45" y="-1413.9" font-family="Helvetica,sans-Serif" font-size="11.00">stats: &'a WorkerStats</text>
|
|
</g>
|
|
<!-- WorkerContext->ActorAddress -->
|
|
<g id="edge40" class="edge">
|
|
<title>WorkerContext->ActorAddress</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1417.22,-1460.2C1916.85,-1460.2 3041.29,-1460.2 3041.29,-1460.2 3041.29,-1460.2 3041.29,-1575 3041.29,-1575 3041.29,-1575 3625.79,-1575 3625.79,-1575"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="3625.79,-1578.5 3635.79,-1575 3625.79,-1571.5 3625.79,-1578.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1351.7" font-family="Helvetica,sans-Serif" font-size="9.00">pending_local</text>
|
|
</g>
|
|
<!-- WorkerContext->AnyActor -->
|
|
<g id="edge44" class="edge">
|
|
<title>WorkerContext->AnyActor</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1417.08,-1464.05C1838.81,-1464.05 2682.29,-1464.05 2682.29,-1464.05 2682.29,-1464.05 2682.29,-1544.41 2682.29,-1544.41"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2678.79,-1544.41 2682.29,-1554.41 2685.79,-1544.41 2678.79,-1544.41"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1509.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_any() param</text>
|
|
</g>
|
|
<!-- WorkerContext->ContextInner -->
|
|
<g id="edge43" class="edge">
|
|
<title>WorkerContext->ContextInner</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" stroke-dasharray="1,5" d="M1411.29,-1467.86C1411.29,-1505.6 1411.29,-1564.5 1411.29,-1564.5 1411.29,-1564.5 2038.33,-1564.5 2038.33,-1564.5"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2038.33,-1568 2048.33,-1564.5 2038.33,-1561 2038.33,-1568"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-1503.7" font-family="Helvetica,sans-Serif" font-size="9.00">impl</text>
|
|
</g>
|
|
<!-- WorkerContext->Error -->
|
|
<g id="edge48" class="edge">
|
|
<title>WorkerContext->Error</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1405.29,-1467.74C1405.29,-1559.42 1405.29,-1824.62 1405.29,-1824.62 1405.29,-1824.62 3249.2,-1824.62 3249.2,-1824.62"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="3249.2,-1828.13 3259.2,-1824.63 3249.2,-1821.13 3249.2,-1828.13"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-1795.7" font-family="Helvetica,sans-Serif" font-size="9.00">send_any() param</text>
|
|
</g>
|
|
<!-- WorkerContext->WorkerId -->
|
|
<g id="edge51" class="edge">
|
|
<title>WorkerContext->WorkerId</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1416.96,-1456.35C1804.82,-1456.35 2538.29,-1456.35 2538.29,-1456.35 2538.29,-1456.35 2538.29,-279.1 2538.29,-279.1 2538.29,-279.1 2786.63,-279.1 2786.63,-279.1"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2786.63,-282.6 2796.63,-279.1 2786.63,-275.6 2786.63,-282.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-684.7" font-family="Helvetica,sans-Serif" font-size="9.00">worker_id</text>
|
|
</g>
|
|
<!-- WorkerContext->TickContext -->
|
|
<g id="edge52" class="edge">
|
|
<title>WorkerContext->TickContext</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1416.98,-1413.3C1500.04,-1413.3 1573.29,-1413.3 1573.29,-1413.3 1573.29,-1413.3 1573.29,-353.44 1573.29,-353.44"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="1576.79,-353.44 1573.29,-343.44 1569.79,-353.44 1576.79,-353.44"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1191.7" font-family="Helvetica,sans-Serif" font-size="9.00">tc</text>
|
|
</g>
|
|
<!-- WorkerContext->WorkerStats -->
|
|
<g id="edge55" class="edge">
|
|
<title>WorkerContext->WorkerStats</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1416.94,-1436.5C1702.13,-1436.5 2146.29,-1436.5 2146.29,-1436.5 2146.29,-1436.5 2146.29,-808.03 2146.29,-808.03"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2149.79,-808.03 2146.29,-798.03 2142.79,-808.03 2149.79,-808.03"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-942.7" font-family="Helvetica,sans-Serif" font-size="9.00">stats</text>
|
|
</g>
|
|
<!-- ActorSlot -->
|
|
<g id="node10" class="node">
|
|
<title>ActorSlot</title>
|
|
<polygon fill="#ffcdd2" stroke="black" points="2153.81,-1416 2153.81,-1452 2448.45,-1452 2448.45,-1416 2153.81,-1416"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2184.13" y="-1431" font-family="Helvetica,sans-Serif" font-size="11.00">ActorSlot</text>
|
|
<polyline fill="none" stroke="black" points="2214.44,-1416.6 2214.44,-1452"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2331.45" y="-1437.6" font-family="Helvetica,sans-Serif" font-size="11.00">mailbox: VecDeque<Box<dyn Any + Send>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2331.45" y="-1424.4" font-family="Helvetica,sans-Serif" font-size="11.00">actor: Box<dyn AnyActor></text>
|
|
</g>
|
|
<!-- ActorSlot->AnyActor -->
|
|
<g id="edge41" class="edge">
|
|
<title>ActorSlot->AnyActor</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M2448.72,-1434C2556.66,-1434 2684.29,-1434 2684.29,-1434 2684.29,-1434 2684.29,-1544.3 2684.29,-1544.3"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2680.79,-1544.3 2684.29,-1554.3 2687.79,-1544.3 2680.79,-1544.3"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1465.7" font-family="Helvetica,sans-Serif" font-size="9.00">actor</text>
|
|
</g>
|
|
<!-- ActorPool->ActorAddress -->
|
|
<g id="edge42" class="edge">
|
|
<title>ActorPool->ActorAddress</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1879.12,-1396.3C2327.65,-1396.3 3651.29,-1396.3 3651.29,-1396.3 3651.29,-1396.3 3651.29,-1544.28 3651.29,-1544.28"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="3647.79,-1544.28 3651.29,-1554.28 3654.79,-1544.28 3647.79,-1544.28"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2856.53" y="-1397.7" font-family="Helvetica,sans-Serif" font-size="9.00">actors</text>
|
|
</g>
|
|
<!-- ActorPool->AnyActor -->
|
|
<g id="edge45" class="edge">
|
|
<title>ActorPool->AnyActor</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1879.05,-1402.7C2146.22,-1402.7 2685.29,-1402.7 2685.29,-1402.7 2685.29,-1402.7 2685.29,-1544.29 2685.29,-1544.29"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2681.79,-1544.29 2685.29,-1554.29 2688.79,-1544.29 2681.79,-1544.29"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-1491.7" font-family="Helvetica,sans-Serif" font-size="9.00">insert() param</text>
|
|
</g>
|
|
<!-- ActorPool->ContextInner -->
|
|
<g id="edge46" class="edge">
|
|
<title>ActorPool->ContextInner</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1851.29,-1420.49C1851.29,-1462.3 1851.29,-1560.5 1851.29,-1560.5 1851.29,-1560.5 2038.29,-1560.5 2038.29,-1560.5"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2038.29,-1564 2048.29,-1560.5 2038.29,-1557 2038.29,-1564"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1475.7" font-family="Helvetica,sans-Serif" font-size="9.00">tick_all() param</text>
|
|
</g>
|
|
<!-- ActorPool->ActorSlot -->
|
|
<g id="edge11" class="edge">
|
|
<title>ActorPool->ActorSlot</title>
|
|
<path fill="none" stroke="#c62828" stroke-dasharray="5,2" d="M1879.24,-1409.1C2006.79,-1409.1 2171.29,-1409.1 2171.29,-1409.1 2171.29,-1409.1 2171.29,-1409.75 2171.29,-1409.75"/>
|
|
<polygon fill="#c62828" stroke="#c62828" points="2167.79,-1404.13 2171.29,-1414.13 2174.79,-1404.13 2167.79,-1404.13"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1416.7" font-family="Helvetica,sans-Serif" font-size="9.00">actors</text>
|
|
</g>
|
|
<!-- ActorPool->WorkerStats -->
|
|
<g id="edge56" class="edge">
|
|
<title>ActorPool->WorkerStats</title>
|
|
<path fill="none" stroke="#c62828" stroke-width="1.5" d="M1879.09,-1389.9C1995.66,-1389.9 2139.29,-1389.9 2139.29,-1389.9 2139.29,-1389.9 2139.29,-807.95 2139.29,-807.95"/>
|
|
<polygon fill="#c62828" stroke="#c62828" stroke-width="1.5" points="2142.79,-807.95 2139.29,-797.95 2135.79,-807.95 2142.79,-807.95"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1164.7" font-family="Helvetica,sans-Serif" font-size="9.00">tick_all() param</text>
|
|
</g>
|
|
<!-- HybridChannel -->
|
|
<g id="node12" class="node">
|
|
<title>HybridChannel</title>
|
|
<polygon fill="#ffe0b2" stroke="black" points="2744.53,-992 2744.53,-1028 2968.53,-1028 2968.53,-992 2744.53,-992"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2788.91" y="-1007" font-family="Helvetica,sans-Serif" font-size="11.00">HybridChannel</text>
|
|
<polyline fill="none" stroke="black" points="2833.29,-992.6 2833.29,-1028"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2900.91" y="-1013.6" font-family="Helvetica,sans-Serif" font-size="11.00">ring: ArrayQueue<T></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2900.91" y="-1000.4" font-family="Helvetica,sans-Serif" font-size="11.00">overflow: SegQueue<T></text>
|
|
</g>
|
|
<!-- Receiver->HybridChannel -->
|
|
<g id="edge12" class="edge">
|
|
<title>Receiver->HybridChannel</title>
|
|
<path fill="none" stroke="#e65100" stroke-dasharray="5,2" d="M1849.9,-1024.17C1849.9,-1024.17 2732.84,-1024.17 2732.84,-1024.17"/>
|
|
<polygon fill="#e65100" stroke="#e65100" points="2732.84,-1027.67 2742.84,-1024.17 2732.84,-1020.67 2732.84,-1027.67"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-1043.7" font-family="Helvetica,sans-Serif" font-size="9.00">queue</text>
|
|
</g>
|
|
<!-- Sender -->
|
|
<g id="node14" class="node">
|
|
<title>Sender</title>
|
|
<polygon fill="#ffe0b2" stroke="black" points="2188.21,-968 2188.21,-1004 2414.05,-1004 2414.05,-968 2188.21,-968"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2213.94" y="-983.1" font-family="Helvetica,sans-Serif" font-size="11.00">Sender</text>
|
|
<polyline fill="none" stroke="black" points="2239.68,-968.8 2239.68,-1004"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2326.87" y="-983.1" font-family="Helvetica,sans-Serif" font-size="11.00">queue: Arc<HybridChannel<T>></text>
|
|
</g>
|
|
<!-- Receiver->Sender -->
|
|
<g id="edge14" class="edge">
|
|
<title>Receiver->Sender</title>
|
|
<path fill="none" stroke="#e65100" stroke-dasharray="5,2" d="M1849.69,-1019.83C2016.19,-1019.83 2301.29,-1019.83 2301.29,-1019.83 2301.29,-1019.83 2301.29,-1015.62 2301.29,-1015.62"/>
|
|
<polygon fill="#e65100" stroke="#e65100" points="2304.79,-1015.62 2301.29,-1005.62 2297.79,-1015.62 2304.79,-1015.62"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1021.7" font-family="Helvetica,sans-Serif" font-size="9.00">new_sender() param</text>
|
|
</g>
|
|
<!-- Sender->HybridChannel -->
|
|
<g id="edge13" class="edge">
|
|
<title>Sender->HybridChannel</title>
|
|
<path fill="none" stroke="#e65100" stroke-dasharray="5,2" d="M2414.53,-998C2414.53,-998 2732.72,-998 2732.72,-998"/>
|
|
<polygon fill="#e65100" stroke="#e65100" points="2732.72,-1001.5 2742.72,-998 2732.72,-994.5 2732.72,-1001.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1000.7" font-family="Helvetica,sans-Serif" font-size="9.00">queue</text>
|
|
</g>
|
|
<!-- SenderT -->
|
|
<g id="node22" class="node">
|
|
<title>SenderT</title>
|
|
<polygon fill="#fff59d" stroke="black" points="2692.11,-305 2692.11,-341 3020.95,-341 3020.95,-305 2692.11,-305"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2738.01" y="-320.1" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» SenderT</text>
|
|
<polyline fill="none" stroke="black" points="2783.92,-305.8 2783.92,-341"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2902.44" y="-320.1" font-family="Helvetica,sans-Serif" font-size="11.00">try_send_any((&self, Box<dyn Any + Send>))</text>
|
|
</g>
|
|
<!-- Sender->SenderT -->
|
|
<g id="edge57" class="edge">
|
|
<title>Sender->SenderT</title>
|
|
<path fill="none" stroke="#e65100" stroke-width="1.5" stroke-dasharray="1,5" d="M2414.3,-979.5C2537.83,-979.5 2718.29,-979.5 2718.29,-979.5 2718.29,-979.5 2718.29,-353.51 2718.29,-353.51"/>
|
|
<polygon fill="#e65100" stroke="#e65100" stroke-width="1.5" points="2721.79,-353.51 2718.29,-343.51 2714.79,-353.51 2721.79,-353.51"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-857.7" font-family="Helvetica,sans-Serif" font-size="9.00">impl</text>
|
|
</g>
|
|
<!-- BackoffPolicy -->
|
|
<g id="node16" class="node">
|
|
<title>BackoffPolicy</title>
|
|
<polygon fill="#c8e6c9" stroke="black" points="2746.06,-436.6 2746.06,-497.4 2967,-497.4 2967,-436.6 2746.06,-436.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2787.08" y="-463.7" font-family="Helvetica,sans-Serif" font-size="11.00">BackoffPolicy</text>
|
|
<polyline fill="none" stroke="black" points="2828.09,-436.6 2828.09,-497.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2897.55" y="-483.5" font-family="Helvetica,sans-Serif" font-size="11.00">spin_threshold: u32</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2897.55" y="-470.3" font-family="Helvetica,sans-Serif" font-size="11.00">yield_threshold: u32</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2897.55" y="-457.1" font-family="Helvetica,sans-Serif" font-size="11.00">sleep_increment_us: u64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2897.55" y="-443.9" font-family="Helvetica,sans-Serif" font-size="11.00">sleep_max_us: u64</text>
|
|
</g>
|
|
<!-- RuntimeConfig -->
|
|
<g id="node17" class="node">
|
|
<title>RuntimeConfig</title>
|
|
<polygon fill="#c8e6c9" stroke="black" points="2177.83,-436.6 2177.83,-497.4 2424.43,-497.4 2424.43,-436.6 2177.83,-436.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2222.21" y="-463.7" font-family="Helvetica,sans-Serif" font-size="11.00">RuntimeConfig</text>
|
|
<polyline fill="none" stroke="black" points="2266.59,-436.6 2266.59,-497.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2345.51" y="-483.5" font-family="Helvetica,sans-Serif" font-size="11.00">max_actors: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2345.51" y="-470.3" font-family="Helvetica,sans-Serif" font-size="11.00">actor_max_messages: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2345.51" y="-457.1" font-family="Helvetica,sans-Serif" font-size="11.00">num_threads: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2345.51" y="-443.9" font-family="Helvetica,sans-Serif" font-size="11.00">backoff_policy: BackoffPolicy</text>
|
|
</g>
|
|
<!-- RuntimeConfig->BackoffPolicy -->
|
|
<g id="edge15" class="edge">
|
|
<title>RuntimeConfig->BackoffPolicy</title>
|
|
<path fill="none" stroke="#2e7d32" stroke-dasharray="5,2" d="M2424.74,-467C2424.74,-467 2734.48,-467 2734.48,-467"/>
|
|
<polygon fill="#2e7d32" stroke="#2e7d32" points="2734.48,-470.5 2744.48,-467 2734.48,-463.5 2734.48,-470.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-469.7" font-family="Helvetica,sans-Serif" font-size="9.00">backoff_policy</text>
|
|
</g>
|
|
<!-- AddressMap -->
|
|
<g id="node19" class="node">
|
|
<title>AddressMap</title>
|
|
<polygon fill="#fff59d" stroke="black" points="2124.64,-195 2124.64,-231 2477.62,-231 2477.62,-195 2124.64,-195"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2163.52" y="-210.1" font-family="Helvetica,sans-Serif" font-size="11.00">AddressMap</text>
|
|
<polyline fill="none" stroke="black" points="2202.39,-195.8 2202.39,-231"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2340.01" y="-210.1" font-family="Helvetica,sans-Serif" font-size="11.00">inner: RwLock<HashMap<ActorAddress, WorkerId>></text>
|
|
</g>
|
|
<!-- AddressMap->ActorAddress -->
|
|
<g id="edge58" class="edge">
|
|
<title>AddressMap->ActorAddress</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M2478.1,-213C2865.3,-213 3753.29,-213 3753.29,-213 3753.29,-213 3753.29,-1544.25 3753.29,-1544.25"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="3749.79,-1544.25 3753.29,-1554.25 3756.79,-1544.25 3749.79,-1544.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-185.7" font-family="Helvetica,sans-Serif" font-size="9.00">inner</text>
|
|
</g>
|
|
<!-- AddressMap->WorkerId -->
|
|
<g id="edge16" class="edge">
|
|
<title>AddressMap->WorkerId</title>
|
|
<path fill="none" stroke="#f9a825" stroke-dasharray="5,2" d="M2435.29,-231.36C2435.29,-243.39 2435.29,-256.9 2435.29,-256.9 2435.29,-256.9 2787.33,-256.9 2787.33,-256.9"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" points="2787.33,-260.4 2797.33,-256.9 2787.33,-253.4 2787.33,-260.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-256.7" font-family="Helvetica,sans-Serif" font-size="9.00">inner</text>
|
|
</g>
|
|
<!-- Placement -->
|
|
<g id="node20" class="node">
|
|
<title>Placement</title>
|
|
<polygon fill="#fff59d" stroke="black" points="2210.24,-250 2210.24,-286 2392.02,-286 2392.02,-250 2210.24,-250"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2244.22" y="-265" font-family="Helvetica,sans-Serif" font-size="11.00">Placement</text>
|
|
<polyline fill="none" stroke="black" points="2278.21,-250.6 2278.21,-286"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2335.12" y="-271.6" font-family="Helvetica,sans-Serif" font-size="11.00">next: AtomicUsize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2335.12" y="-258.4" font-family="Helvetica,sans-Serif" font-size="11.00">num_workers: usize</text>
|
|
</g>
|
|
<!-- Placement->WorkerId -->
|
|
<g id="edge22" class="edge">
|
|
<title>Placement->WorkerId</title>
|
|
<path fill="none" stroke="#f9a825" stroke-dasharray="5,2" d="M2392.22,-264.3C2392.22,-264.3 2787.48,-264.3 2787.48,-264.3"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" points="2787.48,-267.8 2797.48,-264.3 2787.48,-260.8 2787.48,-267.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-290.7" font-family="Helvetica,sans-Serif" font-size="9.00">next_worker() param</text>
|
|
</g>
|
|
<!-- Envelope->ActorAddress -->
|
|
<g id="edge59" class="edge">
|
|
<title>Envelope->ActorAddress</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M2417.63,-158C2764.46,-158 3766.29,-158 3766.29,-158 3766.29,-158 3766.29,-1544.3 3766.29,-1544.3"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="3762.79,-1544.3 3766.29,-1554.3 3769.79,-1544.3 3762.79,-1544.3"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-147.7" font-family="Helvetica,sans-Serif" font-size="9.00">dest</text>
|
|
</g>
|
|
<!-- InboxRegistry -->
|
|
<g id="node23" class="node">
|
|
<title>InboxRegistry</title>
|
|
<polygon fill="#fff59d" stroke="black" points="2090.7,-305 2090.7,-341 2511.56,-341 2511.56,-305 2090.7,-305"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2132.33" y="-320.1" font-family="Helvetica,sans-Serif" font-size="11.00">InboxRegistry</text>
|
|
<polyline fill="none" stroke="black" points="2173.95,-305.8 2173.95,-341"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2342.76" y="-320.1" font-family="Helvetica,sans-Serif" font-size="11.00">senders: RwLock<HashMap<ActorAddress, Arc<dyn SenderT>>></text>
|
|
</g>
|
|
<!-- InboxRegistry->ActorAddress -->
|
|
<g id="edge60" class="edge">
|
|
<title>InboxRegistry->ActorAddress</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M2493.29,-341.22C2493.29,-392.9 2493.29,-536.7 2493.29,-536.7 2493.29,-536.7 3728.29,-536.7 3728.29,-536.7 3728.29,-536.7 3728.29,-1544.27 3728.29,-1544.27"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="3724.79,-1544.27 3728.29,-1554.27 3731.79,-1544.27 3724.79,-1544.27"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-223.7" font-family="Helvetica,sans-Serif" font-size="9.00">senders</text>
|
|
</g>
|
|
<!-- InboxRegistry->Error -->
|
|
<g id="edge64" class="edge">
|
|
<title>InboxRegistry->Error</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M2511.78,-329.17C2569.39,-329.17 2616.29,-329.17 2616.29,-329.17 2616.29,-329.17 2616.29,-1806.12 2616.29,-1806.12 2616.29,-1806.12 3249.46,-1806.12 3249.46,-1806.12"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="3249.46,-1809.63 3259.46,-1806.13 3249.46,-1802.63 3249.46,-1809.63"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2856.53" y="-942.7" font-family="Helvetica,sans-Serif" font-size="9.00">try_deliver() param</text>
|
|
</g>
|
|
<!-- InboxRegistry->SenderT -->
|
|
<g id="edge17" class="edge">
|
|
<title>InboxRegistry->SenderT</title>
|
|
<path fill="none" stroke="#f9a825" stroke-dasharray="5,2" d="M2511.9,-316.83C2511.9,-316.83 2680.22,-316.83 2680.22,-316.83"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" points="2680.22,-320.33 2690.22,-316.83 2680.22,-313.33 2680.22,-320.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-325.7" font-family="Helvetica,sans-Serif" font-size="9.00">senders</text>
|
|
</g>
|
|
<!-- TickContext->ActorAddress -->
|
|
<g id="edge61" class="edge">
|
|
<title>TickContext->ActorAddress</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M1932.02,-292.5C2439.79,-292.5 3741.29,-292.5 3741.29,-292.5 3741.29,-292.5 3741.29,-1544.35 3741.29,-1544.35"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="3737.79,-1544.35 3741.29,-1554.35 3744.79,-1544.35 3737.79,-1544.35"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2856.53" y="-857.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_txs</text>
|
|
</g>
|
|
<!-- TickContext->AnyActor -->
|
|
<g id="edge62" class="edge">
|
|
<title>TickContext->AnyActor</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M1932.14,-298.5C2212.83,-298.5 2690.29,-298.5 2690.29,-298.5 2690.29,-298.5 2690.29,-1544.68 2690.29,-1544.68"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="2686.79,-1544.68 2690.29,-1554.68 2693.79,-1544.68 2686.79,-1544.68"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-1151.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_txs</text>
|
|
</g>
|
|
<!-- TickContext->Sender -->
|
|
<g id="edge63" class="edge">
|
|
<title>TickContext->Sender</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M1914.29,-341.13C1914.29,-506.66 1914.29,-974.9 1914.29,-974.9 1914.29,-974.9 2175.67,-974.9 2175.67,-974.9"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="2175.67,-978.4 2185.67,-974.9 2175.67,-971.4 2175.67,-978.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-781.7" font-family="Helvetica,sans-Serif" font-size="9.00">transfer_txs</text>
|
|
</g>
|
|
<!-- TickContext->Error -->
|
|
<g id="edge65" class="edge">
|
|
<title>TickContext->Error</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M1905.29,-341.24C1905.29,-619.24 1905.29,-1815.38 1905.29,-1815.38 1905.29,-1815.38 3249.25,-1815.38 3249.25,-1815.38"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="3249.25,-1818.88 3259.25,-1815.38 3249.25,-1811.88 3249.25,-1818.88"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1119.7" font-family="Helvetica,sans-Serif" font-size="9.00">route_nonlocal() param</text>
|
|
</g>
|
|
<!-- TickContext->RuntimeConfig -->
|
|
<g id="edge66" class="edge">
|
|
<title>TickContext->RuntimeConfig</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M1923.29,-341.03C1923.29,-391.33 1923.29,-456.7 1923.29,-456.7 1923.29,-456.7 2165.14,-456.7 2165.14,-456.7"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="2165.14,-460.2 2175.14,-456.7 2165.14,-453.2 2165.14,-460.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-417.7" font-family="Helvetica,sans-Serif" font-size="9.00">config</text>
|
|
</g>
|
|
<!-- TickContext->AddressMap -->
|
|
<g id="edge18" class="edge">
|
|
<title>TickContext->AddressMap</title>
|
|
<path fill="none" stroke="#f9a825" stroke-dasharray="5,2" d="M1932.1,-240.5C2046.39,-240.5 2167.29,-240.5 2167.29,-240.5 2167.29,-240.5 2167.29,-239.6 2167.29,-239.6"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" points="2170.79,-243.01 2167.29,-233.01 2163.79,-243.01 2170.79,-243.01"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-264.7" font-family="Helvetica,sans-Serif" font-size="9.00">address_map</text>
|
|
</g>
|
|
<!-- TickContext->Placement -->
|
|
<g id="edge20" class="edge">
|
|
<title>TickContext->Placement</title>
|
|
<path fill="none" stroke="#f9a825" stroke-dasharray="5,2" d="M1932.2,-261.83C1932.2,-261.83 2198.23,-261.83 2198.23,-261.83"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" points="2198.23,-265.33 2208.23,-261.83 2198.23,-258.33 2198.23,-265.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-298.7" font-family="Helvetica,sans-Serif" font-size="9.00">placement</text>
|
|
</g>
|
|
<!-- TickContext->Envelope -->
|
|
<g id="edge19" class="edge">
|
|
<title>TickContext->Envelope</title>
|
|
<path fill="none" stroke="#f9a825" stroke-dasharray="5,2" d="M1732.29,-226.99C1732.29,-197.36 1732.29,-167.25 1732.29,-167.25 1732.29,-167.25 2173.13,-167.25 2173.13,-167.25"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" points="2173.13,-170.75 2183.13,-167.25 2173.13,-163.75 2173.13,-170.75"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-230.7" font-family="Helvetica,sans-Serif" font-size="9.00">transfer_txs</text>
|
|
</g>
|
|
<!-- TickContext->InboxRegistry -->
|
|
<g id="edge21" class="edge">
|
|
<title>TickContext->InboxRegistry</title>
|
|
<path fill="none" stroke="#f9a825" stroke-dasharray="5,2" d="M1932.2,-322.9C1932.2,-322.9 2078.85,-322.9 2078.85,-322.9"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" points="2078.85,-326.4 2088.85,-322.9 2078.85,-319.4 2078.85,-326.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-332.7" font-family="Helvetica,sans-Serif" font-size="9.00">inbox_registry</text>
|
|
</g>
|
|
<!-- CodecRegistry -->
|
|
<g id="node37" class="node">
|
|
<title>CodecRegistry</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="2703.88,-1957 2703.88,-1993 3009.19,-1993 3009.19,-1957 2703.88,-1957"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2747.94" y="-1972" font-family="Helvetica,sans-Serif" font-size="11.00">CodecRegistry</text>
|
|
<polyline fill="none" stroke="black" points="2792.01,-1957.6 2792.01,-1993"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2900.6" y="-1978.6" font-family="Helvetica,sans-Serif" font-size="11.00">encoders: HashMap<TypeId, EncodeFn></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2900.6" y="-1965.4" font-family="Helvetica,sans-Serif" font-size="11.00">decoders: HashMap<String, DecodeFn></text>
|
|
</g>
|
|
<!-- TickContext->CodecRegistry -->
|
|
<g id="edge67" class="edge">
|
|
<title>TickContext->CodecRegistry</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M1887.29,-341.21C1887.29,-638.02 1887.29,-1988.83 1887.29,-1988.83 1887.29,-1988.83 2691.22,-1988.83 2691.22,-1988.83"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="2691.22,-1992.33 2701.22,-1988.83 2691.22,-1985.33 2691.22,-1992.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-1274.7" font-family="Helvetica,sans-Serif" font-size="9.00">codec_registry</text>
|
|
</g>
|
|
<!-- TransportRouter -->
|
|
<g id="node38" class="node">
|
|
<title>TransportRouter</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="2086.12,-1950 2086.12,-1986 2516.14,-1986 2516.14,-1950 2086.12,-1950"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2134.17" y="-1965.1" font-family="Helvetica,sans-Serif" font-size="11.00">TransportRouter</text>
|
|
<polyline fill="none" stroke="black" points="2182.21,-1950.8 2182.21,-1986"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2349.18" y="-1965.1" font-family="Helvetica,sans-Serif" font-size="11.00">routes: RwLock<HashMap<ActorAddress, Arc<dyn Transport>>></text>
|
|
</g>
|
|
<!-- TickContext->TransportRouter -->
|
|
<g id="edge68" class="edge">
|
|
<title>TickContext->TransportRouter</title>
|
|
<path fill="none" stroke="#f9a825" stroke-width="1.5" d="M1896.29,-341.04C1896.29,-633.93 1896.29,-1955.17 1896.29,-1955.17 1896.29,-1955.17 2073.4,-1955.17 2073.4,-1955.17"/>
|
|
<polygon fill="#f9a825" stroke="#f9a825" stroke-width="1.5" points="2073.4,-1958.67 2083.4,-1955.17 2073.4,-1951.67 2073.4,-1958.67"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1275.7" font-family="Helvetica,sans-Serif" font-size="9.00">transport_router</text>
|
|
</g>
|
|
<!-- TickTiming -->
|
|
<g id="node25" class="node">
|
|
<title>TickTiming</title>
|
|
<polygon fill="#b2ebf2" stroke="black" points="2744.55,-748.2 2744.55,-795.8 2968.51,-795.8 2968.51,-748.2 2744.55,-748.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2779.13" y="-768.7" font-family="Helvetica,sans-Serif" font-size="11.00">TickTiming</text>
|
|
<polyline fill="none" stroke="black" points="2813.72,-748.2 2813.72,-795.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.12" y="-781.9" font-family="Helvetica,sans-Serif" font-size="11.00">phase_us: [u64; ..]</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.12" y="-768.7" font-family="Helvetica,sans-Serif" font-size="11.00">messages_processed: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.12" y="-755.5" font-family="Helvetica,sans-Serif" font-size="11.00">did_work: bool</text>
|
|
</g>
|
|
<!-- WorkerStats->TickTiming -->
|
|
<g id="edge23" class="edge">
|
|
<title>WorkerStats->TickTiming</title>
|
|
<path fill="none" stroke="#00838f" stroke-dasharray="5,2" d="M2484.14,-779.83C2484.14,-779.83 2732.93,-779.83 2732.93,-779.83"/>
|
|
<polygon fill="#00838f" stroke="#00838f" points="2732.93,-783.33 2742.93,-779.83 2732.93,-776.33 2732.93,-783.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-769.7" font-family="Helvetica,sans-Serif" font-size="9.00">tick_timings</text>
|
|
</g>
|
|
<!-- WorkerInfo -->
|
|
<g id="node27" class="node">
|
|
<title>WorkerInfo</title>
|
|
<polygon fill="#b2ebf2" stroke="black" points="2747.9,-602.6 2747.9,-729.4 2965.16,-729.4 2965.16,-602.6 2747.9,-602.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2782.8" y="-662.7" font-family="Helvetica,sans-Serif" font-size="11.00">WorkerInfo</text>
|
|
<polyline fill="none" stroke="black" points="2817.69,-602.6 2817.69,-729.4"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-715.5" font-family="Helvetica,sans-Serif" font-size="11.00">id: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-702.3" font-family="Helvetica,sans-Serif" font-size="11.00">num_actors: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-689.1" font-family="Helvetica,sans-Serif" font-size="11.00">mailbox_depth: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-675.9" font-family="Helvetica,sans-Serif" font-size="11.00">messages_processed: u64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-662.7" font-family="Helvetica,sans-Serif" font-size="11.00">local_sends: u64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-649.5" font-family="Helvetica,sans-Serif" font-size="11.00">cross_sends: u64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-636.3" font-family="Helvetica,sans-Serif" font-size="11.00">inbox_sends: u64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-623.1" font-family="Helvetica,sans-Serif" font-size="11.00">type_mismatches: u64</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2891.43" y="-609.9" font-family="Helvetica,sans-Serif" font-size="11.00">panics: u64</text>
|
|
</g>
|
|
<!-- WorkerStats->WorkerInfo -->
|
|
<g id="edge27" class="edge">
|
|
<title>WorkerStats->WorkerInfo</title>
|
|
<path fill="none" stroke="#00838f" stroke-dasharray="5,2" d="M2484.14,-699C2484.14,-699 2736.2,-699 2736.2,-699"/>
|
|
<polygon fill="#00838f" stroke="#00838f" points="2736.2,-702.5 2746.2,-699 2736.2,-695.5 2736.2,-702.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-731.7" font-family="Helvetica,sans-Serif" font-size="9.00">snapshot() param</text>
|
|
</g>
|
|
<!-- ActorInfo -->
|
|
<g id="node28" class="node">
|
|
<title>ActorInfo</title>
|
|
<polygon fill="#b2ebf2" stroke="black" points="3050.57,-662.2 3050.57,-709.8 3237.86,-709.8 3237.86,-662.2 3050.57,-662.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3080.58" y="-682.7" font-family="Helvetica,sans-Serif" font-size="11.00">ActorInfo</text>
|
|
<polyline fill="none" stroke="black" points="3110.59,-662.2 3110.59,-709.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3174.23" y="-695.9" font-family="Helvetica,sans-Serif" font-size="11.00">address: ActorAddress</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="3174.23" y="-682.7" font-family="Helvetica,sans-Serif" font-size="11.00">worker_id: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="3174.23" y="-669.5" font-family="Helvetica,sans-Serif" font-size="11.00">mailbox_depth: usize</text>
|
|
</g>
|
|
<!-- ActorInfo->ActorAddress -->
|
|
<g id="edge69" class="edge">
|
|
<title>ActorInfo->ActorAddress</title>
|
|
<path fill="none" stroke="#00838f" stroke-width="1.5" d="M3238.25,-686C3397.3,-686 3702.29,-686 3702.29,-686 3702.29,-686 3702.29,-1544.57 3702.29,-1544.57"/>
|
|
<polygon fill="#00838f" stroke="#00838f" stroke-width="1.5" points="3698.79,-1544.57 3702.29,-1554.57 3705.79,-1544.57 3698.79,-1544.57"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3423.66" y="-796.7" font-family="Helvetica,sans-Serif" font-size="9.00">address</text>
|
|
</g>
|
|
<!-- RuntimeStats -->
|
|
<g id="node29" class="node">
|
|
<title>RuntimeStats</title>
|
|
<polygon fill="#b2ebf2" stroke="black" points="2161.94,-576 2161.94,-650 2440.32,-650 2440.32,-576 2161.94,-576"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2202.96" y="-609.7" font-family="Helvetica,sans-Serif" font-size="11.00">RuntimeStats</text>
|
|
<polyline fill="none" stroke="black" points="2243.97,-576 2243.97,-650"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2342.14" y="-636.1" font-family="Helvetica,sans-Serif" font-size="11.00">num_workers: usize</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2342.14" y="-622.9" font-family="Helvetica,sans-Serif" font-size="11.00">actors: Vec<(ActorAddress, usize)></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2342.14" y="-609.7" font-family="Helvetica,sans-Serif" font-size="11.00">workers: Vec<WorkerInfo></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2342.14" y="-596.5" font-family="Helvetica,sans-Serif" font-size="11.00">actor_details: Vec<ActorInfo></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2342.14" y="-583.3" font-family="Helvetica,sans-Serif" font-size="11.00">tick_timings: Vec<Vec<TickTiming>></text>
|
|
</g>
|
|
<!-- RuntimeStats->ActorAddress -->
|
|
<g id="edge70" class="edge">
|
|
<title>RuntimeStats->ActorAddress</title>
|
|
<path fill="none" stroke="#00838f" stroke-width="1.5" d="M2440.6,-584.37C2797.37,-584.37 3715.29,-584.37 3715.29,-584.37 3715.29,-584.37 3715.29,-1544.26 3715.29,-1544.26"/>
|
|
<polygon fill="#00838f" stroke="#00838f" stroke-width="1.5" points="3711.79,-1544.26 3715.29,-1554.26 3718.79,-1544.26 3711.79,-1544.26"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-556.7" font-family="Helvetica,sans-Serif" font-size="9.00">actors</text>
|
|
</g>
|
|
<!-- RuntimeStats->TickTiming -->
|
|
<g id="edge26" class="edge">
|
|
<title>RuntimeStats->TickTiming</title>
|
|
<path fill="none" stroke="#00838f" stroke-dasharray="5,2" d="M2440.57,-634.37C2475.02,-634.37 2502.29,-634.37 2502.29,-634.37 2502.29,-634.37 2502.29,-763.77 2502.29,-763.77 2502.29,-763.77 2732.93,-763.77 2732.93,-763.77"/>
|
|
<polygon fill="#00838f" stroke="#00838f" points="2732.93,-767.27 2742.93,-763.77 2732.93,-760.27 2732.93,-767.27"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-694.7" font-family="Helvetica,sans-Serif" font-size="9.00">tick_timings</text>
|
|
</g>
|
|
<!-- RuntimeStats->WorkerInfo -->
|
|
<g id="edge24" class="edge">
|
|
<title>RuntimeStats->WorkerInfo</title>
|
|
<path fill="none" stroke="#00838f" stroke-dasharray="5,2" d="M2440.57,-618.23C2440.57,-618.23 2736.17,-618.23 2736.17,-618.23"/>
|
|
<polygon fill="#00838f" stroke="#00838f" points="2736.17,-621.73 2746.17,-618.23 2736.17,-614.73 2736.17,-621.73"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-654.7" font-family="Helvetica,sans-Serif" font-size="9.00">workers</text>
|
|
</g>
|
|
<!-- RuntimeStats->ActorInfo -->
|
|
<g id="edge25" class="edge">
|
|
<title>RuntimeStats->ActorInfo</title>
|
|
<path fill="none" stroke="#00838f" stroke-dasharray="5,2" d="M2440.36,-593.23C2679.84,-593.23 3144.29,-593.23 3144.29,-593.23 3144.29,-593.23 3144.29,-650.6 3144.29,-650.6"/>
|
|
<polygon fill="#00838f" stroke="#00838f" points="3140.79,-650.6 3144.29,-660.6 3147.79,-650.6 3140.79,-650.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-609.7" font-family="Helvetica,sans-Serif" font-size="9.00">actor_details</text>
|
|
</g>
|
|
<!-- Inbox -->
|
|
<g id="node30" class="node">
|
|
<title>Inbox</title>
|
|
<polygon fill="#ffccbc" stroke="black" points="1105.33,-1011 1105.33,-1047 1260.23,-1047 1260.23,-1011 1105.33,-1011"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1126.78" y="-1026" font-family="Helvetica,sans-Serif" font-size="11.00">Inbox</text>
|
|
<polyline fill="none" stroke="black" points="1148.24,-1011.6 1148.24,-1047"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1204.23" y="-1032.6" font-family="Helvetica,sans-Serif" font-size="11.00">addr: ActorAddress</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="1204.23" y="-1019.4" font-family="Helvetica,sans-Serif" font-size="11.00">inner: Receiver<M></text>
|
|
</g>
|
|
<!-- Inbox->ActorAddress -->
|
|
<g id="edge71" class="edge">
|
|
<title>Inbox->ActorAddress</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M1182.29,-1047.35C1182.29,-1086.8 1182.29,-1176.2 1182.29,-1176.2 1182.29,-1176.2 3677.29,-1176.2 3677.29,-1176.2 3677.29,-1176.2 3677.29,-1544.29 3677.29,-1544.29"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="3673.79,-1544.29 3677.29,-1554.29 3680.79,-1544.29 3673.79,-1544.29"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1190.7" font-family="Helvetica,sans-Serif" font-size="9.00">addr</text>
|
|
</g>
|
|
<!-- Inbox->Receiver -->
|
|
<g id="edge76" class="edge">
|
|
<title>Inbox->Receiver</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M1260.67,-1023.5C1260.67,-1023.5 1603.07,-1023.5 1603.07,-1023.5"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="1603.07,-1027 1613.07,-1023.5 1603.07,-1020 1603.07,-1027"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1032.7" font-family="Helvetica,sans-Serif" font-size="9.00">inner</text>
|
|
</g>
|
|
<!-- RuntimeHandle -->
|
|
<g id="node31" class="node">
|
|
<title>RuntimeHandle</title>
|
|
<polygon fill="#ffccbc" stroke="black" points="23.74,-946 23.74,-982 281.37,-982 281.37,-946 23.74,-946"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="69.65" y="-961" font-family="Helvetica,sans-Serif" font-size="11.00">RuntimeHandle</text>
|
|
<polyline fill="none" stroke="black" points="115.56,-946.6 115.56,-982"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="198.47" y="-967.6" font-family="Helvetica,sans-Serif" font-size="11.00">runtime: Arc<Runtime></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="198.47" y="-954.4" font-family="Helvetica,sans-Serif" font-size="11.00">threads: Vec<JoinHandle<()>></text>
|
|
</g>
|
|
<!-- Runtime -->
|
|
<g id="node32" class="node">
|
|
<title>Runtime</title>
|
|
<polygon fill="#ffccbc" stroke="black" points="372.13,-880.8 372.13,-1047.2 835.78,-1047.2 835.78,-880.8 372.13,-880.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="400.61" y="-960.7" font-family="Helvetica,sans-Serif" font-size="11.00">Runtime</text>
|
|
<polyline fill="none" stroke="black" points="429.09,-880.8 429.09,-1047.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-1033.3" font-family="Helvetica,sans-Serif" font-size="11.00">config: RuntimeConfig</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-1020.1" font-family="Helvetica,sans-Serif" font-size="11.00">address_map: Arc<AddressMap></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-1006.9" font-family="Helvetica,sans-Serif" font-size="11.00">inbox_registry: Arc<InboxRegistry></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-993.7" font-family="Helvetica,sans-Serif" font-size="11.00">transfer_txs: Vec<Sender<Envelope>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-980.5" font-family="Helvetica,sans-Serif" font-size="11.00">spawn_txs: Vec<Sender<(ActorAddress, Box<dyn AnyActor>)>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-967.3" font-family="Helvetica,sans-Serif" font-size="11.00">placement: Placement</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-954.1" font-family="Helvetica,sans-Serif" font-size="11.00">is_running: AtomicBool</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-940.9" font-family="Helvetica,sans-Serif" font-size="11.00">worker_stats: Vec<Arc<WorkerStats>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-927.7" font-family="Helvetica,sans-Serif" font-size="11.00">mailbox_snapshots: Vec<Arc<std::sync::Mutex<Vec<(ActorAddress, usize)>>>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-914.5" font-family="Helvetica,sans-Serif" font-size="11.00">tick_workers: RefCell<Vec<Worker>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-901.3" font-family="Helvetica,sans-Serif" font-size="11.00">codec_registry: Option<Arc<crate::transport::CodecRegistry>></text>
|
|
<text xml:space="preserve" text-anchor="middle" x="632.43" y="-888.1" font-family="Helvetica,sans-Serif" font-size="11.00">transport_router: Option<Arc<crate::transport::TransportRouter>></text>
|
|
</g>
|
|
<!-- RuntimeHandle->Runtime -->
|
|
<g id="edge28" class="edge">
|
|
<title>RuntimeHandle->Runtime</title>
|
|
<path fill="none" stroke="#d84315" stroke-dasharray="5,2" d="M281.61,-970.17C281.61,-970.17 360.49,-970.17 360.49,-970.17"/>
|
|
<polygon fill="#d84315" stroke="#d84315" points="360.49,-973.67 370.49,-970.17 360.49,-966.67 360.49,-973.67"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="330.62" y="-949.7" font-family="Helvetica,sans-Serif" font-size="9.00">runtime</text>
|
|
</g>
|
|
<!-- Runtime->ActorAddress -->
|
|
<g id="edge72" class="edge">
|
|
<title>Runtime->ActorAddress</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M836.17,-942.59C1554.01,-942.59 3689.29,-942.59 3689.29,-942.59 3689.29,-942.59 3689.29,-1544.48 3689.29,-1544.48"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="3685.79,-1544.48 3689.29,-1554.48 3692.79,-1544.48 3685.79,-1544.48"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-2.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_txs</text>
|
|
</g>
|
|
<!-- Runtime->AnyActor -->
|
|
<g id="edge73" class="edge">
|
|
<title>Runtime->AnyActor</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M836.09,-955.04C1379.65,-955.04 2689.29,-955.04 2689.29,-955.04 2689.29,-955.04 2689.29,-1544.51 2689.29,-1544.51"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2685.79,-1544.51 2689.29,-1554.51 2692.79,-1544.51 2685.79,-1544.51"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-1217.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn_txs</text>
|
|
</g>
|
|
<!-- Runtime->ContextInner -->
|
|
<g id="edge74" class="edge">
|
|
<title>Runtime->ContextInner</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" stroke-dasharray="1,5" d="M835.89,-989.7C1249.23,-989.7 2070.29,-989.7 2070.29,-989.7 2070.29,-989.7 2070.29,-1544.25 2070.29,-1544.25"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2066.79,-1544.25 2070.29,-1554.25 2073.79,-1544.25 2066.79,-1544.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1543.7" font-family="Helvetica,sans-Serif" font-size="9.00">impl</text>
|
|
</g>
|
|
<!-- Runtime->Worker -->
|
|
<g id="edge75" class="edge">
|
|
<title>Runtime->Worker</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M836.28,-1035.17C940.01,-1035.17 1039.29,-1035.17 1039.29,-1035.17 1039.29,-1035.17 1039.29,-1287.81 1039.29,-1287.81"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="1035.79,-1287.81 1039.29,-1297.81 1042.79,-1287.81 1035.79,-1287.81"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="892.3" y="-1298.7" font-family="Helvetica,sans-Serif" font-size="9.00">tick_workers</text>
|
|
</g>
|
|
<!-- Runtime->Sender -->
|
|
<g id="edge77" class="edge">
|
|
<title>Runtime->Sender</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M835.94,-982.3C835.94,-982.3 2175.62,-982.3 2175.62,-982.3"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2175.62,-985.8 2185.62,-982.3 2175.62,-978.8 2175.62,-985.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-983.7" font-family="Helvetica,sans-Serif" font-size="9.00">transfer_txs</text>
|
|
</g>
|
|
<!-- Runtime->Error -->
|
|
<g id="edge78" class="edge">
|
|
<title>Runtime->Error</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M720.29,-1047.36C720.29,-1264.21 720.29,-1829.25 720.29,-1829.25 720.29,-1829.25 3249.12,-1829.25 3249.12,-1829.25"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="3249.12,-1832.75 3259.12,-1829.25 3249.12,-1825.75 3249.12,-1832.75"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-1830.7" font-family="Helvetica,sans-Serif" font-size="9.00">spawn() param</text>
|
|
</g>
|
|
<!-- Runtime->RuntimeConfig -->
|
|
<g id="edge79" class="edge">
|
|
<title>Runtime->RuntimeConfig</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M650.29,-880.33C650.29,-741.18 650.29,-477.3 650.29,-477.3 650.29,-477.3 2165.12,-477.3 2165.12,-477.3"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2165.12,-480.8 2175.12,-477.3 2165.12,-473.8 2165.12,-480.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-524.7" font-family="Helvetica,sans-Serif" font-size="9.00">config</text>
|
|
</g>
|
|
<!-- Runtime->AddressMap -->
|
|
<g id="edge80" class="edge">
|
|
<title>Runtime->AddressMap</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M557.29,-880.49C557.29,-684.34 557.29,-210.6 557.29,-210.6 557.29,-210.6 2112.06,-210.6 2112.06,-210.6"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2112.06,-214.1 2122.06,-210.6 2112.06,-207.1 2112.06,-214.1"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-78.7" font-family="Helvetica,sans-Serif" font-size="9.00">address_map</text>
|
|
</g>
|
|
<!-- Runtime->Placement -->
|
|
<g id="edge83" class="edge">
|
|
<title>Runtime->Placement</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M836.16,-905.21C1231.1,-905.21 1991.29,-905.21 1991.29,-905.21 1991.29,-905.21 1991.29,-274.17 1991.29,-274.17 1991.29,-274.17 2197.57,-274.17 2197.57,-274.17"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2197.57,-277.67 2207.57,-274.17 2197.57,-270.67 2197.57,-277.67"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-116.7" font-family="Helvetica,sans-Serif" font-size="9.00">placement</text>
|
|
</g>
|
|
<!-- Runtime->Envelope -->
|
|
<g id="edge82" class="edge">
|
|
<title>Runtime->Envelope</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M465.29,-880.59C465.29,-672.81 465.29,-148.75 465.29,-148.75 465.29,-148.75 2172.28,-148.75 2172.28,-148.75"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2172.28,-152.25 2182.28,-148.75 2172.28,-145.25 2172.28,-152.25"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-40.7" font-family="Helvetica,sans-Serif" font-size="9.00">transfer_txs</text>
|
|
</g>
|
|
<!-- Runtime->InboxRegistry -->
|
|
<g id="edge81" class="edge">
|
|
<title>Runtime->InboxRegistry</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M835.91,-917.67C1257.05,-917.67 2104.29,-917.67 2104.29,-917.67 2104.29,-917.67 2104.29,-353.72 2104.29,-353.72"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2107.79,-353.72 2104.29,-343.72 2100.79,-353.72 2107.79,-353.72"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-201.7" font-family="Helvetica,sans-Serif" font-size="9.00">inbox_registry</text>
|
|
</g>
|
|
<!-- Runtime->TickContext -->
|
|
<g id="edge84" class="edge">
|
|
<title>Runtime->TickContext</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M835.98,-892.76C1115.01,-892.76 1546.29,-892.76 1546.29,-892.76 1546.29,-892.76 1546.29,-353.54 1546.29,-353.54"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="1549.79,-353.54 1546.29,-343.54 1542.79,-353.54 1549.79,-353.54"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1182.78" y="-247.7" font-family="Helvetica,sans-Serif" font-size="9.00">make_tick_context() param</text>
|
|
</g>
|
|
<!-- Runtime->WorkerStats -->
|
|
<g id="edge85" class="edge">
|
|
<title>Runtime->WorkerStats</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M836.25,-930.13C1262.28,-930.13 2125.29,-930.13 2125.29,-930.13 2125.29,-930.13 2125.29,-808.05 2125.29,-808.05"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2128.79,-808.05 2125.29,-798.05 2121.79,-808.05 2128.79,-808.05"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-735.7" font-family="Helvetica,sans-Serif" font-size="9.00">worker_stats</text>
|
|
</g>
|
|
<!-- Runtime->RuntimeStats -->
|
|
<g id="edge86" class="edge">
|
|
<title>Runtime->RuntimeStats</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M743.29,-880.37C743.29,-776.55 743.29,-613 743.29,-613 743.29,-613 2149.24,-613 2149.24,-613"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2149.24,-616.5 2159.24,-613 2149.24,-609.5 2149.24,-616.5"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-616.7" font-family="Helvetica,sans-Serif" font-size="9.00">stats() param</text>
|
|
</g>
|
|
<!-- Runtime->Inbox -->
|
|
<g id="edge29" class="edge">
|
|
<title>Runtime->Inbox</title>
|
|
<path fill="none" stroke="#d84315" stroke-dasharray="5,2" d="M836.05,-1022.83C836.05,-1022.83 1093.43,-1022.83 1093.43,-1022.83"/>
|
|
<polygon fill="#d84315" stroke="#d84315" points="1093.43,-1026.33 1103.43,-1022.83 1093.43,-1019.33 1093.43,-1026.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="892.3" y="-1020.7" font-family="Helvetica,sans-Serif" font-size="9.00">new_inbox() param</text>
|
|
</g>
|
|
<!-- Runtime->RuntimeHandle -->
|
|
<g id="edge30" class="edge">
|
|
<title>Runtime->RuntimeHandle</title>
|
|
<path fill="none" stroke="#d84315" stroke-dasharray="5,2" d="M371.64,-957.83C371.64,-957.83 293.3,-957.83 293.3,-957.83"/>
|
|
<polygon fill="#d84315" stroke="#d84315" points="293.3,-954.33 283.3,-957.83 293.3,-961.33 293.3,-954.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="330.62" y="-983.7" font-family="Helvetica,sans-Serif" font-size="9.00">run() param</text>
|
|
</g>
|
|
<!-- Runtime->CodecRegistry -->
|
|
<g id="edge87" class="edge">
|
|
<title>Runtime->CodecRegistry</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M488.29,-1047.62C488.29,-1292.55 488.29,-1991.17 488.29,-1991.17 488.29,-1991.17 2691.15,-1991.17 2691.15,-1991.17"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2691.15,-1994.67 2701.15,-1991.17 2691.15,-1987.67 2691.15,-1994.67"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-1873.7" font-family="Helvetica,sans-Serif" font-size="9.00">codec_registry</text>
|
|
</g>
|
|
<!-- Runtime->TransportRouter -->
|
|
<g id="edge88" class="edge">
|
|
<title>Runtime->TransportRouter</title>
|
|
<path fill="none" stroke="#d84315" stroke-width="1.5" d="M604.29,-1047.27C604.29,-1286.85 604.29,-1960.83 604.29,-1960.83 604.29,-1960.83 2073.52,-1960.83 2073.52,-1960.83"/>
|
|
<polygon fill="#d84315" stroke="#d84315" stroke-width="1.5" points="2073.52,-1964.33 2083.52,-1960.83 2073.52,-1957.33 2073.52,-1964.33"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1964.7" font-family="Helvetica,sans-Serif" font-size="9.00">transport_router</text>
|
|
</g>
|
|
<!-- Codec -->
|
|
<g id="node33" class="node">
|
|
<title>Codec</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="2691.97,-1902 2691.97,-1938 3021.09,-1938 3021.09,-1902 2691.97,-1902"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2732.68" y="-1917" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» Codec</text>
|
|
<polyline fill="none" stroke="black" points="2773.38,-1902.6 2773.38,-1938"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2897.24" y="-1923.6" font-family="Helvetica,sans-Serif" font-size="11.00">encode((&self, &M) → Result<Vec<u8>, Error>)</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="2897.24" y="-1910.4" font-family="Helvetica,sans-Serif" font-size="11.00">decode((&self, &[u8]) → Result<M, Error>)</text>
|
|
</g>
|
|
<!-- Codec->Error -->
|
|
<g id="edge94" class="edge">
|
|
<title>Codec->Error</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M3021.41,-1920C3139.7,-1920 3278.29,-1920 3278.29,-1920 3278.29,-1920 3278.29,-1850.61 3278.29,-1850.61"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3281.79,-1850.61 3278.29,-1840.61 3274.79,-1850.61 3281.79,-1850.61"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-1867.7" font-family="Helvetica,sans-Serif" font-size="9.00">encode</text>
|
|
</g>
|
|
<!-- NetworkMessage -->
|
|
<g id="node34" class="node">
|
|
<title>NetworkMessage</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="16,-1967 16,-2003 289.11,-2003 289.11,-1967 16,-1967"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="83.3" y="-1982.1" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» NetworkMessage</text>
|
|
<polyline fill="none" stroke="black" points="150.59,-1967.8 150.59,-2003"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="219.85" y="-1982.1" font-family="Helvetica,sans-Serif" font-size="11.00">type_tag(() → &'static str)</text>
|
|
</g>
|
|
<!-- WireEnvelope -->
|
|
<g id="node35" class="node">
|
|
<title>WireEnvelope</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="3326.95,-2017.2 3326.95,-2064.8 3520.36,-2064.8 3520.36,-2017.2 3326.95,-2017.2"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3369.19" y="-2037.7" font-family="Helvetica,sans-Serif" font-size="11.00">WireEnvelope</text>
|
|
<polyline fill="none" stroke="black" points="3411.43,-2017.2 3411.43,-2064.8"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3465.89" y="-2050.9" font-family="Helvetica,sans-Serif" font-size="11.00">dest: ActorAddress</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="3465.89" y="-2037.7" font-family="Helvetica,sans-Serif" font-size="11.00">type_tag: String</text>
|
|
<text xml:space="preserve" text-anchor="middle" x="3465.89" y="-2024.5" font-family="Helvetica,sans-Serif" font-size="11.00">payload: Vec<u8></text>
|
|
</g>
|
|
<!-- WireEnvelope->ActorAddress -->
|
|
<g id="edge89" class="edge">
|
|
<title>WireEnvelope->ActorAddress</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M3520.76,-2041C3618.94,-2041 3756.29,-2041 3756.29,-2041 3756.29,-2041 3756.29,-1605.54 3756.29,-1605.54"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3759.79,-1605.54 3756.29,-1595.54 3752.79,-1605.54 3759.79,-1605.54"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3611.95" y="-2033.7" font-family="Helvetica,sans-Serif" font-size="9.00">dest</text>
|
|
</g>
|
|
<!-- Transport -->
|
|
<g id="node36" class="node">
|
|
<title>Transport</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="2682.82,-2012 2682.82,-2048 3030.25,-2048 3030.25,-2012 2682.82,-2012"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2731.16" y="-2027.1" font-family="Helvetica,sans-Serif" font-size="11.00">«trait» Transport</text>
|
|
<polyline fill="none" stroke="black" points="2779.51,-2012.8 2779.51,-2048"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2904.88" y="-2027.1" font-family="Helvetica,sans-Serif" font-size="11.00">send((&self, WireEnvelope) → Result<(), Error>)</text>
|
|
</g>
|
|
<!-- Transport->Error -->
|
|
<g id="edge95" class="edge">
|
|
<title>Transport->Error</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M3025.29,-2011.55C3025.29,-1962.73 3025.29,-1833.88 3025.29,-1833.88 3025.29,-1833.88 3249.35,-1833.88 3249.35,-1833.88"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3249.35,-1837.38 3259.35,-1833.88 3249.35,-1830.38 3249.35,-1837.38"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-1935.7" font-family="Helvetica,sans-Serif" font-size="9.00">send</text>
|
|
</g>
|
|
<!-- Transport->WireEnvelope -->
|
|
<g id="edge31" class="edge">
|
|
<title>Transport->WireEnvelope</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M3030.54,-2032.6C3030.54,-2032.6 3315.19,-2032.6 3315.19,-2032.6"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="3315.19,-2036.1 3325.19,-2032.6 3315.19,-2029.1 3315.19,-2036.1"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-2053.7" font-family="Helvetica,sans-Serif" font-size="9.00">send</text>
|
|
</g>
|
|
<!-- CodecRegistry->ActorAddress -->
|
|
<g id="edge91" class="edge">
|
|
<title>CodecRegistry->ActorAddress</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M3009.58,-1975C3260.62,-1975 3732.29,-1975 3732.29,-1975 3732.29,-1975 3732.29,-1605.76 3732.29,-1605.76"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3735.79,-1605.76 3732.29,-1595.76 3728.79,-1605.76 3735.79,-1605.76"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3423.66" y="-1986.7" font-family="Helvetica,sans-Serif" font-size="9.00">receive() param</text>
|
|
</g>
|
|
<!-- CodecRegistry->Error -->
|
|
<g id="edge96" class="edge">
|
|
<title>CodecRegistry->Error</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M3009.64,-1965.75C3135.87,-1965.75 3294.29,-1965.75 3294.29,-1965.75 3294.29,-1965.75 3294.29,-1850.73 3294.29,-1850.73"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3297.79,-1850.73 3294.29,-1840.73 3290.79,-1850.73 3297.79,-1850.73"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-1901.7" font-family="Helvetica,sans-Serif" font-size="9.00">encode() param</text>
|
|
</g>
|
|
<!-- CodecRegistry->WireEnvelope -->
|
|
<g id="edge34" class="edge">
|
|
<title>CodecRegistry->WireEnvelope</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M3009.43,-1984.25C3187.12,-1984.25 3456.29,-1984.25 3456.29,-1984.25 3456.29,-1984.25 3456.29,-2005.42 3456.29,-2005.42"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="3452.79,-2005.42 3456.29,-2015.42 3459.79,-2005.42 3452.79,-2005.42"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-2019.7" font-family="Helvetica,sans-Serif" font-size="9.00">receive() param</text>
|
|
</g>
|
|
<!-- TransportRouter->ActorAddress -->
|
|
<g id="edge90" class="edge">
|
|
<title>TransportRouter->ActorAddress</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M2516.53,-1953C2911,-1953 3709.29,-1953 3709.29,-1953 3709.29,-1953 3709.29,-1605.76 3709.29,-1605.76"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3712.79,-1605.76 3709.29,-1595.76 3705.79,-1605.76 3712.79,-1605.76"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="3144.22" y="-2137.7" font-family="Helvetica,sans-Serif" font-size="9.00">routes</text>
|
|
</g>
|
|
<!-- TransportRouter->Transport -->
|
|
<g id="edge32" class="edge">
|
|
<title>TransportRouter->Transport</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M2516.49,-1971.5C2605.94,-1971.5 2689.29,-1971.5 2689.29,-1971.5 2689.29,-1971.5 2689.29,-2000.3 2689.29,-2000.3"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="2685.79,-2000.3 2689.29,-2010.3 2692.79,-2000.3 2685.79,-2000.3"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2615.97" y="-1984.7" font-family="Helvetica,sans-Serif" font-size="9.00">routes</text>
|
|
</g>
|
|
<!-- InMemoryTransport -->
|
|
<g id="node39" class="node">
|
|
<title>InMemoryTransport</title>
|
|
<polygon fill="#bbdefb" stroke="black" points="965.95,-1995 965.95,-2031 1399.61,-2031 1399.61,-1995 965.95,-1995"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1021.93" y="-2010.1" font-family="Helvetica,sans-Serif" font-size="11.00">InMemoryTransport</text>
|
|
<polyline fill="none" stroke="black" points="1077.92,-1995.8 1077.92,-2031"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1238.76" y="-2010.1" font-family="Helvetica,sans-Serif" font-size="11.00">tx: std::sync::Mutex<std::sync::mpsc::Sender<WireEnvelope>></text>
|
|
</g>
|
|
<!-- InMemoryTransport->Receiver -->
|
|
<g id="edge93" class="edge">
|
|
<title>InMemoryTransport->Receiver</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M1399.98,-2001.3C1452.74,-2001.3 1494.29,-2001.3 1494.29,-2001.3 1494.29,-2001.3 1494.29,-1039.5 1494.29,-1039.5 1494.29,-1039.5 1602.89,-1039.5 1602.89,-1039.5"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="1602.89,-1043 1612.89,-1039.5 1602.89,-1036 1602.89,-1043"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1475.01" y="-1902.7" font-family="Helvetica,sans-Serif" font-size="9.00">pair() param</text>
|
|
</g>
|
|
<!-- InMemoryTransport->Sender -->
|
|
<g id="edge92" class="edge">
|
|
<title>InMemoryTransport->Sender</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M1399.81,-1997.9C1432.37,-1997.9 1455.29,-1997.9 1455.29,-1997.9 1455.29,-1997.9 1455.29,-997.1 1455.29,-997.1 1455.29,-997.1 2175.66,-997.1 2175.66,-997.1"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="2175.66,-1000.6 2185.66,-997.1 2175.66,-993.6 2175.66,-1000.6"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1732.53" y="-1267.7" font-family="Helvetica,sans-Serif" font-size="9.00">tx</text>
|
|
</g>
|
|
<!-- InMemoryTransport->Error -->
|
|
<g id="edge97" class="edge">
|
|
<title>InMemoryTransport->Error</title>
|
|
<path fill="none" stroke="#1565c0" stroke-width="1.5" d="M1399.97,-2004.7C1941.86,-2004.7 3310.29,-2004.7 3310.29,-2004.7 3310.29,-2004.7 3310.29,-1850.66 3310.29,-1850.66"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" stroke-width="1.5" points="3313.79,-1850.66 3310.29,-1840.66 3306.79,-1850.66 3313.79,-1850.66"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-2099.7" font-family="Helvetica,sans-Serif" font-size="9.00">send() param</text>
|
|
</g>
|
|
<!-- InMemoryTransport->WireEnvelope -->
|
|
<g id="edge33" class="edge">
|
|
<title>InMemoryTransport->WireEnvelope</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="5,2" d="M1400.08,-2008.1C1956.89,-2008.1 3391.29,-2008.1 3391.29,-2008.1 3391.29,-2008.1 3391.29,-2008.96 3391.29,-2008.96"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="3387.79,-2005.23 3391.29,-2015.23 3394.79,-2005.23 3387.79,-2005.23"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="2301.13" y="-2052.7" font-family="Helvetica,sans-Serif" font-size="9.00">tx</text>
|
|
</g>
|
|
<!-- InMemoryTransport->Transport -->
|
|
<g id="edge35" class="edge">
|
|
<title>InMemoryTransport->Transport</title>
|
|
<path fill="none" stroke="#1565c0" stroke-dasharray="1,5" d="M1399.88,-2021.5C1399.88,-2021.5 2670.9,-2021.5 2670.9,-2021.5"/>
|
|
<polygon fill="#1565c0" stroke="#1565c0" points="2670.9,-2025 2680.9,-2021.5 2670.9,-2018 2670.9,-2025"/>
|
|
<text xml:space="preserve" text-anchor="middle" x="1991.3" y="-2015.7" font-family="Helvetica,sans-Serif" font-size="9.00">impl</text>
|
|
</g>
|
|
</g>
|
|
</svg>
|