summaryrefslogtreecommitdiff
path: root/doc/core/img/deferred-states.svg
diff options
context:
space:
mode:
Diffstat (limited to 'doc/core/img/deferred-states.svg')
-rw-r--r--doc/core/img/deferred-states.svg3
1 files changed, 3 insertions, 0 deletions
diff --git a/doc/core/img/deferred-states.svg b/doc/core/img/deferred-states.svg
new file mode 100644
index 0000000..cc8e8da
--- /dev/null
+++ b/doc/core/img/deferred-states.svg
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 -1 952 869" width="952pt" height="869pt"><metadata xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:date>2010-02-21 23:40Z</dc:date><!-- Produced by OmniGraffle Professional 5.2.1 --></metadata><defs><filter id="Shadow" filterUnits="userSpaceOnUse"><feGaussianBlur in="SourceAlpha" result="blur" stdDeviation="3.488"/><feOffset in="blur" result="offset" dx="0" dy="4"/><feFlood flood-color="black" flood-opacity=".75" result="flood"/><feComposite in="flood" in2="offset" operator="in"/></filter><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="black"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 1</title><rect fill="white" width="943" height="859"/><g><title>Layer 1</title><g><use xl:href="#id34_Graphic" filter="url(#Shadow)"/><use xl:href="#id5_Graphic" filter="url(#Shadow)"/><use xl:href="#id7_Graphic" filter="url(#Shadow)"/><use xl:href="#id27_Graphic" filter="url(#Shadow)"/><use xl:href="#id43_Graphic" filter="url(#Shadow)"/><use xl:href="#id44_Graphic" filter="url(#Shadow)"/><use xl:href="#id55_Graphic" filter="url(#Shadow)"/><use xl:href="#id79_Graphic" filter="url(#Shadow)"/></g><g id="id34_Graphic"><ellipse cx="239.63925" cy="106.633636" rx="51.00007" ry="20.000038" fill="white"/><ellipse cx="239.63925" cy="106.633636" rx="51.00007" ry="20.000038" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(203.83925 92.63363)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="16.458202" y="11" textLength="21.339844">Unfi</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="37.798046" y="11" textLength="17.34375">red</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="1.1183586" y="25" textLength="69.36328">No Canceller</tspan></text></g><g id="id5_Graphic"><ellipse cx="165.63925" cy="584.63367" rx="57.500095" ry="26.000063" fill="white"/><ellipse cx="165.63925" cy="584.63367" rx="57.500095" ry="26.000063" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(124.639244 570.63367)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="5.9785156" y="11" textLength="73.376953">Synchronous </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x="23.993164" y="25" textLength="34.013672">Result</tspan></text></g><g id="id7_Graphic"><ellipse cx="608.9178" cy="528.56982" rx="69.00013" ry="31.957996" fill="white"/><ellipse cx="608.9178" cy="528.56982" rx="69.00013" ry="31.957996" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(558.71777 521.56976)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".17851639" y="11" textLength="100.04297">Synchronous Error</tspan></text></g><path d="M 240.43747 127.13095 C 243.32816 201.3608 260.02661 277.95673 249.11038 349.84274 C 238.68134 418.52057 203.04144 482.93884 178.32253 549.1927" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 251.42224 126.549065 C 288.27274 188.83333 307.86975 251.1824 361.98477 313.42053 C 414.2224 373.49948 498.65482 433.50983 568.65564 493.54248" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="219.78763" y="324.83887" width="62" height="24" fill="white"/><text transform="translate(224.78763 329.83887)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".32714844" y="11" textLength="51.345703">callback()</tspan></text><rect x="313.9862" y="278.44937" width="59" height="24" fill="white"/><text transform="translate(318.9862 283.44937)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".4970703" y="11" textLength="48.00586">errback()</tspan></text><line x1="277.42453" y1="120.438515" x2="517.71863" y2="208.23016" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="395.30939" y="161.18964" width="53" height="24" fill="white"/><text transform="translate(400.30939 166.18964)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".16015625" y="11" textLength="42.679688">cancel()</tspan></text><path d="M 159.00711 558.31494 C 144.4371 500.496 113.50804 416.50674 115.292725 384.84082 C 117.07741 353.1749 161.24283 339.42096 169.71629 368.30038 C 177.75905 395.71185 168.38503 485.11023 166.39159 548.2332" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="68.465515" y="328.755" width="138" height="52" fill="white"/><text transform="translate(73.465515 333.755)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="18.639648" y="11" textLength="90.720703">invoke user code</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".29101562" y="25" textLength="127.41797">added with addCallback</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="17.640625" y="39" textLength="92.71875">that returns value</tspan></text><path d="M 546.85925 514.01202 C 524.109 508.67526 503.64008 496.9103 478.60172 498.00012 C 453.56335 499.08994 423.941 513.03003 396.61398 520.5515 C 369.28696 528.073 344.87448 534.74982 314.6232 543.13367 C 287.24933 550.7201 255.07932 559.71246 224.62679 568.20135" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="354.86337" y="498.65527" width="103" height="38" fill="white"/><text transform="translate(359.86337 503.65527)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="5.8125" y="11" textLength="81.375">invoke callback</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".140625" y="25" textLength="92.71875">that returns value</tspan></text><path d="M 146.4648 609.59656 C 127.38432 634.43707 98.757896 685.20398 89.21766 684.1256 C 79.67742 683.04724 85.01394 617.64142 89.21766 603.1256 C 91.945145 593.70734 98.213043 594.7976 104.57533 596.1692" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="9.500664" y="631.5583" width="149" height="38" fill="white"/><text transform="translate(14.500664 636.5583)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="43.827148" y="11" textLength="51.345703">callback()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".4736328" y="25" textLength="33.339844">(raise </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="33.157227" y="25" textLength="105.36914">AlreadyCalledError)</tspan></text><g id="id27_Graphic"><ellipse cx="583.5811" cy="232.29474" rx="65.500122" ry="39.66116" fill="white"/><ellipse cx="583.5811" cy="232.29474" rx="65.500122" ry="39.66116" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(536.1811 204.29474)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="12.378517" y="11" textLength="73.376953">Synchronous </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="34.066994" y="25" textLength="26.666016">Error</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="16.881447" y="39" textLength="64.371094">+ Suppress </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="10.046486" y="53" textLength="74.70703">AlreadyCalled</tspan></text></g><path d="M 542.61957 263.74374 C 519.5946 281.42157 465.79904 277.82715 473.5378 316.78256 C 480.92667 353.97662 544.4154 429.981 583.654 489.20453" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="398.86932" y="278.41492" width="154" height="38" fill="white"/><text transform="translate(403.86932 283.41492)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="47.99707" y="11" textLength="48.00586">errback()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".3046875" y="25" textLength="143.390625">(no-op, discard other error)</tspan></text><path d="M 614.46655 267.7644 C 635.61487 292.05173 676.88593 302.49948 677.9178 340.63364 C 678.88934 376.53894 644.1884 437.00916 624.19873 487.34406" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="610.0517" y="349.84274" width="127" height="38" fill="white"/><text transform="translate(615.0517 354.84274)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="32.827148" y="11" textLength="51.345703">callback()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".4716797" y="25" textLength="116.05664">(no-op, discard value)</tspan></text><path d="M 865.07477 277.16257 C 837.2231 312.98267 794.7537 329.3515 781.5113 384.63364 C 768.84692 437.50256 782.9063 525.99194 785.3534 598.9937" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="796.4464" y="306.68784" width="53" height="24" fill="white"/><text transform="translate(801.4464 311.68784)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".16015625" y="11" textLength="42.679688">cancel()</tspan></text><g id="id43_Graphic"><ellipse cx="880.2593" cy="257.63364" rx="51.000122" ry="20.000027" fill="white"/><ellipse cx="880.2593" cy="257.63364" rx="51.000122" ry="20.000027" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(844.45935 243.63364)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="2.7912102" y="11" textLength="21.339844">Unfi</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="24.131054" y="11" textLength="48.01172">red With </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="10.4552727" y="25" textLength="50.689453">Canceller</tspan></text></g><g id="id44_Graphic"><ellipse cx="652.27655" cy="35.647697" rx="51.000122" ry="20.000032" fill="white"/><ellipse cx="652.27655" cy="35.647697" rx="51.000122" ry="20.000032" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(616.47656 21.647697)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="10.789257" y="11" textLength="53.35547">Does Not </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="22.798046" y="25" textLength="26.003906">Exist</tspan></text></g><path d="M 684.58026 51.48888 C 727.7895 72.677933 783.1651 84.063606 814.2209 115.062386 C 843.01117 143.799835 850.91644 189.40921 866.9766 228.42392" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 601.12073 37.995434 C 537.89252 40.89722 465.22925 37.506042 411.41708 46.701664 C 361.41751 55.245777 327.66455 74.66111 287.52023 89.79429" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="384.8317" y="33.75193" width="65" height="24" fill="white"/><text transform="translate(389.8317 38.75193)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".16015625" y="11" textLength="54.679688">Deferred()</tspan></text><rect x="734.8824" y="117.07918" width="182" height="24" fill="white"/><text transform="translate(739.8824 122.07918)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="black" x=".13378906" y="11" textLength="171.73242">Deferred(canceller=myFunction)</tspan></text><path d="M 154.78345 558.62067 C 143.58713 531.7917 134.88046 484.20755 121.191124 478.12564 C 107.50179 472.04373 70.650887 508.01828 72.639236 522.1256 C 74.37477 534.43927 103.80231 545.9059 124.66333 557.63324" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="62.292725" y="475.72116" width="53" height="38.00003" fill="white"/><text transform="translate(67.292725 480.72116)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".16015625" y="11" textLength="42.679688">cancel()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="2.1582031" y="25" textLength="38.683594">(no-op)</tspan></text><path d="M 675.53845 519.35144 C 691.08 517.20093 717.54523 522.37872 722.1678 512.8993 C 726.79034 503.4199 715.73834 464.34906 703.27655 462.4693 C 692.5027 460.84415 672.50806 481.53854 655.2522 495.60666" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="693.9308" y="470.06503" width="53" height="38" fill="white"/><text transform="translate(698.9308 475.06503)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".16015625" y="11" textLength="42.679688">cancel()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="2.1582031" y="25" textLength="38.683594">(no-op)</tspan></text><g id="id55_Graphic"><ellipse cx="482.63913" cy="710.63367" rx="63.500114" ry="26.000063" fill="white"/><ellipse cx="482.63913" cy="710.63367" rx="63.500114" ry="26.000063" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(436.83914 696.63367)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="17.67207" y="11" textLength="11.326172">W</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="28.558788" y="11" textLength="48.703125">aiting on </tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".43964767" y="25" textLength="90.720703">another Deferred</tspan></text></g><path d="M 209.08551 602.09143 L 285.13278 632.64917 L 347.77994 657.3728 L 427.26218 688.7633" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="280.41714" y="637.63763" width="131" height="38" fill="white"/><text transform="translate(285.41714 642.63763)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="15.139648" y="11" textLength="90.720703">invoke user code</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".13671875" y="25" textLength="120.72656">that returns a Deferred</tspan></text><path d="M 568.87152 555.01324 C 540.79688 573.5515 498.9215 589.1156 484.6392 610.63367 C 472.25235 629.29596 480.6141 652.44653 482.73215 674.24408" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="434.83826" y="576.12885" width="131" height="38" fill="white"/><text transform="translate(439.83826 581.12885)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="15.139648" y="11" textLength="90.720703">invoke user code</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".13671875" y="25" textLength="120.72656">that returns a Deferred</tspan></text><path d="M 452.45026 733.90747 C 429.87482 751.31177 382.742 770.89917 384.7172 786.1256 C 386.4858 799.7595 427.62817 809.90436 455.25803 821.24493" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="388.5693" y="745.3466" width="53" height="24" fill="white"/><text transform="translate(393.5693 750.3466)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".16015625" y="11" textLength="42.679688">cancel()</tspan></text><path d="M 384.65698 785.1944 C 357.65372 793.17065 333.47244 811.30353 303.63913 809.1256 C 273.80582 806.9477 227.6994 805.1427 205.63925 772.1256 C 184.88138 741.0576 182.89703 673.3456 173.18976 620.71753" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="121.24072" y="744.52844" width="153" height="24" fill="white"/><text transform="translate(126.24072 749.52844)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".4638672" y="11" textLength="142.072266">sub-deferred gives a result</tspan></text><path d="M 384.7172 786.1256 C 521.94653 753.81525 753.54895 727.36633 796.4464 689.1848 C 837.35297 652.77533 706.68738 605.67615 649.87036 563.1833" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="704.6239" y="686.4107" width="155" height="24" fill="white"/><text transform="translate(709.6239 691.4107)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".130859375" y="11" textLength="144.73828">sub-deferred gives an error</tspan></text><g id="id79_Graphic"><circle cx="475.86932" cy="830.9652" r="12.3870745" fill="white"/><circle cx="475.86932" cy="830.9652" r="12.3870745" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/></g><path d="M 488.53668 828.58936 C 530.2334 820.76886 609.3293 820.9651 613.63934 805.1256 C 617.62073 790.4942 557.7912 762.1718 522.5708 739.1314" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="504.27307" y="794.09607" width="218" height="24" fill="white"/><text transform="translate(509.27307 799.09607)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".27148438" y="11" textLength="207.45703">sub-deferred waits on another deferred</tspan></text><path d="M 619.2704 198.54285 C 638.81757 180.05676 658.65106 138.87544 677.9178 143.07907 C 697.1845 147.2827 739.65155 209.5166 734.8824 223.76712 C 730.62415 236.491 688.4826 229.05707 659.19812 228.46265" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="690.22546" y="162.56232" width="53" height="38" fill="white"/><text transform="translate(695.22546 167.56232)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".16015625" y="11" textLength="42.679688">cancel()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="2.1582031" y="25" textLength="38.683594">(no-op)</tspan></text><path d="M 835.5697 267.7302 C 680.54077 302.75528 478.18283 324.035 370.43637 372.81592 C 266.8172 419.72824 250.6402 492.10233 195.77448 553.20007" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="308.44598" y="377.05264" width="62" height="24" fill="white"/><text transform="translate(313.44598 382.05264)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".32714844" y="11" textLength="51.345703">callback()</tspan></text><path d="M 879.15765 278.12851 C 873.2046 388.87375 896.83124 565.581 861.2967 610.39746 C 827.4226 653.1197 739.76782 576.01385 675.2422 550.42566" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="806.2241" y="610.99994" width="59" height="24" fill="white"/><text transform="translate(811.2241 615.99994)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".4970703" y="11" textLength="48.00586">errback()</tspan></text><path d="M 776.9486 417.86966 C 686.0307 426.38492 592.25293 432.92642 504.1676 443.41797 C 419.45862 453.50739 339.96509 467.25562 258.17505 479.38318" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="327.14407" y="432.20013" width="138" height="52" fill="white"/><text transform="translate(332.14407 437.20013)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="42.660156" y="11" textLength="42.679688">cancel()</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".30859375" y="25" textLength="127.38281">(with canceller that calls</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="36.329102" y="39" textLength="55.341797">callback())</tspan></text><path d="M 223.63176 584.20825 C 255.7534 583.97266 266.52045 590.73486 320.00632 583.50134 C 371.20312 576.5774 461.56976 556.82605 534.85626 542.66675" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="294.61975" y="552.19177" width="118" height="52" fill="white"/><text transform="translate(299.61975 557.19177)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="8.6396484" y="11" textLength="90.720703">invoke user code</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="25" textLength="107.378906">that returns Failure /</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="9.9785156" y="39" textLength="88.04297">raises Exception</tspan></text><path d="M 603.0141 560.90674 C 597.15417 593.00348 578.55408 642.6284 585.4326 657.20667 C 592.31116 671.7849 637.78595 664.54333 644.28943 648.38507 C 650.11395 633.9137 634.90002 598.23065 626.91156 569.83502" marker-end="url(#FilledArrow_Marker)" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><rect x="556.41516" y="638.25708" width="118" height="52" fill="white"/><text transform="translate(561.41516 643.25708)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="8.6396484" y="11" textLength="90.720703">invoke user code</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x=".31054688" y="25" textLength="107.378906">that returns Failure /</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="9.9785156" y="39" textLength="88.04297">raises Exception</tspan></text></g></g></svg>