Commit 4495707b authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 9f5efdff
......@@ -28,6 +28,7 @@ digraph {
ZODB_go_inv -> fs1_go_inv;
ZODB_go_inv -> zeo_go_inv;
ZODB_go_inv -> neo_go_inv;
ZODB_go_inv -> zcache_go_inv;
wcfsRead -> blktabGet;
wcfsRead -> δFtail;
......@@ -87,6 +88,7 @@ digraph {
fs1_go_inv [label="fs1/go\ninvalidations", style=filled fillcolor=grey95]
zeo_go_inv [label="zeo/go\ninvalidations"]
neo_go_inv [label="neo/go\ninvalidations"]
zcache_go_inv [label="ZCache/go\n<-watchq"]
// Btree_read [label="BTree read", style=filled fillcolor=lightyellow]
// ZBlk_read [label="ZBigFile / ZBlk* read", style=filled fillcolor=lightyellow]
// ZODB_read [label="ZODB deserialize object", style=filled fillcolor=lightyellow]
......
......@@ -4,303 +4,316 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="1449pt" height="403pt"
viewBox="0.00 0.00 1449.46 402.96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="1554pt" height="403pt"
viewBox="0.00 0.00 1554.46 402.96" 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 398.9605)">
<title>%3</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-398.9605 1445.4565,-398.9605 1445.4565,4 -4,4"/>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-398.9605 1550.4565,-398.9605 1550.4565,4 -4,4"/>
<!-- wcfs -->
<g id="node1" class="node">
<title>wcfs</title>
<ellipse fill="none" stroke="#000000" cx="754.8112" cy="-368.0904" rx="27.0966" ry="18"/>
<text text-anchor="middle" x="754.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">wcfs</text>
<ellipse fill="none" stroke="#000000" cx="859.8112" cy="-368.0904" rx="27.0966" ry="18"/>
<text text-anchor="middle" x="859.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">wcfs</text>
</g>
<!-- invProto -->
<g id="node2" class="node">
<title>invProto</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="960.8112" cy="-368.0904" rx="78.4777" ry="26.7407"/>
<text text-anchor="middle" x="960.8112" y="-371.8904" font-family="Times,serif" font-size="14.00" fill="#000000">open/invalidation</text>
<text text-anchor="middle" x="960.8112" y="-356.8904" font-family="Times,serif" font-size="14.00" fill="#000000">protocol</text>
<ellipse fill="#f2f2f2" stroke="#000000" cx="1065.8112" cy="-368.0904" rx="78.4777" ry="26.7407"/>
<text text-anchor="middle" x="1065.8112" y="-371.8904" font-family="Times,serif" font-size="14.00" fill="#000000">open/invalidation</text>
<text text-anchor="middle" x="1065.8112" y="-356.8904" font-family="Times,serif" font-size="14.00" fill="#000000">protocol</text>
</g>
<!-- wcfs&#45;&gt;invProto -->
<g id="edge1" class="edge">
<title>wcfs&#45;&gt;invProto</title>
<path fill="none" stroke="#000000" d="M782.1706,-368.0904C812.1593,-368.0904 842.1481,-368.0904 872.1369,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="872.307,-371.5905 882.307,-368.0904 872.307,-364.5905 872.307,-371.5905"/>
<path fill="none" stroke="#000000" d="M887.1706,-368.0904C917.1593,-368.0904 947.1481,-368.0904 977.1369,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="977.307,-371.5905 987.307,-368.0904 977.307,-364.5905 977.307,-371.5905"/>
</g>
<!-- autoexit -->
<g id="node4" class="node">
<title>autoexit</title>
<ellipse fill="none" stroke="#000000" cx="522.8112" cy="-278.3503" rx="52.1524" ry="26.7407"/>
<text text-anchor="middle" x="522.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">autoexit</text>
<text text-anchor="middle" x="522.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">if !activity</text>
<ellipse fill="none" stroke="#000000" cx="627.8112" cy="-278.3503" rx="52.1524" ry="26.7407"/>
<text text-anchor="middle" x="627.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">autoexit</text>
<text text-anchor="middle" x="627.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">if !activity</text>
</g>
<!-- wcfs&#45;&gt;autoexit -->
<g id="edge3" class="edge">
<title>wcfs&#45;&gt;autoexit</title>
<path fill="none" stroke="#000000" d="M730.5583,-359.7121C697.2492,-348.0832 635.5811,-326.1155 583.8112,-305.2203 579.8876,-303.6367 575.8405,-301.9574 571.7852,-300.2419"/>
<polygon fill="#000000" stroke="#000000" points="572.9322,-296.9256 562.3621,-296.2017 570.1737,-303.3592 572.9322,-296.9256"/>
<path fill="none" stroke="#000000" d="M835.5583,-359.7121C802.2492,-348.0832 740.5811,-326.1155 688.8112,-305.2203 684.8876,-303.6367 680.8405,-301.9574 676.7852,-300.2419"/>
<polygon fill="#000000" stroke="#000000" points="677.9322,-296.9256 667.3621,-296.2017 675.1737,-303.3592 677.9322,-296.9256"/>
</g>
<!-- wcfsInvProcess -->
<g id="node5" class="node">
<title>wcfsInvProcess</title>
<ellipse fill="none" stroke="#000000" cx="682.8112" cy="-278.3503" rx="89.6056" ry="26.7407"/>
<text text-anchor="middle" x="682.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">process</text>
<text text-anchor="middle" x="682.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">ZODB invalidations</text>
<ellipse fill="none" stroke="#000000" cx="787.8112" cy="-278.3503" rx="89.6056" ry="26.7407"/>
<text text-anchor="middle" x="787.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">process</text>
<text text-anchor="middle" x="787.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">ZODB invalidations</text>
</g>
<!-- wcfs&#45;&gt;wcfsInvProcess -->
<g id="edge4" class="edge">
<title>wcfs&#45;&gt;wcfsInvProcess</title>
<path fill="none" stroke="#000000" d="M741.939,-352.0467C733.2299,-341.1917 721.3891,-326.4335 710.5908,-312.9745"/>
<polygon fill="#000000" stroke="#000000" points="713.0273,-310.4184 704.0393,-304.8088 707.5674,-314.799 713.0273,-310.4184"/>
<path fill="none" stroke="#000000" d="M846.939,-352.0467C838.2299,-341.1917 826.3891,-326.4335 815.5908,-312.9745"/>
<polygon fill="#000000" stroke="#000000" points="818.0273,-310.4184 809.0393,-304.8088 812.5674,-314.799 818.0273,-310.4184"/>
</g>
<!-- wcfsRead -->
<g id="node6" class="node">
<title>wcfsRead</title>
<ellipse fill="none" stroke="#000000" cx="992.8112" cy="-278.3503" rx="47.3916" ry="18"/>
<text text-anchor="middle" x="992.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">read(#blk)</text>
<ellipse fill="none" stroke="#000000" cx="1097.8112" cy="-278.3503" rx="47.3916" ry="18"/>
<text text-anchor="middle" x="1097.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">read(#blk)</text>
</g>
<!-- wcfs&#45;&gt;wcfsRead -->
<g id="edge5" class="edge">
<title>wcfs&#45;&gt;wcfsRead</title>
<path fill="none" stroke="#000000" d="M778.9416,-358.9918C818.9371,-343.9111 899.5048,-313.5323 949.532,-294.6691"/>
<polygon fill="#000000" stroke="#000000" points="950.9871,-297.8611 959.1092,-291.058 948.5173,-291.3112 950.9871,-297.8611"/>
<path fill="none" stroke="#000000" d="M883.9416,-358.9918C923.9371,-343.9111 1004.5048,-313.5323 1054.532,-294.6691"/>
<polygon fill="#000000" stroke="#000000" points="1055.9871,-297.8611 1064.1092,-291.058 1053.5173,-291.3112 1055.9871,-297.8611"/>
</g>
<!-- client -->
<g id="node3" class="node">
<title>client</title>
<ellipse fill="none" stroke="#000000" cx="1128.8112" cy="-368.0904" rx="30.5947" ry="18"/>
<text text-anchor="middle" x="1128.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">client</text>
<ellipse fill="none" stroke="#000000" cx="1233.8112" cy="-368.0904" rx="30.5947" ry="18"/>
<text text-anchor="middle" x="1233.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">client</text>
</g>
<!-- invProto&#45;&gt;client -->
<g id="edge2" class="edge">
<title>invProto&#45;&gt;client</title>
<path fill="none" stroke="#000000" d="M1049.628,-368.0904C1065.7958,-368.0904 1081.9636,-368.0904 1098.1315,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="1049.5612,-364.5905 1039.5612,-368.0904 1049.5611,-371.5905 1049.5612,-364.5905"/>
<path fill="none" stroke="#000000" d="M1154.628,-368.0904C1170.7958,-368.0904 1186.9636,-368.0904 1203.1315,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="1154.5612,-364.5905 1144.5612,-368.0904 1154.5611,-371.5905 1154.5612,-364.5905"/>
</g>
<!-- client&#45;&gt;wcfsRead -->
<g id="edge21" class="edge">
<g id="edge22" class="edge">
<title>client&#45;&gt;wcfsRead</title>
<path fill="none" stroke="#000000" d="M1108.4506,-354.6554C1086.3478,-340.0708 1050.7503,-316.5816 1024.8833,-299.5132"/>
<polygon fill="#000000" stroke="#000000" points="1026.7919,-296.5793 1016.5176,-293.993 1022.9366,-302.422 1026.7919,-296.5793"/>
<path fill="none" stroke="#000000" d="M1213.4506,-354.6554C1191.3478,-340.0708 1155.7503,-316.5816 1129.8833,-299.5132"/>
<polygon fill="#000000" stroke="#000000" points="1131.7919,-296.5793 1121.5176,-293.993 1127.9366,-302.422 1131.7919,-296.5793"/>
</g>
<!-- mappingRegister -->
<g id="node16" class="node">
<g id="node17" class="node">
<title>mappingRegister</title>
<ellipse fill="none" stroke="#000000" cx="1159.8112" cy="-188.6102" rx="65.1077" ry="26.7407"/>
<text text-anchor="middle" x="1159.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">mmappings:</text>
<text text-anchor="middle" x="1159.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">register/maint</text>
<ellipse fill="none" stroke="#000000" cx="1264.8112" cy="-188.6102" rx="65.1077" ry="26.7407"/>
<text text-anchor="middle" x="1264.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">mmappings:</text>
<text text-anchor="middle" x="1264.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">register/maint</text>
</g>
<!-- client&#45;&gt;mappingRegister -->
<g id="edge22" class="edge">
<g id="edge23" class="edge">
<title>client&#45;&gt;mappingRegister</title>
<path fill="none" stroke="#000000" d="M1131.621,-349.886C1135.2019,-326.9188 1141.6665,-286.2213 1147.8112,-251.4802 1149.2972,-243.0787 1150.9712,-234.0613 1152.5869,-225.5533"/>
<polygon fill="#000000" stroke="#000000" points="1156.0681,-225.9835 1154.5122,-215.5036 1149.1931,-224.6664 1156.0681,-225.9835"/>
<path fill="none" stroke="#000000" d="M1236.621,-349.886C1240.2019,-326.9188 1246.6665,-286.2213 1252.8112,-251.4802 1254.2972,-243.0787 1255.9712,-234.0613 1257.5869,-225.5533"/>
<polygon fill="#000000" stroke="#000000" points="1261.0681,-225.9835 1259.5122,-215.5036 1254.1931,-224.6664 1261.0681,-225.9835"/>
</g>
<!-- clientInvHandle -->
<g id="node21" class="node">
<g id="node22" class="node">
<title>clientInvHandle</title>
<ellipse fill="none" stroke="#000000" cx="1237.8112" cy="-278.3503" rx="80.7205" ry="26.7407"/>
<text text-anchor="middle" x="1237.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">process</text>
<text text-anchor="middle" x="1237.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">#blk invalidations</text>
<ellipse fill="none" stroke="#000000" cx="1342.8112" cy="-278.3503" rx="80.7205" ry="26.7407"/>
<text text-anchor="middle" x="1342.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">process</text>
<text text-anchor="middle" x="1342.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">#blk invalidations</text>
</g>
<!-- client&#45;&gt;clientInvHandle -->
<g id="edge23" class="edge">
<g id="edge24" class="edge">
<title>client&#45;&gt;clientInvHandle</title>
<path fill="none" stroke="#000000" d="M1146.8103,-353.2716C1161.0729,-341.5292 1181.5081,-324.7049 1199.4013,-309.9733"/>
<polygon fill="#000000" stroke="#000000" points="1201.9168,-312.4359 1207.4124,-303.3777 1197.4676,-307.0317 1201.9168,-312.4359"/>
<path fill="none" stroke="#000000" d="M1251.8103,-353.2716C1266.0729,-341.5292 1286.5081,-324.7049 1304.4013,-309.9733"/>
<polygon fill="#000000" stroke="#000000" points="1306.9168,-312.4359 1312.4124,-303.3777 1302.4676,-307.0317 1306.9168,-312.4359"/>
</g>
<!-- nowcfs -->
<g id="node22" class="node">
<g id="node23" class="node">
<title>nowcfs</title>
<ellipse fill="none" stroke="#000000" cx="1388.8112" cy="-278.3503" rx="52.7911" ry="18"/>
<text text-anchor="middle" x="1388.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">!wcfs mode</text>
<ellipse fill="none" stroke="#000000" cx="1493.8112" cy="-278.3503" rx="52.7911" ry="18"/>
<text text-anchor="middle" x="1493.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">!wcfs mode</text>
</g>
<!-- client&#45;&gt;nowcfs -->
<g id="edge24" class="edge">
<g id="edge25" class="edge">
<title>client&#45;&gt;nowcfs</title>
<path fill="none" stroke="#000000" d="M1156.4952,-360.3797C1195.2362,-349.3561 1267.6328,-327.9035 1327.8112,-305.2203 1334.359,-302.7523 1341.217,-299.9509 1347.8732,-297.1115"/>
<polygon fill="#000000" stroke="#000000" points="1349.6473,-300.1567 1357.4215,-292.9586 1346.8553,-293.7376 1349.6473,-300.1567"/>
<path fill="none" stroke="#000000" d="M1261.4952,-360.3797C1300.2362,-349.3561 1372.6328,-327.9035 1432.8112,-305.2203 1439.359,-302.7523 1446.217,-299.9509 1452.8732,-297.1115"/>
<polygon fill="#000000" stroke="#000000" points="1454.6473,-300.1567 1462.4215,-292.9586 1451.8553,-293.7376 1454.6473,-300.1567"/>
</g>
<!-- ZODB_go_inv -->
<g id="node7" class="node">
<title>ZODB_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="210.8112" cy="-188.6102" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="210.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">ZODB/go</text>
<text text-anchor="middle" x="210.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
<ellipse fill="none" stroke="#000000" cx="324.8112" cy="-188.6102" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="324.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">ZODB/go</text>
<text text-anchor="middle" x="324.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- wcfsInvProcess&#45;&gt;ZODB_go_inv -->
<g id="edge6" class="edge">
<title>wcfsInvProcess&#45;&gt;ZODB_go_inv</title>
<path fill="none" stroke="#000000" d="M618.6883,-259.5135C607.145,-256.5331 595.1713,-253.7055 583.8112,-251.4802 454.6238,-226.1743 418.1401,-244.831 289.8112,-215.4802 282.2646,-213.7542 274.4264,-211.578 266.747,-209.2147"/>
<polygon fill="#000000" stroke="#000000" points="267.7297,-205.8544 257.1388,-206.141 265.5968,-212.5216 267.7297,-205.8544"/>
<path fill="none" stroke="#000000" d="M723.6883,-259.5135C712.145,-256.5331 700.1713,-253.7055 688.8112,-251.4802 559.6238,-226.1743 522.5488,-247.306 394.8112,-215.4802 389.4429,-214.1427 383.9278,-212.5087 378.4625,-210.7136"/>
<polygon fill="#000000" stroke="#000000" points="379.3162,-207.3053 368.7214,-207.3375 377.0239,-213.9193 379.3162,-207.3053"/>
</g>
<!-- zconnCacheGet -->
<g id="node8" class="node">
<title>zconnCacheGet</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="369.8112" cy="-188.6102" rx="71.4873" ry="18"/>
<text text-anchor="middle" x="369.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">zconn.Cache.Get</text>
<ellipse fill="#f2f2f2" stroke="#000000" cx="474.8112" cy="-188.6102" rx="71.4873" ry="18"/>
<text text-anchor="middle" x="474.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">zconn.Cache.Get</text>
</g>
<!-- wcfsInvProcess&#45;&gt;zconnCacheGet -->
<g id="edge7" class="edge">
<title>wcfsInvProcess&#45;&gt;zconnCacheGet</title>
<path fill="none" stroke="#000000" d="M616.2468,-260.277C605.406,-257.3355 594.2965,-254.3222 583.8112,-251.4802 524.7056,-235.4599 509.4515,-233.1278 450.8112,-215.4802 441.341,-212.6302 431.3025,-209.4397 421.6358,-206.2799"/>
<polygon fill="#000000" stroke="#000000" points="422.7211,-202.9524 412.128,-203.1441 420.5285,-209.6002 422.7211,-202.9524"/>
<path fill="none" stroke="#000000" d="M721.2468,-260.277C710.406,-257.3355 699.2965,-254.3222 688.8112,-251.4802 629.7056,-235.4599 614.4515,-233.1278 555.8112,-215.4802 546.341,-212.6302 536.3025,-209.4397 526.6358,-206.2799"/>
<polygon fill="#000000" stroke="#000000" points="527.7211,-202.9524 517.128,-203.1441 525.5285,-209.6002 527.7211,-202.9524"/>
</g>
<!-- zobj2file -->
<g id="node9" class="node">
<title>zobj2file</title>
<ellipse fill="none" stroke="#000000" cx="529.8112" cy="-188.6102" rx="70.3881" ry="18"/>
<text text-anchor="middle" x="529.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">Z* → file/[]#blk</text>
<ellipse fill="none" stroke="#000000" cx="634.8112" cy="-188.6102" rx="70.3881" ry="18"/>
<text text-anchor="middle" x="634.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">Z* → file/[]#blk</text>
</g>
<!-- wcfsInvProcess&#45;&gt;zobj2file -->
<g id="edge8" class="edge">
<title>wcfsInvProcess&#45;&gt;zobj2file</title>
<path fill="none" stroke="#000000" d="M641.81,-254.3016C618.5232,-240.643 589.5977,-223.6771 566.9761,-210.4087"/>
<polygon fill="#000000" stroke="#000000" points="568.7252,-207.3771 558.3286,-205.3367 565.1836,-213.4151 568.7252,-207.3771"/>
<path fill="none" stroke="#000000" d="M746.81,-254.3016C723.5232,-240.643 694.5977,-223.6771 671.9761,-210.4087"/>
<polygon fill="#000000" stroke="#000000" points="673.7252,-207.3771 663.3286,-205.3367 670.1836,-213.4151 673.7252,-207.3771"/>
</g>
<!-- δFtail -->
<g id="node10" class="node">
<title>δFtail</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="797.8112" cy="-188.6102" rx="31.6951" ry="18"/>
<text text-anchor="middle" x="797.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">δFtail</text>
<ellipse fill="#f2f2f2" stroke="#000000" cx="902.8112" cy="-188.6102" rx="31.6951" ry="18"/>
<text text-anchor="middle" x="902.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">δFtail</text>
</g>
<!-- wcfsInvProcess&#45;&gt;δFtail -->
<g id="edge9" class="edge">
<title>wcfsInvProcess&#45;&gt;δFtail</title>
<path fill="none" stroke="#000000" d="M715.1511,-253.1138C732.6886,-239.4285 754.1158,-222.7078 770.7595,-209.7199"/>
<polygon fill="#000000" stroke="#000000" points="773.2507,-212.2155 778.9812,-203.3041 768.9443,-206.6969 773.2507,-212.2155"/>
<path fill="none" stroke="#000000" d="M820.1511,-253.1138C837.6886,-239.4285 859.1158,-222.7078 875.7595,-209.7199"/>
<polygon fill="#000000" stroke="#000000" points="878.2507,-212.2155 883.9812,-203.3041 873.9443,-206.6969 878.2507,-212.2155"/>
</g>
<!-- fuseRetrieveCache -->
<g id="node11" class="node">
<title>fuseRetrieveCache</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="682.8112" cy="-188.6102" rx="65.1077" ry="26.7407"/>
<text text-anchor="middle" x="682.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">FUSE:</text>
<text text-anchor="middle" x="682.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">retrieve cache</text>
<ellipse fill="#f2f2f2" stroke="#000000" cx="787.8112" cy="-188.6102" rx="65.1077" ry="26.7407"/>
<text text-anchor="middle" x="787.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">FUSE:</text>
<text text-anchor="middle" x="787.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">retrieve cache</text>
</g>
<!-- wcfsInvProcess&#45;&gt;fuseRetrieveCache -->
<g id="edge10" class="edge">
<title>wcfsInvProcess&#45;&gt;fuseRetrieveCache</title>
<path fill="none" stroke="#000000" d="M682.8112,-251.4253C682.8112,-243.3504 682.8112,-234.3471 682.8112,-225.7362"/>
<polygon fill="#000000" stroke="#000000" points="686.3113,-225.5161 682.8112,-215.5162 679.3113,-225.5162 686.3113,-225.5161"/>
<path fill="none" stroke="#000000" d="M787.8112,-251.4253C787.8112,-243.3504 787.8112,-234.3471 787.8112,-225.7362"/>
<polygon fill="#000000" stroke="#000000" points="791.3113,-225.5161 787.8112,-215.5162 784.3113,-225.5162 791.3113,-225.5161"/>
</g>
<!-- wcfsRead&#45;&gt;δFtail -->
<g id="edge15" class="edge">
<g id="edge16" class="edge">
<title>wcfsRead&#45;&gt;δFtail</title>
<path fill="none" stroke="#000000" d="M957.4077,-266.3553C925.3717,-254.9534 877.3024,-236.4646 837.8112,-215.4802 833.9881,-213.4488 830.0761,-211.1406 826.2674,-208.7506"/>
<polygon fill="#000000" stroke="#000000" points="827.9424,-205.664 817.6582,-203.1172 824.1096,-211.5214 827.9424,-205.664"/>
<path fill="none" stroke="#000000" d="M1062.4077,-266.3553C1030.3717,-254.9534 982.3024,-236.4646 942.8112,-215.4802 938.9881,-213.4488 935.0761,-211.1406 931.2674,-208.7506"/>
<polygon fill="#000000" stroke="#000000" points="932.9424,-205.664 922.6582,-203.1172 929.1096,-211.5214 932.9424,-205.664"/>
</g>
<!-- blktabGet -->
<g id="node15" class="node">
<g id="node16" class="node">
<title>blktabGet</title>
<ellipse fill="none" stroke="#000000" cx="961.8112" cy="-188.6102" rx="114.6026" ry="26.7407"/>
<text text-anchor="middle" x="961.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">blktab.Get(#blk):</text>
<text text-anchor="middle" x="961.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">manually + → ⌈rev(#blk)⌉</text>
<ellipse fill="none" stroke="#000000" cx="1066.8112" cy="-188.6102" rx="114.6026" ry="26.7407"/>
<text text-anchor="middle" x="1066.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">blktab.Get(#blk):</text>
<text text-anchor="middle" x="1066.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">manually + → ⌈rev(#blk)⌉</text>
</g>
<!-- wcfsRead&#45;&gt;blktabGet -->
<g id="edge14" class="edge">
<g id="edge15" class="edge">
<title>wcfsRead&#45;&gt;blktabGet</title>
<path fill="none" stroke="#000000" d="M986.5379,-260.19C983.0824,-250.187 978.665,-237.3994 974.5225,-225.4074"/>
<polygon fill="#000000" stroke="#000000" points="977.7079,-223.9089 971.1345,-215.5998 971.0915,-226.1946 977.7079,-223.9089"/>
<path fill="none" stroke="#000000" d="M1091.5379,-260.19C1088.0824,-250.187 1083.665,-237.3994 1079.5225,-225.4074"/>
<polygon fill="#000000" stroke="#000000" points="1082.7079,-223.9089 1076.1345,-215.5998 1076.0915,-226.1946 1082.7079,-223.9089"/>
</g>
<!-- wcfsRead&#45;&gt;mappingRegister -->
<g id="edge16" class="edge">
<g id="edge17" class="edge">
<title>wcfsRead&#45;&gt;mappingRegister</title>
<path fill="none" stroke="#000000" d="M1020.3878,-263.5315C1044.9872,-250.3127 1081.5709,-230.6538 1111.0922,-214.7901"/>
<polygon fill="#000000" stroke="#000000" points="1112.8541,-217.8167 1120.0061,-210.0001 1109.5406,-211.6506 1112.8541,-217.8167"/>
<path fill="none" stroke="#000000" d="M1125.3878,-263.5315C1149.9872,-250.3127 1186.5709,-230.6538 1216.0922,-214.7901"/>
<polygon fill="#000000" stroke="#000000" points="1217.8541,-217.8167 1225.0061,-210.0001 1214.5406,-211.6506 1217.8541,-217.8167"/>
</g>
<!-- headInv -->
<g id="node17" class="node">
<g id="node18" class="node">
<title>headInv</title>
<ellipse fill="none" stroke="#000000" cx="1315.8112" cy="-188.6102" rx="73.387" ry="18"/>
<text text-anchor="middle" x="1315.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">#blk ← head/inv.</text>
<ellipse fill="none" stroke="#000000" cx="1420.8112" cy="-188.6102" rx="73.387" ry="18"/>
<text text-anchor="middle" x="1420.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">#blk ← head/inv.</text>
</g>
<!-- wcfsRead&#45;&gt;headInv -->
<g id="edge17" class="edge">
<g id="edge18" class="edge">
<title>wcfsRead&#45;&gt;headInv</title>
<path fill="none" stroke="#000000" d="M1033.103,-268.6434C1081.1291,-256.8881 1163.7014,-236.0908 1233.8112,-215.4802 1243.2972,-212.6916 1253.3423,-209.5548 1263.0277,-206.4349"/>
<polygon fill="#000000" stroke="#000000" points="1264.1326,-209.756 1272.5592,-203.334 1261.9669,-203.0995 1264.1326,-209.756"/>
<path fill="none" stroke="#000000" d="M1138.103,-268.6434C1186.1291,-256.8881 1268.7014,-236.0908 1338.8112,-215.4802 1348.2972,-212.6916 1358.3423,-209.5548 1368.0277,-206.4349"/>
<polygon fill="#000000" stroke="#000000" points="1369.1326,-209.756 1377.5592,-203.334 1366.9669,-203.0995 1369.1326,-209.756"/>
</g>
<!-- fs1_go_inv -->
<g id="node12" class="node">
<title>fs1_go_inv</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="60.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="60.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">fs1/go</text>
<text text-anchor="middle" x="60.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
<ellipse fill="#f2f2f2" stroke="#000000" cx="326.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="326.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">fs1/go</text>
<text text-anchor="middle" x="326.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- ZODB_go_inv&#45;&gt;fs1_go_inv -->
<g id="edge11" class="edge">
<title>ZODB_go_inv&#45;&gt;fs1_go_inv</title>
<path fill="none" stroke="#000000" d="M174.5004,-166.8866C153.8487,-154.5314 127.8076,-138.9518 105.8607,-125.8217"/>
<polygon fill="#000000" stroke="#000000" points="107.4257,-122.6795 97.0473,-120.5489 103.8318,-128.6865 107.4257,-122.6795"/>
<path fill="none" stroke="#000000" d="M325.4112,-161.6852C325.5912,-153.6102 325.7919,-144.607 325.9838,-135.9961"/>
<polygon fill="#000000" stroke="#000000" points="329.4878,-135.8516 326.2115,-125.776 322.4895,-135.6955 329.4878,-135.8516"/>
</g>
<!-- zeo_go_inv -->
<g id="node13" class="node">
<title>zeo_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="200.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="200.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">zeo/go</text>
<text text-anchor="middle" x="200.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
<ellipse fill="none" stroke="#000000" cx="466.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="466.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">zeo/go</text>
<text text-anchor="middle" x="466.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- ZODB_go_inv&#45;&gt;zeo_go_inv -->
<g id="edge12" class="edge">
<title>ZODB_go_inv&#45;&gt;zeo_go_inv</title>
<path fill="none" stroke="#000000" d="M207.8109,-161.6852C206.911,-153.6102 205.9078,-144.607 204.9482,-135.9961"/>
<polygon fill="#000000" stroke="#000000" points="208.3954,-135.3269 203.8094,-125.776 201.4385,-136.1022 208.3954,-135.3269"/>
<path fill="none" stroke="#000000" d="M359.9123,-166.4272C379.0279,-154.3467 402.8549,-139.2887 423.1594,-126.4568"/>
<polygon fill="#000000" stroke="#000000" points="425.0381,-129.4099 431.6217,-121.1088 421.2985,-123.4925 425.0381,-129.4099"/>
</g>
<!-- neo_go_inv -->
<g id="node14" class="node">
<title>neo_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="340.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="340.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">neo/go</text>
<text text-anchor="middle" x="340.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
<ellipse fill="none" stroke="#000000" cx="60.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="60.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">neo/go</text>
<text text-anchor="middle" x="60.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- ZODB_go_inv&#45;&gt;neo_go_inv -->
<g id="edge13" class="edge">
<title>ZODB_go_inv&#45;&gt;neo_go_inv</title>
<path fill="none" stroke="#000000" d="M243.6157,-165.965C260.5514,-154.2741 281.3882,-139.8902 299.42,-127.4428"/>
<polygon fill="#000000" stroke="#000000" points="301.7759,-130.0694 308.0172,-121.508 297.7992,-124.3087 301.7759,-130.0694"/>
<path fill="none" stroke="#000000" d="M274.7254,-173.1826C235.4057,-160.8778 179.3773,-142.9172 130.8112,-125.7401 126.025,-124.0473 121.0724,-122.2466 116.1154,-120.4103"/>
<polygon fill="#000000" stroke="#000000" points="117.2119,-117.0836 106.6195,-116.8539 114.7567,-123.6389 117.2119,-117.0836"/>
</g>
<!-- zcache_go_inv -->
<g id="node15" class="node">
<title>zcache_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="193.8112" cy="-98.8701" rx="53.9813" ry="26.7407"/>
<text text-anchor="middle" x="193.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">ZCache/go</text>
<text text-anchor="middle" x="193.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;&#45;watchq</text>
</g>
<!-- ZODB_go_inv&#45;&gt;zcache_go_inv -->
<g id="edge14" class="edge">
<title>ZODB_go_inv&#45;&gt;zcache_go_inv</title>
<path fill="none" stroke="#000000" d="M291.7544,-165.965C274.1388,-153.8976 252.3349,-138.9611 233.7745,-126.2465"/>
<polygon fill="#000000" stroke="#000000" points="235.7297,-123.3434 225.5017,-120.5793 231.7736,-129.1183 235.7297,-123.3434"/>
</g>
<!-- zblk2file -->
<g id="node18" class="node">
<g id="node19" class="node">
<title>zblk2file</title>
<ellipse fill="none" stroke="#000000" cx="740.8112" cy="-98.8701" rx="83.3857" ry="18"/>
<text text-anchor="middle" x="740.8112" y="-95.1701" font-family="Times,serif" font-size="14.00" fill="#000000">ZBlk* → file/[]#blk</text>
<ellipse fill="none" stroke="#000000" cx="632.8112" cy="-98.8701" rx="83.3857" ry="18"/>
<text text-anchor="middle" x="632.8112" y="-95.1701" font-family="Times,serif" font-size="14.00" fill="#000000">ZBlk* → file/[]#blk</text>
</g>
<!-- zobj2file&#45;&gt;zblk2file -->
<g id="edge18" class="edge">
<g id="edge19" class="edge">
<title>zobj2file&#45;&gt;zblk2file</title>
<path fill="none" stroke="#000000" d="M566.0834,-173.1833C601.2772,-158.2151 654.873,-135.4203 693.4229,-119.0247"/>
<polygon fill="#000000" stroke="#000000" points="695.0468,-122.1375 702.8792,-115.0028 692.3071,-115.6959 695.0468,-122.1375"/>
<path fill="none" stroke="#000000" d="M634.4065,-170.4499C634.1299,-158.043 633.758,-141.3523 633.4428,-127.209"/>
<polygon fill="#000000" stroke="#000000" points="636.9373,-126.9228 633.2153,-117.0033 629.9391,-127.0788 636.9373,-126.9228"/>
</g>
<!-- zbtree2file -->
<g id="node19" class="node">
<g id="node20" class="node">
<title>zbtree2file</title>
<ellipse fill="none" stroke="#000000" cx="529.8112" cy="-98.8701" rx="109.6807" ry="18"/>
<text text-anchor="middle" x="529.8112" y="-95.1701" font-family="Times,serif" font-size="14.00" fill="#000000">BTree/Bucket → file/[]#blk</text>
<ellipse fill="none" stroke="#000000" cx="843.8112" cy="-98.8701" rx="109.6807" ry="18"/>
<text text-anchor="middle" x="843.8112" y="-95.1701" font-family="Times,serif" font-size="14.00" fill="#000000">BTree/Bucket → file/[]#blk</text>
</g>
<!-- zobj2file&#45;&gt;zbtree2file -->
<g id="edge19" class="edge">
<g id="edge20" class="edge">
<title>zobj2file&#45;&gt;zbtree2file</title>
<path fill="none" stroke="#000000" d="M529.8112,-170.4499C529.8112,-158.043 529.8112,-141.3523 529.8112,-127.209"/>
<polygon fill="#000000" stroke="#000000" points="533.3113,-127.0033 529.8112,-117.0033 526.3113,-127.0033 533.3113,-127.0033"/>
<path fill="none" stroke="#000000" d="M671.2162,-172.9786C705.6095,-158.2109 757.4333,-135.9589 795.3179,-119.692"/>
<polygon fill="#000000" stroke="#000000" points="796.8224,-122.8551 804.6302,-115.6935 794.0605,-116.423 796.8224,-122.8551"/>
</g>
<!-- δBTree -->
<g id="node20" class="node">
<g id="node21" class="node">
<title>δBTree</title>
<ellipse fill="none" stroke="#000000" cx="529.8112" cy="-18" rx="43.5923" ry="18"/>
<text text-anchor="middle" x="529.8112" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">δ(BTree)</text>
<ellipse fill="none" stroke="#000000" cx="843.8112" cy="-18" rx="43.5923" ry="18"/>
<text text-anchor="middle" x="843.8112" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">δ(BTree)</text>
</g>
<!-- zbtree2file&#45;&gt;δBTree -->
<g id="edge20" class="edge">
<g id="edge21" class="edge">
<title>zbtree2file&#45;&gt;δBTree</title>
<path fill="none" stroke="#000000" d="M529.8112,-80.5194C529.8112,-70.4898 529.8112,-57.8453 529.8112,-46.5565"/>
<polygon fill="#000000" stroke="#000000" points="533.3113,-46.278 529.8112,-36.278 526.3113,-46.2781 533.3113,-46.278"/>
<path fill="none" stroke="#000000" d="M843.8112,-80.5194C843.8112,-70.4898 843.8112,-57.8453 843.8112,-46.5565"/>
<polygon fill="#000000" stroke="#000000" points="847.3113,-46.278 843.8112,-36.278 840.3113,-46.2781 847.3113,-46.278"/>
</g>
<!-- clientInvHandle&#45;&gt;headInv -->
<g id="edge25" class="edge">
<g id="edge26" class="edge">
<title>clientInvHandle&#45;&gt;headInv</title>
<path fill="none" stroke="#000000" d="M1260.372,-252.3937C1270.8272,-240.3648 1283.2118,-226.1162 1293.6208,-214.1405"/>
<polygon fill="#000000" stroke="#000000" points="1296.5449,-216.1116 1300.4634,-206.268 1291.2617,-211.5194 1296.5449,-216.1116"/>
<path fill="none" stroke="#000000" d="M1365.372,-252.3937C1375.8272,-240.3648 1388.2118,-226.1162 1398.6208,-214.1405"/>
<polygon fill="#000000" stroke="#000000" points="1401.5449,-216.1116 1405.4634,-206.268 1396.2617,-211.5194 1401.5449,-216.1116"/>
</g>
</g>
</svg>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment