[master] 2d98cc5 Add VCL labels to the request state machine

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Thu Sep 1 19:04:10 CEST 2016


commit 2d98cc5f29a82d7651b3680f4608dbf8e4747307
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date:   Thu Sep 1 18:54:31 2016 +0200

    Add VCL labels to the request state machine

diff --git a/doc/graphviz/cache_req_fsm.dot b/doc/graphviz/cache_req_fsm.dot
index 183d603..a9bc854 100644
--- a/doc/graphviz/cache_req_fsm.dot
+++ b/doc/graphviz/cache_req_fsm.dot
@@ -47,16 +47,16 @@ digraph cache_req_fsm {
 	fini:ok -> ok
 	*/
 
-	acceptor [
-		  shape=hexagon
-		  label="Request received"
-	]
-	ESI_REQ [ shape=hexagon ]
+	acceptor [shape=hexagon label="Request received"]
+	label_select [shape=hexagon label="Label selected"]
+	ESI_REQ [shape=hexagon label="ESI request"]
 	RESTART [shape=plaintext]
 
 	ESI_REQ -> recv
 	SYNTH [shape=plaintext]
+	LABEL [shape=plaintext]
 	acceptor -> recv [style=bold]
+	label_select -> recv [style=bold]
 
 	subgraph xcluster_deliver {
 		/* cnt_deliver() */
@@ -187,7 +187,7 @@ digraph cache_req_fsm {
 	subgraph xcluster_recv {
 		recv [
 		      shape=record
-		      label="{cnt_recv:|{vcl_recv\{\}|req.*}|{<hash>hash|<purge>purge|<pass>pass|<pipe>pipe|<synth>synth}}"
+		      label="{cnt_recv:|{vcl_recv\{\}|req.*}|{<hash>hash|<purge>purge|<pass>pass|<pipe>pipe|<synth>synth|<vcl>vcl}}"
 		      ]
 		recv:hash -> hash [style=bold,color=green]
 		hash [
@@ -204,6 +204,9 @@ digraph cache_req_fsm {
 
 	recv:purge:s -> hash [style=bold,color=purple]
 
+	recv:vcl:s -> vcl_label
+	vcl_label [label="LABEL",shape=plaintext]
+
 	/* cnt_purge */
 	subgraph xcluster_purge {
 		purge [
@@ -211,4 +214,4 @@ digraph cache_req_fsm {
 		       label="{<top>cnt_purge:|{vcl_purge\{\}|req.*}|{<synth>synth|<restart>restart}}"
 		]
 	}
-}
\ No newline at end of file
+}
diff --git a/doc/graphviz/cache_req_fsm.svg b/doc/graphviz/cache_req_fsm.svg
index 21828c8..26d4564 100644
--- a/doc/graphviz/cache_req_fsm.svg
+++ b/doc/graphviz/cache_req_fsm.svg
@@ -4,445 +4,470 @@
 <!-- Generated by graphviz version 2.38.0 (20140413.2041)
  -->
 <!-- Title: cache_req_fsm Pages: 1 -->
-<svg width="837pt" height="1349pt"
- viewBox="18.00 18.00 819.46 1331.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="935pt" height="1349pt"
+ viewBox="18.00 18.00 917.00 1331.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
 <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(22 1327)">
 <title>cache_req_fsm</title>
-<polygon fill="white" stroke="none" points="-4,4 -4,-1309 797.459,-1309 797.459,4 -4,4"/>
+<polygon fill="white" stroke="none" points="-4,4 -4,-1309 895,-1309 895,4 -4,4"/>
 <g id="clust3" class="cluster"><title>cluster_backend</title>
-<polygon fill="aliceblue" stroke="aliceblue" points="47,-299 47,-408 338,-408 338,-299 47,-299"/>
+<polygon fill="aliceblue" stroke="aliceblue" points="28,-299 28,-408 319,-408 319,-299 28,-299"/>
 </g>
 <!-- acceptor -->
 <g id="node1" class="node"><title>acceptor</title>
-<polygon fill="none" stroke="black" points="604.608,-1208.5 563.304,-1226.5 480.696,-1226.5 439.392,-1208.5 480.696,-1190.5 563.304,-1190.5 604.608,-1208.5"/>
-<text text-anchor="middle" x="522" y="-1204.8" font-family="Times,serif" font-size="14.00">Request received</text>
+<polygon fill="none" stroke="black" points="393.608,-1208.5 352.304,-1226.5 269.696,-1226.5 228.392,-1208.5 269.696,-1190.5 352.304,-1190.5 393.608,-1208.5"/>
+<text text-anchor="middle" x="311" y="-1204.8" font-family="Times,serif" font-size="14.00">Request received</text>
 </g>
 <!-- recv -->
-<g id="node4" class="node"><title>recv</title>
-<polygon fill="none" stroke="black" points="415,-1078.5 415,-1147.5 629,-1147.5 629,-1078.5 415,-1078.5"/>
-<text text-anchor="middle" x="522" y="-1132.3" font-family="Times,serif" font-size="14.00">cnt_recv:</text>
-<polyline fill="none" stroke="black" points="415,-1124.5 629,-1124.5 "/>
-<text text-anchor="middle" x="476.5" y="-1109.3" font-family="Times,serif" font-size="14.00">vcl_recv{}</text>
-<polyline fill="none" stroke="black" points="538,-1101.5 538,-1124.5 "/>
-<text text-anchor="middle" x="583.5" y="-1109.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="415,-1101.5 629,-1101.5 "/>
-<text text-anchor="middle" x="435.5" y="-1086.3" font-family="Times,serif" font-size="14.00">hash</text>
-<polyline fill="none" stroke="black" points="456,-1078.5 456,-1101.5 "/>
-<text text-anchor="middle" x="479.5" y="-1086.3" font-family="Times,serif" font-size="14.00">purge</text>
-<polyline fill="none" stroke="black" points="503,-1078.5 503,-1101.5 "/>
-<text text-anchor="middle" x="523" y="-1086.3" font-family="Times,serif" font-size="14.00">pass</text>
-<polyline fill="none" stroke="black" points="543,-1078.5 543,-1101.5 "/>
-<text text-anchor="middle" x="563" y="-1086.3" font-family="Times,serif" font-size="14.00">pipe</text>
-<polyline fill="none" stroke="black" points="583,-1078.5 583,-1101.5 "/>
-<text text-anchor="middle" x="606" y="-1086.3" font-family="Times,serif" font-size="14.00">synth</text>
+<g id="node5" class="node"><title>recv</title>
+<polygon fill="none" stroke="black" points="427.5,-1078.5 427.5,-1147.5 674.5,-1147.5 674.5,-1078.5 427.5,-1078.5"/>
+<text text-anchor="middle" x="551" y="-1132.3" font-family="Times,serif" font-size="14.00">cnt_recv:</text>
+<polyline fill="none" stroke="black" points="427.5,-1124.5 674.5,-1124.5 "/>
+<text text-anchor="middle" x="497.5" y="-1109.3" font-family="Times,serif" font-size="14.00">vcl_recv{}</text>
+<polyline fill="none" stroke="black" points="567.5,-1101.5 567.5,-1124.5 "/>
+<text text-anchor="middle" x="621" y="-1109.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="427.5,-1101.5 674.5,-1101.5 "/>
+<text text-anchor="middle" x="448" y="-1086.3" font-family="Times,serif" font-size="14.00">hash</text>
+<polyline fill="none" stroke="black" points="468.5,-1078.5 468.5,-1101.5 "/>
+<text text-anchor="middle" x="492" y="-1086.3" font-family="Times,serif" font-size="14.00">purge</text>
+<polyline fill="none" stroke="black" points="515.5,-1078.5 515.5,-1101.5 "/>
+<text text-anchor="middle" x="535.5" y="-1086.3" font-family="Times,serif" font-size="14.00">pass</text>
+<polyline fill="none" stroke="black" points="555.5,-1078.5 555.5,-1101.5 "/>
+<text text-anchor="middle" x="575.5" y="-1086.3" font-family="Times,serif" font-size="14.00">pipe</text>
+<polyline fill="none" stroke="black" points="595.5,-1078.5 595.5,-1101.5 "/>
+<text text-anchor="middle" x="618.5" y="-1086.3" font-family="Times,serif" font-size="14.00">synth</text>
+<polyline fill="none" stroke="black" points="641.5,-1078.5 641.5,-1101.5 "/>
+<text text-anchor="middle" x="658" y="-1086.3" font-family="Times,serif" font-size="14.00">vcl</text>
 </g>
 <!-- acceptor->recv -->
 <g id="edge2" class="edge"><title>acceptor->recv</title>
-<path fill="none" stroke="black" stroke-width="2" d="M522,-1190.35C522,-1181.14 522,-1169.31 522,-1157.74"/>
-<polygon fill="black" stroke="black" stroke-width="2" points="525.5,-1157.7 522,-1147.7 518.5,-1157.7 525.5,-1157.7"/>
+<path fill="none" stroke="black" stroke-width="2" d="M353.631,-1190.89C381.823,-1179.91 419.947,-1165.06 455.173,-1151.33"/>
+<polygon fill="black" stroke="black" stroke-width="2" points="456.49,-1154.58 464.537,-1147.68 453.949,-1148.05 456.49,-1154.58"/>
+</g>
+<!-- label_select -->
+<g id="node2" class="node"><title>label_select</title>
+<polygon fill="none" stroke="black" points="554.093,-1208.5 518.547,-1226.5 447.453,-1226.5 411.907,-1208.5 447.453,-1190.5 518.547,-1190.5 554.093,-1208.5"/>
+<text text-anchor="middle" x="483" y="-1204.8" font-family="Times,serif" font-size="14.00">Label selected</text>
+</g>
+<!-- label_select->recv -->
+<g id="edge3" class="edge"><title>label_select->recv</title>
+<path fill="none" stroke="black" stroke-width="2" d="M495.472,-1190.35C502.513,-1180.67 511.645,-1168.11 520.464,-1155.99"/>
+<polygon fill="black" stroke="black" stroke-width="2" points="523.438,-1157.85 526.489,-1147.7 517.777,-1153.73 523.438,-1157.85"/>
 </g>
 <!-- ESI_REQ -->
-<g id="node2" class="node"><title>ESI_REQ</title>
-<polygon fill="none" stroke="black" points="421.07,-1208.5 394.535,-1226.5 341.465,-1226.5 314.93,-1208.5 341.465,-1190.5 394.535,-1190.5 421.07,-1208.5"/>
-<text text-anchor="middle" x="368" y="-1204.8" font-family="Times,serif" font-size="14.00">ESI_REQ</text>
+<g id="node3" class="node"><title>ESI_REQ</title>
+<polygon fill="none" stroke="black" points="692.078,-1208.5 662.039,-1226.5 601.961,-1226.5 571.922,-1208.5 601.961,-1190.5 662.039,-1190.5 692.078,-1208.5"/>
+<text text-anchor="middle" x="632" y="-1204.8" font-family="Times,serif" font-size="14.00">ESI request</text>
 </g>
 <!-- ESI_REQ->recv -->
 <g id="edge1" class="edge"><title>ESI_REQ->recv</title>
-<path fill="none" stroke="black" d="M395.532,-1190.78C412.946,-1180.21 436.214,-1166.08 458.041,-1152.83"/>
-<polygon fill="black" stroke="black" points="459.909,-1155.79 466.64,-1147.61 456.276,-1149.81 459.909,-1155.79"/>
+<path fill="none" stroke="black" d="M617.143,-1190.35C608.596,-1180.48 597.459,-1167.63 586.768,-1155.29"/>
+<polygon fill="black" stroke="black" points="589.39,-1152.97 580.196,-1147.7 584.099,-1157.55 589.39,-1152.97"/>
 </g>
 <!-- RESTART -->
-<g id="node3" class="node"><title>RESTART</title>
-<text text-anchor="middle" x="687" y="-1283.3" font-family="Times,serif" font-size="14.00">RESTART</text>
+<g id="node4" class="node"><title>RESTART</title>
+<text text-anchor="middle" x="774" y="-1283.3" font-family="Times,serif" font-size="14.00">RESTART</text>
 </g>
 <!-- restart -->
-<g id="node22" class="node"><title>restart</title>
-<polygon fill="none" stroke="grey" points="623,-1185.5 623,-1231.5 751,-1231.5 751,-1185.5 623,-1185.5"/>
-<text text-anchor="middle" x="687" y="-1216.3" font-family="Times,serif" font-size="14.00" fill="grey">cnt_restart:</text>
-<polyline fill="none" stroke="grey" points="623,-1208.5 751,-1208.5 "/>
-<text text-anchor="middle" x="641" y="-1193.3" font-family="Times,serif" font-size="14.00" fill="grey">ok?</text>
-<polyline fill="none" stroke="grey" points="659,-1185.5 659,-1208.5 "/>
-<text text-anchor="middle" x="705" y="-1193.3" font-family="Times,serif" font-size="14.00" fill="grey">max_restarts?</text>
+<g id="node24" class="node"><title>restart</title>
+<polygon fill="none" stroke="grey" points="710,-1185.5 710,-1231.5 838,-1231.5 838,-1185.5 710,-1185.5"/>
+<text text-anchor="middle" x="774" y="-1216.3" font-family="Times,serif" font-size="14.00" fill="grey">cnt_restart:</text>
+<polyline fill="none" stroke="grey" points="710,-1208.5 838,-1208.5 "/>
+<text text-anchor="middle" x="728" y="-1193.3" font-family="Times,serif" font-size="14.00" fill="grey">ok?</text>
+<polyline fill="none" stroke="grey" points="746,-1185.5 746,-1208.5 "/>
+<text text-anchor="middle" x="792" y="-1193.3" font-family="Times,serif" font-size="14.00" fill="grey">max_restarts?</text>
 </g>
 <!-- RESTART->restart -->
-<g id="edge28" class="edge"><title>RESTART->restart</title>
-<path fill="none" stroke="purple" d="M687,-1268.64C687,-1260.7 687,-1251.02 687,-1241.81"/>
-<polygon fill="purple" stroke="purple" points="690.5,-1241.74 687,-1231.74 683.5,-1241.74 690.5,-1241.74"/>
+<g id="edge29" class="edge"><title>RESTART->restart</title>
+<path fill="none" stroke="purple" d="M774,-1268.64C774,-1260.7 774,-1251.02 774,-1241.81"/>
+<polygon fill="purple" stroke="purple" points="777.5,-1241.74 774,-1231.74 770.5,-1241.74 777.5,-1241.74"/>
 </g>
 <!-- hash -->
-<g id="node24" class="node"><title>hash</title>
-<polygon fill="none" stroke="black" points="440,-971.5 440,-1040.5 562,-1040.5 562,-971.5 440,-971.5"/>
-<text text-anchor="middle" x="501" y="-1025.3" font-family="Times,serif" font-size="14.00">cnt_recv:</text>
-<polyline fill="none" stroke="black" points="440,-1017.5 562,-1017.5 "/>
-<text text-anchor="middle" x="479" y="-1002.3" font-family="Times,serif" font-size="14.00">vcl_hash{}</text>
-<polyline fill="none" stroke="black" points="518,-994.5 518,-1017.5 "/>
-<text text-anchor="middle" x="540" y="-1002.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="440,-994.5 562,-994.5 "/>
-<text text-anchor="middle" x="501" y="-979.3" font-family="Times,serif" font-size="14.00">lookup</text>
+<g id="node26" class="node"><title>hash</title>
+<polygon fill="none" stroke="black" points="452,-971.5 452,-1040.5 574,-1040.5 574,-971.5 452,-971.5"/>
+<text text-anchor="middle" x="513" y="-1025.3" font-family="Times,serif" font-size="14.00">cnt_recv:</text>
+<polyline fill="none" stroke="black" points="452,-1017.5 574,-1017.5 "/>
+<text text-anchor="middle" x="491" y="-1002.3" font-family="Times,serif" font-size="14.00">vcl_hash{}</text>
+<polyline fill="none" stroke="black" points="530,-994.5 530,-1017.5 "/>
+<text text-anchor="middle" x="552" y="-1002.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="452,-994.5 574,-994.5 "/>
+<text text-anchor="middle" x="513" y="-979.3" font-family="Times,serif" font-size="14.00">lookup</text>
 </g>
 <!-- recv->hash -->
-<g id="edge31" class="edge"><title>recv:hash->hash</title>
-<path fill="none" stroke="green" stroke-width="2" d="M435,-1078C435,-1067.05 439.265,-1057.08 445.627,-1048.29"/>
-<polygon fill="green" stroke="green" stroke-width="2" points="448.335,-1050.51 451.997,-1040.57 442.934,-1046.06 448.335,-1050.51"/>
+<g id="edge32" class="edge"><title>recv:hash->hash</title>
+<path fill="none" stroke="green" stroke-width="2" d="M448,-1078C448,-1067.24 452.115,-1057.39 458.275,-1048.69"/>
+<polygon fill="green" stroke="green" stroke-width="2" points="461.169,-1050.68 464.739,-1040.7 455.728,-1046.27 461.169,-1050.68"/>
 </g>
 <!-- recv->hash -->
-<g id="edge32" class="edge"><title>recv:pipe->hash</title>
-<path fill="none" stroke="orange" stroke-width="2" d="M563,-1078C563,-1067.33 558.982,-1057.5 552.991,-1048.76"/>
-<polygon fill="orange" stroke="orange" stroke-width="2" points="555.627,-1046.45 546.71,-1040.73 550.113,-1050.76 555.627,-1046.45"/>
+<g id="edge33" class="edge"><title>recv:pipe->hash</title>
+<path fill="none" stroke="orange" stroke-width="2" d="M576,-1078C576,-1067.26 571.917,-1057.39 565.83,-1048.64"/>
+<polygon fill="orange" stroke="orange" stroke-width="2" points="568.407,-1046.25 559.447,-1040.6 562.924,-1050.6 568.407,-1046.25"/>
 </g>
 <!-- recv->hash -->
-<g id="edge33" class="edge"><title>recv:pass->hash</title>
-<path fill="none" stroke="red" stroke-width="2" d="M523,-1078C523,-1068.91 521.333,-1059.44 518.916,-1050.49"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="522.182,-1049.2 515.918,-1040.66 515.487,-1051.24 522.182,-1049.2"/>
+<g id="edge34" class="edge"><title>recv:pass->hash</title>
+<path fill="none" stroke="red" stroke-width="2" d="M535,-1078C535,-1068.91 533.333,-1059.44 530.916,-1050.49"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="534.182,-1049.2 527.918,-1040.66 527.487,-1051.24 534.182,-1049.2"/>
 </g>
 <!-- recv->hash -->
-<g id="edge38" class="edge"><title>recv:purge:s->hash</title>
-<path fill="none" stroke="purple" stroke-width="2" d="M479,-1078C479,-1068.91 480.667,-1059.44 483.084,-1050.49"/>
-<polygon fill="purple" stroke="purple" stroke-width="2" points="486.513,-1051.24 486.082,-1040.66 479.818,-1049.2 486.513,-1051.24"/>
+<g id="edge39" class="edge"><title>recv:purge:s->hash</title>
+<path fill="none" stroke="purple" stroke-width="2" d="M492,-1078C492,-1068.94 493.592,-1059.49 495.898,-1050.55"/>
+<polygon fill="purple" stroke="purple" stroke-width="2" points="499.326,-1051.29 498.76,-1040.71 492.605,-1049.34 499.326,-1051.29"/>
+</g>
+<!-- vcl_label -->
+<g id="node28" class="node"><title>vcl_label</title>
+<text text-anchor="middle" x="658" y="-1002.3" font-family="Times,serif" font-size="14.00">LABEL</text>
+</g>
+<!-- recv->vcl_label -->
+<g id="edge40" class="edge"><title>recv:vcl:s->vcl_label</title>
+<path fill="none" stroke="black" d="M658,-1078C658,-1063.65 658,-1047.67 658,-1034.51"/>
+<polygon fill="black" stroke="black" points="661.5,-1034.22 658,-1024.22 654.5,-1034.22 661.5,-1034.22"/>
 </g>
 <!-- SYNTH -->
-<g id="node5" class="node"><title>SYNTH</title>
-<text text-anchor="middle" x="378" y="-313.3" font-family="Times,serif" font-size="14.00">SYNTH</text>
+<g id="node6" class="node"><title>SYNTH</title>
+<text text-anchor="middle" x="388" y="-313.3" font-family="Times,serif" font-size="14.00">SYNTH</text>
 </g>
 <!-- synth -->
-<g id="node10" class="node"><title>synth</title>
-<polygon fill="none" stroke="black" points="256.5,-158 256.5,-250 389.5,-250 389.5,-158 256.5,-158"/>
-<text text-anchor="middle" x="323" y="-234.8" font-family="Times,serif" font-size="14.00">cnt_synth:</text>
-<polyline fill="none" stroke="black" points="256.5,-227 389.5,-227 "/>
-<text text-anchor="middle" x="298" y="-200.3" font-family="Times,serif" font-size="14.00">vcl_synth{}</text>
-<polyline fill="none" stroke="black" points="339.5,-181 339.5,-227 "/>
-<text text-anchor="middle" x="364.5" y="-211.8" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="339.5,-204 389.5,-204 "/>
-<text text-anchor="middle" x="364.5" y="-188.8" font-family="Times,serif" font-size="14.00">resp.*</text>
-<polyline fill="none" stroke="black" points="256.5,-181 389.5,-181 "/>
-<text text-anchor="middle" x="290.5" y="-165.8" font-family="Times,serif" font-size="14.00">deliver</text>
-<polyline fill="none" stroke="black" points="324.5,-158 324.5,-181 "/>
-<text text-anchor="middle" x="357" y="-165.8" font-family="Times,serif" font-size="14.00">restart</text>
+<g id="node12" class="node"><title>synth</title>
+<polygon fill="none" stroke="black" points="321.5,-158 321.5,-250 454.5,-250 454.5,-158 321.5,-158"/>
+<text text-anchor="middle" x="388" y="-234.8" font-family="Times,serif" font-size="14.00">cnt_synth:</text>
+<polyline fill="none" stroke="black" points="321.5,-227 454.5,-227 "/>
+<text text-anchor="middle" x="363" y="-200.3" font-family="Times,serif" font-size="14.00">vcl_synth{}</text>
+<polyline fill="none" stroke="black" points="404.5,-181 404.5,-227 "/>
+<text text-anchor="middle" x="429.5" y="-211.8" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="404.5,-204 454.5,-204 "/>
+<text text-anchor="middle" x="429.5" y="-188.8" font-family="Times,serif" font-size="14.00">resp.*</text>
+<polyline fill="none" stroke="black" points="321.5,-181 454.5,-181 "/>
+<text text-anchor="middle" x="355.5" y="-165.8" font-family="Times,serif" font-size="14.00">deliver</text>
+<polyline fill="none" stroke="black" points="389.5,-158 389.5,-181 "/>
+<text text-anchor="middle" x="422" y="-165.8" font-family="Times,serif" font-size="14.00">restart</text>
 </g>
 <!-- SYNTH->synth -->
-<g id="edge8" class="edge"><title>SYNTH->synth</title>
-<path fill="none" stroke="purple" d="M369.406,-298.656C364.152,-288.052 357.113,-273.847 350.109,-259.71"/>
-<polygon fill="purple" stroke="purple" points="353.105,-257.875 345.529,-250.468 346.833,-260.983 353.105,-257.875"/>
+<g id="edge9" class="edge"><title>SYNTH->synth</title>
+<path fill="none" stroke="purple" d="M388,-298.656C388,-288.254 388,-274.387 388,-260.518"/>
+<polygon fill="purple" stroke="purple" points="391.5,-260.468 388,-250.468 384.5,-260.468 391.5,-260.468"/>
+</g>
+<!-- LABEL -->
+<g id="node7" class="node"><title>LABEL</title>
+<text text-anchor="middle" x="861" y="-1283.3" font-family="Times,serif" font-size="14.00">LABEL</text>
 </g>
 <!-- deliver -->
-<g id="node6" class="node"><title>deliver</title>
-<polygon fill="none" stroke="black" points="88,-146.5 88,-261.5 238,-261.5 238,-146.5 88,-146.5"/>
-<text text-anchor="middle" x="163" y="-246.3" font-family="Times,serif" font-size="14.00">cnt_deliver:</text>
-<polyline fill="none" stroke="black" points="88,-238.5 238,-238.5 "/>
-<text text-anchor="middle" x="163" y="-223.3" font-family="Times,serif" font-size="14.00">Filter obj.->resp.</text>
-<polyline fill="none" stroke="black" points="88,-215.5 238,-215.5 "/>
-<text text-anchor="middle" x="135.5" y="-188.8" font-family="Times,serif" font-size="14.00">vcl_deliver{}</text>
-<polyline fill="none" stroke="black" points="183,-169.5 183,-215.5 "/>
-<text text-anchor="middle" x="210.5" y="-200.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="183,-192.5 238,-192.5 "/>
-<text text-anchor="middle" x="210.5" y="-177.3" font-family="Times,serif" font-size="14.00">resp.*</text>
-<polyline fill="none" stroke="black" points="88,-169.5 238,-169.5 "/>
-<text text-anchor="middle" x="113" y="-154.3" font-family="Times,serif" font-size="14.00">restart</text>
-<polyline fill="none" stroke="black" points="138,-146.5 138,-169.5 "/>
-<text text-anchor="middle" x="165" y="-154.3" font-family="Times,serif" font-size="14.00">deliver</text>
-<polyline fill="none" stroke="black" points="192,-146.5 192,-169.5 "/>
-<text text-anchor="middle" x="215" y="-154.3" font-family="Times,serif" font-size="14.00">synth</text>
+<g id="node8" class="node"><title>deliver</title>
+<polygon fill="none" stroke="black" points="52,-146.5 52,-261.5 202,-261.5 202,-146.5 52,-146.5"/>
+<text text-anchor="middle" x="127" y="-246.3" font-family="Times,serif" font-size="14.00">cnt_deliver:</text>
+<polyline fill="none" stroke="black" points="52,-238.5 202,-238.5 "/>
+<text text-anchor="middle" x="127" y="-223.3" font-family="Times,serif" font-size="14.00">Filter obj.->resp.</text>
+<polyline fill="none" stroke="black" points="52,-215.5 202,-215.5 "/>
+<text text-anchor="middle" x="99.5" y="-188.8" font-family="Times,serif" font-size="14.00">vcl_deliver{}</text>
+<polyline fill="none" stroke="black" points="147,-169.5 147,-215.5 "/>
+<text text-anchor="middle" x="174.5" y="-200.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="147,-192.5 202,-192.5 "/>
+<text text-anchor="middle" x="174.5" y="-177.3" font-family="Times,serif" font-size="14.00">resp.*</text>
+<polyline fill="none" stroke="black" points="52,-169.5 202,-169.5 "/>
+<text text-anchor="middle" x="77" y="-154.3" font-family="Times,serif" font-size="14.00">restart</text>
+<polyline fill="none" stroke="black" points="102,-146.5 102,-169.5 "/>
+<text text-anchor="middle" x="129" y="-154.3" font-family="Times,serif" font-size="14.00">deliver</text>
+<polyline fill="none" stroke="black" points="156,-146.5 156,-169.5 "/>
+<text text-anchor="middle" x="179" y="-154.3" font-family="Times,serif" font-size="14.00">synth</text>
 </g>
 <!-- V1D_Deliver -->
-<g id="node7" class="node"><title>V1D_Deliver</title>
+<g id="node9" class="node"><title>V1D_Deliver</title>
 <ellipse fill="none" stroke="black" cx="218" cy="-91" rx="58.4896" ry="18"/>
 <text text-anchor="middle" x="218" y="-87.3" font-family="Times,serif" font-size="14.00">V1D_Deliver</text>
 </g>
 <!-- deliver->V1D_Deliver -->
-<g id="edge3" class="edge"><title>deliver:deliver:s->V1D_Deliver</title>
-<path fill="none" stroke="green" stroke-width="2" d="M165,-146C157.436,-131.868 162.41,-120.078 172.056,-111.156"/>
-<polygon fill="green" stroke="green" stroke-width="2" points="174.406,-113.764 180.212,-104.902 170.147,-108.21 174.406,-113.764"/>
-</g>
-<!-- deliver->V1D_Deliver -->
 <g id="edge4" class="edge"><title>deliver:deliver:s->V1D_Deliver</title>
-<path fill="none" stroke="red" stroke-width="2" d="M165,-146C165,-133.044 172.868,-122.055 182.54,-113.441"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="184.925,-116.016 190.569,-107.05 180.565,-110.54 184.925,-116.016"/>
+<path fill="none" stroke="green" stroke-width="2" d="M129,-146C120.464,-124.058 135.992,-110.783 156.6,-102.889"/>
+<polygon fill="green" stroke="green" stroke-width="2" points="157.983,-106.117 166.358,-99.6289 155.764,-99.4781 157.983,-106.117"/>
 </g>
 <!-- deliver->V1D_Deliver -->
 <g id="edge5" class="edge"><title>deliver:deliver:s->V1D_Deliver</title>
-<path fill="none" stroke="blue" stroke-width="2" d="M165,-146C171.668,-133.543 183.138,-122.906 194.023,-114.449"/>
-<polygon fill="blue" stroke="blue" stroke-width="2" points="196.205,-117.187 202.143,-108.412 192.029,-111.569 196.205,-117.187"/>
+<path fill="none" stroke="red" stroke-width="2" d="M129,-146C129,-126.762 144.387,-114.186 162.366,-106.059"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="163.969,-109.186 171.936,-102.202 161.352,-102.694 163.969,-109.186"/>
+</g>
+<!-- deliver->V1D_Deliver -->
+<g id="edge6" class="edge"><title>deliver:deliver:s->V1D_Deliver</title>
+<path fill="none" stroke="blue" stroke-width="2" d="M129,-146C135.734,-128.692 152.403,-116.777 169.689,-108.642"/>
+<polygon fill="blue" stroke="blue" stroke-width="2" points="171.499,-111.673 179.298,-104.501 168.729,-105.244 171.499,-111.673"/>
 </g>
 <!-- DONE -->
-<g id="node9" class="node"><title>DONE</title>
-<ellipse fill="none" stroke="black" cx="552" cy="-18" rx="35.194" ry="18"/>
-<text text-anchor="middle" x="552" y="-14.3" font-family="Times,serif" font-size="14.00">DONE</text>
+<g id="node11" class="node"><title>DONE</title>
+<ellipse fill="none" stroke="black" cx="559" cy="-18" rx="35.194" ry="18"/>
+<text text-anchor="middle" x="559" y="-14.3" font-family="Times,serif" font-size="14.00">DONE</text>
 </g>
 <!-- V1D_Deliver->DONE -->
-<g id="edge7" class="edge"><title>V1D_Deliver->DONE</title>
-<path fill="none" stroke="black" d="M264.793,-80.053C330.099,-66.1707 447.576,-41.1979 510.132,-27.9001"/>
-<polygon fill="black" stroke="black" points="510.997,-31.2946 520.05,-25.7917 509.541,-24.4476 510.997,-31.2946"/>
+<g id="edge8" class="edge"><title>V1D_Deliver->DONE</title>
+<path fill="none" stroke="black" d="M265.057,-80.2023C331.862,-66.2927 453.163,-41.0364 517.053,-27.7339"/>
+<polygon fill="black" stroke="black" points="518.093,-31.0924 527.17,-25.6274 516.666,-24.2394 518.093,-31.0924"/>
 </g>
 <!-- stream -->
-<g id="node8" class="node"><title>stream</title>
-<ellipse fill="turquoise" stroke="turquoise" cx="449" cy="-204" rx="41.9398" ry="26.7407"/>
-<text text-anchor="middle" x="449" y="-207.8" font-family="Times,serif" font-size="14.00">stream?</text>
-<text text-anchor="middle" x="449" y="-192.8" font-family="Times,serif" font-size="14.00">body</text>
+<g id="node10" class="node"><title>stream</title>
+<ellipse fill="turquoise" stroke="turquoise" cx="262" cy="-204" rx="41.9398" ry="26.7407"/>
+<text text-anchor="middle" x="262" y="-207.8" font-family="Times,serif" font-size="14.00">stream?</text>
+<text text-anchor="middle" x="262" y="-192.8" font-family="Times,serif" font-size="14.00">body</text>
 </g>
 <!-- stream->V1D_Deliver -->
-<g id="edge6" class="edge"><title>stream->V1D_Deliver</title>
-<path fill="none" stroke="black" stroke-dasharray="1,5" d="M432.499,-179.068C423.495,-167.606 411.448,-154.547 398,-146 362.135,-123.204 316.167,-109.626 279.663,-101.787"/>
-<polygon fill="black" stroke="black" points="280.134,-98.3108 269.634,-99.7253 278.724,-105.167 280.134,-98.3108"/>
+<g id="edge7" class="edge"><title>stream->V1D_Deliver</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M252.016,-177.812C244.999,-160.11 235.629,-136.473 228.5,-118.489"/>
+<polygon fill="black" stroke="black" points="231.738,-117.16 224.8,-109.154 225.231,-119.74 231.738,-117.16"/>
 </g>
 <!-- synth->V1D_Deliver -->
-<g id="edge9" class="edge"><title>synth:del:s->V1D_Deliver</title>
-<path fill="none" stroke="purple" d="M290,-157C290,-137.353 275.047,-122.114 258.77,-111.346"/>
-<polygon fill="purple" stroke="purple" points="260.569,-108.343 250.209,-106.122 256.923,-114.319 260.569,-108.343"/>
+<g id="edge10" class="edge"><title>synth:del:s->V1D_Deliver</title>
+<path fill="none" stroke="purple" d="M355,-157C355,-122.348 318.783,-106.146 283.591,-98.5822"/>
+<polygon fill="purple" stroke="purple" points="284.206,-95.1365 273.723,-96.6697 282.874,-102.009 284.206,-95.1365"/>
 </g>
 <!-- see backend graph -->
-<g id="node11" class="node"><title>see backend graph</title>
-<text text-anchor="middle" x="279" y="-386.3" font-family="Times,serif" font-size="14.00">see backend graph</text>
+<g id="node13" class="node"><title>see backend graph</title>
+<text text-anchor="middle" x="260" y="-386.3" font-family="Times,serif" font-size="14.00">see backend graph</text>
 </g>
 <!-- BGFETCH -->
-<g id="node12" class="node"><title>BGFETCH</title>
-<polygon fill="turquoise" stroke="turquoise" points="125,-408 47,-408 47,-372 125,-372 125,-408"/>
-<text text-anchor="middle" x="86" y="-386.3" font-family="Times,serif" font-size="14.00">BGFETCH</text>
+<g id="node14" class="node"><title>BGFETCH</title>
+<polygon fill="turquoise" stroke="turquoise" points="106,-408 28,-408 28,-372 106,-372 106,-408"/>
+<text text-anchor="middle" x="67" y="-386.3" font-family="Times,serif" font-size="14.00">BGFETCH</text>
 </g>
 <!-- FETCH -->
-<g id="node13" class="node"><title>FETCH</title>
-<polygon fill="turquoise" stroke="turquoise" points="202.5,-408 143.5,-408 143.5,-372 202.5,-372 202.5,-408"/>
-<text text-anchor="middle" x="173" y="-386.3" font-family="Times,serif" font-size="14.00">FETCH</text>
+<g id="node15" class="node"><title>FETCH</title>
+<polygon fill="turquoise" stroke="turquoise" points="183.5,-408 124.5,-408 124.5,-372 183.5,-372 183.5,-408"/>
+<text text-anchor="middle" x="154" y="-386.3" font-family="Times,serif" font-size="14.00">FETCH</text>
 </g>
 <!-- FETCH_DONE -->
-<g id="node14" class="node"><title>FETCH_DONE</title>
-<polygon fill="turquoise" stroke="turquoise" points="215,-335 111,-335 111,-299 215,-299 215,-335"/>
-<text text-anchor="middle" x="163" y="-313.3" font-family="Times,serif" font-size="14.00">FETCH_DONE</text>
+<g id="node16" class="node"><title>FETCH_DONE</title>
+<polygon fill="turquoise" stroke="turquoise" points="179,-335 75,-335 75,-299 179,-299 179,-335"/>
+<text text-anchor="middle" x="127" y="-313.3" font-family="Times,serif" font-size="14.00">FETCH_DONE</text>
 </g>
 <!-- FETCH->FETCH_DONE -->
-<g id="edge14" class="edge"><title>FETCH->FETCH_DONE</title>
-<path fill="none" stroke="black" stroke-dasharray="1,5" d="M170.579,-371.813C169.449,-363.789 168.077,-354.047 166.813,-345.069"/>
-<polygon fill="black" stroke="black" points="170.259,-344.443 165.398,-335.029 163.327,-345.419 170.259,-344.443"/>
+<g id="edge15" class="edge"><title>FETCH->FETCH_DONE</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M147.464,-371.813C144.347,-363.615 140.547,-353.623 137.072,-344.485"/>
+<polygon fill="black" stroke="black" points="140.302,-343.132 133.476,-335.029 133.759,-345.62 140.302,-343.132"/>
 </g>
 <!-- FETCH_FAIL -->
-<g id="node15" class="node"><title>FETCH_FAIL</title>
-<polygon fill="turquoise" stroke="turquoise" points="329,-335 233,-335 233,-299 329,-299 329,-335"/>
-<text text-anchor="middle" x="281" y="-313.3" font-family="Times,serif" font-size="14.00">FETCH_FAIL</text>
+<g id="node17" class="node"><title>FETCH_FAIL</title>
+<polygon fill="turquoise" stroke="turquoise" points="316,-335 220,-335 220,-299 316,-299 316,-335"/>
+<text text-anchor="middle" x="268" y="-313.3" font-family="Times,serif" font-size="14.00">FETCH_FAIL</text>
 </g>
 <!-- FETCH->FETCH_FAIL -->
-<g id="edge15" class="edge"><title>FETCH->FETCH_FAIL</title>
-<path fill="none" stroke="black" stroke-dasharray="1,5" d="M198.869,-371.994C213.058,-362.666 230.842,-350.974 246.23,-340.858"/>
-<polygon fill="black" stroke="black" points="248.535,-343.532 254.968,-335.114 244.689,-337.682 248.535,-343.532"/>
+<g id="edge16" class="edge"><title>FETCH->FETCH_FAIL</title>
+<path fill="none" stroke="black" stroke-dasharray="1,5" d="M181.306,-371.994C196.423,-362.579 215.407,-350.755 231.753,-340.575"/>
+<polygon fill="black" stroke="black" points="233.884,-343.371 240.522,-335.114 230.183,-337.429 233.884,-343.371"/>
 </g>
 <!-- FETCH_DONE->deliver -->
-<g id="edge12" class="edge"><title>FETCH_DONE->deliver</title>
-<path fill="none" stroke="red" stroke-width="2" d="M157.938,-298.656C157.117,-291.065 156.595,-281.628 156.373,-271.691"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="159.873,-271.595 156.251,-261.638 152.873,-271.68 159.873,-271.595"/>
+<g id="edge13" class="edge"><title>FETCH_DONE->deliver</title>
+<path fill="none" stroke="red" stroke-width="2" d="M121.938,-298.656C121.117,-291.065 120.595,-281.628 120.373,-271.691"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="123.873,-271.595 120.251,-261.638 116.873,-271.68 123.873,-271.595"/>
 </g>
 <!-- FETCH_DONE->deliver -->
-<g id="edge13" class="edge"><title>FETCH_DONE->deliver</title>
-<path fill="none" stroke="blue" stroke-width="2" d="M168.062,-298.656C168.883,-291.065 169.405,-281.628 169.627,-271.691"/>
-<polygon fill="blue" stroke="blue" stroke-width="2" points="173.127,-271.68 169.749,-261.638 166.127,-271.595 173.127,-271.68"/>
+<g id="edge14" class="edge"><title>FETCH_DONE->deliver</title>
+<path fill="none" stroke="blue" stroke-width="2" d="M132.062,-298.656C132.883,-291.065 133.405,-281.628 133.627,-271.691"/>
+<polygon fill="blue" stroke="blue" stroke-width="2" points="137.127,-271.68 133.749,-261.638 130.127,-271.595 137.127,-271.68"/>
 </g>
 <!-- FETCH_FAIL->synth -->
-<g id="edge11" class="edge"><title>FETCH_FAIL->synth</title>
-<path fill="none" stroke="purple" d="M287.562,-298.656C291.537,-288.153 296.848,-274.117 302.146,-260.114"/>
-<polygon fill="purple" stroke="purple" points="305.53,-261.06 305.796,-250.468 298.983,-258.582 305.53,-261.06"/>
+<g id="edge12" class="edge"><title>FETCH_FAIL->synth</title>
+<path fill="none" stroke="purple" d="M286.487,-298.9C298.688,-287.614 315.38,-272.173 331.705,-257.072"/>
+<polygon fill="purple" stroke="purple" points="334.199,-259.534 339.163,-250.174 329.445,-254.395 334.199,-259.534"/>
 </g>
 <!-- lookup2 -->
-<g id="node16" class="node"><title>lookup2</title>
-<polygon fill="none" stroke="black" points="0,-688.5 0,-780.5 232,-780.5 232,-688.5 0,-688.5"/>
-<text text-anchor="middle" x="116" y="-765.3" font-family="Times,serif" font-size="14.00">cnt_lookup:</text>
-<polyline fill="none" stroke="black" points="0,-757.5 232,-757.5 "/>
-<text text-anchor="middle" x="64" y="-730.8" font-family="Times,serif" font-size="14.00">vcl_hit{}</text>
-<polyline fill="none" stroke="black" points="128,-711.5 128,-757.5 "/>
-<text text-anchor="middle" x="180" y="-742.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="128,-734.5 232,-734.5 "/>
-<text text-anchor="middle" x="180" y="-719.3" font-family="Times,serif" font-size="14.00">obj.*</text>
-<polyline fill="none" stroke="black" points="0,-711.5 232,-711.5 "/>
-<text text-anchor="middle" x="27" y="-696.3" font-family="Times,serif" font-size="14.00">deliver</text>
-<polyline fill="none" stroke="black" points="54,-688.5 54,-711.5 "/>
-<text text-anchor="middle" x="75" y="-696.3" font-family="Times,serif" font-size="14.00">miss</text>
-<polyline fill="none" stroke="black" points="96,-688.5 96,-711.5 "/>
-<text text-anchor="middle" x="121" y="-696.3" font-family="Times,serif" font-size="14.00">restart</text>
-<polyline fill="none" stroke="black" points="146,-688.5 146,-711.5 "/>
-<text text-anchor="middle" x="169" y="-696.3" font-family="Times,serif" font-size="14.00">synth</text>
-<polyline fill="none" stroke="black" points="192,-688.5 192,-711.5 "/>
-<text text-anchor="middle" x="212" y="-696.3" font-family="Times,serif" font-size="14.00">pass</text>
+<g id="node18" class="node"><title>lookup2</title>
+<polygon fill="none" stroke="black" points="12,-688.5 12,-780.5 244,-780.5 244,-688.5 12,-688.5"/>
+<text text-anchor="middle" x="128" y="-765.3" font-family="Times,serif" font-size="14.00">cnt_lookup:</text>
+<polyline fill="none" stroke="black" points="12,-757.5 244,-757.5 "/>
+<text text-anchor="middle" x="76" y="-730.8" font-family="Times,serif" font-size="14.00">vcl_hit{}</text>
+<polyline fill="none" stroke="black" points="140,-711.5 140,-757.5 "/>
+<text text-anchor="middle" x="192" y="-742.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="140,-734.5 244,-734.5 "/>
+<text text-anchor="middle" x="192" y="-719.3" font-family="Times,serif" font-size="14.00">obj.*</text>
+<polyline fill="none" stroke="black" points="12,-711.5 244,-711.5 "/>
+<text text-anchor="middle" x="39" y="-696.3" font-family="Times,serif" font-size="14.00">deliver</text>
+<polyline fill="none" stroke="black" points="66,-688.5 66,-711.5 "/>
+<text text-anchor="middle" x="87" y="-696.3" font-family="Times,serif" font-size="14.00">miss</text>
+<polyline fill="none" stroke="black" points="108,-688.5 108,-711.5 "/>
+<text text-anchor="middle" x="133" y="-696.3" font-family="Times,serif" font-size="14.00">restart</text>
+<polyline fill="none" stroke="black" points="158,-688.5 158,-711.5 "/>
+<text text-anchor="middle" x="181" y="-696.3" font-family="Times,serif" font-size="14.00">synth</text>
+<polyline fill="none" stroke="black" points="204,-688.5 204,-711.5 "/>
+<text text-anchor="middle" x="224" y="-696.3" font-family="Times,serif" font-size="14.00">pass</text>
 </g>
 <!-- lookup2->deliver -->
-<g id="edge20" class="edge"><title>lookup2:deliver:s->deliver:n</title>
-<path fill="none" stroke="green" stroke-width="2" d="M27,-688C27,-656.245 19,-648.755 19,-617 19,-617 19,-617 19,-316 19,-251.519 147.149,-321.468 161.666,-272.216"/>
-<polygon fill="green" stroke="green" stroke-width="2" points="165.176,-272.369 163,-262 158.235,-271.463 165.176,-272.369"/>
+<g id="edge21" class="edge"><title>lookup2:deliver:s->deliver:n</title>
+<path fill="none" stroke="green" stroke-width="2" d="M39,-688C39,-651.997 0,-653.003 0,-617 0,-617 0,-617 0,-316 0,-258.498 111.621,-315.259 125.574,-272.04"/>
+<polygon fill="green" stroke="green" stroke-width="2" points="129.059,-272.393 127,-262 122.128,-271.408 129.059,-272.393"/>
 </g>
 <!-- lookup2->BGFETCH -->
-<g id="edge10" class="edge"><title>lookup2:deliver:s->BGFETCH</title>
-<path fill="none" stroke="green" d="M27,-688C27,-679.567 30.9334,-678.176 33,-670 48.149,-610.069 45.481,-593.733 57,-533 64.6083,-492.885 74.2231,-446.572 80.2438,-418.035"/>
-<polygon fill="green" stroke="green" points="83.7172,-418.527 82.3636,-408.019 76.8689,-417.077 83.7172,-418.527"/>
-<text text-anchor="middle" x="94" y="-551.8" font-family="Times,serif" font-size="14.00">parallel</text>
-<text text-anchor="middle" x="94" y="-536.8" font-family="Times,serif" font-size="14.00">if obj expired</text>
+<g id="edge11" class="edge"><title>lookup2:deliver:s->BGFETCH</title>
+<path fill="none" stroke="green" d="M39,-688C39,-619.11 31.0726,-601.541 38,-533 42.0833,-492.599 52.5431,-446.704 59.7172,-418.298"/>
+<polygon fill="green" stroke="green" points="63.1835,-418.871 62.2857,-408.315 56.4043,-417.127 63.1835,-418.871"/>
+<text text-anchor="middle" x="75" y="-551.8" font-family="Times,serif" font-size="14.00">parallel</text>
+<text text-anchor="middle" x="75" y="-536.8" font-family="Times,serif" font-size="14.00">if obj expired</text>
 </g>
 <!-- miss -->
-<g id="node18" class="node"><title>miss</title>
-<polygon fill="none" stroke="black" points="85,-581.5 85,-650.5 265,-650.5 265,-581.5 85,-581.5"/>
-<text text-anchor="middle" x="175" y="-635.3" font-family="Times,serif" font-size="14.00">cnt_miss:</text>
-<polyline fill="none" stroke="black" points="85,-627.5 265,-627.5 "/>
-<text text-anchor="middle" x="138.5" y="-612.3" font-family="Times,serif" font-size="14.00">vcl_miss{}</text>
-<polyline fill="none" stroke="black" points="192,-604.5 192,-627.5 "/>
-<text text-anchor="middle" x="228.5" y="-612.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="85,-604.5 265,-604.5 "/>
-<text text-anchor="middle" x="107" y="-589.3" font-family="Times,serif" font-size="14.00">fetch</text>
-<polyline fill="none" stroke="black" points="129,-581.5 129,-604.5 "/>
-<text text-anchor="middle" x="152" y="-589.3" font-family="Times,serif" font-size="14.00">synth</text>
-<polyline fill="none" stroke="black" points="175,-581.5 175,-604.5 "/>
-<text text-anchor="middle" x="200" y="-589.3" font-family="Times,serif" font-size="14.00">restart</text>
-<polyline fill="none" stroke="black" points="225,-581.5 225,-604.5 "/>
-<text text-anchor="middle" x="245" y="-589.3" font-family="Times,serif" font-size="14.00">pass</text>
+<g id="node20" class="node"><title>miss</title>
+<polygon fill="none" stroke="black" points="66,-581.5 66,-650.5 246,-650.5 246,-581.5 66,-581.5"/>
+<text text-anchor="middle" x="156" y="-635.3" font-family="Times,serif" font-size="14.00">cnt_miss:</text>
+<polyline fill="none" stroke="black" points="66,-627.5 246,-627.5 "/>
+<text text-anchor="middle" x="119.5" y="-612.3" font-family="Times,serif" font-size="14.00">vcl_miss{}</text>
+<polyline fill="none" stroke="black" points="173,-604.5 173,-627.5 "/>
+<text text-anchor="middle" x="209.5" y="-612.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="66,-604.5 246,-604.5 "/>
+<text text-anchor="middle" x="88" y="-589.3" font-family="Times,serif" font-size="14.00">fetch</text>
+<polyline fill="none" stroke="black" points="110,-581.5 110,-604.5 "/>
+<text text-anchor="middle" x="133" y="-589.3" font-family="Times,serif" font-size="14.00">synth</text>
+<polyline fill="none" stroke="black" points="156,-581.5 156,-604.5 "/>
+<text text-anchor="middle" x="181" y="-589.3" font-family="Times,serif" font-size="14.00">restart</text>
+<polyline fill="none" stroke="black" points="206,-581.5 206,-604.5 "/>
+<text text-anchor="middle" x="226" y="-589.3" font-family="Times,serif" font-size="14.00">pass</text>
 </g>
 <!-- lookup2->miss -->
-<g id="edge21" class="edge"><title>lookup2:miss:s->miss</title>
-<path fill="none" stroke="blue" stroke-width="2" d="M75,-688C75,-676.143 79.7319,-666.085 87.137,-657.604"/>
-<polygon fill="blue" stroke="blue" stroke-width="2" points="89.6233,-660.068 94.281,-650.552 84.7056,-655.086 89.6233,-660.068"/>
+<g id="edge22" class="edge"><title>lookup2:miss:s->miss</title>
+<path fill="none" stroke="blue" stroke-width="2" d="M87,-688C87,-676.946 91.3547,-666.965 97.8762,-658.215"/>
+<polygon fill="blue" stroke="blue" stroke-width="2" points="100.599,-660.416 104.412,-650.531 95.2668,-655.881 100.599,-660.416"/>
 </g>
 <!-- pass -->
-<g id="node19" class="node"><title>pass</title>
-<polygon fill="none" stroke="black" points="223,-445.5 223,-514.5 363,-514.5 363,-445.5 223,-445.5"/>
-<text text-anchor="middle" x="293" y="-499.3" font-family="Times,serif" font-size="14.00">cnt_pass:</text>
-<polyline fill="none" stroke="black" points="223,-491.5 363,-491.5 "/>
-<text text-anchor="middle" x="266" y="-476.3" font-family="Times,serif" font-size="14.00">vcl_pass{}</text>
-<polyline fill="none" stroke="black" points="309,-468.5 309,-491.5 "/>
-<text text-anchor="middle" x="336" y="-476.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="223,-468.5 363,-468.5 "/>
-<text text-anchor="middle" x="245" y="-453.3" font-family="Times,serif" font-size="14.00">fetch</text>
-<polyline fill="none" stroke="black" points="267,-445.5 267,-468.5 "/>
-<text text-anchor="middle" x="290" y="-453.3" font-family="Times,serif" font-size="14.00">synth</text>
-<polyline fill="none" stroke="black" points="313,-445.5 313,-468.5 "/>
-<text text-anchor="middle" x="338" y="-453.3" font-family="Times,serif" font-size="14.00">restart</text>
+<g id="node21" class="node"><title>pass</title>
+<polygon fill="none" stroke="black" points="204,-445.5 204,-514.5 344,-514.5 344,-445.5 204,-445.5"/>
+<text text-anchor="middle" x="274" y="-499.3" font-family="Times,serif" font-size="14.00">cnt_pass:</text>
+<polyline fill="none" stroke="black" points="204,-491.5 344,-491.5 "/>
+<text text-anchor="middle" x="247" y="-476.3" font-family="Times,serif" font-size="14.00">vcl_pass{}</text>
+<polyline fill="none" stroke="black" points="290,-468.5 290,-491.5 "/>
+<text text-anchor="middle" x="317" y="-476.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="204,-468.5 344,-468.5 "/>
+<text text-anchor="middle" x="226" y="-453.3" font-family="Times,serif" font-size="14.00">fetch</text>
+<polyline fill="none" stroke="black" points="248,-445.5 248,-468.5 "/>
+<text text-anchor="middle" x="271" y="-453.3" font-family="Times,serif" font-size="14.00">synth</text>
+<polyline fill="none" stroke="black" points="294,-445.5 294,-468.5 "/>
+<text text-anchor="middle" x="319" y="-453.3" font-family="Times,serif" font-size="14.00">restart</text>
 </g>
 <!-- lookup2->pass -->
-<g id="edge22" class="edge"><title>lookup2:pass:s->pass</title>
-<path fill="none" stroke="red" stroke-width="2" d="M212,-688C212,-655.911 256.629,-677.981 274,-651 298.143,-613.501 300.499,-561.496 298.321,-524.909"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="301.783,-524.27 297.56,-514.553 294.802,-524.783 301.783,-524.27"/>
+<g id="edge23" class="edge"><title>lookup2:pass:s->pass</title>
+<path fill="none" stroke="red" stroke-width="2" d="M224,-688C224,-666.547 246.56,-670.723 255,-651 272.28,-610.619 275.935,-560.155 275.941,-524.736"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="279.441,-524.678 275.846,-514.712 272.441,-524.745 279.441,-524.678"/>
 </g>
 <!-- lookup -->
-<g id="node17" class="node"><title>lookup</title>
-<polygon fill="none" stroke="grey" points="98,-841.5 98,-910.5 316,-910.5 316,-841.5 98,-841.5"/>
-<text text-anchor="middle" x="207" y="-895.3" font-family="Times,serif" font-size="14.00" fill="grey">cnt_lookup:</text>
-<polyline fill="none" stroke="grey" points="98,-887.5 316,-887.5 "/>
-<text text-anchor="middle" x="207" y="-872.3" font-family="Times,serif" font-size="14.00" fill="grey">hash lookup</text>
-<polyline fill="none" stroke="grey" points="98,-864.5 316,-864.5 "/>
-<text text-anchor="middle" x="116.5" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">hit?</text>
-<polyline fill="none" stroke="grey" points="135,-841.5 135,-864.5 "/>
-<text text-anchor="middle" x="159" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">miss?</text>
-<polyline fill="none" stroke="grey" points="183,-841.5 183,-864.5 "/>
-<text text-anchor="middle" x="225.5" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">hit-for-pass?</text>
-<polyline fill="none" stroke="grey" points="268,-841.5 268,-864.5 "/>
-<text text-anchor="middle" x="292" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">busy?</text>
+<g id="node19" class="node"><title>lookup</title>
+<polygon fill="none" stroke="grey" points="110,-841.5 110,-910.5 328,-910.5 328,-841.5 110,-841.5"/>
+<text text-anchor="middle" x="219" y="-895.3" font-family="Times,serif" font-size="14.00" fill="grey">cnt_lookup:</text>
+<polyline fill="none" stroke="grey" points="110,-887.5 328,-887.5 "/>
+<text text-anchor="middle" x="219" y="-872.3" font-family="Times,serif" font-size="14.00" fill="grey">hash lookup</text>
+<polyline fill="none" stroke="grey" points="110,-864.5 328,-864.5 "/>
+<text text-anchor="middle" x="128.5" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">hit?</text>
+<polyline fill="none" stroke="grey" points="147,-841.5 147,-864.5 "/>
+<text text-anchor="middle" x="171" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">miss?</text>
+<polyline fill="none" stroke="grey" points="195,-841.5 195,-864.5 "/>
+<text text-anchor="middle" x="237.5" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">hit-for-pass?</text>
+<polyline fill="none" stroke="grey" points="280,-841.5 280,-864.5 "/>
+<text text-anchor="middle" x="304" y="-849.3" font-family="Times,serif" font-size="14.00" fill="grey">busy?</text>
 </g>
 <!-- lookup->lookup2 -->
-<g id="edge19" class="edge"><title>lookup:h:s->lookup2</title>
-<path fill="none" stroke="green" stroke-width="2" d="M116,-840C116,-824.001 116,-806.625 116,-790.719"/>
-<polygon fill="green" stroke="green" stroke-width="2" points="119.5,-790.507 116,-780.507 112.5,-790.507 119.5,-790.507"/>
+<g id="edge20" class="edge"><title>lookup:h:s->lookup2</title>
+<path fill="none" stroke="green" stroke-width="2" d="M128,-840C128,-824.001 128,-806.625 128,-790.719"/>
+<polygon fill="green" stroke="green" stroke-width="2" points="131.5,-790.507 128,-780.507 124.5,-790.507 131.5,-790.507"/>
 </g>
 <!-- lookup->lookup -->
-<g id="edge16" class="edge"><title>lookup:busy:e->lookup:top:e</title>
-<path fill="none" stroke="grey" d="M316,-853C322,-834 334,-834 334,-876 334,-908.812 326.676,-915.99 320.61,-908.5"/>
-<polygon fill="grey" stroke="grey" points="323.515,-906.469 316,-899 317.217,-909.525 323.515,-906.469"/>
-<text text-anchor="middle" x="367.5" y="-872.3" font-family="Times,serif" font-size="14.00" fill="grey">(waitinglist)</text>
+<g id="edge17" class="edge"><title>lookup:busy:e->lookup:top:e</title>
+<path fill="none" stroke="grey" d="M328,-853C334,-834 346,-834 346,-876 346,-908.812 338.676,-915.99 332.61,-908.5"/>
+<polygon fill="grey" stroke="grey" points="335.515,-906.469 328,-899 329.217,-909.525 335.515,-906.469"/>
+<text text-anchor="middle" x="379.5" y="-872.3" font-family="Times,serif" font-size="14.00" fill="grey">(waitinglist)</text>
 </g>
 <!-- lookup->miss -->
-<g id="edge17" class="edge"><title>lookup:miss:s->miss</title>
-<path fill="none" stroke="blue" stroke-width="2" d="M159,-840C159,-795.102 220.525,-820.957 241,-781 259.85,-744.215 256.118,-726.469 241,-688 236.81,-677.339 230.183,-667.328 222.711,-658.375"/>
-<polygon fill="blue" stroke="blue" stroke-width="2" points="225.227,-655.938 215.966,-650.79 219.996,-660.589 225.227,-655.938"/>
+<g id="edge18" class="edge"><title>lookup:miss:s->miss</title>
+<path fill="none" stroke="blue" stroke-width="2" d="M171,-840C171,-795.102 232.525,-820.957 253,-781 271.85,-744.215 271.7,-724.861 253,-688 247.056,-676.283 238.17,-666.036 228.148,-657.243"/>
+<polygon fill="blue" stroke="blue" stroke-width="2" points="230.244,-654.436 220.292,-650.803 225.806,-659.85 230.244,-654.436"/>
 </g>
 <!-- lookup->pass -->
-<g id="edge18" class="edge"><title>lookup:hfp:s->pass</title>
-<path fill="none" stroke="red" stroke-width="2" d="M226,-840C226,-809.282 249.583,-809.097 262,-781 302.222,-689.987 305.71,-662.238 313,-563 313.977,-549.703 315.434,-546.109 313,-533 312.47,-530.147 311.79,-527.249 311.002,-524.355"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="314.281,-523.113 307.968,-514.604 307.597,-525.193 314.281,-523.113"/>
+<g id="edge19" class="edge"><title>lookup:hfp:s->pass</title>
+<path fill="none" stroke="red" stroke-width="2" d="M238,-840C238,-809.048 265.428,-810.435 275,-781 305.034,-688.643 286.665,-660.061 290,-563 290.458,-549.675 291.983,-546.185 290,-533 289.572,-530.154 289.019,-527.249 288.378,-524.339"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="291.738,-523.351 285.905,-514.506 284.95,-525.058 291.738,-523.351"/>
 </g>
 <!-- miss->FETCH -->
-<g id="edge23" class="edge"><title>miss:fetch:s->FETCH</title>
-<path fill="none" stroke="blue" stroke-width="2" d="M107,-581C107,-566.206 126.544,-575.139 135,-563 165.653,-518.997 172.142,-454.572 173.188,-418.35"/>
-<polygon fill="blue" stroke="blue" stroke-width="2" points="176.693,-418.125 173.359,-408.068 169.694,-418.008 176.693,-418.125"/>
+<g id="edge24" class="edge"><title>miss:fetch:s->FETCH</title>
+<path fill="none" stroke="blue" stroke-width="2" d="M88,-581C88,-566.206 107.544,-575.139 116,-563 146.653,-518.997 153.142,-454.572 154.188,-418.35"/>
+<polygon fill="blue" stroke="blue" stroke-width="2" points="157.693,-418.125 154.359,-408.068 150.694,-418.008 157.693,-418.125"/>
 </g>
 <!-- miss->pass -->
-<g id="edge24" class="edge"><title>miss:pass:s->pass</title>
-<path fill="none" stroke="red" stroke-width="2" d="M245,-581C245,-561.014 252.889,-540.798 262.27,-523.823"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="265.553,-525.144 267.594,-514.748 259.515,-521.602 265.553,-525.144"/>
+<g id="edge25" class="edge"><title>miss:pass:s->pass</title>
+<path fill="none" stroke="red" stroke-width="2" d="M226,-581C226,-561.014 233.889,-540.798 243.27,-523.823"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="246.553,-525.144 248.594,-514.748 240.515,-521.602 246.553,-525.144"/>
 </g>
 <!-- pass->FETCH -->
-<g id="edge25" class="edge"><title>pass:fetch:s->FETCH</title>
-<path fill="none" stroke="red" stroke-width="2" d="M245,-445C245,-435.486 228.709,-422.805 211.625,-412.122"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="213.073,-408.908 202.701,-406.745 209.46,-414.904 213.073,-408.908"/>
+<g id="edge26" class="edge"><title>pass:fetch:s->FETCH</title>
+<path fill="none" stroke="red" stroke-width="2" d="M226,-445C226,-435.486 209.709,-422.805 192.625,-412.122"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="194.073,-408.908 183.701,-406.745 190.46,-414.904 194.073,-408.908"/>
 </g>
 <!-- pipe -->
-<g id="node20" class="node"><title>pipe</title>
-<polygon fill="none" stroke="black" points="619,-818.5 619,-933.5 753,-933.5 753,-818.5 619,-818.5"/>
-<text text-anchor="middle" x="686" y="-918.3" font-family="Times,serif" font-size="14.00">cnt_pipe:</text>
-<polyline fill="none" stroke="black" points="619,-910.5 753,-910.5 "/>
-<text text-anchor="middle" x="686" y="-895.3" font-family="Times,serif" font-size="14.00">filter req.*->bereq.*</text>
-<polyline fill="none" stroke="black" points="619,-887.5 753,-887.5 "/>
-<text text-anchor="middle" x="657.5" y="-860.8" font-family="Times,serif" font-size="14.00">vcl_pipe{}</text>
-<polyline fill="none" stroke="black" points="696,-841.5 696,-887.5 "/>
-<text text-anchor="middle" x="724.5" y="-872.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="696,-864.5 753,-864.5 "/>
-<text text-anchor="middle" x="724.5" y="-849.3" font-family="Times,serif" font-size="14.00">bereq.*</text>
-<polyline fill="none" stroke="black" points="619,-841.5 753,-841.5 "/>
-<text text-anchor="middle" x="651" y="-826.3" font-family="Times,serif" font-size="14.00">pipe</text>
-<polyline fill="none" stroke="black" points="683,-818.5 683,-841.5 "/>
-<text text-anchor="middle" x="718" y="-826.3" font-family="Times,serif" font-size="14.00">synth</text>
+<g id="node22" class="node"><title>pipe</title>
+<polygon fill="none" stroke="black" points="631,-818.5 631,-933.5 765,-933.5 765,-818.5 631,-818.5"/>
+<text text-anchor="middle" x="698" y="-918.3" font-family="Times,serif" font-size="14.00">cnt_pipe:</text>
+<polyline fill="none" stroke="black" points="631,-910.5 765,-910.5 "/>
+<text text-anchor="middle" x="698" y="-895.3" font-family="Times,serif" font-size="14.00">filter req.*->bereq.*</text>
+<polyline fill="none" stroke="black" points="631,-887.5 765,-887.5 "/>
+<text text-anchor="middle" x="669.5" y="-860.8" font-family="Times,serif" font-size="14.00">vcl_pipe{}</text>
+<polyline fill="none" stroke="black" points="708,-841.5 708,-887.5 "/>
+<text text-anchor="middle" x="736.5" y="-872.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="708,-864.5 765,-864.5 "/>
+<text text-anchor="middle" x="736.5" y="-849.3" font-family="Times,serif" font-size="14.00">bereq.*</text>
+<polyline fill="none" stroke="black" points="631,-841.5 765,-841.5 "/>
+<text text-anchor="middle" x="663" y="-826.3" font-family="Times,serif" font-size="14.00">pipe</text>
+<polyline fill="none" stroke="black" points="695,-818.5 695,-841.5 "/>
+<text text-anchor="middle" x="730" y="-826.3" font-family="Times,serif" font-size="14.00">synth</text>
 </g>
 <!-- pipe_do -->
-<g id="node21" class="node"><title>pipe_do</title>
-<ellipse fill="none" stroke="black" cx="698" cy="-734.5" rx="95.4188" ry="26.7407"/>
-<text text-anchor="middle" x="698" y="-738.3" font-family="Times,serif" font-size="14.00">send bereq,</text>
-<text text-anchor="middle" x="698" y="-723.3" font-family="Times,serif" font-size="14.00">copy bytes until close</text>
+<g id="node23" class="node"><title>pipe_do</title>
+<ellipse fill="none" stroke="black" cx="710" cy="-734.5" rx="95.4188" ry="26.7407"/>
+<text text-anchor="middle" x="710" y="-738.3" font-family="Times,serif" font-size="14.00">send bereq,</text>
+<text text-anchor="middle" x="710" y="-723.3" font-family="Times,serif" font-size="14.00">copy bytes until close</text>
 </g>
 <!-- pipe->pipe_do -->
-<g id="edge26" class="edge"><title>pipe:pipe->pipe_do</title>
-<path fill="none" stroke="orange" stroke-width="2" d="M651,-818C651,-800.39 659.184,-783.111 668.723,-768.953"/>
-<polygon fill="orange" stroke="orange" stroke-width="2" points="671.761,-770.724 674.775,-760.566 666.085,-766.627 671.761,-770.724"/>
+<g id="edge27" class="edge"><title>pipe:pipe->pipe_do</title>
+<path fill="none" stroke="orange" stroke-width="2" d="M663,-818C663,-800.39 671.184,-783.111 680.723,-768.953"/>
+<polygon fill="orange" stroke="orange" stroke-width="2" points="683.761,-770.724 686.775,-760.566 678.085,-766.627 683.761,-770.724"/>
 </g>
 <!-- pipe_do->DONE -->
-<g id="edge27" class="edge"><title>pipe_do->DONE</title>
-<path fill="none" stroke="orange" stroke-width="2" d="M682.476,-707.666C670.159,-684.697 655,-649.77 655,-617 655,-617 655,-617 655,-90 655,-58.2915 621.5,-39.6576 592.711,-29.4983"/>
-<polygon fill="orange" stroke="orange" stroke-width="2" points="593.776,-26.1642 583.183,-26.3712 591.593,-32.8151 593.776,-26.1642"/>
+<g id="edge28" class="edge"><title>pipe_do->DONE</title>
+<path fill="none" stroke="orange" stroke-width="2" d="M694.476,-707.666C682.159,-684.697 667,-649.77 667,-617 667,-617 667,-617 667,-90 667,-56.794 630.911,-38.2532 600.456,-28.5187"/>
+<polygon fill="orange" stroke="orange" stroke-width="2" points="601.402,-25.1485 590.819,-25.6602 599.411,-31.8595 601.402,-25.1485"/>
 </g>
 <!-- restart->recv -->
-<g id="edge29" class="edge"><title>restart:ok:s->recv</title>
-<path fill="none" stroke="black" d="M641,-1185C641,-1173.12 636.572,-1163.18 629.424,-1154.88"/>
-<polygon fill="black" stroke="black" points="631.723,-1152.23 622.144,-1147.7 626.809,-1157.21 631.723,-1152.23"/>
+<g id="edge30" class="edge"><title>restart:ok:s->recv</title>
+<path fill="none" stroke="black" d="M728,-1185C728,-1157.58 709.471,-1140.47 684.403,-1129.87"/>
+<polygon fill="black" stroke="black" points="685.485,-1126.53 674.894,-1126.25 682.996,-1133.08 685.485,-1126.53"/>
 </g>
 <!-- err_restart -->
-<g id="node23" class="node"><title>err_restart</title>
-<text text-anchor="middle" x="705" y="-1109.3" font-family="Times,serif" font-size="14.00">SYNTH</text>
+<g id="node25" class="node"><title>err_restart</title>
+<text text-anchor="middle" x="792" y="-1109.3" font-family="Times,serif" font-size="14.00">SYNTH</text>
 </g>
 <!-- restart->err_restart -->
-<g id="edge30" class="edge"><title>restart:max:s->err_restart</title>
-<path fill="none" stroke="purple" d="M705,-1185C705,-1170.65 705,-1154.67 705,-1141.51"/>
-<polygon fill="purple" stroke="purple" points="708.5,-1141.22 705,-1131.22 701.5,-1141.22 708.5,-1141.22"/>
+<g id="edge31" class="edge"><title>restart:max:s->err_restart</title>
+<path fill="none" stroke="purple" d="M792,-1185C792,-1170.65 792,-1154.67 792,-1141.51"/>
+<polygon fill="purple" stroke="purple" points="795.5,-1141.22 792,-1131.22 788.5,-1141.22 795.5,-1141.22"/>
 </g>
 <!-- hash->lookup -->
-<g id="edge34" class="edge"><title>hash:lookup:w->lookup</title>
-<path fill="none" stroke="green" stroke-width="2" d="M439,-983C372.437,-983 304.057,-946.456 258.942,-916.282"/>
-<polygon fill="green" stroke="green" stroke-width="2" points="260.75,-913.279 250.515,-910.539 256.807,-919.063 260.75,-913.279"/>
+<g id="edge35" class="edge"><title>hash:lookup:w->lookup</title>
+<path fill="none" stroke="green" stroke-width="2" d="M451,-983C384.437,-983 316.057,-946.456 270.942,-916.282"/>
+<polygon fill="green" stroke="green" stroke-width="2" points="272.75,-913.279 262.515,-910.539 268.807,-919.063 272.75,-913.279"/>
 </g>
 <!-- hash->pass -->
-<g id="edge36" class="edge"><title>hash:lookup:s->pass</title>
-<path fill="none" stroke="red" stroke-width="2" d="M501,-971C501,-941.539 538.166,-957.45 556,-934 572.165,-912.745 575,-903.704 575,-877 575,-877 575,-877 575,-615 575,-525.019 456.424,-495.389 373.053,-485.677"/>
-<polygon fill="red" stroke="red" stroke-width="2" points="373.391,-482.193 363.07,-484.588 372.632,-489.152 373.391,-482.193"/>
+<g id="edge37" class="edge"><title>hash:lookup:s->pass</title>
+<path fill="none" stroke="red" stroke-width="2" d="M513,-971C513,-941.539 550.166,-957.45 568,-934 584.165,-912.745 587,-903.704 587,-877 587,-877 587,-877 587,-615 587,-513.87 447.204,-488.063 354.465,-482.069"/>
+<polygon fill="red" stroke="red" stroke-width="2" points="354.429,-478.561 344.243,-481.475 354.024,-485.549 354.429,-478.561"/>
 </g>
 <!-- hash->pipe -->
-<g id="edge37" class="edge"><title>hash:lookup:e->pipe</title>
-<path fill="none" stroke="orange" stroke-width="2" d="M563,-983C593.899,-983 620.887,-963.568 641.648,-941.344"/>
-<polygon fill="orange" stroke="orange" stroke-width="2" points="644.401,-943.516 648.447,-933.724 639.178,-938.855 644.401,-943.516"/>
+<g id="edge38" class="edge"><title>hash:lookup:e->pipe</title>
+<path fill="none" stroke="orange" stroke-width="2" d="M575,-983C605.899,-983 632.887,-963.568 653.648,-941.344"/>
+<polygon fill="orange" stroke="orange" stroke-width="2" points="656.401,-943.516 660.447,-933.724 651.178,-938.855 656.401,-943.516"/>
 </g>
 <!-- purge -->
-<g id="node25" class="node"><title>purge</title>
-<polygon fill="none" stroke="black" points="419,-841.5 419,-910.5 547,-910.5 547,-841.5 419,-841.5"/>
-<text text-anchor="middle" x="483" y="-895.3" font-family="Times,serif" font-size="14.00">cnt_purge:</text>
-<polyline fill="none" stroke="black" points="419,-887.5 547,-887.5 "/>
-<text text-anchor="middle" x="461" y="-872.3" font-family="Times,serif" font-size="14.00">vcl_purge{}</text>
-<polyline fill="none" stroke="black" points="503,-864.5 503,-887.5 "/>
-<text text-anchor="middle" x="525" y="-872.3" font-family="Times,serif" font-size="14.00">req.*</text>
-<polyline fill="none" stroke="black" points="419,-864.5 547,-864.5 "/>
-<text text-anchor="middle" x="450" y="-849.3" font-family="Times,serif" font-size="14.00">synth</text>
-<polyline fill="none" stroke="black" points="481,-841.5 481,-864.5 "/>
-<text text-anchor="middle" x="514" y="-849.3" font-family="Times,serif" font-size="14.00">restart</text>
+<g id="node27" class="node"><title>purge</title>
+<polygon fill="none" stroke="black" points="431,-841.5 431,-910.5 559,-910.5 559,-841.5 431,-841.5"/>
+<text text-anchor="middle" x="495" y="-895.3" font-family="Times,serif" font-size="14.00">cnt_purge:</text>
+<polyline fill="none" stroke="black" points="431,-887.5 559,-887.5 "/>
+<text text-anchor="middle" x="473" y="-872.3" font-family="Times,serif" font-size="14.00">vcl_purge{}</text>
+<polyline fill="none" stroke="black" points="515,-864.5 515,-887.5 "/>
+<text text-anchor="middle" x="537" y="-872.3" font-family="Times,serif" font-size="14.00">req.*</text>
+<polyline fill="none" stroke="black" points="431,-864.5 559,-864.5 "/>
+<text text-anchor="middle" x="462" y="-849.3" font-family="Times,serif" font-size="14.00">synth</text>
+<polyline fill="none" stroke="black" points="493,-841.5 493,-864.5 "/>
+<text text-anchor="middle" x="526" y="-849.3" font-family="Times,serif" font-size="14.00">restart</text>
 </g>
 <!-- hash->purge -->
-<g id="edge35" class="edge"><title>hash:lookup:s->purge:top:n</title>
-<path fill="none" stroke="purple" stroke-width="2" d="M501,-971C501,-947.333 487.585,-940.99 483.917,-922.06"/>
-<polygon fill="purple" stroke="purple" stroke-width="2" points="487.394,-921.641 483,-912 480.423,-922.277 487.394,-921.641"/>
+<g id="edge36" class="edge"><title>hash:lookup:s->purge:top:n</title>
+<path fill="none" stroke="purple" stroke-width="2" d="M513,-971C513,-947.333 499.585,-940.99 495.917,-922.06"/>
+<polygon fill="purple" stroke="purple" stroke-width="2" points="499.394,-921.641 495,-912 492.423,-922.277 499.394,-921.641"/>
 </g>
 </g>
 </svg>



More information about the varnish-commit mailing list