urtware / doc / activitydiagrams / request / hrtrequest / urtHrtRequestSubmit.svg @ 17d978fe
History | View | Annotate | Download (47.58 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="1498px" preserveAspectRatio="none" style="width:4425px;height:1498px;" version="1.1" viewBox="0 0 4425 1498" width="4425px" zoomAndPan="magnify"><defs><filter height="300%" id="fvzd484lffbzs" 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="2167" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="203" x="2110" y="47.6611">urtHrtRequestSubmit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="2214.5" y="68.6143"/><path d="M2071,72.8594 L2071,259.3203 L2387,259.3203 L2387,82.8594 L2377,72.8594 L2071,72.8594 " fill="#FBFB77" filter="url(#fvzd484lffbzs)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2377,72.8594 L2377,82.8594 L2387,82.8594 L2377,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="2071" x2="2135" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2139" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="2139" y="89.4263">request</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="119" x="2200" y="89.4263">: urt_hrtrequest_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2323" x2="2387" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="2077" 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="2077" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="2157" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2189" y="120.1919">.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="210" x="2077" y="135.3247">Must have been acquired before.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2071" x2="2148.5" y1="145.957" y2="145.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2152.5" y="149.9575"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="2152.5" y="149.9575">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="2208.5" y="149.9575">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2309.5" x2="2387" y1="145.957" y2="145.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="154" x="2077" y="165.5903">The service to be called.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="2077" y="180.7231">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="2157" y="180.7231">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2189" y="180.7231">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2071" x2="2151.5" y1="191.3555" y2="191.3555"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2155.5" y="195.356"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="2155.5" y="195.356">deadline</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="2223.5" y="195.356">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2306.5" x2="2387" y1="191.3555" y2="191.3555"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="295" x="2077" y="210.9888">Deadline offset until when this request is valid.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2071" x2="2387" y1="219.0547" y2="219.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="2071" x2="2387" y1="221.0547" y2="221.0547"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="2071" x2="2158" y1="231.6211" y2="231.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2162" y="235.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="2162" y="235.6216">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="2211" y="235.6216">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2300" x2="2387" y1="231.6211" y2="231.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="2077" y="251.2544">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="2174" y="251.2544">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2278" y="251.2544">.</text><ellipse cx="2229" cy="289.3203" fill="#000000" filter="url(#fvzd484lffbzs)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="572" x="1943" y="319.3203"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="292" x="1957" y="345.3203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="272" x="1967" y="366.459">set QoS timer to deadline or maximum jitter</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="2277" y="345.3203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="2287" y="366.459">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="2311" y="366.459">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="78" x="2413" y="366.459">to argument</text><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="572" x="1943" y="399.2891"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="2182.5" y="425.2891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="2192.5" y="446.4277">lock service</text><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="4404" x="10" y="479.2578"/><rect fill="#FFFFFF" filter="url(#fvzd484lffbzs)" height="758.7813" style="stroke: #000000; stroke-width: 2.0;" width="4143" x="22" y="496.0596"/><path d="M153,497.0596 L153,505.3564 L143,515.3564 L22,515.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="510.0547">enqueue request</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="2606.625,532.3564,2790.625,532.3564,2802.625,544.3564,2790.625,556.3564,2606.625,556.3564,2594.625,544.3564,2606.625,532.3564" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="184" x="2606.625" y="548.1646">Service already holds requests?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2574.625" y="541.7622">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2802.625" y="541.7622">no</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1634.25,566.3564,1844.25,566.3564,1856.25,578.3564,1844.25,590.3564,1634.25,590.3564,1622.25,578.3564,1634.25,566.3564" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="1634.25" y="582.1646">Service already holds HRT requests?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1602.25" y="575.7622">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1856.25" y="575.7622">no</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="871.5" y="600.3564"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="205" x="881.5" y="621.4951">access first queued HRT request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="897.5" y="730.1299"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="153" x="907.5" y="751.2686">proceed to next request</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="860.5,669.3252,1107.5,669.3252,1119.5,681.3252,1107.5,693.3252,860.5,693.3252,848.5,681.3252,860.5,669.3252" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="988" y="703.5356">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="247" x="860.5" y="685.1333">Queued request is more or equally critical?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="834.5" y="678.731">no</text><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1882" x="52" y="806.0986"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="66" y="880.501"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="76" y="901.6396">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="100" y="901.6396">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="132" y="901.6396">pointer of this request to queued request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="387" x="415" y="880.501"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="425" y="901.6396">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="449" y="901.6396">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="158" x="481" y="901.6396">pointer of this request to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="643" y="901.6396">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="675" y="901.6396">of queued request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="344" x="812" y="880.501"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="822" y="901.6396">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="846" y="901.6396">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="268" x="878" y="901.6396">pointer of previous request to this request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="1166" y="880.501"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1176" y="901.6396">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1200" y="901.6396">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="1232" y="901.6396">pointer of queued request to this request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="355" x="1543" y="880.501"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1553" y="901.6396">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="140" x="1602" y="901.6396">requestQueue_hrtBack</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="1746" y="901.6396">pointer to this request</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1614,832.0986,1827,832.0986,1839,844.0986,1827,856.0986,1614,856.0986,1602,844.0986,1614,832.0986" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1724.5" y="866.3091">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="1614" y="847.9067">This is the least critical HRT request?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1839" y="841.5044">no</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1720.5,934.4697,1732.5,946.4697,1720.5,958.4697,1708.5,946.4697,1720.5,934.4697" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1882" x="52" y="978.4697"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="2414" y="600.3564"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="177" x="2424" y="621.4951">access first queued request</text><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1115" x="1954" y="669.3252"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="1968" y="695.3252"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1978" y="716.4639">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="2002" y="716.4639">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="2034" y="716.4639">pointer of this request to queued request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="339" x="2335" y="695.3252"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="2345" y="716.4639">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="2369" y="716.4639">prev</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="263" x="2401" y="716.4639">pointer of queued request to this request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="355" x="2702" y="695.3252"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="2712" y="716.4639">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="140" x="2761" y="716.4639">requestQueue_hrtBack</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="2905" y="716.4639">pointer to this request</text><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1115" x="1954" y="749.2939"/><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1739.25,990.4697,1751.25,1002.4697,1739.25,1014.4697,1727.25,1002.4697,1739.25,990.4697" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="795" x="1341.75" y="1034.4697"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="341" x="1365.75" y="1108.8721"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1375.75" y="1130.0107">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="1424.75" y="1130.0107">requestQueue_front</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="1554.75" y="1130.0107">pointer to this request</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1419.75,1060.4697,1652.75,1060.4697,1664.75,1072.4697,1652.75,1084.4697,1419.75,1084.4697,1407.75,1072.4697,1419.75,1060.4697" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1540.25" y="1094.6802">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="1419.75" y="1076.2778">The request is at the front of the queue?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1664.75" y="1069.8755">no</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1536.25,1162.8408,1548.25,1174.8408,1536.25,1186.8408,1524.25,1174.8408,1536.25,1162.8408" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="334" x="1766.75" y="1108.8721"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1776.75" y="1130.0107">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="1825.75" y="1130.0107">requestQueue_back</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="1948.75" y="1130.0107">pointer to this request</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1817.75,1060.4697,2049.75,1060.4697,2061.75,1072.4697,2049.75,1084.4697,1817.75,1084.4697,1805.75,1072.4697,1817.75,1060.4697" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1937.75" y="1094.6802">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="232" x="1817.75" y="1076.2778">The request is at the back of the queue?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2061.75" y="1069.8755">no</text><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="1933.75,1162.8408,1945.75,1174.8408,1933.75,1186.8408,1921.75,1174.8408,1933.75,1162.8408" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="795" x="1341.75" y="1206.8408"/><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1074" x="3079" y="566.3564"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="341" x="3091" y="592.3564"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="3101" y="613.4951">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="3150" y="613.4951">requestQueue_front</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="3280" y="613.4951">pointer to this request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="334" x="3442" y="592.3564"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="3452" y="613.4951">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="3501" y="613.4951">requestQueue_back</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="3624" y="613.4951">pointer to this request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="355" x="3786" y="592.3564"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="3796" y="613.4951">set the</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="140" x="3845" y="613.4951">requestQueue_hrtBack</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="142" x="3989" y="613.4951">pointer to this request</text><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1074" x="3079" y="646.3252"/><polygon fill="#FEFECE" filter="url(#fvzd484lffbzs)" points="2698.625,1218.8408,2710.625,1230.8408,2698.625,1242.8408,2686.625,1230.8408,2698.625,1218.8408" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="227" x="4175" y="865.8682"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="207" x="4185" y="887.0068">set the service as request owner</text><rect fill="#000000" filter="url(#fvzd484lffbzs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="4404" x="10" y="1274.8408"/><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="2172" y="1300.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="2182" y="1321.9795">unlock request</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="2154" y="1354.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="130" x="2164" y="1375.9482">fire event (@service)</text><rect fill="#FEFECE" filter="url(#fvzd484lffbzs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="2174.5" y="1408.7783"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="89" x="2184.5" y="1429.917">unlock service</text><path d="M2016,1461.1807 L2016,1486.3135 A0,0 0 0 0 2016,1486.3135 L2198,1486.3135 A0,0 0 0 0 2198,1486.3135 L2198,1479.1807 L2218,1473.7471 L2198,1471.1807 L2198,1471.1807 L2188,1461.1807 L2016,1461.1807 A0,0 0 0 0 2016,1461.1807 " fill="#FBFB77" filter="url(#fvzd484lffbzs)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2188,1461.1807 L2188,1471.1807 L2198,1471.1807 L2188,1461.1807 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2022" y="1478.2476">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="2075" y="1478.2476">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2179" y="1478.2476">.</text><ellipse cx="2229" cy="1473.7471" fill="#FFFFFF" filter="url(#fvzd484lffbzs)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2229" cy="1473.7471" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="259.3203" y2="279.3203"/><polygon fill="#A80036" points="2225,269.3203,2229,279.3203,2233,269.3203,2229,273.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2103" x2="2103" y1="325.3203" y2="345.3203"/><polygon fill="#A80036" points="2099,335.3203,2103,345.3203,2107,335.3203,2103,339.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2389" x2="2389" y1="325.3203" y2="345.3203"/><polygon fill="#A80036" points="2385,335.3203,2389,345.3203,2393,335.3203,2389,339.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2103" x2="2103" y1="379.2891" y2="399.2891"/><polygon fill="#A80036" points="2099,389.2891,2103,399.2891,2107,389.2891,2103,393.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2389" x2="2389" y1="379.2891" y2="399.2891"/><polygon fill="#A80036" points="2385,389.2891,2389,399.2891,2393,389.2891,2389,393.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="299.3203" y2="319.3203"/><polygon fill="#A80036" points="2225,309.3203,2229,319.3203,2233,309.3203,2229,313.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="405.2891" y2="425.2891"/><polygon fill="#A80036" points="2225,415.2891,2229,425.2891,2233,415.2891,2229,419.2891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="693.3252" y2="730.1299"/><polygon fill="#A80036" points="980,720.1299,984,730.1299,988,720.1299,984,724.1299" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="764.0986" y2="774.0986"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="1131.5" y1="774.0986" y2="774.0986"/><polygon fill="#A80036" points="1127.5,738.7119,1131.5,728.7119,1135.5,738.7119,1131.5,734.7119" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1131.5" x2="1131.5" y1="681.3252" y2="774.0986"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1131.5" x2="1119.5" y1="681.3252" y2="681.3252"/><polygon fill="#A80036" points="1129.5,677.3252,1119.5,681.3252,1129.5,685.3252,1125.5,681.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="848.5" x2="836.5" y1="681.3252" y2="681.3252"/><polygon fill="#A80036" points="832.5,724.7119,836.5,734.7119,840.5,724.7119,836.5,728.7119" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="836.5" x2="836.5" y1="681.3252" y2="786.0986"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="836.5" x2="984" y1="786.0986" y2="786.0986"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="786.0986" y2="806.0986"/><polygon fill="#A80036" points="980,796.0986,984,806.0986,988,796.0986,984,800.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="634.3252" y2="669.3252"/><polygon fill="#A80036" points="980,659.3252,984,669.3252,988,659.3252,984,663.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1720.5" x2="1720.5" y1="856.0986" y2="880.501"/><polygon fill="#A80036" points="1716.5,870.501,1720.5,880.501,1724.5,870.501,1720.5,874.501" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1839" x2="1908" y1="844.0986" y2="844.0986"/><polygon fill="#A80036" points="1904,887.4854,1908,897.4854,1912,887.4854,1908,891.4854" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1908" x2="1908" y1="844.0986" y2="946.4697"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1908" x2="1732.5" y1="946.4697" y2="946.4697"/><polygon fill="#A80036" points="1742.5,942.4697,1732.5,946.4697,1742.5,950.4697,1738.5,946.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1720.5" x2="1720.5" y1="914.4697" y2="934.4697"/><polygon fill="#A80036" points="1716.5,924.4697,1720.5,934.4697,1724.5,924.4697,1720.5,928.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="235.5" x2="235.5" y1="812.0986" y2="880.501"/><polygon fill="#A80036" points="231.5,870.501,235.5,880.501,239.5,870.501,235.5,874.501" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="608.5" x2="608.5" y1="812.0986" y2="880.501"/><polygon fill="#A80036" points="604.5,870.501,608.5,880.501,612.5,870.501,608.5,874.501" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="812.0986" y2="880.501"/><polygon fill="#A80036" points="980,870.501,984,880.501,988,870.501,984,874.501" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1335.5" x2="1335.5" y1="812.0986" y2="880.501"/><polygon fill="#A80036" points="1331.5,870.501,1335.5,880.501,1339.5,870.501,1335.5,874.501" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1720.5" x2="1720.5" y1="812.0986" y2="832.0986"/><polygon fill="#A80036" points="1716.5,822.0986,1720.5,832.0986,1724.5,822.0986,1720.5,826.0986" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="235.5" x2="235.5" y1="914.4697" y2="978.4697"/><polygon fill="#A80036" points="231.5,968.4697,235.5,978.4697,239.5,968.4697,235.5,972.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="608.5" x2="608.5" y1="914.4697" y2="978.4697"/><polygon fill="#A80036" points="604.5,968.4697,608.5,978.4697,612.5,968.4697,608.5,972.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="914.4697" y2="978.4697"/><polygon fill="#A80036" points="980,968.4697,984,978.4697,988,968.4697,984,972.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1335.5" x2="1335.5" y1="914.4697" y2="978.4697"/><polygon fill="#A80036" points="1331.5,968.4697,1335.5,978.4697,1339.5,968.4697,1335.5,972.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1720.5" x2="1720.5" y1="958.4697" y2="978.4697"/><polygon fill="#A80036" points="1716.5,968.4697,1720.5,978.4697,1724.5,968.4697,1720.5,972.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2137.5" x2="2137.5" y1="675.3252" y2="695.3252"/><polygon fill="#A80036" points="2133.5,685.3252,2137.5,695.3252,2141.5,685.3252,2137.5,689.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2504.5" x2="2504.5" y1="675.3252" y2="695.3252"/><polygon fill="#A80036" points="2500.5,685.3252,2504.5,695.3252,2508.5,685.3252,2504.5,689.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2879.5" x2="2879.5" y1="675.3252" y2="695.3252"/><polygon fill="#A80036" points="2875.5,685.3252,2879.5,695.3252,2883.5,685.3252,2879.5,689.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2137.5" x2="2137.5" y1="729.2939" y2="749.2939"/><polygon fill="#A80036" points="2133.5,739.2939,2137.5,749.2939,2141.5,739.2939,2137.5,743.2939" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2504.5" x2="2504.5" y1="729.2939" y2="749.2939"/><polygon fill="#A80036" points="2500.5,739.2939,2504.5,749.2939,2508.5,739.2939,2504.5,743.2939" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2879.5" x2="2879.5" y1="729.2939" y2="749.2939"/><polygon fill="#A80036" points="2875.5,739.2939,2879.5,749.2939,2883.5,739.2939,2879.5,743.2939" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2512.5" x2="2512.5" y1="634.3252" y2="669.3252"/><polygon fill="#A80036" points="2508.5,659.3252,2512.5,669.3252,2516.5,659.3252,2512.5,663.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1622.25" x2="984" y1="578.3564" y2="578.3564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="578.3564" y2="600.3564"/><polygon fill="#A80036" points="980,590.3564,984,600.3564,988,590.3564,984,594.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1856.25" x2="2512.5" y1="578.3564" y2="578.3564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2512.5" x2="2512.5" y1="578.3564" y2="600.3564"/><polygon fill="#A80036" points="2508.5,590.3564,2512.5,600.3564,2516.5,590.3564,2512.5,594.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="984" y1="984.4697" y2="1002.4697"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="984" x2="1727.25" y1="1002.4697" y2="1002.4697"/><polygon fill="#A80036" points="1717.25,998.4697,1727.25,1002.4697,1717.25,1006.4697,1721.25,1002.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2512.5" x2="2512.5" y1="755.2939" y2="1002.4697"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2512.5" x2="1751.25" y1="1002.4697" y2="1002.4697"/><polygon fill="#A80036" points="1761.25,998.4697,1751.25,1002.4697,1761.25,1006.4697,1757.25,1002.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1536.25" x2="1536.25" y1="1084.4697" y2="1108.8721"/><polygon fill="#A80036" points="1532.25,1098.8721,1536.25,1108.8721,1540.25,1098.8721,1536.25,1102.8721" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1664.75" x2="1716.75" y1="1072.4697" y2="1072.4697"/><polygon fill="#A80036" points="1712.75,1115.8564,1716.75,1125.8564,1720.75,1115.8564,1716.75,1119.8564" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1716.75" x2="1716.75" y1="1072.4697" y2="1174.8408"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1716.75" x2="1548.25" y1="1174.8408" y2="1174.8408"/><polygon fill="#A80036" points="1558.25,1170.8408,1548.25,1174.8408,1558.25,1178.8408,1554.25,1174.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1536.25" x2="1536.25" y1="1142.8408" y2="1162.8408"/><polygon fill="#A80036" points="1532.25,1152.8408,1536.25,1162.8408,1540.25,1152.8408,1536.25,1156.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1933.75" x2="1933.75" y1="1084.4697" y2="1108.8721"/><polygon fill="#A80036" points="1929.75,1098.8721,1933.75,1108.8721,1937.75,1098.8721,1933.75,1102.8721" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2061.75" x2="2110.75" y1="1072.4697" y2="1072.4697"/><polygon fill="#A80036" points="2106.75,1115.8564,2110.75,1125.8564,2114.75,1115.8564,2110.75,1119.8564" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2110.75" x2="2110.75" y1="1072.4697" y2="1174.8408"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2110.75" x2="1945.75" y1="1174.8408" y2="1174.8408"/><polygon fill="#A80036" points="1955.75,1170.8408,1945.75,1174.8408,1955.75,1178.8408,1951.75,1174.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1933.75" x2="1933.75" y1="1142.8408" y2="1162.8408"/><polygon fill="#A80036" points="1929.75,1152.8408,1933.75,1162.8408,1937.75,1152.8408,1933.75,1156.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1536.25" x2="1536.25" y1="1040.4697" y2="1060.4697"/><polygon fill="#A80036" points="1532.25,1050.4697,1536.25,1060.4697,1540.25,1050.4697,1536.25,1054.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1933.75" x2="1933.75" y1="1040.4697" y2="1060.4697"/><polygon fill="#A80036" points="1929.75,1050.4697,1933.75,1060.4697,1937.75,1050.4697,1933.75,1054.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1536.25" x2="1536.25" y1="1186.8408" y2="1206.8408"/><polygon fill="#A80036" points="1532.25,1196.8408,1536.25,1206.8408,1540.25,1196.8408,1536.25,1200.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1933.75" x2="1933.75" y1="1186.8408" y2="1206.8408"/><polygon fill="#A80036" points="1929.75,1196.8408,1933.75,1206.8408,1937.75,1196.8408,1933.75,1200.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1739.25" x2="1739.25" y1="1014.4697" y2="1034.4697"/><polygon fill="#A80036" points="1735.25,1024.4697,1739.25,1034.4697,1743.25,1024.4697,1739.25,1028.4697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3261.5" x2="3261.5" y1="572.3564" y2="592.3564"/><polygon fill="#A80036" points="3257.5,582.3564,3261.5,592.3564,3265.5,582.3564,3261.5,586.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3609" x2="3609" y1="572.3564" y2="592.3564"/><polygon fill="#A80036" points="3605,582.3564,3609,592.3564,3613,582.3564,3609,586.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3963.5" x2="3963.5" y1="572.3564" y2="592.3564"/><polygon fill="#A80036" points="3959.5,582.3564,3963.5,592.3564,3967.5,582.3564,3963.5,586.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3261.5" x2="3261.5" y1="626.3252" y2="646.3252"/><polygon fill="#A80036" points="3257.5,636.3252,3261.5,646.3252,3265.5,636.3252,3261.5,640.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3609" x2="3609" y1="626.3252" y2="646.3252"/><polygon fill="#A80036" points="3605,636.3252,3609,646.3252,3613,636.3252,3609,640.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3963.5" x2="3963.5" y1="626.3252" y2="646.3252"/><polygon fill="#A80036" points="3959.5,636.3252,3963.5,646.3252,3967.5,636.3252,3963.5,640.3252" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2594.625" x2="1739.25" y1="544.3564" y2="544.3564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1739.25" x2="1739.25" y1="544.3564" y2="566.3564"/><polygon fill="#A80036" points="1735.25,556.3564,1739.25,566.3564,1743.25,556.3564,1739.25,560.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2802.625" x2="3616" y1="544.3564" y2="544.3564"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3616" x2="3616" y1="544.3564" y2="566.3564"/><polygon fill="#A80036" points="3612,556.3564,3616,566.3564,3620,556.3564,3616,560.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1739.25" x2="1739.25" y1="1212.8408" y2="1230.8408"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1739.25" x2="2686.625" y1="1230.8408" y2="1230.8408"/><polygon fill="#A80036" points="2676.625,1226.8408,2686.625,1230.8408,2676.625,1234.8408,2680.625,1230.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3616" x2="3616" y1="652.3252" y2="1230.8408"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3616" x2="2710.625" y1="1230.8408" y2="1230.8408"/><polygon fill="#A80036" points="2720.625,1226.8408,2710.625,1230.8408,2720.625,1234.8408,2716.625,1230.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2698.625" x2="2698.625" y1="485.2578" y2="532.3564"/><polygon fill="#A80036" points="2694.625,522.3564,2698.625,532.3564,2702.625,522.3564,2698.625,526.3564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4288.5" x2="4288.5" y1="485.2578" y2="865.8682"/><polygon fill="#A80036" points="4284.5,855.8682,4288.5,865.8682,4292.5,855.8682,4288.5,859.8682" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2698.625" x2="2698.625" y1="1242.8408" y2="1274.8408"/><polygon fill="#A80036" points="2694.625,1264.8408,2698.625,1274.8408,2702.625,1264.8408,2698.625,1268.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4288.5" x2="4288.5" y1="899.8369" y2="1274.8408"/><polygon fill="#A80036" points="4284.5,1264.8408,4288.5,1274.8408,4292.5,1264.8408,4288.5,1268.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="459.2578" y2="479.2578"/><polygon fill="#A80036" points="2225,469.2578,2229,479.2578,2233,469.2578,2229,473.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="1280.8408" y2="1300.8408"/><polygon fill="#A80036" points="2225,1290.8408,2229,1300.8408,2233,1290.8408,2229,1294.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="1334.8096" y2="1354.8096"/><polygon fill="#A80036" points="2225,1344.8096,2229,1354.8096,2233,1344.8096,2229,1348.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="1388.7783" y2="1408.7783"/><polygon fill="#A80036" points="2225,1398.7783,2229,1408.7783,2233,1398.7783,2229,1402.7783" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2229" x2="2229" y1="1442.7471" y2="1462.7471"/><polygon fill="#A80036" points="2225,1452.7471,2229,1462.7471,2233,1452.7471,2229,1456.7471" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b83103dad2a6ef518534662ce8086401] |
---|---|
2 |
@startuml |
3 |
|
4 |
title **µRtWare**\nurtHrtRequestSubmit()\n |
5 |
|
6 |
|
7 |
note |
8 |
- - **request** : urt_hrtrequest_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 |
fork |
25 |
:set QoS timer to deadline or maximum jitter; |
26 |
fork again |
27 |
:set ""deadlineOffset"" to argument; |
28 |
endfork |
29 |
:lock service; |
30 |
fork |
31 |
partition "enqueue request" { |
32 |
if (Service already holds requests?) then (yes) |
33 |
if (Service already holds HRT requests?) then (yes) |
34 |
:access first queued HRT request; |
35 |
while (Queued request is more or equally critical?) is (yes) |
36 |
:proceed to next request; |
37 |
endwhile (no) |
38 |
fork |
39 |
:set ""next"" pointer of this request to queued request; |
40 |
fork again |
41 |
:set ""prev"" pointer of this request to ""prev"" of queued request; |
42 |
fork again |
43 |
:set ""next"" pointer of previous request to this request; |
44 |
fork again |
45 |
:set ""prev"" pointer of queued request to this request; |
46 |
fork again |
47 |
if (This is the least critical HRT request?) then (yes) |
48 |
:set the ""requestQueue_hrtBack"" pointer to this request; |
49 |
else (no) |
50 |
endif |
51 |
endfork |
52 |
else (no) |
53 |
:access first queued request; |
54 |
fork |
55 |
:set ""next"" pointer of this request to queued request; |
56 |
fork again |
57 |
:set ""prev"" pointer of queued request to this request; |
58 |
fork again |
59 |
:set the ""requestQueue_hrtBack"" pointer to this request; |
60 |
endfork |
61 |
endif |
62 |
fork |
63 |
if (The request is at the front of the queue?) then (yes) |
64 |
:set the ""requestQueue_front"" pointer to this request; |
65 |
else (no) |
66 |
endif |
67 |
fork again |
68 |
if (The request is at the back of the queue?) then (yes) |
69 |
:set the ""requestQueue_back"" pointer to this request; |
70 |
else (no) |
71 |
endif |
72 |
endfork |
73 |
else (no) |
74 |
fork |
75 |
:set the ""requestQueue_front"" pointer to this request; |
76 |
fork again |
77 |
:set the ""requestQueue_back"" pointer to this request; |
78 |
fork again |
79 |
:set the ""requestQueue_hrtBack"" pointer to this request; |
80 |
endfork |
81 |
endif |
82 |
} |
83 |
fork again |
84 |
:set the service as request owner; |
85 |
endfork |
86 |
:unlock request; |
87 |
:fire event (@service); |
88 |
:unlock service; |
89 |
stop |
90 |
note |
91 |
Returns ""URT_STATUS_OK"". |
92 |
endnote |
93 |
|
94 |
|
95 |
@enduml |
96 |
|
97 |
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020) |
98 |
(GPL source distribution) |
99 |
Java Runtime: OpenJDK Runtime Environment |
100 |
JVM: OpenJDK 64-Bit Server VM |
101 |
Java Version: 11.0.7+10-post-Ubuntu-2ubuntu218.04 |
102 |
Operating System: Linux |
103 |
Default Encoding: UTF-8 |
104 |
Language: en |
105 |
Country: US |
106 |
--></g></svg> |