Skip to content
Permalink
1139b72d5e
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
359 lines (326 sloc) 8.03 KB
%!PS-Adobe-2.0
%%Creator: dot version gviz 1.7.3b (Mon Feb 26 14:10:22 EST 2001)
%%For: (pcarns) Carns Philip H
%%Title: G
%%Pages: (atend)
%%BoundingBox: 36 36 462 487
%%EndComments
%%BeginProlog
save
/DotDict 200 dict def
DotDict begin
%%BeginResource: procset
/coord-font-family /Times-Roman def
/default-font-family /Times-Roman def
/coordfont coord-font-family findfont 8 scalefont def
/InvScaleFactor 1.0 def
/set_scale {
dup 1 exch div /InvScaleFactor exch def
dup scale
} bind def
% styles
/solid { } bind def
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def
/bold { 2 setlinewidth } bind def
/filled { } bind def
/unfilled { } bind def
/rounded { } bind def
/diagonals { } bind def
% hooks for setting color
/nodecolor { sethsbcolor } bind def
/edgecolor { sethsbcolor } bind def
/graphcolor { sethsbcolor } bind def
/nopcolor {pop pop pop} bind def
/beginpage { % i j npages
/npages exch def
/j exch def
/i exch def
/str 10 string def
npages 1 gt {
gsave
coordfont setfont
0 0 moveto
(\() show i str cvs show (,) show j str cvs show (\)) show
grestore
} if
} bind def
/set_font {
findfont exch
scalefont setfont
} def
% draw aligned label in bounding box aligned to current point
% alignfactor tells what fraction to place on the left.
% -.5 is centered.
/alignedtext { % text labelwidth fontsz alignfactor
/alignfactor exch def
/fontsz exch def
/width exch def
/text exch def
gsave
% even if node or edge is dashed, don't paint text with dashes
[] 0 setdash
currentpoint newpath moveto
text stringwidth pop
alignfactor mul fontsz -.3 mul rmoveto
text show
grestore
} def
/boxprim { % xcorner ycorner xsize ysize
4 2 roll
moveto
2 copy
exch 0 rlineto
0 exch rlineto
pop neg 0 rlineto
closepath
} bind def
/ellipse_path {
/ry exch def
/rx exch def
/y exch def
/x exch def
matrix currentmatrix
newpath
x y translate
rx ry scale
0 0 1 0 360 arc
setmatrix
} bind def
/endpage { showpage } bind def
/layercolorseq
[ % layer color sequence - darkest to lightest
[0 0 0]
[.2 .8 .8]
[.4 .8 .8]
[.6 .8 .8]
[.8 .8 .8]
]
def
/setlayer {/maxlayer exch def /curlayer exch def
layercolorseq curlayer get
aload pop sethsbcolor
/nodecolor {nopcolor} def
/edgecolor {nopcolor} def
/graphcolor {nopcolor} def
} bind def
/onlayer { curlayer ne {invis} if } def
/onlayers {
/myupper exch def
/mylower exch def
curlayer mylower lt
curlayer myupper gt
or
{invis} if
} def
/curlayer 0 def
%%EndProlog
%%BeginSetup
14 default-font-family set_font
1 setmiterlimit
% /arrowlength 10 def
% /arrowwidth 5 def
% make sure pdfmark is harmless for PS-interpreters other than Distiller
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse
% make '<<' and '>>' safe on PS Level 1 devices
/languagelevel where {pop languagelevel}{1} ifelse
2 lt {
userdict (<<) cvn ([) cvn load put
userdict (>>) cvn ([) cvn load put
} if
%%EndResource
%%EndSetup
%%Page: 1 1
%%PageBoundingBox: 36 36 462 487
%%PageOrientation: Portrait
gsave
35 35 427 452 boxprim clip newpath
36 36 translate
0 0 1 beginpage
0 0 translate 0 rotate
[ /CropBox [36 36 462 487] /PAGES pdfmark
0.000 0.000 0.000 graphcolor
14.00 /Times-Roman set_font
% incoming request;\ncontains path (string) and filesystem id (int)
gsave 10 dict begin
newpath 287 442 moveto
27 442 lineto
27 406 lineto
287 406 lineto
closepath
stroke
gsave 10 dict begin
157 433 moveto (incoming request;) 100 14.00 -0.50 alignedtext
157 417 moveto (contains path \(string\) and filesystem id \(int\)) 245 14.00 -0.50 alignedtext
end grestore
end grestore
% find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system
gsave 10 dict begin
newpath 314 368 moveto
0 368 lineto
0 332 lineto
314 332 lineto
closepath
stroke
gsave 10 dict begin
157 359 moveto (find the handle for the dataspace that contains) 256 14.00 -0.50 alignedtext
157 343 moveto (the path/handle mapping for the requested file system) 300 14.00 -0.50 alignedtext
end grestore
end grestore
% incoming request;\ncontains path (string) and filesystem id (int) -> find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system
newpath 157 406 moveto
157 397 157 387 157 378 curveto
stroke
newpath 155 378 moveto
157 368 lineto
160 378 lineto
closepath
gsave 0 setgray stroke grestore fill
% build an error ack
gsave 10 dict begin
newpath 165 192 moveto
53 192 lineto
53 156 lineto
165 156 lineto
closepath
stroke
gsave 10 dict begin
109 175 moveto (build an error ack) 98 14.00 -0.50 alignedtext
end grestore
end grestore
% find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system -> build an error ack
newpath 144 332 moveto
133 317 120 295 115 280 curveto
110 259 108 225 109 201 curveto
stroke
newpath 107 202 moveto
109 192 lineto
112 202 lineto
closepath
gsave 0 setgray stroke grestore fill
gsave 10 dict begin
140 263 moveto (failure) 36 14.00 -0.50 alignedtext
end grestore
% submit trove keyval job\n(key=path, value=handle)
gsave 10 dict begin
newpath 335 280 moveto
177 280 lineto
177 244 lineto
335 244 lineto
closepath
stroke
gsave 10 dict begin
256 271 moveto (submit trove keyval job) 132 14.00 -0.50 alignedtext
256 255 moveto (\(key=path, value=handle\)) 143 14.00 -0.50 alignedtext
end grestore
end grestore
% find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system -> submit trove keyval job\n(key=path, value=handle)
newpath 178 332 moveto
193 319 213 301 229 286 curveto
stroke
newpath 227 285 moveto
236 280 lineto
230 288 lineto
closepath
gsave 0 setgray stroke grestore fill
gsave 10 dict begin
243 307 moveto (success) 41 14.00 -0.50 alignedtext
end grestore
% submit bmi send job
gsave 10 dict begin
newpath 289 118 moveto
161 118 lineto
161 82 lineto
289 82 lineto
closepath
stroke
gsave 10 dict begin
225 101 moveto (submit bmi send job) 114 14.00 -0.50 alignedtext
end grestore
end grestore
% build an error ack -> submit bmi send job
newpath 137 156 moveto
152 146 172 134 189 123 curveto
stroke
newpath 187 121 moveto
197 118 lineto
190 125 lineto
closepath
gsave 0 setgray stroke grestore fill
% submit trove keyval job\n(key=path, value=handle) -> build an error ack
newpath 226 244 moveto
204 231 172 211 147 197 curveto
stroke
newpath 146 199 moveto
139 192 lineto
149 195 lineto
closepath
gsave 0 setgray stroke grestore fill
gsave 10 dict begin
220 219 moveto (failure) 36 14.00 -0.50 alignedtext
end grestore
% build a successful ack;\ncontains handle value from previous step
gsave 10 dict begin
newpath 425 192 moveto
183 192 lineto
183 156 lineto
425 156 lineto
closepath
stroke
gsave 10 dict begin
304 183 moveto (build a successful ack;) 126 14.00 -0.50 alignedtext
304 167 moveto (contains handle value from previous step) 229 14.00 -0.50 alignedtext
end grestore
end grestore
% submit trove keyval job\n(key=path, value=handle) -> build a successful ack;\ncontains handle value from previous step
newpath 266 244 moveto
273 232 282 214 290 200 curveto
stroke
newpath 287 200 moveto
294 192 lineto
292 202 lineto
closepath
gsave 0 setgray stroke grestore fill
gsave 10 dict begin
312 219 moveto (success) 41 14.00 -0.50 alignedtext
end grestore
% build a successful ack;\ncontains handle value from previous step -> submit bmi send job
newpath 284 156 moveto
274 146 262 135 251 125 curveto
stroke
newpath 249 127 moveto
244 118 lineto
253 123 lineto
closepath
gsave 0 setgray stroke grestore fill
% exit state machine
gsave 10 dict begin
newpath 282 44 moveto
168 44 lineto
168 8 lineto
282 8 lineto
closepath
stroke
gsave 10 dict begin
225 27 moveto (exit state machine) 100 14.00 -0.50 alignedtext
end grestore
end grestore
% submit bmi send job -> exit state machine
newpath 225 82 moveto
225 73 225 63 225 54 curveto
stroke
newpath 223 54 moveto
225 44 lineto
228 54 lineto
closepath
gsave 0 setgray stroke grestore fill
endpage
grestore
%%PageTrailer
%%EndPage: 1
%%Trailer
%%Pages: 1
end
restore
%%EOF