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
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
Kirill Smelkov
wendelin.core
Commits
6dcfe755
Commit
6dcfe755
authored
Aug 03, 2020
by
Kirill Smelkov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
.
parent
b7204162
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
142 additions
and
142 deletions
+142
-142
wcfs/todo.dot
wcfs/todo.dot
+1
-1
wcfs/todo.svg
wcfs/todo.svg
+141
-141
No files found.
wcfs/todo.dot
View file @
6dcfe755
...
...
@@ -95,7 +95,7 @@ digraph {
ZODB_go_inv
[
label
=
"ZODB/go\ninvalidations"
,
style
=
filled
fillcolor
=
grey95
]
fs1_go_inv
[
label
=
"fs1/go\ninvalidations"
,
style
=
filled
fillcolor
=
lightyellow
]
zeo_go_inv
[
label
=
"zeo/go\ninvalidations"
]
zeo_go_inv
[
label
=
"zeo/go\ninvalidations"
,
style
=
filled
fillcolor
=
lightyellow
]
neo_go_inv
[
label
=
"neo/go\ninvalidations"
]
zcache_go_inv
[
label
=
"ZCache/go\n←watchq"
,
color
=
grey
,
fontcolor
=
grey
]
// Btree_read [label="BTree read", style=filled fillcolor=lightyellow]
...
...
wcfs/todo.svg
View file @
6dcfe755
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.4
0.1 (20161225.0304
)
<!-- Generated by graphviz version 2.4
3.0 (0
)
-->
<!-- Title: %3 Pages: 1 -->
<svg
width=
"1
556
pt"
height=
"424pt"
viewBox=
"0.00 0.00 1
556.26
424.17"
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 420.17
37
)"
>
<svg
width=
"1
885
pt"
height=
"424pt"
viewBox=
"0.00 0.00 1
885.37
424.17"
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 420.17)"
>
<title>
%3
</title>
<polygon
fill=
"
#ffffff"
stroke=
"transparent"
points=
"-4,4 -4,-420.1737 1552.2584,-420.1737 1552.2584
,4 -4,4"
/>
<polygon
fill=
"
white"
stroke=
"transparent"
points=
"-4,4 -4,-420.17 1881.37,-420.17 1881.37
,4 -4,4"
/>
<!-- wcfs -->
<g
id=
"node1"
class=
"node"
>
<title>
wcfs
</title>
<ellipse
fill=
"none"
stroke=
"
#000000"
cx=
"875.2046"
cy=
"-389.3036"
rx=
"27.0966
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
875.2046"
y=
"-385.6036"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
wcfs
</text>
<ellipse
fill=
"none"
stroke=
"
black"
cx=
"1063.23"
cy=
"-389.3"
rx=
"31.7
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
1063.23"
y=
"-385.6"
font-family=
"Times,serif"
font-size=
"14.
00"
>
wcfs
</text>
</g>
<!-- invProto -->
<g
id=
"node2"
class=
"node"
>
<title>
invProto
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"1070.2046"
cy=
"-389.3036"
rx=
"65.5227"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"1
070.2046"
y=
"-393.1036"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
open/isolation
</text>
<text
text-anchor=
"middle"
x=
"1
070.2046"
y=
"-378.1036"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
protocol
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"1298.23"
cy=
"-389.3"
rx=
"82.05"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"1
298.23"
y=
"-393.1"
font-family=
"Times,serif"
font-size=
"14.
00"
>
open/isolation
</text>
<text
text-anchor=
"middle"
x=
"1
298.23"
y=
"-378.1"
font-family=
"Times,serif"
font-size=
"14.
00"
>
protocol
</text>
</g>
<!-- wcfs->invProto -->
<g
id=
"edge1"
class=
"edge"
>
<title>
wcfs
->
invProto
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M902.6265,-389.3036C933.1106,-389.3036 963.5948,-389.3036 994.079,-389.3036
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"994.4171,-392.8037 1004.4171,-389.3036 994.417,-385.8037 994.4171,-392.8037
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1095.35,-389.3C1132.06,-389.3 1168.76,-389.3 1205.46,-389.3
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1205.81,-392.8 1215.81,-389.3 1205.81,-385.8 1205.81,-392.8
"
/>
</g>
<!-- liveCacheControl -->
<g
id=
"node4"
class=
"node"
>
<title>
liveCacheControl
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"506.2046"
cy=
"-299.5635"
rx=
"66.4361"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
506.2046"
y=
"-303.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
ZODB/go
</text>
<text
text-anchor=
"middle"
x=
"
506.2046"
y=
"-288.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
LiveCache fix
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"625.23"
cy=
"-299.56"
rx=
"79.81"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
625.23"
y=
"-303.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
ZODB/go
</text>
<text
text-anchor=
"middle"
x=
"
625.23"
y=
"-288.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
LiveCache fix
</text>
</g>
<!-- wcfs->liveCacheControl -->
<g
id=
"edge3"
class=
"edge"
>
<title>
wcfs
->
liveCacheControl
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M848.6614,-384.7899C796.9026,-375.7292 679.0756,-353.8286 582.2046,-326.4335 576.5107,-324.8233 570.6245,-323.012 564.7648,-321.1
1"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"565.5607,-317.686 554.9671,-317.8428 563.3463,-324.3265 565.5607,-317.686
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1032.66,-384.01C971.69,-375.21 830.78,-353.62 714.23,-326.43 707.22,-324.8 699.95,-322.95 692.72,-32
1"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"693.49,-317.59 682.92,-318.31 691.63,-324.33 693.49,-317.59
"
/>
</g>
<!-- autoexit -->
<g
id=
"node5"
class=
"node"
>
<title>
autoexit
</title>
<ellipse
fill=
"none"
stroke=
"
#000000"
cx=
"643.2046"
cy=
"-299.5635"
rx=
"52.1524"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
643.2046"
y=
"-303.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
autoexit
</text>
<text
text-anchor=
"middle"
x=
"
643.2046"
y=
"-288.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
if !activity
</text>
<ellipse
fill=
"none"
stroke=
"
black"
cx=
"787.23"
cy=
"-299.56"
rx=
"63.78"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
787.23"
y=
"-303.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
autoexit
</text>
<text
text-anchor=
"middle"
x=
"
787.23"
y=
"-288.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
if !activity
</text>
</g>
<!-- wcfs->autoexit -->
<g
id=
"edge4"
class=
"edge"
>
<title>
wcfs
->
autoexit
</title>
<path
fill=
"none"
stroke=
"
#c0c0c0"
d=
"M850.9517,-380.9253C817.6426,-369.2964 755.9745,-347.3287 704.2046,-326.4335 700.281,-324.8499 696.2339,-323.1706 692.1786,-321.455
1"
/>
<polygon
fill=
"
#c0c0c0"
stroke=
"#c0c0c0"
points=
"693.3256,-318.1388 682.7555,-317.4149 690.5671,-324.5724 693.3256,-318.1388
"
/>
<path
fill=
"none"
stroke=
"
grey"
d=
"M1035.37,-380.34C995.96,-368.96 921.76,-347.14 859.23,-326.43 854.31,-324.81 849.22,-323.07 844.12,-321.3
1"
/>
<polygon
fill=
"
grey"
stroke=
"grey"
points=
"844.95,-317.89 834.36,-317.88 842.64,-324.49 844.95,-317.89
"
/>
</g>
<!-- wcfsInvProcess -->
<g
id=
"node6"
class=
"node"
>
<title>
wcfsInvProcess
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"803.2046"
cy=
"-299.5635"
rx=
"89.6056"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
803.2046"
y=
"-303.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
process
</text>
<text
text-anchor=
"middle"
x=
"
803.2046"
y=
"-288.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
ZODB invalidations
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"978.23"
cy=
"-299.56"
rx=
"109.7"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
978.23"
y=
"-303.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
process
</text>
<text
text-anchor=
"middle"
x=
"
978.23"
y=
"-288.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
ZODB invalidations
</text>
</g>
<!-- wcfs->wcfsInvProcess -->
<g
id=
"edge5"
class=
"edge"
>
<title>
wcfs
->
wcfsInvProcess
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M862.3324,-373.2599C853.6233,-362.4049 841.7825,-347.6467 830.9842,-334.1877
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"833.4207,-331.6316 824.4327,-326.022 827.9607,-336.0122 833.4207,-331.6316
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1048.42,-373.02C1037.82,-362.08 1023.16,-346.95 1009.98,-333.34
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1012.31,-330.72 1002.84,-325.97 1007.28,-335.59 1012.31,-330.72
"
/>
</g>
<!-- wcfsRead -->
<g
id=
"node7"
class=
"node"
>
<title>
wcfsRead
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"1105.2046"
cy=
"-299.5635"
rx=
"47.3916
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
105.2046"
y=
"-295.8635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
read(#blk)
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"1334.23"
cy=
"-299.56"
rx=
"60.39
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
334.23"
y=
"-295.86"
font-family=
"Times,serif"
font-size=
"14.
00"
>
read(#blk)
</text>
</g>
<!-- wcfs->wcfsRead -->
<g
id=
"edge6"
class=
"edge"
>
<title>
wcfs
->
wcfsRead
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M898.9523,-380.0378C937.5007,-364.9973 1014.2273,-335.0605 1062.4563,-316.2428
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1063.9529,-319.4159 1071.9967,-312.5204 1061.4084,-312.8947 1063.9529,-319.4159
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1090.2,-379.57C1135.63,-364.86 1228.05,-334.94 1285.2,-316.44
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1286.32,-319.75 1294.75,-313.34 1284.16,-313.09 1286.32,-319.75
"
/>
</g>
<!-- wcfsGC -->
<g
id=
"node8"
class=
"node"
>
<title>
wcfsGC
</title>
<ellipse
fill=
"none"
stroke=
"
#000000"
cx=
"946.2046"
cy=
"-299.5635"
rx=
"35.2113"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
946.2046"
y=
"-303.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
GC
</text>
<text
text-anchor=
"middle"
x=
"
946.2046"
y=
"-288.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
@rev/
</text>
<ellipse
fill=
"none"
stroke=
"
black"
cx=
"1147.23"
cy=
"-299.56"
rx=
"41.94"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
1147.23"
y=
"-303.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
GC
</text>
<text
text-anchor=
"middle"
x=
"
1147.23"
y=
"-288.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
@rev/
</text>
</g>
<!-- wcfs->wcfsGC -->
<g
id=
"edge7"
class=
"edge"
>
<title>
wcfs
->
wcfsGC
</title>
<path
fill=
"none"
stroke=
"
#c0c0c0"
d=
"M887.898,-373.2599C897.1673,-361.5439 910.0342,-345.2809 921.3232,-331.0122
"
/>
<polygon
fill=
"
#c0c0c0"
stroke=
"#c0c0c0"
points=
"924.2887,-332.9049 927.7485,-322.8909 918.799,-328.5617 924.2887,-332.9049
"
/>
<path
fill=
"none"
stroke=
"
grey"
d=
"M1077.86,-373.02C1089.14,-361.23 1105.1,-344.56 1118.87,-330.18
"
/>
<polygon
fill=
"
grey"
stroke=
"grey"
points=
"1121.44,-332.55 1125.83,-322.91 1116.39,-327.71 1121.44,-332.55
"
/>
</g>
<!-- client -->
<g
id=
"node3"
class=
"node"
>
<title>
client
</title>
<ellipse
fill=
"#f7f7f7"
stroke=
"
#000000"
cx=
"1251.2046"
cy=
"-389.3036"
rx=
"30.5947
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
251.2046"
y=
"-385.6036"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
client
</text>
<ellipse
fill=
"#f7f7f7"
stroke=
"
black"
cx=
"1516.23"
cy=
"-389.3"
rx=
"36.29
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
516.23"
y=
"-385.6"
font-family=
"Times,serif"
font-size=
"14.
00"
>
client
</text>
</g>
<!-- invProto->client -->
<g
id=
"edge2"
class=
"edge"
>
<title>
invProto
->
client
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1146.4748,-389.3036C1171.0624,-389.3036 1195.6499,-389.3036 1220.2374,-389.3036
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1146.312,-385.8037 1136.312,-389.3036 1146.312,-392.8037 1146.312,-385.8037
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1390.48,-389.3C1420.19,-389.3 1449.9,-389.3 1479.62,-389.3
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1390.4,-385.8 1380.4,-389.3 1390.4,-392.8 1390.4,-385.8
"
/>
</g>
<!-- client->wcfsRead -->
<g
id=
"edge25"
class=
"edge"
>
<title>
client
->
wcfsRead
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1229.9749,-376.2546C1206.068,-361.56 1166.8988,-337.4844 1138.8224,-320.22
7"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1140.482,-317.1388 1130.1299,-314.884 1136.8164,-323.1023 1140.482,-317.138
8"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1490.92,-376.1C1460.61,-361.49 1409.49,-336.85 1373.92,-319.
7"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1375.31,-316.48 1364.78,-315.29 1372.27,-322.79 1375.31,-316.4
8"
/>
</g>
<!-- setupWatch -->
<g
id=
"node20"
class=
"node"
>
<title>
setupWatch
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"1483.2046"
cy=
"-209.8234"
rx=
"65.1077"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"1
483.2046"
y=
"-213.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
watches:
</text>
<text
text-anchor=
"middle"
x=
"1
483.2046"
y=
"-198.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
register/maint
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"1793.23"
cy=
"-209.82"
rx=
"84.29"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"1
793.23"
y=
"-213.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
watches:
</text>
<text
text-anchor=
"middle"
x=
"1
793.23"
y=
"-198.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
register/maint
</text>
</g>
<!-- client->setupWatch -->
<g
id=
"edge26"
class=
"edge"
>
<title>
client
->
setupWatch
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1280.7168,-384.5439C1333.2703,-375.4553 1439.8519,-354.0516 1464.2046,-326.4335 1483.1625,-304.9336 1487.0846,-272.1581 1486.7372,-246.824
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1490.2349,-246.6935 1486.3786,-236.8254 1483.2394,-246.9444 1490.2349,-246.6935
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1551.39,-384.65C1614.72,-377.33 1744.19,-358.73 1774.23,-326.43 1793.83,-305.36 1797.56,-272.26 1796.99,-246.87
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1800.48,-246.69 1796.53,-236.86 1793.49,-247.01 1800.48,-246.69
"
/>
</g>
<!-- clientInvHandle -->
<g
id=
"node25"
class=
"node"
>
<title>
clientInvHandle
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"1251.2046"
cy=
"-299.5635"
rx=
"80.7205"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"1
251.2046"
y=
"-303.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
process
</text>
<text
text-anchor=
"middle"
x=
"1
251.2046"
y=
"-288.3635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
#blk invalidations
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"1516.23"
cy=
"-299.56"
rx=
"103.48"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"1
516.23"
y=
"-303.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
process
</text>
<text
text-anchor=
"middle"
x=
"1
516.23"
y=
"-288.36"
font-family=
"Times,serif"
font-size=
"14.
00"
>
#blk invalidations
</text>
</g>
<!-- client->clientInvHandle -->
<g
id=
"edge27"
class=
"edge"
>
<title>
client
->
clientInvHandle
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1251.2046,-371.1434C1251.2046,-361.2404 1251.2046,-348.6082 1251.2046,-336.7207
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1254.7047,-336.5531 1251.2046,-326.5531 1247.7047,-336.5532 1254.7047,-336.5531
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1516.23,-370.97C1516.23,-361.16 1516.23,-348.51 1516.23,-336.65
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1519.73,-336.52 1516.23,-326.52 1512.73,-336.52 1519.73,-336.52
"
/>
</g>
<!-- nowcfs -->
<g
id=
"node26"
class=
"node"
>
<title>
nowcfs
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"1402.2046"
cy=
"-299.5635"
rx=
"52.7911
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
402.2046"
y=
"-295.8635"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
!wcfs mode
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"1701.23"
cy=
"-299.56"
rx=
"63.89
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
701.23"
y=
"-295.86"
font-family=
"Times,serif"
font-size=
"14.
00"
>
!wcfs mode
</text>
</g>
<!-- client->nowcfs -->
<g
id=
"edge28"
class=
"edge"
>
<title>
client
->
nowcfs
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1272.8392,-376.446C1297.449,-361.8203 1337.991,-337.726 1367.1341,-320.4061
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1368.974,-323.3841 1375.7823,-315.2664 1365.3977,-317.3666 1368.974,-323.384
1"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1541.56,-376.29C1572.27,-361.73 1624.39,-337 1660.7,-319.78
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1662.49,-322.81 1670.03,-315.36 1659.49,-316.48 1662.49,-322.8
1"
/>
</g>
<!-- ZODB_go_inv -->
<g
id=
"node9"
class=
"node"
>
<title>
ZODB_go_inv
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"467.2046"
cy=
"-209.8234"
rx=
"60.623"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
467.2046"
y=
"-213.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
ZODB/go
</text>
<text
text-anchor=
"middle"
x=
"
467.2046"
y=
"-198.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
invalidations
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"567.23"
cy=
"-209.82"
rx=
"76.24"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
567.23"
y=
"-213.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
ZODB/go
</text>
<text
text-anchor=
"middle"
x=
"
567.23"
y=
"-198.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
invalidations
</text>
</g>
<!-- wcfsInvProcess->ZODB_go_inv -->
<g
id=
"edge8"
class=
"edge"
>
<title>
wcfsInvProcess
->
ZODB_go_inv
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M737.563,-281.2265C726.4551,-278.2731 715.0199,-275.3249 704.2046,-272.6934 630.4298,-254.7431 609.974,-258.3626 537.2046,-236.6934 532.0582,-235.161 526.7529,-233.4247 521.4735,-231.5901
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"522.6329,-228.2877 512.0384,-228.2045 520.2686,-234.8764 522.6329,-228.287
7"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M899.62,-280.83C886.48,-278.01 872.98,-275.2 860.23,-272.69 768.6,-254.69 744.1,-258.18 653.23,-236.69 646.34,-235.07 639.19,-233.2 632.1,-231.24
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"633.05,-227.87 622.48,-228.51 631.14,-234.6 633.05,-227.8
7"
/>
</g>
<!-- zconnCacheGet -->
<g
id=
"node10"
class=
"node"
>
<title>
zconnCacheGet
</title>
<ellipse
fill=
"
#ffffe0"
stroke=
"#000000"
cx=
"749.2046"
cy=
"-209.8234"
rx=
"54.3945"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
749.2046"
y=
"-213.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
zonn.
</text>
<text
text-anchor=
"middle"
x=
"
749.2046"
y=
"-198.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
.Cache.Get
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"915.23"
cy=
"-209.82"
rx=
"67.35"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
915.23"
y=
"-213.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
zonn.
</text>
<text
text-anchor=
"middle"
x=
"
915.23"
y=
"-198.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
.Cache.Get
</text>
</g>
<!-- wcfsInvProcess->zconnCacheGet -->
<g
id=
"edge9"
class=
"edge"
>
<title>
wcfsInvProcess
->
zconnCacheGet
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M787.0028,-272.6385C781.6822,-263.7964 775.6918,-253.8412 770.075,-244.506
9"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"772.9932,-242.5682 764.8383,-235.8044 766.9954,-246.1774 772.9932,-242.5682
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M959.66,-272.71C953.27,-263.81 946.02,-253.71 939.26,-244.2
9"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"941.9,-241.97 933.22,-235.89 936.21,-246.05 941.9,-241.97
"
/>
</g>
<!-- zobj2file -->
<g
id=
"node11"
class=
"node"
>
<title>
zobj2file
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"183.2046"
cy=
"-209.8234"
rx=
"70.3881
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
183.2046"
y=
"-206.1234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
Z* → file/[]#blk
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"222.23"
cy=
"-209.82"
rx=
"81.49
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
222.23"
y=
"-206.12"
font-family=
"Times,serif"
font-size=
"14.
00"
>
Z* → file/[]#blk
</text>
</g>
<!-- wcfsInvProcess->zobj2file -->
<g
id=
"edge10"
class=
"edge"
>
<title>
wcfsInvProcess
->
zobj2file
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M739.0912,-280.6782C727.5469,-277.7029 715.5704,-274.8897 704.2046,-272.6934 569.3204,-246.6294 533.5825,-253.2511 397.2046,-236.6934 350.3303,-231.0024 297.7099,-224.3982 256.3779,-219.1614
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"256.7549,-215.6812 246.394,-217.8952 255.8741,-222.6256 256.7549,-215.6812
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M901.36,-280.31C887.71,-277.47 873.59,-274.79 860.23,-272.69 693.5,-246.58 650.19,-253.05 482.23,-236.69 422.76,-230.9 355.65,-224.22 304.51,-219.1
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"304.81,-215.61 294.51,-218.1 304.11,-222.58 304.81,-215.61
"
/>
</g>
<!-- δFtail -->
<g
id=
"node12"
class=
"node"
>
<title>
δFtail
</title>
<ellipse
fill=
"
#ffffe0"
stroke=
"#000000"
cx=
"942.2046"
cy=
"-209.8234"
rx=
"31.6951
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
942.2046"
y=
"-206.1234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
δFtail
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"1139.23"
cy=
"-209.82"
rx=
"37.89
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
1139.23"
y=
"-206.12"
font-family=
"Times,serif"
font-size=
"14.
00"
>
δFtail
</text>
</g>
<!-- wcfsInvProcess->δFtail -->
<g
id=
"edge11"
class=
"edge"
>
<title>
wcfsInvProcess
->
δFtail
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M841.423,-275.1669C859.5643,-263.5554 881.5304,-249.4507 901.2046,-236.6934 905.0025,-234.2307 908.9921,-231.6315 912.9298,-229.0587
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"914.9226,-231.9375 921.3725,-223.5322 911.0887,-226.0807 914.9226,-231.9375
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1022.56,-274.96C1043.97,-263.5 1069.98,-249.48 1093.23,-236.69 1097.73,-234.22 1102.46,-231.59 1107.11,-228.98
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1108.86,-232.02 1115.87,-224.07 1105.44,-225.91 1108.86,-232.02
"
/>
</g>
<!-- fuseRetrieveCache -->
<g
id=
"node13"
class=
"node"
>
<title>
fuseRetrieveCache
</title>
<ellipse
fill=
"
#ffffe0"
stroke=
"#000000"
cx=
"611.2046"
cy=
"-209.8234"
rx=
"65.1077"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
611.2046"
y=
"-213.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
FUSE:
</text>
<text
text-anchor=
"middle"
x=
"
611.2046"
y=
"-198.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
retrieve cache
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"746.23"
cy=
"-209.82"
rx=
"84.29"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
746.23"
y=
"-213.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
FUSE:
</text>
<text
text-anchor=
"middle"
x=
"
746.23"
y=
"-198.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
retrieve cache
</text>
</g>
<!-- wcfsInvProcess->fuseRetrieveCache -->
<g
id=
"edge12"
class=
"edge"
>
<title>
wcfsInvProcess
->
fuseRetrieveCache
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M754.7549,-276.9183C727.0082,-263.9496 692.1716,-247.6671 663.7652,-234.39
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"664.9391,-231.0753 654.3978,-230.0117 661.9751,-237.4168 664.9391,-231.0753
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M920.28,-276.65C886.3,-263.8 843.36,-247.56 808.64,-234.43
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"809.66,-231.07 799.07,-230.81 807.19,-237.62 809.66,-231.07
"
/>
</g>
<!-- _wcfs_zhead -->
<g
id=
"node14"
class=
"node"
>
<title>
_wcfs_zhead
</title>
<ellipse
fill=
"
#ffffe0"
stroke=
"#000000"
cx=
"857.2046"
cy=
"-209.8234"
rx=
"35.2113"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
857.2046"
y=
"-213.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
.wcfs/
</text>
<text
text-anchor=
"middle"
x=
"
857.2046"
y=
"-198.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
zhead
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"1042.23"
cy=
"-209.82"
rx=
"41.94"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
1042.23"
y=
"-213.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
.wcfs/
</text>
<text
text-anchor=
"middle"
x=
"
1042.23"
y=
"-198.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
zhead
</text>
</g>
<!-- wcfsInvProcess->_wcfs_zhead -->
<g
id=
"edge13"
class=
"edge"
>
<title>
wcfsInvProcess
->
_wcfs_zhead
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M819.4064,-272.6385C825.0197,-263.31 831.3785,-252.7425 837.2576,-242.9723
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"840.3297,-244.6552 842.4867,-234.2823 834.3319,-241.0461 840.3297,-244.6552
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M997.08,-272.71C1003.93,-263.33 1011.74,-252.62 1018.92,-242.77
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1021.97,-244.54 1025.03,-234.39 1016.31,-240.41 1021.97,-244.54
"
/>
</g>
<!-- wcfsRead->δFtail -->
<g
id=
"edge19"
class=
"edge"
>
<title>
wcfsRead
->
δFtail
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1075.3491,-285.5388C1050.106,-273.3899 1013.2056,-254.9415 982.2046,-236.6934 978.4736,-234.4973 974.6165,-232.091 970.8368,-229.6493
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"972.5244,-226.5692 962.2533,-223.9699 968.6617,-232.407 972.5244,-226.5692
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1298.77,-284.98C1268.49,-273.09 1223.97,-254.91 1186.23,-236.69 1181.42,-234.37 1176.41,-231.8 1171.53,-229.2
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1172.85,-225.93 1162.4,-224.22 1169.5,-232.08 1172.85,-225.93
"
/>
</g>
<!-- blktabGet -->
<g
id=
"node19"
class=
"node"
>
<title>
blktabGet
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"1106.2046"
cy=
"-209.8234"
rx=
"114.6026"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"1
106.2046"
y=
"-213.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
blktab.Get(#blk):
</text>
<text
text-anchor=
"middle"
x=
"1
106.2046"
y=
"-198.6234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
manually + → ⌈rev(#blk)⌉
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"1334.23"
cy=
"-209.82"
rx=
"139.1"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"1
334.23"
y=
"-213.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
blktab.Get(#blk):
</text>
<text
text-anchor=
"middle"
x=
"1
334.23"
y=
"-198.62"
font-family=
"Times,serif"
font-size=
"14.
00"
>
manually + → ⌈rev(#blk)⌉
</text>
</g>
<!-- wcfsRead->blktabGet -->
<g
id=
"edge18"
class=
"edge"
>
<title>
wcfsRead
->
blktabGet
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1105.4069,-281.4032C1105.5173,-271.5002 1105.6581,-258.8681 1105.7905,-246.9806
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1109.2921,-246.8514 1105.9038,-236.813 1102.2925,-246.7734 1109.2921,-246.8514
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1334.23,-281.23C1334.23,-271.42 1334.23,-258.77 1334.23,-246.91
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1337.73,-246.78 1334.23,-236.78 1330.73,-246.78 1337.73,-246.78
"
/>
</g>
<!-- wcfsRead->setupWatch -->
<g
id=
"edge20"
class=
"edge"
>
<title>
wcfsRead
->
setupWatch
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1132.165,-284.591C1141.1669,-280.1495 1151.4051,-275.6794 1161.2046,-272.6934 1267.746,-240.2301 1301.1865,-263.8416 1409.2046,-236.6934 1414.8942,-235.2635 1420.7561,-233.5577 1426.5727,-231.7087
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1427.8927,-234.9584 1436.2802,-228.4854 1425.6867,-228.315 1427.8927,-234.9584
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1367.56,-284.45C1379,-280.08 1392.01,-275.65 1404.23,-272.69 1532.59,-241.59 1569.64,-262.29 1699.23,-236.69 1707.14,-235.13 1715.36,-233.25 1723.5,-231.23
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1724.54,-234.58 1733.36,-228.71 1722.81,-227.8 1724.54,-234.58
"
/>
</g>
<!-- headWatch -->
<g
id=
"node21"
class=
"node"
>
<title>
headWatch
</title>
<ellipse
fill=
"#f2f2f2"
stroke=
"
#000000"
cx=
"1319.2046"
cy=
"-209.8234"
rx=
"80.685
8"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
319.2046"
y=
"-206.1234"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
#blk ← head/watch
</text>
<ellipse
fill=
"#f2f2f2"
stroke=
"
black"
cx=
"1591.23"
cy=
"-209.82"
rx=
"99.3
8"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
591.23"
y=
"-206.12"
font-family=
"Times,serif"
font-size=
"14.
00"
>
#blk ← head/watch
</text>
</g>
<!-- wcfsRead->headWatch -->
<g
id=
"edge21"
class=
"edge"
>
<title>
wcfsRead
->
headWatch
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1134.0944,-285.2354C1142.7553,-281.0666 1152.3156,-276.589 1161.2046,-272.6934 1196.7364,-257.1216 1237.4211,-240.9708 1268.6067,-228.9383
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1269.8855,-232.1965 1277.9638,-225.3415 1267.3738,-225.6626 1269.8855,-232.1965
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1370.11,-285.03C1381.04,-280.98 1393.1,-276.59 1404.23,-272.69 1447.93,-257.39 1497.71,-240.97 1534.92,-228.89
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1536.15,-232.17 1544.58,-225.76 1533.99,-225.52 1536.15,-232.17
"
/>
</g>
<!-- fs1_go_inv -->
<g
id=
"node15"
class=
"node"
>
<title>
fs1_go_inv
</title>
<ellipse
fill=
"
#ffffe0"
stroke=
"#000000"
cx=
"733.2046"
cy=
"-109.4767"
rx=
"60.623"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
733.2046"
y=
"-113.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
fs1/go
</text>
<text
text-anchor=
"middle"
x=
"
733.2046"
y=
"-98.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
invalidations
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"885.23"
cy=
"-109.48"
rx=
"76.24"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
885.23"
y=
"-113.28"
font-family=
"Times,serif"
font-size=
"14.
00"
>
fs1/go
</text>
<text
text-anchor=
"middle"
x=
"
885.23"
y=
"-98.28"
font-family=
"Times,serif"
font-size=
"14.
00"
>
invalidations
</text>
</g>
<!-- ZODB_go_inv->fs1_go_inv -->
<g
id=
"edge14"
class=
"edge"
>
<title>
ZODB_go_inv
->
fs1_go_inv
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M512.5558,-191.7476C520.7165,-188.6861 529.1793,-185.6343 537.2046,-182.9533 592.4446,-164.4997 609.2254,-168.8222 663.2046,-146.9533 671.1937,-143.7167 679.4564,-139.8252 687.3824,-135.791
9"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"689.2584,-138.7605 696.4956,-131.0227 686.0127,-132.5584 689.2584,-138.760
5"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M623.54,-191.43C633.41,-188.51 643.6,-185.58 653.23,-182.95 718.12,-165.26 736.43,-168.29 800.23,-146.95 810.27,-143.6 820.77,-139.55 830.84,-135.3
9"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"832.47,-138.5 840.33,-131.38 829.75,-132.05 832.47,-138.
5"
/>
</g>
<!-- zeo_go_inv -->
<g
id=
"node16"
class=
"node"
>
<title>
zeo_go_inv
</title>
<ellipse
fill=
"
none"
stroke=
"#000000"
cx=
"327.2046"
cy=
"-109.4767"
rx=
"60.623"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"3
27.2046"
y=
"-113.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
zeo/go
</text>
<text
text-anchor=
"middle"
x=
"3
27.2046"
y=
"-98.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
invalidations
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"396.23"
cy=
"-109.48"
rx=
"76.24"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"3
96.23"
y=
"-113.28"
font-family=
"Times,serif"
font-size=
"14.
00"
>
zeo/go
</text>
<text
text-anchor=
"middle"
x=
"3
96.23"
y=
"-98.28"
font-family=
"Times,serif"
font-size=
"14.
00"
>
invalidations
</text>
</g>
<!-- ZODB_go_inv->zeo_go_inv -->
<g
id=
"edge15"
class=
"edge"
>
<title>
ZODB_go_inv
->
zeo_go_inv
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M435.0858,-186.8018C414.9882,-172.3967 388.9291,-153.7185 367.4574,-138.3284
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"369.3408,-135.3721 359.174,-132.3911 365.2628,-141.0616 369.3408,-135.3721
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M528.42,-186.51C503.28,-172.05 470.37,-153.12 443.67,-137.76
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"445.29,-134.66 434.87,-132.7 441.8,-140.72 445.29,-134.66
"
/>
</g>
<!-- neo_go_inv -->
<g
id=
"node17"
class=
"node"
>
<title>
neo_go_inv
</title>
<ellipse
fill=
"none"
stroke=
"
#000000"
cx=
"467.2046"
cy=
"-109.4767"
rx=
"60.623"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
467.2046"
y=
"-113.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
neo/go
</text>
<text
text-anchor=
"middle"
x=
"
467.2046"
y=
"-98.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
invalidations
</text>
<ellipse
fill=
"none"
stroke=
"
black"
cx=
"567.23"
cy=
"-109.48"
rx=
"76.24"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
567.23"
y=
"-113.28"
font-family=
"Times,serif"
font-size=
"14.
00"
>
neo/go
</text>
<text
text-anchor=
"middle"
x=
"
567.23"
y=
"-98.28"
font-family=
"Times,serif"
font-size=
"14.
00"
>
invalidations
</text>
</g>
<!-- ZODB_go_inv->neo_go_inv -->
<g
id=
"edge16"
class=
"edge"
>
<title>
ZODB_go_inv
->
neo_go_inv
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M467.2046,-182.9323C467.2046,-171.7967 467.2046,-158.6951 467.2046,-146.6635
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"470.7047,-146.4419 467.2046,-136.442 463.7047,-146.442 470.7047,-146.4419
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M567.23,-182.73C567.23,-171.64 567.23,-158.52 567.23,-146.53
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"570.73,-146.35 567.23,-136.35 563.73,-146.35 570.73,-146.35
"
/>
</g>
<!-- zcache_go_inv -->
<g
id=
"node18"
class=
"node"
>
<title>
zcache_go_inv
</title>
<ellipse
fill=
"none"
stroke=
"
#c0c0c0"
cx=
"600.2046"
cy=
"-109.4767"
rx=
"53.9813"
ry=
"26.7407
"
/>
<text
text-anchor=
"middle"
x=
"
600.2046"
y=
"-113.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#c0c0c0
"
>
ZCache/go
</text>
<text
text-anchor=
"middle"
x=
"
600.2046"
y=
"-98.2767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#c0c0c0
"
>
←watchq
</text>
<ellipse
fill=
"none"
stroke=
"
grey"
cx=
"726.23"
cy=
"-109.48"
rx=
"65.11"
ry=
"26.74
"
/>
<text
text-anchor=
"middle"
x=
"
726.23"
y=
"-113.28"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"grey
"
>
ZCache/go
</text>
<text
text-anchor=
"middle"
x=
"
726.23"
y=
"-98.28"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"grey
"
>
←watchq
</text>
</g>
<!-- ZODB_go_inv->zcache_go_inv -->
<g
id=
"edge17"
class=
"edge"
>
<title>
ZODB_go_inv
->
zcache_go_inv
</title>
<path
fill=
"none"
stroke=
"
#c0c0c0"
stroke-dasharray=
"5,2"
d=
"M498.0517,-186.5496C517.2061,-172.0979 541.9634,-153.4189 562.308,-138.0691
"
/>
<polygon
fill=
"
#c0c0c0"
stroke=
"#c0c0c0"
points=
"564.5648,-140.7509 570.4396,-131.9339 560.3488,-135.1629 564.5648,-140.750
9"
/>
<path
fill=
"none"
stroke=
"
grey"
stroke-dasharray=
"5,2"
d=
"M604.1,-186.01C627.47,-171.56 657.81,-152.79 682.41,-137.58
"
/>
<polygon
fill=
"
grey"
stroke=
"grey"
points=
"684.52,-140.39 691.18,-132.15 680.84,-134.43 684.52,-140.3
9"
/>
</g>
<!-- zblk2file -->
<g
id=
"node22"
class=
"node"
>
<title>
zblk2file
</title>
<ellipse
fill=
"
#ffffe0"
stroke=
"#000000"
cx=
"50.2046"
cy=
"-109.4767"
rx=
"50.41"
ry=
"37.4533
"
/>
<text
text-anchor=
"middle"
x=
"
50.2046"
y=
"-120.7767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
ZBlk*
</text>
<text
text-anchor=
"middle"
x=
"
50.2046"
y=
"-105.7767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
↓
</text>
<text
text-anchor=
"middle"
x=
"
50.2046"
y=
"-90.7767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
file/[]#blk
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"62.23"
cy=
"-109.48"
rx=
"62.45"
ry=
"37.45
"
/>
<text
text-anchor=
"middle"
x=
"
62.23"
y=
"-120.78"
font-family=
"Times,serif"
font-size=
"14.
00"
>
ZBlk*
</text>
<text
text-anchor=
"middle"
x=
"
62.23"
y=
"-105.78"
font-family=
"Times,serif"
font-size=
"14.
00"
>
↓
</text>
<text
text-anchor=
"middle"
x=
"
62.23"
y=
"-90.78"
font-family=
"Times,serif"
font-size=
"14.
00"
>
file/[]#blk
</text>
</g>
<!-- zobj2file->zblk2file -->
<g
id=
"edge22"
class=
"edge"
>
<title>
zobj2file
->
zblk2file
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M160.3411,-192.5732C142.0844,-178.7987 115.9716,-159.097 93.7543,-142.3343
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"95.8578,-139.5369 85.7669,-136.308 91.6417,-145.1249 95.8578,-139.536
9"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M195.8,-192.58C173.54,-178.9 141.03,-158.91 113.65,-142.09
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"115.32,-139 104.96,-136.75 111.65,-144.97 115.32,-13
9"
/>
</g>
<!-- zbtree2file -->
<g
id=
"node23"
class=
"node"
>
<title>
zbtree2file
</title>
<ellipse
fill=
"none"
stroke=
"
#000000"
cx=
"183.2046"
cy=
"-109.4767"
rx=
"65.1077"
ry=
"37.4533
"
/>
<text
text-anchor=
"middle"
x=
"
183.2046"
y=
"-120.7767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
BTree/Bucket
</text>
<text
text-anchor=
"middle"
x=
"
183.2046"
y=
"-105.7767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
↓
</text>
<text
text-anchor=
"middle"
x=
"
183.2046"
y=
"-90.7767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
file/[]#blk
</text>
<ellipse
fill=
"none"
stroke=
"
black"
cx=
"222.23"
cy=
"-109.48"
rx=
"79.81"
ry=
"37.45
"
/>
<text
text-anchor=
"middle"
x=
"
222.23"
y=
"-120.78"
font-family=
"Times,serif"
font-size=
"14.
00"
>
BTree/Bucket
</text>
<text
text-anchor=
"middle"
x=
"
222.23"
y=
"-105.78"
font-family=
"Times,serif"
font-size=
"14.
00"
>
↓
</text>
<text
text-anchor=
"middle"
x=
"
222.23"
y=
"-90.78"
font-family=
"Times,serif"
font-size=
"14.
00"
>
file/[]#blk
</text>
</g>
<!-- zobj2file->zbtree2file -->
<g
id=
"edge23"
class=
"edge"
>
<title>
zobj2file
->
zbtree2file
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M183.2046,-191.4182C183.2046,-181.7819 183.2046,-169.4895 183.2046,-157.3745
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"186.7047,-157.3017 183.2046,-147.3017 179.7047,-157.3018 186.7047,-157.3017
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M222.23,-191.69C222.23,-182.06 222.23,-169.53 222.23,-157.2
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"225.73,-156.96 222.23,-146.96 218.73,-156.96 225.73,-156.96
"
/>
</g>
<!-- fileSock -->
<g
id=
"node27"
class=
"node"
>
<title>
fileSock
</title>
<ellipse
fill=
"
#ffffe0"
stroke=
"#000000"
cx=
"1088.2046"
cy=
"-109.4767"
rx=
"42.493
9"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
088.2046"
y=
"-105.7767"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
FileSock
</text>
<ellipse
fill=
"
lightyellow"
stroke=
"black"
cx=
"1316.23"
cy=
"-109.48"
rx=
"50.0
9"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"1
316.23"
y=
"-105.78"
font-family=
"Times,serif"
font-size=
"14.
00"
>
FileSock
</text>
</g>
<!-- _wcfs_zhead->fileSock -->
<g
id=
"edge31"
class=
"edge"
>
<title>
_wcfs_zhead
->
fileSock
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M884.249,-192.2985C889.762,-189.015 895.5941,-185.7422 901.2046,-182.9533 948.9451,-159.2221 1006.3368,-137.6367 1044.8381,-124.0939
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1046.3966,-127.2573 1054.6869,-120.6602 1044.092,-120.6475 1046.3966,-127.2573
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1073.32,-191.73C1079.5,-188.63 1086,-185.55 1092.23,-182.95 1151.27,-158.32 1221.85,-136.72 1267.78,-123.65
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1268.81,-126.99 1277.48,-120.91 1266.91,-120.26 1268.81,-126.99
"
/>
</g>
<!-- headWatch->fileSock -->
<g
id=
"edge30"
class=
"edge"
>
<title>
headWatch
->
fileSock
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1282.3465,-193.8122C1239.9515,-175.3957 1170.6358,-145.2849 1127.3142,-126.4659
"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1128.5204,-123.174 1117.9539,-122.3998 1125.7314,-129.5944 1128.5204,-123.174
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1548.26,-193.46C1497.03,-175.14 1411.86,-144.68 1360.19,-126.2
"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1361.23,-122.85 1350.64,-122.78 1358.87,-129.45 1361.23,-122.85
"
/>
</g>
<!-- δBTree -->
<g
id=
"node24"
class=
"node"
>
<title>
δBTree
</title>
<ellipse
fill=
"none"
stroke=
"
#000000"
cx=
"183.2046"
cy=
"-18"
rx=
"43.5923
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
183.2046"
y=
"-14.3"
font-family=
"Times,serif"
font-size=
"14.00"
fill=
"#0000
00"
>
δ(BTree)
</text>
<ellipse
fill=
"none"
stroke=
"
black"
cx=
"222.23"
cy=
"-18"
rx=
"50.89
"
ry=
"18"
/>
<text
text-anchor=
"middle"
x=
"
222.23"
y=
"-14.3"
font-family=
"Times,serif"
font-size=
"14.
00"
>
δ(BTree)
</text>
</g>
<!-- zbtree2file->δBTree -->
<g
id=
"edge24"
class=
"edge"
>
<title>
zbtree2file
->
δBTree
</title>
<path
fill=
"none"
stroke=
"
#c0c0c0"
d=
"M183.2046,-71.7415C183.2046,-63.3502 183.2046,-54.5881 183.2046,-46.6326
"
/>
<polygon
fill=
"
#c0c0c0"
stroke=
"#c0c0c0"
points=
"186.7047,-46.3947 183.2046,-36.3948 179.7047,-46.3948 186.7047,-46.3947
"
/>
<path
fill=
"none"
stroke=
"
grey"
d=
"M222.23,-71.82C222.23,-63.33 222.23,-54.43 222.23,-46.42
"
/>
<polygon
fill=
"
grey"
stroke=
"grey"
points=
"225.73,-46.15 222.23,-36.15 218.73,-46.15 225.73,-46.15
"
/>
</g>
<!-- clientInvHandle->headWatch -->
<g
id=
"edge29"
class=
"edge"
>
<title>
clientInvHandle
->
headWatch
</title>
<path
fill=
"none"
stroke=
"
#000000"
d=
"M1271.239,-273.1239C1280.129,-261.3917 1290.5608,-247.6248 1299.4214,-235.931
4"
/>
<polygon
fill=
"
#000000"
stroke=
"#000000"
points=
"1302.3012,-237.9261 1305.5511,-227.842 1296.722,-233.6985 1302.3012,-237.9261
"
/>
<path
fill=
"none"
stroke=
"
black"
d=
"M1537.92,-273.19C1548.04,-261.34 1560.05,-247.3 1570.1,-235.5
4"
/>
<polygon
fill=
"
black"
stroke=
"black"
points=
"1572.86,-237.69 1576.7,-227.82 1567.54,-233.15 1572.86,-237.69
"
/>
</g>
</g>
</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