Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / request / frtrequest / urtFrtRequestSubmit.svg @ 17d978fe

History | View | Annotate | Download (42.184 KB)

1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1160px" preserveAspectRatio="none" style="width:5567px;height:1160px;" version="1.1" viewBox="0 0 5567 1160" width="5567px" zoomAndPan="magnify"><defs><filter height="300%" id="f8kcslisgc5v1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="2738" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="199" x="2683" y="47.6611">urtFrtRequestSubmit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="2785.5" y="68.6143"/><path d="M2642.5,72.8594 L2642.5,259.3203 L2958.5,259.3203 L2958.5,82.8594 L2948.5,72.8594 L2642.5,72.8594 " fill="#FBFB77" filter="url(#f8kcslisgc5v1)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2948.5,72.8594 L2948.5,82.8594 L2958.5,82.8594 L2948.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="2642.5" x2="2708.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2712.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="2712.5" y="89.4263">request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="2773.5" y="89.4263">: urt_frtrequest_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2892.5" x2="2958.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="2648.5" y="105.0591">The request to be used for this call.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="2648.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="2728.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2760.5" y="120.1919">.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="210" x="2648.5" y="135.3247">Must have been acquired before.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2642.5" x2="2720" y1="145.957" y2="145.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2724" y="149.9575"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="2724" y="149.9575">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="2780" y="149.9575">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2881" x2="2958.5" y1="145.957" y2="145.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="2648.5" y="165.5903">The service to be called.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="2648.5" y="180.7231">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="2728.5" y="180.7231">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2760.5" y="180.7231">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2642.5" x2="2723" y1="191.3555" y2="191.3555"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2727" y="195.356"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="2727" y="195.356">deadline</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="2795" y="195.356">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2878" x2="2958.5" y1="191.3555" y2="191.3555"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="295" x="2648.5" y="210.9888">Deadline offset until when this request is valid.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2642.5" x2="2958.5" y1="219.0547" y2="219.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="2642.5" x2="2958.5" y1="221.0547" y2="221.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="2642.5" x2="2729.5" y1="231.6211" y2="231.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2733.5" y="235.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="2733.5" y="235.6216">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="2782.5" y="235.6216">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2871.5" x2="2958.5" y1="231.6211" y2="231.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="2648.5" y="251.2544">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="2745.5" y="251.2544">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2849.5" y="251.2544">.</text><ellipse cx="2800.5" cy="289.3203" fill="#000000" filter="url(#f8kcslisgc5v1)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="2688.5" y="319.3203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="2698.5" y="340.459">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="2722.5" y="340.459">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="78" x="2824.5" y="340.459">to argument</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="2754" y="373.2891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="2764" y="394.4277">lock service</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="5546" x="10" y="427.2578"/><rect fill="#FFFFFF" filter="url(#f8kcslisgc5v1)" height="472.7383" style="stroke: #000000; stroke-width: 2.0;" width="5285" x="22" y="444.0596"/><path d="M153,445.0596 L153,453.3564 L143,463.3564 L22,463.3564 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="25" y="458.0547">enqueue request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="5265" x="32" y="480.3564"/><polygon fill="#FEFECE" filter="url(#f8kcslisgc5v1)" points="3247.5,506.3564,3431.5,506.3564,3443.5,518.3564,3431.5,530.3564,3247.5,530.3564,3235.5,518.3564,3247.5,506.3564" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="184" x="3247.5" y="522.1646">Service already holds requests?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="3215.5" y="515.7622">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="3443.5" y="515.7622">no</text><polygon fill="#FEFECE" filter="url(#f8kcslisgc5v1)" points="678.5,565.3564,928.5,565.3564,940.5,577.3564,928.5,589.3564,678.5,589.3564,666.5,577.3564,678.5,565.3564" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="807.5" y="599.5669">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="250" x="678.5" y="581.1646">Service already holds FRT or SRT requests?</text><rect fill="#FFFFFF" filter="url(#f8kcslisgc5v1)" height="206.6367" style="stroke: #000000; stroke-width: 2.0;" width="1493" x="56" y="622.1611"/><path d="M267,623.1611 L267,631.458 L257,641.458 L56,641.458 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="201" x="59" y="636.1563">append to FRT/SRT requests</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="249" x="679" y="658.458"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="229" x="689" y="679.5967">access last queued FRT/SRT request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1473" x="66" y="727.4268"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="387" x="80" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="90" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="114" y="774.5654">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="158" x="146" y="774.5654">pointer of this request to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="308" y="774.5654">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="340" y="774.5654">of queued request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="355" x="477" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="487" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="511" y="774.5654">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="279" x="543" y="774.5654">pointer of this request to of queued request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="860" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="870" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="894" y="774.5654">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="926" y="774.5654">pointer of queued request to this request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="318" x="1209" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1219" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1243" y="774.5654">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="242" x="1275" y="774.5654">pointer of next request to this request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1473" x="66" y="807.3955"/><polygon fill="#FEFECE" filter="url(#f8kcslisgc5v1)" points="2201.5,565.3564,2411.5,565.3564,2423.5,577.3564,2411.5,589.3564,2201.5,589.3564,2189.5,577.3564,2201.5,565.3564" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2310.5" y="599.5669">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="2201.5" y="581.1646">Service already holds HRT requests?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2423.5" y="574.7622">no</text><rect fill="#FFFFFF" filter="url(#f8kcslisgc5v1)" height="206.6367" style="stroke: #000000; stroke-width: 2.0;" width="1511" x="1559" y="622.1611"/><path d="M1786,623.1611 L1786,631.458 L1776,641.458 L1559,641.458 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="217" x="1562" y="636.1563">enqueue after last HRT request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="2194.5" y="658.458"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="204" x="2204.5" y="679.5967">access last queued HRT request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1491" x="1569" y="727.4268"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="387" x="1583" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1593" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1617" y="774.5654">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="158" x="1649" y="774.5654">pointer of this request to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1811" y="774.5654">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1843" y="774.5654">of queued request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="355" x="1980" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1990" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="2014" y="774.5654">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="279" x="2046" y="774.5654">pointer of this request to of queued request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="2363" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="2373" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="2397" y="774.5654">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="2429" y="774.5654">pointer of queued request to this request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="318" x="2730" y="753.4268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="2740" y="774.5654">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="2764" y="774.5654">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="242" x="2796" y="774.5654">pointer of next request to this request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1491" x="1569" y="807.3955"/><rect fill="#FFFFFF" filter="url(#f8kcslisgc5v1)" height="206.6367" style="stroke: #000000; stroke-width: 2.0;" width="1099.5" x="3080" y="618.7588"/><path d="M3316,619.7588 L3316,628.0557 L3306,638.0557 L3080,638.0557 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="226" x="3083" y="632.7539">enqueue in fron of NRT requests</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="3539.5" y="655.0557"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="177" x="3549.5" y="676.1943">access first queued request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1079.5" x="3090" y="724.0244"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="3104" y="750.0244"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="3114" y="771.1631">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="3138" y="771.1631">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="3170" y="771.1631">pointer of this request to queued request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="3467.5" y="750.0244"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="3477.5" y="771.1631">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="3501.5" y="771.1631">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="3533.5" y="771.1631">pointer of queued request to this request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="341" x="3816.5" y="750.0244"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="3826.5" y="771.1631">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="3875.5" y="771.1631">requestQueue_front</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="4005.5" y="771.1631">pointer to this request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1079.5" x="3090" y="803.9932"/><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="723.5" x="4189.5" y="540.3564"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="341" x="4201.5" y="566.3564"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="4211.5" y="587.4951">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="4260.5" y="587.4951">requestQueue_front</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="4390.5" y="587.4951">pointer to this request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="334" x="4567" y="566.3564"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="4577" y="587.4951">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="4626" y="587.4951">requestQueue_back</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="4749" y="587.4951">pointer to this request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="723.5" x="4189.5" y="620.3252"/><polygon fill="#FEFECE" filter="url(#f8kcslisgc5v1)" points="3339.5,854.7979,3351.5,866.7979,3339.5,878.7979,3327.5,866.7979,3339.5,854.7979" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="362" x="4923" y="705.3916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="4933" y="726.5303">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="4982" y="726.5303">requestQueue_fsrtBack</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="5133" y="726.5303">pointer to this request</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="5265" x="32" y="898.7979"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="5317" y="697.2432"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="207" x="5327" y="718.3818">set the service as request owner</text><rect fill="#000000" filter="url(#f8kcslisgc5v1)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="5546" x="10" y="936.7979"/><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="2743.5" y="962.7979"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="2753.5" y="983.9365">unlock request</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="2725.5" y="1016.7666"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="130" x="2735.5" y="1037.9053">fire event (@service)</text><rect fill="#FEFECE" filter="url(#f8kcslisgc5v1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="2746" y="1070.7354"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="89" x="2756" y="1091.874">unlock service</text><path d="M2587.5,1123.1377 L2587.5,1148.2705 A0,0 0 0 0 2587.5,1148.2705 L2769.5,1148.2705 A0,0 0 0 0 2769.5,1148.2705 L2769.5,1141.1377 L2789.5,1135.7041 L2769.5,1133.1377 L2769.5,1133.1377 L2759.5,1123.1377 L2587.5,1123.1377 A0,0 0 0 0 2587.5,1123.1377 " fill="#FBFB77" filter="url(#f8kcslisgc5v1)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2759.5,1123.1377 L2759.5,1133.1377 L2769.5,1133.1377 L2759.5,1123.1377 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2593.5" y="1140.2046">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="2646.5" y="1140.2046">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2750.5" y="1140.2046">.</text><ellipse cx="2800.5" cy="1135.7041" fill="#FFFFFF" filter="url(#f8kcslisgc5v1)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2800.5" cy="1135.7041" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="259.3203" y2="279.3203"/><polygon fill="#A80036" points="2796.5,269.3203,2800.5,279.3203,2804.5,269.3203,2800.5,273.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="299.3203" y2="319.3203"/><polygon fill="#A80036" points="2796.5,309.3203,2800.5,319.3203,2804.5,309.3203,2800.5,313.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="353.2891" y2="373.2891"/><polygon fill="#A80036" points="2796.5,363.2891,2800.5,373.2891,2804.5,363.2891,2800.5,367.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="273.5" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="269.5,743.4268,273.5,753.4268,277.5,743.4268,273.5,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="654.5" x2="654.5" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="650.5,743.4268,654.5,753.4268,658.5,743.4268,654.5,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1029.5" x2="1029.5" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="1025.5,743.4268,1029.5,753.4268,1033.5,743.4268,1029.5,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1368" x2="1368" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="1364,743.4268,1368,753.4268,1372,743.4268,1368,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="273.5" x2="273.5" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="269.5,797.3955,273.5,807.3955,277.5,797.3955,273.5,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="654.5" x2="654.5" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="650.5,797.3955,654.5,807.3955,658.5,797.3955,654.5,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1029.5" x2="1029.5" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="1025.5,797.3955,1029.5,807.3955,1033.5,797.3955,1029.5,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1368" x2="1368" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="1364,797.3955,1368,807.3955,1372,797.3955,1368,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.5" x2="803.5" y1="692.4268" y2="727.4268"/><polygon fill="#A80036" points="799.5,717.4268,803.5,727.4268,807.5,717.4268,803.5,721.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1776.5" x2="1776.5" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="1772.5,743.4268,1776.5,753.4268,1780.5,743.4268,1776.5,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2157.5" x2="2157.5" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="2153.5,743.4268,2157.5,753.4268,2161.5,743.4268,2157.5,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2532.5" x2="2532.5" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="2528.5,743.4268,2532.5,753.4268,2536.5,743.4268,2532.5,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2889" x2="2889" y1="733.4268" y2="753.4268"/><polygon fill="#A80036" points="2885,743.4268,2889,753.4268,2893,743.4268,2889,747.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1776.5" x2="1776.5" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="1772.5,797.3955,1776.5,807.3955,1780.5,797.3955,1776.5,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2157.5" x2="2157.5" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="2153.5,797.3955,2157.5,807.3955,2161.5,797.3955,2157.5,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2532.5" x2="2532.5" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="2528.5,797.3955,2532.5,807.3955,2536.5,797.3955,2532.5,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2889" x2="2889" y1="787.3955" y2="807.3955"/><polygon fill="#A80036" points="2885,797.3955,2889,807.3955,2893,797.3955,2889,801.3955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2306.5" x2="2306.5" y1="692.4268" y2="727.4268"/><polygon fill="#A80036" points="2302.5,717.4268,2306.5,727.4268,2310.5,717.4268,2306.5,721.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3273.5" x2="3273.5" y1="730.0244" y2="750.0244"/><polygon fill="#A80036" points="3269.5,740.0244,3273.5,750.0244,3277.5,740.0244,3273.5,744.0244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3637" x2="3637" y1="730.0244" y2="750.0244"/><polygon fill="#A80036" points="3633,740.0244,3637,750.0244,3641,740.0244,3637,744.0244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3987" x2="3987" y1="730.0244" y2="750.0244"/><polygon fill="#A80036" points="3983,740.0244,3987,750.0244,3991,740.0244,3987,744.0244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3273.5" x2="3273.5" y1="783.9932" y2="803.9932"/><polygon fill="#A80036" points="3269.5,793.9932,3273.5,803.9932,3277.5,793.9932,3273.5,797.9932" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3637" x2="3637" y1="783.9932" y2="803.9932"/><polygon fill="#A80036" points="3633,793.9932,3637,803.9932,3641,793.9932,3637,797.9932" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3987" x2="3987" y1="783.9932" y2="803.9932"/><polygon fill="#A80036" points="3983,793.9932,3987,803.9932,3991,793.9932,3987,797.9932" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3638" x2="3638" y1="689.0244" y2="724.0244"/><polygon fill="#A80036" points="3634,714.0244,3638,724.0244,3642,714.0244,3638,718.0244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.5" x2="803.5" y1="589.3564" y2="658.458"/><polygon fill="#A80036" points="799.5,648.458,803.5,658.458,807.5,648.458,803.5,652.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.5" x2="803.5" y1="813.3955" y2="848.7979"/><polygon fill="#A80036" points="799.5,838.7979,803.5,848.7979,807.5,838.7979,803.5,842.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2306.5" x2="2306.5" y1="589.3564" y2="658.458"/><polygon fill="#A80036" points="2302.5,648.458,2306.5,658.458,2310.5,648.458,2306.5,652.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2306.5" x2="2306.5" y1="813.3955" y2="848.7979"/><polygon fill="#A80036" points="2302.5,838.7979,2306.5,848.7979,2310.5,838.7979,2306.5,842.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="940.5" x2="2189.5" y1="577.3564" y2="577.3564"/><polygon fill="#A80036" points="2179.5,573.3564,2189.5,577.3564,2179.5,581.3564,2183.5,577.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3235.5" x2="803.5" y1="518.3564" y2="518.3564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.5" x2="803.5" y1="518.3564" y2="565.3564"/><polygon fill="#A80036" points="799.5,555.3564,803.5,565.3564,807.5,555.3564,803.5,559.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2423.5" x2="3638" y1="577.3564" y2="577.3564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3638" x2="3638" y1="577.3564" y2="655.0557"/><polygon fill="#A80036" points="3634,645.0557,3638,655.0557,3642,645.0557,3638,649.0557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3638" x2="3638" y1="809.9932" y2="848.7979"/><polygon fill="#A80036" points="3634,838.7979,3638,848.7979,3642,838.7979,3638,842.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.5" x2="3638" y1="848.7979" y2="848.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4372" x2="4372" y1="546.3564" y2="566.3564"/><polygon fill="#A80036" points="4368,556.3564,4372,566.3564,4376,556.3564,4372,560.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4734" x2="4734" y1="546.3564" y2="566.3564"/><polygon fill="#A80036" points="4730,556.3564,4734,566.3564,4738,556.3564,4734,560.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4372" x2="4372" y1="600.3252" y2="620.3252"/><polygon fill="#A80036" points="4368,610.3252,4372,620.3252,4376,610.3252,4372,614.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4734" x2="4734" y1="600.3252" y2="620.3252"/><polygon fill="#A80036" points="4730,610.3252,4734,620.3252,4738,610.3252,4734,614.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3443.5" x2="4553" y1="518.3564" y2="518.3564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4553" x2="4553" y1="518.3564" y2="540.3564"/><polygon fill="#A80036" points="4549,530.3564,4553,540.3564,4557,530.3564,4553,534.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2102.5" x2="2102.5" y1="848.7979" y2="866.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2102.5" x2="3327.5" y1="866.7979" y2="866.7979"/><polygon fill="#A80036" points="3317.5,862.7979,3327.5,866.7979,3317.5,870.7979,3321.5,866.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4553" x2="4553" y1="626.3252" y2="866.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4553" x2="3351.5" y1="866.7979" y2="866.7979"/><polygon fill="#A80036" points="3361.5,862.7979,3351.5,866.7979,3361.5,870.7979,3357.5,866.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3339.5" x2="3339.5" y1="486.3564" y2="506.3564"/><polygon fill="#A80036" points="3335.5,496.3564,3339.5,506.3564,3343.5,496.3564,3339.5,500.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5104" x2="5104" y1="486.3564" y2="705.3916"/><polygon fill="#A80036" points="5100,695.3916,5104,705.3916,5108,695.3916,5104,699.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3339.5" x2="3339.5" y1="878.7979" y2="898.7979"/><polygon fill="#A80036" points="3335.5,888.7979,3339.5,898.7979,3343.5,888.7979,3339.5,892.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5104" x2="5104" y1="739.3604" y2="898.7979"/><polygon fill="#A80036" points="5100,888.7979,5104,898.7979,5108,888.7979,5104,892.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2673" x2="2673" y1="433.2578" y2="480.3564"/><polygon fill="#A80036" points="2669,470.3564,2673,480.3564,2677,470.3564,2673,474.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5430.5" x2="5430.5" y1="433.2578" y2="697.2432"/><polygon fill="#A80036" points="5426.5,687.2432,5430.5,697.2432,5434.5,687.2432,5430.5,691.2432" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2673" x2="2673" y1="904.7979" y2="936.7979"/><polygon fill="#A80036" points="2669,926.7979,2673,936.7979,2677,926.7979,2673,930.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5430.5" x2="5430.5" y1="731.2119" y2="936.7979"/><polygon fill="#A80036" points="5426.5,926.7979,5430.5,936.7979,5434.5,926.7979,5430.5,930.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="407.2578" y2="427.2578"/><polygon fill="#A80036" points="2796.5,417.2578,2800.5,427.2578,2804.5,417.2578,2800.5,421.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="942.7979" y2="962.7979"/><polygon fill="#A80036" points="2796.5,952.7979,2800.5,962.7979,2804.5,952.7979,2800.5,956.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="996.7666" y2="1016.7666"/><polygon fill="#A80036" points="2796.5,1006.7666,2800.5,1016.7666,2804.5,1006.7666,2800.5,1010.7666" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="1050.7354" y2="1070.7354"/><polygon fill="#A80036" points="2796.5,1060.7354,2800.5,1070.7354,2804.5,1060.7354,2800.5,1064.7354" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2800.5" x2="2800.5" y1="1104.7041" y2="1124.7041"/><polygon fill="#A80036" points="2796.5,1114.7041,2800.5,1124.7041,2804.5,1114.7041,2800.5,1118.7041" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ebf8f3179efa64eb28b3321ad6ea4621]
2
@startuml
3

    
4
title **µRtWare**\nurtFrtRequestSubmit()\n
5

    
6

    
7
note
8
  - - **request** : urt_frtrequest_t* - -
