trAvis - MANAGER
Edit File: 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="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 895,-1309 895,4 -4,4"/> <g id="clust3" class="cluster"><title>cluster_backend</title> <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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="edge4" class="edge"><title>deliver:deliver:s->V1D_Deliver</title> <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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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>