urtware / doc / activitydiagrams / request / frtrequest / urtFrtRequestSubmit.svg @ 5b7188aa
History | View | Annotate | Download (42.184 KB)
1 | 2d315870 | Thomas Schöpping | <?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> |