9
  The request to be used for this call.
10
  Must not be ""NULL"".
11
  Must have been acquired before.
12
  - - **service** : urt_service_t* - -
13
  The service to be called.
14
  Must not be ""NULL"".
15
  - - **deadline** : urt_delay_t - -
16
  Deadline offset until when this request is valid.
17
  ====
18
  - - **return** : urt_status_t - -
19
  Always returns ""URT_STATUS_OK"".
20
endnote
21

    
22

    
23
start
24
:set ""deadlineOffset"" to argument;
25
:lock service;
26
fork
27
  partition "enqueue request" {
28
    fork
29
      if (Service already holds requests?) then (yes)
30
        if (Service already holds FRT or SRT requests?) then (yes)
31
          partition "append to FRT/SRT requests" {
32
            :access last queued FRT/SRT request;
33
            fork
34
              :set ""next"" pointer of this request to ""next"" of queued request;
35
            fork again
36
              :set ""prev"" pointer of this request to of queued request;
37
            fork again
38
              :set ""next"" pointer of queued request to this request;
39
            fork again
40
              :set ""prev"" pointer of next request to this request;
41
            endfork
42
          }
43
        elseif (Service already holds HRT requests?) then (yes)
44
          partition "enqueue after last HRT request" {
45
            :access last queued HRT request;
46
            fork
47
              :set ""next"" pointer of this request to ""next"" of queued request;
48
            fork again
49
              :set ""prev"" pointer of this request to of queued request;
50
            fork again
51
              :set ""next"" pointer of queued request to this request;
52
            fork again
53
              :set ""prev"" pointer of next request to this request;
54
            endfork
55
          }
56
        else (no)
57
          partition "enqueue in fron of NRT requests" {
58
            :access first queued request;
59
            fork
60
              :set ""next"" pointer of this request to queued request;
61
            fork again
62
              :set ""prev"" pointer of queued request to this request;
63
            fork again
64
              :set the ""requestQueue_front"" pointer to this request;
65
            endfork
66
          }
67
        endif
68
      else (no)
69
        fork
70
          :set the ""requestQueue_front"" pointer to this request;
71
        fork again
72
          :set the ""requestQueue_back"" pointer to this request;
73
        endfork
74
      endif
75
    fork again
76
      :set the ""requestQueue_fsrtBack"" pointer to this request;
77
    endfork
78
  }
79
fork again
80
  :set the service as request owner;
81
endfork
82
:unlock request;
83
:fire event (@service);
84
:unlock service;
85
stop
86
note
87
  Returns ""URT_STATUS_OK"".
88
endnote
89

    
90

    
91
@enduml
92

    
93
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
94
(GPL source distribution)
95
Java Runtime: OpenJDK Runtime Environment
96
JVM: OpenJDK 64-Bit Server VM
97
Java Version: 11.0.7+10-post-Ubuntu-2ubuntu218.04
98
Operating System: Linux
99
Default Encoding: UTF-8
100
Language: en
101
Country: US
102
--></g></svg>