HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //proc/self/root/proc/thread-self/root/usr/share/doc/varnish-6.0.3/html/_images/cache_req_fsm.svg
<?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.38.0 (20140413.2041)
 -->
<!-- Title: cache_req_fsm Pages: 1 -->
<svg width="1079pt" height="1378pt"
 viewBox="18.00 18.00 1061.00 1360.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 1356)">
<title>cache_req_fsm</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1338 1039,-1338 1039,4 -4,4"/>
<g id="clust3" class="cluster"><title>cluster_backend</title>
<polygon fill="aliceblue" stroke="aliceblue" points="118.5,-299 118.5,-408 409.5,-408 409.5,-299 118.5,-299"/>
</g>
<!-- acceptor -->
<g id="node1" class="node"><title>acceptor</title>
<polygon fill="none" stroke="black" points="745.108,-1237.5 703.804,-1255.5 621.196,-1255.5 579.892,-1237.5 621.196,-1219.5 703.804,-1219.5 745.108,-1237.5"/>
<text text-anchor="middle" x="662.5" y="-1233.8" font-family="Times,serif" font-size="14.00">Request received</text>
</g>
<!-- recv -->
<g id="node5" class="node"><title>recv</title>
<polygon fill="none" stroke="black" points="552.5,-1107.5 552.5,-1176.5 884.5,-1176.5 884.5,-1107.5 552.5,-1107.5"/>
<text text-anchor="middle" x="718.5" y="-1161.3" font-family="Times,serif" font-size="14.00">cnt_recv:</text>
<polyline fill="none" stroke="black" points="552.5,-1153.5 884.5,-1153.5 "/>
<text text-anchor="middle" x="643.5" y="-1138.3" font-family="Times,serif" font-size="14.00">vcl_recv{}</text>
<polyline fill="none" stroke="black" points="734.5,-1130.5 734.5,-1153.5 "/>
<text text-anchor="middle" x="809.5" y="-1138.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="552.5,-1130.5 884.5,-1130.5 "/>
<text text-anchor="middle" x="570" y="-1115.3" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="587.5,-1107.5 587.5,-1130.5 "/>
<text text-anchor="middle" x="608" y="-1115.3" font-family="Times,serif" font-size="14.00">hash</text>
<polyline fill="none" stroke="black" points="628.5,-1107.5 628.5,-1130.5 "/>
<text text-anchor="middle" x="652" y="-1115.3" font-family="Times,serif" font-size="14.00">purge</text>
<polyline fill="none" stroke="black" points="675.5,-1107.5 675.5,-1130.5 "/>
<text text-anchor="middle" x="695.5" y="-1115.3" font-family="Times,serif" font-size="14.00">pass</text>
<polyline fill="none" stroke="black" points="715.5,-1107.5 715.5,-1130.5 "/>
<text text-anchor="middle" x="735.5" y="-1115.3" font-family="Times,serif" font-size="14.00">pipe</text>
<polyline fill="none" stroke="black" points="755.5,-1107.5 755.5,-1130.5 "/>
<text text-anchor="middle" x="780.5" y="-1115.3" font-family="Times,serif" font-size="14.00">restart</text>
<polyline fill="none" stroke="black" points="805.5,-1107.5 805.5,-1130.5 "/>
<text text-anchor="middle" x="828.5" y="-1115.3" font-family="Times,serif" font-size="14.00">synth</text>
<polyline fill="none" stroke="black" points="851.5,-1107.5 851.5,-1130.5 "/>
<text text-anchor="middle" x="868" y="-1115.3" font-family="Times,serif" font-size="14.00">vcl</text>
</g>
<!-- acceptor&#45;&gt;recv -->
<g id="edge2" class="edge"><title>acceptor&#45;&gt;recv</title>
<path fill="none" stroke="black" stroke-width="2" d="M672.771,-1219.35C678.514,-1209.76 685.946,-1197.35 693.143,-1185.34"/>
<polygon fill="black" stroke="black" stroke-width="2" points="696.179,-1187.08 698.315,-1176.7 690.174,-1183.48 696.179,-1187.08"/>
</g>
<!-- label_select -->
<g id="node2" class="node"><title>label_select</title>
<polygon fill="none" stroke="black" points="853.559,-1237.5 831.029,-1255.5 785.971,-1255.5 763.441,-1237.5 785.971,-1219.5 831.029,-1219.5 853.559,-1237.5"/>
<text text-anchor="middle" x="808.5" y="-1233.8" font-family="Times,serif" font-size="14.00">LABEL</text>
</g>
<!-- label_select&#45;&gt;recv -->
<g id="edge3" class="edge"><title>label_select&#45;&gt;recv</title>
<path fill="none" stroke="black" stroke-width="2" d="M791.993,-1219.35C782.405,-1209.39 769.887,-1196.39 757.906,-1183.94"/>
<polygon fill="black" stroke="black" stroke-width="2" points="760.397,-1181.48 750.94,-1176.7 755.354,-1186.33 760.397,-1181.48"/>
</g>
<!-- ESI_REQ -->
<g id="node3" class="node"><title>ESI_REQ</title>
<polygon fill="none" stroke="black" points="561.578,-1237.5 531.539,-1255.5 471.461,-1255.5 441.422,-1237.5 471.461,-1219.5 531.539,-1219.5 561.578,-1237.5"/>
<text text-anchor="middle" x="501.5" y="-1233.8" font-family="Times,serif" font-size="14.00">ESI request</text>
</g>
<!-- ESI_REQ&#45;&gt;recv -->
<g id="edge1" class="edge"><title>ESI_REQ&#45;&gt;recv</title>
<path fill="none" stroke="black" d="M535.884,-1221.68C561.555,-1210.62 597.829,-1194.99 631.291,-1180.58"/>
<polygon fill="black" stroke="black" points="632.844,-1183.72 640.643,-1176.55 630.074,-1177.29 632.844,-1183.72"/>
</g>
<!-- RESTART -->
<g id="node4" class="node"><title>RESTART</title>
<text text-anchor="middle" x="953.5" y="-1312.3" font-family="Times,serif" font-size="14.00">RESTART</text>
</g>
<!-- restart -->
<g id="node24" class="node"><title>restart</title>
<polygon fill="none" stroke="grey" points="872,-1214.5 872,-1260.5 1035,-1260.5 1035,-1214.5 872,-1214.5"/>
<text text-anchor="middle" x="953.5" y="-1245.3" font-family="Times,serif" font-size="14.00" fill="grey">cnt_restart:</text>
<polyline fill="none" stroke="grey" points="872,-1237.5 1035,-1237.5 "/>
<text text-anchor="middle" x="889.5" y="-1222.3" font-family="Times,serif" font-size="14.00" fill="grey">fail</text>
<polyline fill="none" stroke="grey" points="907,-1214.5 907,-1237.5 "/>
<text text-anchor="middle" x="925" y="-1222.3" font-family="Times,serif" font-size="14.00" fill="grey">ok?</text>
<polyline fill="none" stroke="grey" points="943,-1214.5 943,-1237.5 "/>
<text text-anchor="middle" x="989" y="-1222.3" font-family="Times,serif" font-size="14.00" fill="grey">max_restarts?</text>
</g>
<!-- RESTART&#45;&gt;restart -->
<g id="edge31" class="edge"><title>RESTART&#45;&gt;restart</title>
<path fill="none" stroke="purple" d="M953.5,-1297.64C953.5,-1289.7 953.5,-1280.02 953.5,-1270.81"/>
<polygon fill="purple" stroke="purple" points="957,-1270.74 953.5,-1260.74 950,-1270.74 957,-1270.74"/>
</g>
<!-- hash -->
<g id="node26" class="node"><title>hash</title>
<polygon fill="none" stroke="black" points="612.5,-1000.5 612.5,-1069.5 734.5,-1069.5 734.5,-1000.5 612.5,-1000.5"/>
<text text-anchor="middle" x="673.5" y="-1054.3" font-family="Times,serif" font-size="14.00">cnt_recv:</text>
<polyline fill="none" stroke="black" points="612.5,-1046.5 734.5,-1046.5 "/>
<text text-anchor="middle" x="651.5" y="-1031.3" font-family="Times,serif" font-size="14.00">vcl_hash{}</text>
<polyline fill="none" stroke="black" points="690.5,-1023.5 690.5,-1046.5 "/>
<text text-anchor="middle" x="712.5" y="-1031.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="612.5,-1023.5 734.5,-1023.5 "/>
<text text-anchor="middle" x="673.5" y="-1008.3" font-family="Times,serif" font-size="14.00">lookup</text>
</g>
<!-- recv&#45;&gt;hash -->
<g id="edge34" class="edge"><title>recv:hash&#45;&gt;hash</title>
<path fill="none" stroke="green" stroke-width="2" d="M607.5,-1107C607.5,-1096.05 611.765,-1086.08 618.127,-1077.29"/>
<polygon fill="green" stroke="green" stroke-width="2" points="620.835,-1079.51 624.497,-1069.57 615.434,-1075.06 620.835,-1079.51"/>
</g>
<!-- recv&#45;&gt;hash -->
<g id="edge35" class="edge"><title>recv:pipe&#45;&gt;hash</title>
<path fill="none" stroke="orange" stroke-width="2" d="M735.5,-1107C735.5,-1096.33 731.482,-1086.5 725.491,-1077.76"/>
<polygon fill="orange" stroke="orange" stroke-width="2" points="728.127,-1075.45 719.21,-1069.73 722.613,-1079.76 728.127,-1075.45"/>
</g>
<!-- recv&#45;&gt;hash -->
<g id="edge36" class="edge"><title>recv:pass&#45;&gt;hash</title>
<path fill="none" stroke="red" stroke-width="2" d="M695.5,-1107C695.5,-1097.91 693.833,-1088.44 691.416,-1079.49"/>
<polygon fill="red" stroke="red" stroke-width="2" points="694.682,-1078.2 688.418,-1069.66 687.987,-1080.24 694.682,-1078.2"/>
</g>
<!-- recv&#45;&gt;hash -->
<g id="edge41" class="edge"><title>recv:purge:s&#45;&gt;hash</title>
<path fill="none" stroke="purple" stroke-width="2" d="M651.5,-1107C651.5,-1097.91 653.167,-1088.44 655.584,-1079.49"/>
<polygon fill="purple" stroke="purple" stroke-width="2" points="659.013,-1080.24 658.582,-1069.66 652.318,-1078.2 659.013,-1080.24"/>
</g>
<!-- vcl_label -->
<g id="node28" class="node"><title>vcl_label</title>
<text text-anchor="middle" x="868.5" y="-1038.8" font-family="Times,serif" font-size="14.00">switch to vcl</text>
<text text-anchor="middle" x="868.5" y="-1023.8" font-family="Times,serif" font-size="14.00">LABEL</text>
</g>
<!-- recv&#45;&gt;vcl_label -->
<g id="edge42" class="edge"><title>recv:vcl:s&#45;&gt;vcl_label</title>
<path fill="none" stroke="black" d="M868.5,-1107C868.5,-1092.94 868.5,-1077.31 868.5,-1064.31"/>
<polygon fill="black" stroke="black" points="872,-1064.09 868.5,-1054.09 865,-1064.09 872,-1064.09"/>
</g>
<!-- SYNTH -->
<g id="node6" class="node"><title>SYNTH</title>
<text text-anchor="middle" x="449.5" y="-313.3" font-family="Times,serif" font-size="14.00">SYNTH</text>
</g>
<!-- synth -->
<g id="node12" class="node"><title>synth</title>
<polygon fill="none" stroke="black" points="345,-158 345,-250 484,-250 484,-158 345,-158"/>
<text text-anchor="middle" x="414.5" y="-234.8" font-family="Times,serif" font-size="14.00">cnt_synth:</text>
<polyline fill="none" stroke="black" points="345,-227 484,-227 "/>
<text text-anchor="middle" x="388" y="-200.3" font-family="Times,serif" font-size="14.00">vcl_synth{}</text>
<polyline fill="none" stroke="black" points="431,-181 431,-227 "/>
<text text-anchor="middle" x="457.5" y="-211.8" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="431,-204 484,-204 "/>
<text text-anchor="middle" x="457.5" y="-188.8" font-family="Times,serif" font-size="14.00">resp.*</text>
<polyline fill="none" stroke="black" points="345,-181 484,-181 "/>
<text text-anchor="middle" x="362.5" y="-165.8" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="380,-158 380,-181 "/>
<text text-anchor="middle" x="407" y="-165.8" font-family="Times,serif" font-size="14.00">deliver</text>
<polyline fill="none" stroke="black" points="434,-158 434,-181 "/>
<text text-anchor="middle" x="459" y="-165.8" font-family="Times,serif" font-size="14.00">restart</text>
</g>
<!-- SYNTH&#45;&gt;synth -->
<g id="edge10" class="edge"><title>SYNTH&#45;&gt;synth</title>
<path fill="none" stroke="purple" d="M444.031,-298.656C440.72,-288.153 436.294,-274.117 431.878,-260.114"/>
<polygon fill="purple" stroke="purple" points="435.182,-258.953 428.837,-250.468 428.506,-261.058 435.182,-258.953"/>
</g>
<!-- FAIL -->
<g id="node7" class="node"><title>FAIL</title>
<text text-anchor="middle" x="525.5" y="-313.3" font-family="Times,serif" font-size="14.00">FAIL</text>
</g>
<!-- FAIL&#45;&gt;synth -->
<g id="edge9" class="edge"><title>FAIL&#45;&gt;synth</title>
<path fill="none" stroke="purple" d="M508.156,-298.656C497.048,-287.548 481.986,-272.486 467.191,-257.691"/>
<polygon fill="purple" stroke="purple" points="469.514,-255.064 459.968,-250.468 464.564,-260.014 469.514,-255.064"/>
</g>
<!-- deliver -->
<g id="node8" class="node"><title>deliver</title>
<polygon fill="none" stroke="black" points="142,-146.5 142,-261.5 327,-261.5 327,-146.5 142,-146.5"/>
<text text-anchor="middle" x="234.5" y="-246.3" font-family="Times,serif" font-size="14.00">cnt_deliver:</text>
<polyline fill="none" stroke="black" points="142,-238.5 327,-238.5 "/>
<text text-anchor="middle" x="234.5" y="-223.3" font-family="Times,serif" font-size="14.00">Filter obj.&#45;&gt;resp.</text>
<polyline fill="none" stroke="black" points="142,-215.5 327,-215.5 "/>
<text text-anchor="middle" x="198.5" y="-188.8" font-family="Times,serif" font-size="14.00">vcl_deliver{}</text>
<polyline fill="none" stroke="black" points="255,-169.5 255,-215.5 "/>
<text text-anchor="middle" x="291" y="-200.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="255,-192.5 327,-192.5 "/>
<text text-anchor="middle" x="291" y="-177.3" font-family="Times,serif" font-size="14.00">resp.*</text>
<polyline fill="none" stroke="black" points="142,-169.5 327,-169.5 "/>
<text text-anchor="middle" x="159.5" y="-154.3" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="177,-146.5 177,-169.5 "/>
<text text-anchor="middle" x="202" y="-154.3" font-family="Times,serif" font-size="14.00">restart</text>
<polyline fill="none" stroke="black" points="227,-146.5 227,-169.5 "/>
<text text-anchor="middle" x="254" y="-154.3" font-family="Times,serif" font-size="14.00">deliver</text>
<polyline fill="none" stroke="black" points="281,-146.5 281,-169.5 "/>
<text text-anchor="middle" x="304" y="-154.3" font-family="Times,serif" font-size="14.00">synth</text>
</g>
<!-- V1D_Deliver -->
<g id="node9" class="node"><title>V1D_Deliver</title>
<ellipse fill="none" stroke="black" cx="317.5" cy="-91" rx="58.4896" ry="18"/>
<text text-anchor="middle" x="317.5" y="-87.3" font-family="Times,serif" font-size="14.00">V1D_Deliver</text>
</g>
<!-- deliver&#45;&gt;V1D_Deliver -->
<g id="edge4" class="edge"><title>deliver:deliver:s&#45;&gt;V1D_Deliver</title>
<path fill="none" stroke="green" stroke-width="2" d="M254.5,-146C246.656,-129.929 254.195,-117.61 266.688,-108.824"/>
<polygon fill="green" stroke="green" stroke-width="2" points="268.713,-111.692 275.502,-103.558 265.122,-105.683 268.713,-111.692"/>
</g>
<!-- deliver&#45;&gt;V1D_Deliver -->
<g id="edge5" class="edge"><title>deliver:deliver:s&#45;&gt;V1D_Deliver</title>
<path fill="none" stroke="red" stroke-width="2" d="M254.5,-146C254.5,-131.486 264.258,-120.033 276.093,-111.479"/>
<polygon fill="red" stroke="red" stroke-width="2" points="278.033,-114.392 284.524,-106.018 274.228,-108.516 278.033,-114.392"/>
</g>
<!-- deliver&#45;&gt;V1D_Deliver -->
<g id="edge6" class="edge"><title>deliver:deliver:s&#45;&gt;V1D_Deliver</title>
<path fill="none" stroke="blue" stroke-width="2" d="M254.5,-146C261.127,-132.423 273.853,-121.523 286.392,-113.17"/>
<polygon fill="blue" stroke="blue" stroke-width="2" points="288.353,-116.072 294.965,-107.793 284.633,-110.142 288.353,-116.072"/>
</g>
<!-- DONE -->
<g id="node11" class="node"><title>DONE</title>
<ellipse fill="none" stroke="black" cx="723.5" cy="-18" rx="35.194" ry="18"/>
<text text-anchor="middle" x="723.5" y="-14.3" font-family="Times,serif" font-size="14.00">DONE</text>
</g>
<!-- V1D_Deliver&#45;&gt;DONE -->
<g id="edge8" class="edge"><title>V1D_Deliver&#45;&gt;DONE</title>
<path fill="none" stroke="black" d="M367.284,-81.294C447.773,-67.2184 605.092,-39.7069 680.795,-26.4681"/>
<polygon fill="black" stroke="black" points="681.671,-29.8681 690.919,-24.6977 680.465,-22.9727 681.671,-29.8681"/>
</g>
<!-- stream -->
<g id="node10" class="node"><title>stream</title>
<ellipse fill="turquoise" stroke="turquoise" cx="543.5" cy="-204" rx="41.9398" ry="26.7407"/>
<text text-anchor="middle" x="543.5" y="-207.8" font-family="Times,serif" font-size="14.00">stream?</text>
<text text-anchor="middle" x="543.5" y="-192.8" font-family="Times,serif" font-size="14.00">body</text>
</g>
<!-- stream&#45;&gt;V1D_Deliver -->
<g id="edge7" class="edge"><title>stream&#45;&gt;V1D_Deliver</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M526.97,-179.113C517.959,-167.662 505.914,-154.6 492.5,-146 457.906,-123.821 413.638,-110.273 378.282,-102.294"/>
<polygon fill="black" stroke="black" points="378.604,-98.7831 368.09,-100.091 377.125,-105.625 378.604,-98.7831"/>
</g>
<!-- synth&#45;&gt;V1D_Deliver -->
<g id="edge11" class="edge"><title>synth:del:s&#45;&gt;V1D_Deliver</title>
<path fill="none" stroke="purple" d="M406.5,-157C406.5,-134.249 387.3,-118.61 366.735,-108.384"/>
<polygon fill="purple" stroke="purple" points="368.124,-105.171 357.574,-104.195 365.212,-111.537 368.124,-105.171"/>
</g>
<!-- see backend graph -->
<g id="node13" class="node"><title>see backend graph</title>
<text text-anchor="middle" x="350.5" y="-386.3" font-family="Times,serif" font-size="14.00">see backend graph</text>
</g>
<!-- BGFETCH -->
<g id="node14" class="node"><title>BGFETCH</title>
<polygon fill="turquoise" stroke="turquoise" points="196.5,-408 118.5,-408 118.5,-372 196.5,-372 196.5,-408"/>
<text text-anchor="middle" x="157.5" y="-386.3" font-family="Times,serif" font-size="14.00">BGFETCH</text>
</g>
<!-- FETCH -->
<g id="node15" class="node"><title>FETCH</title>
<polygon fill="turquoise" stroke="turquoise" points="274,-408 215,-408 215,-372 274,-372 274,-408"/>
<text text-anchor="middle" x="244.5" y="-386.3" font-family="Times,serif" font-size="14.00">FETCH</text>
</g>
<!-- FETCH_DONE -->
<g id="node16" class="node"><title>FETCH_DONE</title>
<polygon fill="turquoise" stroke="turquoise" points="286.5,-335 182.5,-335 182.5,-299 286.5,-299 286.5,-335"/>
<text text-anchor="middle" x="234.5" y="-313.3" font-family="Times,serif" font-size="14.00">FETCH_DONE</text>
</g>
<!-- FETCH&#45;&gt;FETCH_DONE -->
<g id="edge16" class="edge"><title>FETCH&#45;&gt;FETCH_DONE</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M242.079,-371.813C240.949,-363.789 239.577,-354.047 238.313,-345.069"/>
<polygon fill="black" stroke="black" points="241.759,-344.443 236.898,-335.029 234.827,-345.419 241.759,-344.443"/>
</g>
<!-- FETCH_FAIL -->
<g id="node17" class="node"><title>FETCH_FAIL</title>
<polygon fill="turquoise" stroke="turquoise" points="400.5,-335 304.5,-335 304.5,-299 400.5,-299 400.5,-335"/>
<text text-anchor="middle" x="352.5" y="-313.3" font-family="Times,serif" font-size="14.00">FETCH_FAIL</text>
</g>
<!-- FETCH&#45;&gt;FETCH_FAIL -->
<g id="edge17" class="edge"><title>FETCH&#45;&gt;FETCH_FAIL</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M270.369,-371.994C284.558,-362.666 302.342,-350.974 317.73,-340.858"/>
<polygon fill="black" stroke="black" points="320.035,-343.532 326.468,-335.114 316.189,-337.682 320.035,-343.532"/>
</g>
<!-- FETCH_DONE&#45;&gt;deliver -->
<g id="edge14" class="edge"><title>FETCH_DONE&#45;&gt;deliver</title>
<path fill="none" stroke="red" stroke-width="2" d="M229.438,-298.656C228.617,-291.065 228.095,-281.628 227.873,-271.691"/>
<polygon fill="red" stroke="red" stroke-width="2" points="231.373,-271.595 227.751,-261.638 224.373,-271.68 231.373,-271.595"/>
</g>
<!-- FETCH_DONE&#45;&gt;deliver -->
<g id="edge15" class="edge"><title>FETCH_DONE&#45;&gt;deliver</title>
<path fill="none" stroke="blue" stroke-width="2" d="M239.562,-298.656C240.383,-291.065 240.905,-281.628 241.127,-271.691"/>
<polygon fill="blue" stroke="blue" stroke-width="2" points="244.627,-271.68 241.249,-261.638 237.627,-271.595 244.627,-271.68"/>
</g>
<!-- FETCH_FAIL&#45;&gt;synth -->
<g id="edge13" class="edge"><title>FETCH_FAIL&#45;&gt;synth</title>
<path fill="none" stroke="purple" d="M362.188,-298.656C368.167,-287.951 376.196,-273.576 384.167,-259.306"/>
<polygon fill="purple" stroke="purple" points="387.282,-260.905 389.103,-250.468 381.171,-257.492 387.282,-260.905"/>
</g>
<!-- lookup2 -->
<g id="node18" class="node"><title>lookup2</title>
<polygon fill="none" stroke="black" points="0,-717.5 0,-809.5 267,-809.5 267,-717.5 0,-717.5"/>
<text text-anchor="middle" x="133.5" y="-794.3" font-family="Times,serif" font-size="14.00">cnt_lookup:</text>
<polyline fill="none" stroke="black" points="0,-786.5 267,-786.5 "/>
<text text-anchor="middle" x="72.5" y="-759.8" font-family="Times,serif" font-size="14.00">vcl_hit{}</text>
<polyline fill="none" stroke="black" points="145,-740.5 145,-786.5 "/>
<text text-anchor="middle" x="206" y="-771.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="145,-763.5 267,-763.5 "/>
<text text-anchor="middle" x="206" y="-748.3" font-family="Times,serif" font-size="14.00">obj.*</text>
<polyline fill="none" stroke="black" points="0,-740.5 267,-740.5 "/>
<text text-anchor="middle" x="17.5" y="-725.3" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="35,-717.5 35,-740.5 "/>
<text text-anchor="middle" x="62" y="-725.3" font-family="Times,serif" font-size="14.00">deliver</text>
<polyline fill="none" stroke="black" points="89,-717.5 89,-740.5 "/>
<text text-anchor="middle" x="109" y="-725.3" font-family="Times,serif" font-size="14.00">pass</text>
<polyline fill="none" stroke="black" points="129,-717.5 129,-740.5 "/>
<text text-anchor="middle" x="154" y="-725.3" font-family="Times,serif" font-size="14.00">restart</text>
<polyline fill="none" stroke="black" points="179,-717.5 179,-740.5 "/>
<text text-anchor="middle" x="202" y="-725.3" font-family="Times,serif" font-size="14.00">synth</text>
<polyline fill="none" stroke="black" points="225,-717.5 225,-740.5 "/>
<text text-anchor="middle" x="246" y="-725.3" font-family="Times,serif" font-size="14.00">miss</text>
</g>
<!-- lookup2&#45;&gt;deliver -->
<g id="edge23" class="edge"><title>lookup2:deliver:s&#45;&gt;deliver:n</title>
<path fill="none" stroke="green" stroke-width="2" d="M61.5,-717C61.5,-693.862 32.5,-640.138 32.5,-617 32.5,-617 32.5,-617 32.5,-316 32.5,-273.165 204.17,-302.904 230.994,-271.408"/>
<polygon fill="green" stroke="green" stroke-width="2" points="234.288,-272.593 234.5,-262 227.728,-270.148 234.288,-272.593"/>
</g>
<!-- lookup2&#45;&gt;BGFETCH -->
<g id="edge12" class="edge"><title>lookup2:deliver:s&#45;&gt;BGFETCH</title>
<path fill="none" stroke="green" d="M61.5,-717C61.5,-601.47 117.666,-471.946 144.076,-417.428"/>
<polygon fill="green" stroke="green" points="147.37,-418.66 148.641,-408.142 141.088,-415.572 147.37,-418.66"/>
<text text-anchor="middle" x="133.5" y="-551.8" font-family="Times,serif" font-size="14.00">parallel</text>
<text text-anchor="middle" x="133.5" y="-536.8" font-family="Times,serif" font-size="14.00">if obj expired</text>
</g>
<!-- miss -->
<g id="node20" class="node"><title>miss</title>
<polygon fill="none" stroke="black" points="188,-581.5 188,-650.5 403,-650.5 403,-581.5 188,-581.5"/>
<text text-anchor="middle" x="295.5" y="-635.3" font-family="Times,serif" font-size="14.00">cnt_miss:</text>
<polyline fill="none" stroke="black" points="188,-627.5 403,-627.5 "/>
<text text-anchor="middle" x="250.5" y="-612.3" font-family="Times,serif" font-size="14.00">vcl_miss{}</text>
<polyline fill="none" stroke="black" points="313,-604.5 313,-627.5 "/>
<text text-anchor="middle" x="358" y="-612.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="188,-604.5 403,-604.5 "/>
<text text-anchor="middle" x="205.5" y="-589.3" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="223,-581.5 223,-604.5 "/>
<text text-anchor="middle" x="245" y="-589.3" font-family="Times,serif" font-size="14.00">fetch</text>
<polyline fill="none" stroke="black" points="267,-581.5 267,-604.5 "/>
<text text-anchor="middle" x="290" y="-589.3" font-family="Times,serif" font-size="14.00">synth</text>
<polyline fill="none" stroke="black" points="313,-581.5 313,-604.5 "/>
<text text-anchor="middle" x="338" y="-589.3" font-family="Times,serif" font-size="14.00">restart</text>
<polyline fill="none" stroke="black" points="363,-581.5 363,-604.5 "/>
<text text-anchor="middle" x="383" y="-589.3" font-family="Times,serif" font-size="14.00">pass</text>
</g>
<!-- lookup2&#45;&gt;miss -->
<g id="edge24" class="edge"><title>lookup2:miss:s&#45;&gt;miss</title>
<path fill="none" stroke="blue" d="M246.5,-717C246.5,-708.416 241.083,-707.436 239.5,-699 237.042,-685.895 234.17,-681.222 239.5,-669 241.021,-665.511 242.905,-662.151 245.051,-658.935"/>
<polygon fill="blue" stroke="blue" points="247.996,-660.844 251.273,-650.768 242.428,-656.602 247.996,-660.844"/>
<text text-anchor="middle" x="260.5" y="-687.8" font-family="Times,serif" font-size="14.00"> #1799 </text>
<text text-anchor="middle" x="260.5" y="-672.8" font-family="Times,serif" font-size="14.00"> EOL</text>
</g>
<!-- pass -->
<g id="node21" class="node"><title>pass</title>
<polygon fill="none" stroke="black" points="296,-445.5 296,-514.5 471,-514.5 471,-445.5 296,-445.5"/>
<text text-anchor="middle" x="383.5" y="-499.3" font-family="Times,serif" font-size="14.00">cnt_pass:</text>
<polyline fill="none" stroke="black" points="296,-491.5 471,-491.5 "/>
<text text-anchor="middle" x="348" y="-476.3" font-family="Times,serif" font-size="14.00">vcl_pass{}</text>
<polyline fill="none" stroke="black" points="400,-468.5 400,-491.5 "/>
<text text-anchor="middle" x="435.5" y="-476.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="296,-468.5 471,-468.5 "/>
<text text-anchor="middle" x="313.5" y="-453.3" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="331,-445.5 331,-468.5 "/>
<text text-anchor="middle" x="353" y="-453.3" font-family="Times,serif" font-size="14.00">fetch</text>
<polyline fill="none" stroke="black" points="375,-445.5 375,-468.5 "/>
<text text-anchor="middle" x="398" y="-453.3" font-family="Times,serif" font-size="14.00">synth</text>
<polyline fill="none" stroke="black" points="421,-445.5 421,-468.5 "/>
<text text-anchor="middle" x="446" y="-453.3" font-family="Times,serif" font-size="14.00">restart</text>
</g>
<!-- lookup2&#45;&gt;pass -->
<g id="edge25" class="edge"><title>lookup2:pass:s&#45;&gt;pass</title>
<path fill="none" stroke="red" stroke-width="2" d="M108.5,-717C108.5,-649.019 129.916,-628.55 178.5,-581 208.698,-551.444 249.339,-529.153 286.47,-513.206"/>
<polygon fill="red" stroke="red" stroke-width="2" points="287.954,-516.379 295.826,-509.288 285.25,-509.922 287.954,-516.379"/>
</g>
<!-- lookup -->
<g id="node19" class="node"><title>lookup</title>
<polygon fill="none" stroke="grey" points="188,-870.5 188,-939.5 493,-939.5 493,-870.5 188,-870.5"/>
<text text-anchor="middle" x="340.5" y="-924.3" font-family="Times,serif" font-size="14.00" fill="grey">cnt_lookup:</text>
<polyline fill="none" stroke="grey" points="188,-916.5 493,-916.5 "/>
<text text-anchor="middle" x="340.5" y="-901.3" font-family="Times,serif" font-size="14.00" fill="grey">hash lookup</text>
<polyline fill="none" stroke="grey" points="188,-893.5 493,-893.5 "/>
<text text-anchor="middle" x="206.5" y="-878.3" font-family="Times,serif" font-size="14.00" fill="grey">hit?</text>
<polyline fill="none" stroke="grey" points="225,-870.5 225,-893.5 "/>
<text text-anchor="middle" x="249" y="-878.3" font-family="Times,serif" font-size="14.00" fill="grey">miss?</text>
<polyline fill="none" stroke="grey" points="273,-870.5 273,-893.5 "/>
<text text-anchor="middle" x="316.5" y="-878.3" font-family="Times,serif" font-size="14.00" fill="grey">hit&#45;for&#45;miss?</text>
<polyline fill="none" stroke="grey" points="360,-870.5 360,-893.5 "/>
<text text-anchor="middle" x="402.5" y="-878.3" font-family="Times,serif" font-size="14.00" fill="grey">hit&#45;for&#45;pass?</text>
<polyline fill="none" stroke="grey" points="445,-870.5 445,-893.5 "/>
<text text-anchor="middle" x="469" y="-878.3" font-family="Times,serif" font-size="14.00" fill="grey">busy?</text>
</g>
<!-- lookup&#45;&gt;lookup2 -->
<g id="edge22" class="edge"><title>lookup:h:s&#45;&gt;lookup2</title>
<path fill="none" stroke="green" stroke-width="2" d="M206.5,-869C206.5,-850.607 198.806,-833.143 188.414,-817.943"/>
<polygon fill="green" stroke="green" stroke-width="2" points="191.133,-815.732 182.395,-809.74 185.489,-819.873 191.133,-815.732"/>
</g>
<!-- lookup&#45;&gt;lookup -->
<g id="edge18" class="edge"><title>lookup:busy:s&#45;&gt;lookup:top:ne</title>
<path fill="none" stroke="grey" d="M469.5,-870C499,-851 511,-851 511,-905 511,-947.188 503.676,-956.416 497.849,-949.375"/>
<polygon fill="grey" stroke="grey" points="500.883,-947.599 493.5,-940 494.533,-950.544 500.883,-947.599"/>
<text text-anchor="middle" x="541.5" y="-901.3" font-family="Times,serif" font-size="14.00" fill="grey"> waitinglist</text>
</g>
<!-- lookup&#45;&gt;miss -->
<g id="edge19" class="edge"><title>lookup:miss:s&#45;&gt;miss</title>
<path fill="none" stroke="blue" stroke-width="2" d="M248.5,-869C248.5,-840.162 267.913,-837.822 275.5,-810 289.127,-760.029 293.599,-700.461 294.998,-660.851"/>
<polygon fill="blue" stroke="blue" stroke-width="2" points="298.5,-660.833 295.304,-650.732 291.504,-660.621 298.5,-660.833"/>
</g>
<!-- lookup&#45;&gt;miss -->
<g id="edge20" class="edge"><title>lookup:hfm:s&#45;&gt;miss</title>
<path fill="none" stroke="blue" stroke-width="2" d="M316.5,-869C316.5,-780.04 321.132,-757.059 308.5,-669 308.097,-666.193 307.606,-663.318 307.054,-660.431"/>
<polygon fill="blue" stroke="blue" stroke-width="2" points="310.477,-659.702 304.977,-650.647 303.63,-661.155 310.477,-659.702"/>
<text text-anchor="middle" x="347.5" y="-767.3" font-family="Times,serif" font-size="14.00"> req.</text>
<text text-anchor="middle" x="347.5" y="-752.3" font-family="Times,serif" font-size="14.00"> is_hitmiss</text>
</g>
<!-- lookup&#45;&gt;pass -->
<g id="edge21" class="edge"><title>lookup:hfp:s&#45;&gt;pass</title>
<path fill="none" stroke="red" stroke-width="2" d="M402.5,-869C402.5,-740.938 428.927,-707.871 411.5,-581 408.916,-562.187 403.718,-541.927 398.495,-524.595"/>
<polygon fill="red" stroke="red" stroke-width="2" points="401.749,-523.271 395.437,-514.761 395.065,-525.35 401.749,-523.271"/>
<text text-anchor="middle" x="446.5" y="-687.8" font-family="Times,serif" font-size="14.00"> req.</text>
<text text-anchor="middle" x="446.5" y="-672.8" font-family="Times,serif" font-size="14.00"> is_hitpass</text>
</g>
<!-- miss&#45;&gt;FETCH -->
<g id="edge26" class="edge"><title>miss:fetch:s&#45;&gt;FETCH</title>
<path fill="none" stroke="blue" stroke-width="2" d="M244.5,-581C244.5,-523.156 244.5,-455.406 244.5,-418.463"/>
<polygon fill="blue" stroke="blue" stroke-width="2" points="248,-418.032 244.5,-408.032 241,-418.032 248,-418.032"/>
</g>
<!-- miss&#45;&gt;pass -->
<g id="edge27" class="edge"><title>miss:pass:s&#45;&gt;pass</title>
<path fill="none" stroke="red" stroke-width="2" d="M383.5,-581C383.5,-562.741 383.5,-542.607 383.5,-525.22"/>
<polygon fill="red" stroke="red" stroke-width="2" points="387,-524.79 383.5,-514.79 380,-524.79 387,-524.79"/>
</g>
<!-- pass&#45;&gt;FETCH -->
<g id="edge28" class="edge"><title>pass:fetch:s&#45;&gt;FETCH</title>
<path fill="none" stroke="red" stroke-width="2" d="M352.5,-445C352.5,-441.01 314.3,-422.667 283.338,-408.453"/>
<polygon fill="red" stroke="red" stroke-width="2" points="284.562,-405.164 274.011,-404.195 281.655,-411.532 284.562,-405.164"/>
</g>
<!-- pipe -->
<g id="node22" class="node"><title>pipe</title>
<polygon fill="none" stroke="black" points="785.5,-847.5 785.5,-962.5 919.5,-962.5 919.5,-847.5 785.5,-847.5"/>
<text text-anchor="middle" x="852.5" y="-947.3" font-family="Times,serif" font-size="14.00">cnt_pipe:</text>
<polyline fill="none" stroke="black" points="785.5,-939.5 919.5,-939.5 "/>
<text text-anchor="middle" x="852.5" y="-924.3" font-family="Times,serif" font-size="14.00">filter req.*&#45;&gt;bereq.*</text>
<polyline fill="none" stroke="black" points="785.5,-916.5 919.5,-916.5 "/>
<text text-anchor="middle" x="824" y="-889.8" font-family="Times,serif" font-size="14.00">vcl_pipe{}</text>
<polyline fill="none" stroke="black" points="862.5,-870.5 862.5,-916.5 "/>
<text text-anchor="middle" x="891" y="-901.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="862.5,-893.5 919.5,-893.5 "/>
<text text-anchor="middle" x="891" y="-878.3" font-family="Times,serif" font-size="14.00">bereq.*</text>
<polyline fill="none" stroke="black" points="785.5,-870.5 919.5,-870.5 "/>
<text text-anchor="middle" x="805" y="-855.3" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="824.5,-847.5 824.5,-870.5 "/>
<text text-anchor="middle" x="846.5" y="-855.3" font-family="Times,serif" font-size="14.00">pipe</text>
<polyline fill="none" stroke="black" points="868.5,-847.5 868.5,-870.5 "/>
<text text-anchor="middle" x="894" y="-855.3" font-family="Times,serif" font-size="14.00">synth</text>
</g>
<!-- pipe_do -->
<g id="node23" class="node"><title>pipe_do</title>
<ellipse fill="none" stroke="black" cx="872.5" cy="-763.5" rx="95.4188" ry="26.7407"/>
<text text-anchor="middle" x="872.5" y="-767.3" font-family="Times,serif" font-size="14.00">send bereq,</text>
<text text-anchor="middle" x="872.5" y="-752.3" font-family="Times,serif" font-size="14.00">copy bytes until close</text>
</g>
<!-- pipe&#45;&gt;pipe_do -->
<g id="edge29" class="edge"><title>pipe:pipe&#45;&gt;pipe_do</title>
<path fill="none" stroke="orange" stroke-width="2" d="M846.5,-847C846.5,-831.016 850.995,-814.062 856.246,-799.707"/>
<polygon fill="orange" stroke="orange" stroke-width="2" points="859.57,-800.817 859.957,-790.229 853.052,-798.265 859.57,-800.817"/>
</g>
<!-- pipe_do&#45;&gt;DONE -->
<g id="edge30" class="edge"><title>pipe_do&#45;&gt;DONE</title>
<path fill="none" stroke="orange" stroke-width="2" d="M859.947,-736.631C847.255,-708.052 829.5,-660.33 829.5,-617 829.5,-617 829.5,-617 829.5,-90 829.5,-57.4635 794.599,-38.8893 764.85,-28.9668"/>
<polygon fill="orange" stroke="orange" stroke-width="2" points="765.604,-25.5366 755.017,-25.9258 763.536,-32.2241 765.604,-25.5366"/>
</g>
<!-- restart&#45;&gt;recv -->
<g id="edge32" class="edge"><title>restart:ok:s&#45;&gt;recv</title>
<path fill="none" stroke="black" d="M924.5,-1214C924.5,-1200.91 909.442,-1189.71 887.468,-1180.33"/>
<polygon fill="black" stroke="black" points="888.598,-1177.01 878.013,-1176.56 886.004,-1183.51 888.598,-1177.01"/>
</g>
<!-- err_restart -->
<g id="node25" class="node"><title>err_restart</title>
<text text-anchor="middle" x="989.5" y="-1138.3" font-family="Times,serif" font-size="14.00">SYNTH</text>
</g>
<!-- restart&#45;&gt;err_restart -->
<g id="edge33" class="edge"><title>restart:max:s&#45;&gt;err_restart</title>
<path fill="none" stroke="purple" d="M989.5,-1214C989.5,-1199.65 989.5,-1183.67 989.5,-1170.51"/>
<polygon fill="purple" stroke="purple" points="993,-1170.22 989.5,-1160.22 986,-1170.22 993,-1170.22"/>
</g>
<!-- hash&#45;&gt;lookup -->
<g id="edge37" class="edge"><title>hash:lookup:w&#45;&gt;lookup</title>
<path fill="none" stroke="green" stroke-width="2" d="M611.5,-1012C535.089,-1012 454.371,-974.999 401.108,-944.718"/>
<polygon fill="green" stroke="green" stroke-width="2" points="402.555,-941.512 392.145,-939.539 399.052,-947.573 402.555,-941.512"/>
</g>
<!-- hash&#45;&gt;pass -->
<g id="edge39" class="edge"><title>hash:lookup:s&#45;&gt;pass</title>
<path fill="none" stroke="red" stroke-width="2" d="M673.5,-1000C673.5,-970.169 711.159,-986.526 729.5,-963 746.007,-941.827 749.5,-932.848 749.5,-906 749.5,-906 749.5,-906 749.5,-615 749.5,-557.748 589.584,-517.636 481.163,-497.019"/>
<polygon fill="red" stroke="red" stroke-width="2" points="481.64,-493.547 471.166,-495.145 480.35,-500.427 481.64,-493.547"/>
</g>
<!-- hash&#45;&gt;pipe -->
<g id="edge40" class="edge"><title>hash:lookup:e&#45;&gt;pipe</title>
<path fill="none" stroke="orange" stroke-width="2" d="M735.5,-1012C765.412,-1012 791.084,-992.736 810.695,-970.633"/>
<polygon fill="orange" stroke="orange" stroke-width="2" points="813.597,-972.622 817.375,-962.724 808.249,-968.105 813.597,-972.622"/>
</g>
<!-- purge -->
<g id="node27" class="node"><title>purge</title>
<polygon fill="none" stroke="black" points="590,-870.5 590,-939.5 721,-939.5 721,-870.5 590,-870.5"/>
<text text-anchor="middle" x="655.5" y="-924.3" font-family="Times,serif" font-size="14.00">cnt_purge:</text>
<polyline fill="none" stroke="black" points="590,-916.5 721,-916.5 "/>
<text text-anchor="middle" x="632.5" y="-901.3" font-family="Times,serif" font-size="14.00">vcl_purge{}</text>
<polyline fill="none" stroke="black" points="675,-893.5 675,-916.5 "/>
<text text-anchor="middle" x="698" y="-901.3" font-family="Times,serif" font-size="14.00">req.*</text>
<polyline fill="none" stroke="black" points="590,-893.5 721,-893.5 "/>
<text text-anchor="middle" x="607.5" y="-878.3" font-family="Times,serif" font-size="14.00">fail</text>
<polyline fill="none" stroke="black" points="625,-870.5 625,-893.5 "/>
<text text-anchor="middle" x="648" y="-878.3" font-family="Times,serif" font-size="14.00">synth</text>
<polyline fill="none" stroke="black" points="671,-870.5 671,-893.5 "/>
<text text-anchor="middle" x="696" y="-878.3" font-family="Times,serif" font-size="14.00">restart</text>
</g>
<!-- hash&#45;&gt;purge -->
<g id="edge38" class="edge"><title>hash:lookup:s&#45;&gt;purge:top:n</title>
<path fill="none" stroke="purple" stroke-width="2" d="M673.5,-1000C673.5,-976.333 660.085,-969.99 656.417,-951.06"/>
<polygon fill="purple" stroke="purple" stroke-width="2" points="659.894,-950.641 655.5,-941 652.923,-951.277 659.894,-950.641"/>
</g>
</g>
</svg>