Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
wendelin.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Joshua
wendelin.core
Commits
4495707b
Commit
4495707b
authored
Dec 25, 2018
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
9f5efdff
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
143 additions
and
128 deletions
+143
-128
wcfs/todo.dot
wcfs/todo.dot
+2
-0
wcfs/todo.svg
wcfs/todo.svg
+141
-128
No files found.
wcfs/todo.dot
View file @
4495707b
...
@@ -28,6 +28,7 @@ digraph {
...
@@ -28,6 +28,7 @@ digraph {
ZODB_go_inv
->
fs1_go_inv
;
ZODB_go_inv
->
fs1_go_inv
;
ZODB_go_inv
->
zeo_go_inv
;
ZODB_go_inv
->
zeo_go_inv
;
ZODB_go_inv
->
neo_go_inv
;
ZODB_go_inv
->
neo_go_inv
;
ZODB_go_inv
->
zcache_go_inv
;
wcfsRead
->
blktabGet
;
wcfsRead
->
blktabGet
;
wcfsRead
->
δ
Ftail
;
wcfsRead
->
δ
Ftail
;
...
@@ -87,6 +88,7 @@ digraph {
...
@@ -87,6 +88,7 @@ digraph {
fs1_go_inv
[
label
=
"fs1/go\ninvalidations"
,
style
=
filled
fillcolor
=
grey95
]
fs1_go_inv
[
label
=
"fs1/go\ninvalidations"
,
style
=
filled
fillcolor
=
grey95
]
zeo_go_inv
[
label
=
"zeo/go\ninvalidations"
]
zeo_go_inv
[
label
=
"zeo/go\ninvalidations"
]
neo_go_inv
[
label
=
"neo/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]
// Btree_read [label="BTree read", style=filled fillcolor=lightyellow]
// ZBlk_read [label="ZBigFile / ZBlk* 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]
// ZODB_read [label="ZODB deserialize object", style=filled fillcolor=lightyellow]
...
...
wcfs/todo.svg
View file @
4495707b
...
@@ -4,303 +4,316 @@
...
@@ -4,303 +4,316 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
-->
<!-- Title: %3 Pages: 1 -->
<!-- Title: %3 Pages: 1 -->
<svg
width=
"1
449
pt"
height=
"403pt"
<svg
width=
"1
554
pt"
height=
"403pt"
viewBox=
"0.00 0.00 1
449
.46 402.96"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
viewBox=
"0.00 0.00 1
554
.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)"
>
<g
id=
"graph0"
class=
"graph"
transform=
"scale(1 1) rotate(0) translate(4 398.9605)"
>
<title>
%3
</title>
<title>
%3
</title>
<polygon
fill=
"#ffffff"
stroke=
"transparent"
points=
"-4,4 -4,-398.9605 1
445.4565,-398.9605 1445
.4565,4 -4,4"
/>
<polygon
fill=
"#ffffff"
stroke=
"transparent"
points=
"-4,4 -4,-398.9605 1
550.4565,-398.9605 1550
.4565,4 -4,4"
/>
<!-- wcfs -->
<!-- wcfs -->
<g
id=
"node1"
class=
"node"
>
<g
id=
"node1"
class=
"node"
>
<title>
wcfs
</title>
<title>
wcfs
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
754
.8112"
cy=
"-368.0904"
rx=
"27.0966"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
859
.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>
<text
text-anchor=
"middle"
x=
"
859
.8112"
y=
"-364.3904"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
wcfs
</text>
</g>
</g>
<!-- invProto -->
<!-- invProto -->
<g
id=
"node2"
class=
"node"
>
<g
id=
"node2"
class=
"node"
>
<title>
invProto
</title>
<title>
invProto
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
960
.8112"
cy=
"-368.0904"
rx=
"78.4777"
ry=
"26.7407"
/>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
1065
.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=
"
1065
.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>
<text
text-anchor=
"middle"
x=
"
1065
.8112"
y=
"-356.8904"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
protocol
</text>
</g>
</g>
<!-- wcfs->invProto -->
<!-- wcfs->invProto -->
<g
id=
"edge1"
class=
"edge"
>
<g
id=
"edge1"
class=
"edge"
>
<title>
wcfs
->
invProto
</title>
<title>
wcfs
->
invProto
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
782.1706,-368.0904C812.1593,-368.0904 842.1481,-368.0904 872
.1369,-368.0904"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
887.1706,-368.0904C917.1593,-368.0904 947.1481,-368.0904 977
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
977.307,-371.5905 987.307,-368.0904 977.307,-364.5905 977
.307,-371.5905"
/>
</g>
</g>
<!-- autoexit -->
<!-- autoexit -->
<g
id=
"node4"
class=
"node"
>
<g
id=
"node4"
class=
"node"
>
<title>
autoexit
</title>
<title>
autoexit
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
522
.8112"
cy=
"-278.3503"
rx=
"52.1524"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
627
.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=
"
627
.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>
<text
text-anchor=
"middle"
x=
"
627
.8112"
y=
"-267.1503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
if !activity
</text>
</g>
</g>
<!-- wcfs->autoexit -->
<!-- wcfs->autoexit -->
<g
id=
"edge3"
class=
"edge"
>
<g
id=
"edge3"
class=
"edge"
>
<title>
wcfs
->
autoexit
</title>
<title>
wcfs
->
autoexit
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
730.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"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
835.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=
"
572.9322,-296.9256 562.3621,-296.2017 570.1737,-303.3592 572
.9322,-296.9256"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
677.9322,-296.9256 667.3621,-296.2017 675.1737,-303.3592 677
.9322,-296.9256"
/>
</g>
</g>
<!-- wcfsInvProcess -->
<!-- wcfsInvProcess -->
<g
id=
"node5"
class=
"node"
>
<g
id=
"node5"
class=
"node"
>
<title>
wcfsInvProcess
</title>
<title>
wcfsInvProcess
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
682
.8112"
cy=
"-278.3503"
rx=
"89.6056"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
787
.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=
"
787
.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>
<text
text-anchor=
"middle"
x=
"
787
.8112"
y=
"-267.1503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
ZODB invalidations
</text>
</g>
</g>
<!-- wcfs->wcfsInvProcess -->
<!-- wcfs->wcfsInvProcess -->
<g
id=
"edge4"
class=
"edge"
>
<g
id=
"edge4"
class=
"edge"
>
<title>
wcfs
->
wcfsInvProcess
</title>
<title>
wcfs
->
wcfsInvProcess
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
741.939,-352.0467C733.2299,-341.1917 721.3891,-326.4335 710
.5908,-312.9745"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
846.939,-352.0467C838.2299,-341.1917 826.3891,-326.4335 815
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
818.0273,-310.4184 809.0393,-304.8088 812.5674,-314.799 818
.0273,-310.4184"
/>
</g>
</g>
<!-- wcfsRead -->
<!-- wcfsRead -->
<g
id=
"node6"
class=
"node"
>
<g
id=
"node6"
class=
"node"
>
<title>
wcfsRead
</title>
<title>
wcfsRead
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
992
.8112"
cy=
"-278.3503"
rx=
"47.3916"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
1097
.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>
<text
text-anchor=
"middle"
x=
"
1097
.8112"
y=
"-274.6503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
read(#blk)
</text>
</g>
</g>
<!-- wcfs->wcfsRead -->
<!-- wcfs->wcfsRead -->
<g
id=
"edge5"
class=
"edge"
>
<g
id=
"edge5"
class=
"edge"
>
<title>
wcfs
->
wcfsRead
</title>
<title>
wcfs
->
wcfsRead
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
778.9416,-358.9918C818.9371,-343.9111 899.5048,-313.5323 949
.532,-294.6691"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
883.9416,-358.9918C923.9371,-343.9111 1004.5048,-313.5323 1054
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
1055.9871,-297.8611 1064.1092,-291.058 1053.5173,-291.3112 1055
.9871,-297.8611"
/>
</g>
</g>
<!-- client -->
<!-- client -->
<g
id=
"node3"
class=
"node"
>
<g
id=
"node3"
class=
"node"
>
<title>
client
</title>
<title>
client
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
128
.8112"
cy=
"-368.0904"
rx=
"30.5947"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
233
.8112"
cy=
"-368.0904"
rx=
"30.5947"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
128
.8112"
y=
"-364.3904"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
client
</text>
<text
text-anchor=
"middle"
x=
"1
233
.8112"
y=
"-364.3904"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
client
</text>
</g>
</g>
<!-- invProto->client -->
<!-- invProto->client -->
<g
id=
"edge2"
class=
"edge"
>
<g
id=
"edge2"
class=
"edge"
>
<title>
invProto
->
client
</title>
<title>
invProto
->
client
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
049.628,-368.0904C1065.7958,-368.0904 1081.9636,-368.0904 1098
.1315,-368.0904"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
154.628,-368.0904C1170.7958,-368.0904 1186.9636,-368.0904 1203
.1315,-368.0904"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
049.5612,-364.5905 1039.5612,-368.0904 1049.5611,-371.5905 1049
.5612,-364.5905"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
154.5612,-364.5905 1144.5612,-368.0904 1154.5611,-371.5905 1154
.5612,-364.5905"
/>
</g>
</g>
<!-- client->wcfsRead -->
<!-- client->wcfsRead -->
<g
id=
"edge2
1
"
class=
"edge"
>
<g
id=
"edge2
2
"
class=
"edge"
>
<title>
client
->
wcfsRead
</title>
<title>
client
->
wcfsRead
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
108.4506,-354.6554C1086.3478,-340.0708 1050.7503,-316.5816 1024
.8833,-299.5132"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
213.4506,-354.6554C1191.3478,-340.0708 1155.7503,-316.5816 1129
.8833,-299.5132"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
026.7919,-296.5793 1016.5176,-293.993 1022.9366,-302.422 1026
.7919,-296.5793"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
131.7919,-296.5793 1121.5176,-293.993 1127.9366,-302.422 1131
.7919,-296.5793"
/>
</g>
</g>
<!-- mappingRegister -->
<!-- mappingRegister -->
<g
id=
"node1
6
"
class=
"node"
>
<g
id=
"node1
7
"
class=
"node"
>
<title>
mappingRegister
</title>
<title>
mappingRegister
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
159
.8112"
cy=
"-188.6102"
rx=
"65.1077"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
264
.8112"
cy=
"-188.6102"
rx=
"65.1077"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"1
159
.8112"
y=
"-192.4102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
mmappings:
</text>
<text
text-anchor=
"middle"
x=
"1
264
.8112"
y=
"-192.4102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
mmappings:
</text>
<text
text-anchor=
"middle"
x=
"1
159
.8112"
y=
"-177.4102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
register/maint
</text>
<text
text-anchor=
"middle"
x=
"1
264
.8112"
y=
"-177.4102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
register/maint
</text>
</g>
</g>
<!-- client->mappingRegister -->
<!-- client->mappingRegister -->
<g
id=
"edge2
2
"
class=
"edge"
>
<g
id=
"edge2
3
"
class=
"edge"
>
<title>
client
->
mappingRegister
</title>
<title>
client
->
mappingRegister
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
131.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"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
236.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=
"1
156.0681,-225.9835 1154.5122,-215.5036 1149.1931,-224.6664 1156
.0681,-225.9835"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
261.0681,-225.9835 1259.5122,-215.5036 1254.1931,-224.6664 1261
.0681,-225.9835"
/>
</g>
</g>
<!-- clientInvHandle -->
<!-- clientInvHandle -->
<g
id=
"node2
1
"
class=
"node"
>
<g
id=
"node2
2
"
class=
"node"
>
<title>
clientInvHandle
</title>
<title>
clientInvHandle
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
237
.8112"
cy=
"-278.3503"
rx=
"80.7205"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
342
.8112"
cy=
"-278.3503"
rx=
"80.7205"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"1
237
.8112"
y=
"-282.1503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
process
</text>
<text
text-anchor=
"middle"
x=
"1
342
.8112"
y=
"-282.1503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
process
</text>
<text
text-anchor=
"middle"
x=
"1
237
.8112"
y=
"-267.1503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
#blk invalidations
</text>
<text
text-anchor=
"middle"
x=
"1
342
.8112"
y=
"-267.1503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
#blk invalidations
</text>
</g>
</g>
<!-- client->clientInvHandle -->
<!-- client->clientInvHandle -->
<g
id=
"edge2
3
"
class=
"edge"
>
<g
id=
"edge2
4
"
class=
"edge"
>
<title>
client
->
clientInvHandle
</title>
<title>
client
->
clientInvHandle
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
146.8103,-353.2716C1161.0729,-341.5292 1181.5081,-324.7049 1199
.4013,-309.9733"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
251.8103,-353.2716C1266.0729,-341.5292 1286.5081,-324.7049 1304
.4013,-309.9733"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
201.9168,-312.4359 1207.4124,-303.3777 1197.4676,-307.0317 1201
.9168,-312.4359"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
306.9168,-312.4359 1312.4124,-303.3777 1302.4676,-307.0317 1306
.9168,-312.4359"
/>
</g>
</g>
<!-- nowcfs -->
<!-- nowcfs -->
<g
id=
"node2
2
"
class=
"node"
>
<g
id=
"node2
3
"
class=
"node"
>
<title>
nowcfs
</title>
<title>
nowcfs
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
388
.8112"
cy=
"-278.3503"
rx=
"52.7911"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
493
.8112"
cy=
"-278.3503"
rx=
"52.7911"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
388
.8112"
y=
"-274.6503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
!wcfs mode
</text>
<text
text-anchor=
"middle"
x=
"1
493
.8112"
y=
"-274.6503"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
!wcfs mode
</text>
</g>
</g>
<!-- client->nowcfs -->
<!-- client->nowcfs -->
<g
id=
"edge2
4
"
class=
"edge"
>
<g
id=
"edge2
5
"
class=
"edge"
>
<title>
client
->
nowcfs
</title>
<title>
client
->
nowcfs
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
156.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"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
261.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=
"1
349.6473,-300.1567 1357.4215,-292.9586 1346.8553,-293.7376 1349
.6473,-300.1567"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
454.6473,-300.1567 1462.4215,-292.9586 1451.8553,-293.7376 1454
.6473,-300.1567"
/>
</g>
</g>
<!-- ZODB_go_inv -->
<!-- ZODB_go_inv -->
<g
id=
"node7"
class=
"node"
>
<g
id=
"node7"
class=
"node"
>
<title>
ZODB_go_inv
</title>
<title>
ZODB_go_inv
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
210
.8112"
cy=
"-188.6102"
rx=
"60.623"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
324
.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=
"
324
.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>
<text
text-anchor=
"middle"
x=
"
324
.8112"
y=
"-177.4102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
invalidations
</text>
</g>
</g>
<!-- wcfsInvProcess->ZODB_go_inv -->
<!-- wcfsInvProcess->ZODB_go_inv -->
<g
id=
"edge6"
class=
"edge"
>
<g
id=
"edge6"
class=
"edge"
>
<title>
wcfsInvProcess
->
ZODB_go_inv
</title>
<title>
wcfsInvProcess
->
ZODB_go_inv
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
618.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
"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
723.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=
"
267.7297,-205.8544 257.1388,-206.141 265.5968,-212.5216 267.7297,-205.8544
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
379.3162,-207.3053 368.7214,-207.3375 377.0239,-213.9193 379.3162,-207.3053
"
/>
</g>
</g>
<!-- zconnCacheGet -->
<!-- zconnCacheGet -->
<g
id=
"node8"
class=
"node"
>
<g
id=
"node8"
class=
"node"
>
<title>
zconnCacheGet
</title>
<title>
zconnCacheGet
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
369
.8112"
cy=
"-188.6102"
rx=
"71.4873"
ry=
"18"
/>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
474
.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>
<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>
</g>
<!-- wcfsInvProcess->zconnCacheGet -->
<!-- wcfsInvProcess->zconnCacheGet -->
<g
id=
"edge7"
class=
"edge"
>
<g
id=
"edge7"
class=
"edge"
>
<title>
wcfsInvProcess
->
zconnCacheGet
</title>
<title>
wcfsInvProcess
->
zconnCacheGet
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
616.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"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
721.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=
"
422.7211,-202.9524 412.128,-203.1441 420.5285,-209.6002 422
.7211,-202.9524"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
527.7211,-202.9524 517.128,-203.1441 525.5285,-209.6002 527
.7211,-202.9524"
/>
</g>
</g>
<!-- zobj2file -->
<!-- zobj2file -->
<g
id=
"node9"
class=
"node"
>
<g
id=
"node9"
class=
"node"
>
<title>
zobj2file
</title>
<title>
zobj2file
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
529
.8112"
cy=
"-188.6102"
rx=
"70.3881"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
634
.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>
<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>
</g>
<!-- wcfsInvProcess->zobj2file -->
<!-- wcfsInvProcess->zobj2file -->
<g
id=
"edge8"
class=
"edge"
>
<g
id=
"edge8"
class=
"edge"
>
<title>
wcfsInvProcess
->
zobj2file
</title>
<title>
wcfsInvProcess
->
zobj2file
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
641.81,-254.3016C618.5232,-240.643 589.5977,-223.6771 566
.9761,-210.4087"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
746.81,-254.3016C723.5232,-240.643 694.5977,-223.6771 671
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
673.7252,-207.3771 663.3286,-205.3367 670.1836,-213.4151 673
.7252,-207.3771"
/>
</g>
</g>
<!-- δFtail -->
<!-- δFtail -->
<g
id=
"node10"
class=
"node"
>
<g
id=
"node10"
class=
"node"
>
<title>
δFtail
</title>
<title>
δFtail
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
797
.8112"
cy=
"-188.6102"
rx=
"31.6951"
ry=
"18"
/>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
902
.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>
<text
text-anchor=
"middle"
x=
"
902
.8112"
y=
"-184.9102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
δFtail
</text>
</g>
</g>
<!-- wcfsInvProcess->δFtail -->
<!-- wcfsInvProcess->δFtail -->
<g
id=
"edge9"
class=
"edge"
>
<g
id=
"edge9"
class=
"edge"
>
<title>
wcfsInvProcess
->
δFtail
</title>
<title>
wcfsInvProcess
->
δFtail
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
715.1511,-253.1138C732.6886,-239.4285 754.1158,-222.7078 770
.7595,-209.7199"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
820.1511,-253.1138C837.6886,-239.4285 859.1158,-222.7078 875
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
878.2507,-212.2155 883.9812,-203.3041 873.9443,-206.6969 878
.2507,-212.2155"
/>
</g>
</g>
<!-- fuseRetrieveCache -->
<!-- fuseRetrieveCache -->
<g
id=
"node11"
class=
"node"
>
<g
id=
"node11"
class=
"node"
>
<title>
fuseRetrieveCache
</title>
<title>
fuseRetrieveCache
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
682
.8112"
cy=
"-188.6102"
rx=
"65.1077"
ry=
"26.7407"
/>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
787
.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=
"
787
.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>
<text
text-anchor=
"middle"
x=
"
787
.8112"
y=
"-177.4102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
retrieve cache
</text>
</g>
</g>
<!-- wcfsInvProcess->fuseRetrieveCache -->
<!-- wcfsInvProcess->fuseRetrieveCache -->
<g
id=
"edge10"
class=
"edge"
>
<g
id=
"edge10"
class=
"edge"
>
<title>
wcfsInvProcess
->
fuseRetrieveCache
</title>
<title>
wcfsInvProcess
->
fuseRetrieveCache
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
682.8112,-251.4253C682.8112,-243.3504 682.8112,-234.3471 682
.8112,-225.7362"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
787.8112,-251.4253C787.8112,-243.3504 787.8112,-234.3471 787
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
791.3113,-225.5161 787.8112,-215.5162 784.3113,-225.5162 791
.3113,-225.5161"
/>
</g>
</g>
<!-- wcfsRead->δFtail -->
<!-- wcfsRead->δFtail -->
<g
id=
"edge1
5
"
class=
"edge"
>
<g
id=
"edge1
6
"
class=
"edge"
>
<title>
wcfsRead
->
δFtail
</title>
<title>
wcfsRead
->
δFtail
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
957.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"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
1062.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=
"
827.9424,-205.664 817.6582,-203.1172 824.1096,-211.5214 827
.9424,-205.664"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
932.9424,-205.664 922.6582,-203.1172 929.1096,-211.5214 932
.9424,-205.664"
/>
</g>
</g>
<!-- blktabGet -->
<!-- blktabGet -->
<g
id=
"node1
5
"
class=
"node"
>
<g
id=
"node1
6
"
class=
"node"
>
<title>
blktabGet
</title>
<title>
blktabGet
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
961
.8112"
cy=
"-188.6102"
rx=
"114.6026"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
1066
.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=
"
1066
.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>
<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>
</g>
<!-- wcfsRead->blktabGet -->
<!-- wcfsRead->blktabGet -->
<g
id=
"edge1
4
"
class=
"edge"
>
<g
id=
"edge1
5
"
class=
"edge"
>
<title>
wcfsRead
->
blktabGet
</title>
<title>
wcfsRead
->
blktabGet
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
986.5379,-260.19C983.0824,-250.187 978.665,-237.3994 974
.5225,-225.4074"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
1091.5379,-260.19C1088.0824,-250.187 1083.665,-237.3994 1079
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
1082.7079,-223.9089 1076.1345,-215.5998 1076.0915,-226.1946 1082
.7079,-223.9089"
/>
</g>
</g>
<!-- wcfsRead->mappingRegister -->
<!-- wcfsRead->mappingRegister -->
<g
id=
"edge1
6
"
class=
"edge"
>
<g
id=
"edge1
7
"
class=
"edge"
>
<title>
wcfsRead
->
mappingRegister
</title>
<title>
wcfsRead
->
mappingRegister
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
020.3878,-263.5315C1044.9872,-250.3127 1081.5709,-230.6538 1111
.0922,-214.7901"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
125.3878,-263.5315C1149.9872,-250.3127 1186.5709,-230.6538 1216
.0922,-214.7901"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
112.8541,-217.8167 1120.0061,-210.0001 1109.5406,-211.6506 1112
.8541,-217.8167"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
217.8541,-217.8167 1225.0061,-210.0001 1214.5406,-211.6506 1217
.8541,-217.8167"
/>
</g>
</g>
<!-- headInv -->
<!-- headInv -->
<g
id=
"node1
7
"
class=
"node"
>
<g
id=
"node1
8
"
class=
"node"
>
<title>
headInv
</title>
<title>
headInv
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
315
.8112"
cy=
"-188.6102"
rx=
"73.387"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"1
420
.8112"
cy=
"-188.6102"
rx=
"73.387"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
315
.8112"
y=
"-184.9102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
#blk ← head/inv.
</text>
<text
text-anchor=
"middle"
x=
"1
420
.8112"
y=
"-184.9102"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
#blk ← head/inv.
</text>
</g>
</g>
<!-- wcfsRead->headInv -->
<!-- wcfsRead->headInv -->
<g
id=
"edge1
7
"
class=
"edge"
>
<g
id=
"edge1
8
"
class=
"edge"
>
<title>
wcfsRead
->
headInv
</title>
<title>
wcfsRead
->
headInv
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
033.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"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
138.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=
"1
264.1326,-209.756 1272.5592,-203.334 1261.9669,-203.0995 1264
.1326,-209.756"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
369.1326,-209.756 1377.5592,-203.334 1366.9669,-203.0995 1369
.1326,-209.756"
/>
</g>
</g>
<!-- fs1_go_inv -->
<!-- fs1_go_inv -->
<g
id=
"node12"
class=
"node"
>
<g
id=
"node12"
class=
"node"
>
<title>
fs1_go_inv
</title>
<title>
fs1_go_inv
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
60
.8112"
cy=
"-98.8701"
rx=
"60.623"
ry=
"26.7407"
/>
<ellipse
fill=
"#f2f2f2"
stroke=
"#000000"
cx=
"
326
.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=
"
326
.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>
<text
text-anchor=
"middle"
x=
"
326
.8112"
y=
"-87.6701"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
invalidations
</text>
</g>
</g>
<!-- ZODB_go_inv->fs1_go_inv -->
<!-- ZODB_go_inv->fs1_go_inv -->
<g
id=
"edge11"
class=
"edge"
>
<g
id=
"edge11"
class=
"edge"
>
<title>
ZODB_go_inv
->
fs1_go_inv
</title>
<title>
ZODB_go_inv
->
fs1_go_inv
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
174.5004,-166.8866C153.8487,-154.5314 127.8076,-138.9518 105.8607,-125.8217
"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
325.4112,-161.6852C325.5912,-153.6102 325.7919,-144.607 325.9838,-135.9961
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
107.4257,-122.6795 97.0473,-120.5489 103.8318,-128.6865 107.4257,-122.6795
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
329.4878,-135.8516 326.2115,-125.776 322.4895,-135.6955 329.4878,-135.8516
"
/>
</g>
</g>
<!-- zeo_go_inv -->
<!-- zeo_go_inv -->
<g
id=
"node13"
class=
"node"
>
<g
id=
"node13"
class=
"node"
>
<title>
zeo_go_inv
</title>
<title>
zeo_go_inv
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
200
.8112"
cy=
"-98.8701"
rx=
"60.623"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
466
.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=
"
466
.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>
<text
text-anchor=
"middle"
x=
"
466
.8112"
y=
"-87.6701"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
invalidations
</text>
</g>
</g>
<!-- ZODB_go_inv->zeo_go_inv -->
<!-- ZODB_go_inv->zeo_go_inv -->
<g
id=
"edge12"
class=
"edge"
>
<g
id=
"edge12"
class=
"edge"
>
<title>
ZODB_go_inv
->
zeo_go_inv
</title>
<title>
ZODB_go_inv
->
zeo_go_inv
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
207.8109,-161.6852C206.911,-153.6102 205.9078,-144.607 204.9482,-135.9961
"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
359.9123,-166.4272C379.0279,-154.3467 402.8549,-139.2887 423.1594,-126.4568
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
208.3954,-135.3269 203.8094,-125.776 201.4385,-136.1022 208.3954,-135.326
9"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
425.0381,-129.4099 431.6217,-121.1088 421.2985,-123.4925 425.0381,-129.409
9"
/>
</g>
</g>
<!-- neo_go_inv -->
<!-- neo_go_inv -->
<g
id=
"node14"
class=
"node"
>
<g
id=
"node14"
class=
"node"
>
<title>
neo_go_inv
</title>
<title>
neo_go_inv
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
34
0.8112"
cy=
"-98.8701"
rx=
"60.623"
ry=
"26.7407"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
6
0.8112"
cy=
"-98.8701"
rx=
"60.623"
ry=
"26.7407"
/>
<text
text-anchor=
"middle"
x=
"
34
0.8112"
y=
"-102.6701"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
neo/go
</text>
<text
text-anchor=
"middle"
x=
"
6
0.8112"
y=
"-102.6701"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
neo/go
</text>
<text
text-anchor=
"middle"
x=
"
34
0.8112"
y=
"-87.6701"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
invalidations
</text>
<text
text-anchor=
"middle"
x=
"
6
0.8112"
y=
"-87.6701"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
invalidations
</text>
</g>
</g>
<!-- ZODB_go_inv->neo_go_inv -->
<!-- ZODB_go_inv->neo_go_inv -->
<g
id=
"edge13"
class=
"edge"
>
<g
id=
"edge13"
class=
"edge"
>
<title>
ZODB_go_inv
->
neo_go_inv
</title>
<title>
ZODB_go_inv
->
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"
/>
<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=
"301.7759,-130.0694 308.0172,-121.508 297.7992,-124.3087 301.7759,-130.0694"
/>
<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"
>
<-
watchq
</text>
</g>
<!-- ZODB_go_inv->zcache_go_inv -->
<g
id=
"edge14"
class=
"edge"
>
<title>
ZODB_go_inv
->
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>
</g>
<!-- zblk2file -->
<!-- zblk2file -->
<g
id=
"node1
8
"
class=
"node"
>
<g
id=
"node1
9
"
class=
"node"
>
<title>
zblk2file
</title>
<title>
zblk2file
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
740
.8112"
cy=
"-98.8701"
rx=
"83.3857"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
632
.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>
<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>
</g>
<!-- zobj2file->zblk2file -->
<!-- zobj2file->zblk2file -->
<g
id=
"edge1
8
"
class=
"edge"
>
<g
id=
"edge1
9
"
class=
"edge"
>
<title>
zobj2file
->
zblk2file
</title>
<title>
zobj2file
->
zblk2file
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
566.0834,-173.1833C601.2772,-158.2151 654.873,-135.4203 693.4229,-119.0247
"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
634.4065,-170.4499C634.1299,-158.043 633.758,-141.3523 633.4428,-127.209
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"6
95.0468,-122.1375 702.8792,-115.0028 692.3071,-115.6959 695.0468,-122.1375
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"6
36.9373,-126.9228 633.2153,-117.0033 629.9391,-127.0788 636.9373,-126.9228
"
/>
</g>
</g>
<!-- zbtree2file -->
<!-- zbtree2file -->
<g
id=
"node
19
"
class=
"node"
>
<g
id=
"node
20
"
class=
"node"
>
<title>
zbtree2file
</title>
<title>
zbtree2file
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
529
.8112"
cy=
"-98.8701"
rx=
"109.6807"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
843
.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>
<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>
</g>
<!-- zobj2file->zbtree2file -->
<!-- zobj2file->zbtree2file -->
<g
id=
"edge
19
"
class=
"edge"
>
<g
id=
"edge
20
"
class=
"edge"
>
<title>
zobj2file
->
zbtree2file
</title>
<title>
zobj2file
->
zbtree2file
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
529.8112,-170.4499C529.8112,-158.043 529.8112,-141.3523 529.8112,-127.209
"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
671.2162,-172.9786C705.6095,-158.2109 757.4333,-135.9589 795.3179,-119.692
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
533.3113,-127.0033 529.8112,-117.0033 526.3113,-127.0033 533.3113,-127.0033
"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
796.8224,-122.8551 804.6302,-115.6935 794.0605,-116.423 796.8224,-122.8551
"
/>
</g>
</g>
<!-- δBTree -->
<!-- δBTree -->
<g
id=
"node2
0
"
class=
"node"
>
<g
id=
"node2
1
"
class=
"node"
>
<title>
δBTree
</title>
<title>
δBTree
</title>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
529
.8112"
cy=
"-18"
rx=
"43.5923"
ry=
"18"
/>
<ellipse
fill=
"none"
stroke=
"#000000"
cx=
"
843
.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>
<text
text-anchor=
"middle"
x=
"
843
.8112"
y=
"-14.3"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#000000"
>
δ(BTree)
</text>
</g>
</g>
<!-- zbtree2file->δBTree -->
<!-- zbtree2file->δBTree -->
<g
id=
"edge2
0
"
class=
"edge"
>
<g
id=
"edge2
1
"
class=
"edge"
>
<title>
zbtree2file
->
δBTree
</title>
<title>
zbtree2file
->
δBTree
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
529.8112,-80.5194C529.8112,-70.4898 529.8112,-57.8453 529
.8112,-46.5565"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M
843.8112,-80.5194C843.8112,-70.4898 843.8112,-57.8453 843
.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"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"
847.3113,-46.278 843.8112,-36.278 840.3113,-46.2781 847
.3113,-46.278"
/>
</g>
</g>
<!-- clientInvHandle->headInv -->
<!-- clientInvHandle->headInv -->
<g
id=
"edge2
5
"
class=
"edge"
>
<g
id=
"edge2
6
"
class=
"edge"
>
<title>
clientInvHandle
->
headInv
</title>
<title>
clientInvHandle
->
headInv
</title>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
260.372,-252.3937C1270.8272,-240.3648 1283.2118,-226.1162 1293
.6208,-214.1405"
/>
<path
fill=
"none"
stroke=
"#000000"
d=
"M1
365.372,-252.3937C1375.8272,-240.3648 1388.2118,-226.1162 1398
.6208,-214.1405"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
296.5449,-216.1116 1300.4634,-206.268 1291.2617,-211.5194 1296
.5449,-216.1116"
/>
<polygon
fill=
"#000000"
stroke=
"#000000"
points=
"1
401.5449,-216.1116 1405.4634,-206.268 1396.2617,-211.5194 1401
.5449,-216.1116"
/>
</g>
</g>
</g>
</g>
</svg>
</svg>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment