wegen/FrOSCon26/drawings/state-engine.svg

333 lines
12 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generated by graphviz version 2.42.4 (0)
-->
<!-- Title: BuffState Pages: 1 -->
<svg
width="14.58cm"
height="12.09cm"
viewBox="0 0 499.99993 414.609"
version="1.1"
id="svg15"
sodipodi:docname="state-engine.svg"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
inkscape:export-filename="../../state-engine.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<title
id="title19">Buffer State Engine</title>
<defs
id="defs15">
<marker
style="overflow:visible"
id="DartArrow"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="Dart arrow"
markerWidth="2"
markerHeight="2"
viewBox="0 0 1 1"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
style="fill:context-stroke;fill-rule:evenodd;stroke:none"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
transform="scale(-0.5)"
id="path17" />
</marker>
</defs>
<sodipodi:namedview
id="namedview15"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="pt"
inkscape:zoom="1.405605"
inkscape:cx="276.74916"
inkscape:cy="231.57288"
inkscape:window-width="1920"
inkscape:window-height="1057"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg15" />
<g
id="states">
<text
text-anchor="middle"
x="249.59398"
y="25.655668"
font-family="sans-serif"
font-size="14px"
id="title"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.098px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-anchor:middle"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.7274px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"
id="tspan19">Life-cycle of one buffer »slot«</tspan></text>
<g
id="n_FREE"
class="node"
transform="translate(24.658154,175.59834)">
<title
id="title2">FREE</title>
<circle
fill="#dbe9ff"
stroke="#000000"
stroke-width="1.4"
cx="32.5"
cy="-94.440002"
id="ellipse2"
r="32.5" />
<text
text-anchor="middle"
x="32.251896"
y="-89.148308"
font-family="sans-serif"
font-size="12px"
id="text2"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.5176px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">FREE</text>
</g>
<g
id="n_READ"
class="node"
transform="translate(24.658154,175.59834)">
<title
id="title3">READ</title>
<circle
fill="#ffedcc"
stroke="#000000"
stroke-width="1.4"
cx="275.5"
cy="-94.440002"
id="ellipse3"
r="32.5" />
<text
text-anchor="middle"
x="275.21646"
y="-89.148308"
font-family="sans-serif"
font-size="12px"
id="text3"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.5176px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">READ</text>
</g>
<g
id="trans1">
<path
fill="none"
stroke="#000000"
d="m 87.085885,80.512765 c 43.030005,0 120.260005,0 167.980005,0"
id="path4"
style="marker-end:url(#DartArrow)" />
<text
text-anchor="start"
x="106.36691"
y="70.385902"
font-family="sans-serif"
font-size="10px"
id="text4"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.098px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"> submit read</text>
</g>
<g
id="n_FEED"
class="node"
transform="translate(-67.657974,376.80046)">
<title
id="title5">FEED</title>
<circle
fill="#d8f0d8"
stroke="#000000"
stroke-width="1.4"
cx="503.5"
cy="-146.44"
id="ellipse5"
r="32.5" />
<text
text-anchor="middle"
x="503.21646"
y="-141.14832"
font-family="sans-serif"
font-size="12px"
id="text6"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.5176px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">FEED</text>
</g>
<g
id="trans2">
<path
fill="none"
stroke="#000000"
d="m 319.19681,114.06351 83.22759,78.77542"
id="path6"
style="marker-end:url(#DartArrow)"
sodipodi:nodetypes="cc" />
<text
text-anchor="start"
x="349.29718"
y="130.00645"
font-family="sans-serif"
font-size="10px"
id="text7"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.098px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"> read completed OK</text>
</g>
<g
id="n_STOP"
class="node"
transform="translate(-243.89786,291.80046)">
<title
id="title8">STOP</title>
<circle
fill="#ffd6d6"
stroke="#000000"
stroke-width="1.4"
cx="503.5"
cy="-61.439999"
id="ellipse8"
r="30.5" />
<circle
fill="none"
stroke="#000000"
stroke-width="1.4"
cx="503.5"
cy="-61.439999"
id="ellipse9"
r="34.5" />
<text
text-anchor="middle"
x="503.26962"
y="-56.155396"
font-family="sans-serif"
font-size="12px"
id="text9"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.5176px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">STOP</text>
</g>
<g
id="trans2b">
<path
fill="none"
stroke="#a00000"
d="m 291.90741,119.31784 -16.7975,65.95858"
id="path9"
style="marker-end:url(#DartArrow)"
sodipodi:nodetypes="cc" />
<text
text-anchor="middle"
x="229.81686"
y="130.70351"
font-family="sans-serif"
font-size="10px"
fill="#a00000"
id="text10"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.098px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"> short read / EOF  </text>
</g>
<g
id="n_SHOW"
class="node"
transform="translate(-391.73278,519.04016)">
<title
id="title10">SHOW</title>
<circle
fill="#e7d8ff"
stroke="#000000"
stroke-width="1.4"
cx="721.5"
cy="-146.44"
id="ellipse10"
r="32.5" />
<text
text-anchor="middle"
x="721.25897"
y="-141.1554"
font-family="sans-serif"
font-size="12px"
id="text11"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14.5176px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">SHOW</text>
</g>
<g
id="trans3">
<path
fill="none"
stroke="#000000"
d="m 415.77635,262.20872 -54.50862,73.59436"
id="path11"
style="marker-end:url(#DartArrow)"
sodipodi:nodetypes="cc" />
<text
text-anchor="start"
x="392.15256"
y="311.47485"
font-family="sans-serif"
font-size="10px"
id="text12"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.098px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"> publish frame</text>
</g>
<g
id="trans4">
<path
fill="none"
stroke="#5a2ca0"
d="M 289.50247,374.18644 C 66.708689,375.12887 57.253166,296.77982 56.31298,127.42887"
id="path13"
style="marker-end:url(#DartArrow)"
sodipodi:nodetypes="cc" />
<text
text-anchor="start"
x="93.769241"
y="367.90442"
font-family="sans-serif"
font-size="10px"
fill="#5a2ca0"
id="text14"
style="font-size:10px;font-family:sans-serif;text-align:center;text-anchor:middle;fill:#5a2ca0"><tspan
sodipodi:role="line"
id="tspan17"
x="93.769241"
y="367.90442"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.098px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">GUI released frame</tspan><tspan
sodipodi:role="line"
id="tspan18"
x="93.769241"
y="383.02692"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.098px;font-family:'DejaVu Sans';-inkscape-font-specification:'DejaVu Sans, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal"> (toDisplay_ == nullptr)</tspan></text>
</g>
</g>
<metadata
id="metadata19">
<rdf:RDF>
<cc:Work
rdf:about="">
<cc:license
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
<dc:title>Buffer State Engine</dc:title>
<dc:description>State transitions applied for each buffer slot</dc:description>
</cc:Work>
<cc:License
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Notice" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#Attribution" />
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
<cc:requires
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
</cc:License>
</rdf:RDF>
</metadata>
</svg>