Revision 2d315870 doc/classdiagrams/rpc.svg

View differences:

doc/classdiagrams/rpc.svg
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="387px" preserveAspectRatio="none" style="width:655px;height:387px;" version="1.1" viewBox="0 0 655 387" width="655px" zoomAndPan="magnify"><defs><filter height="300%" id="f1mxz0fta70cve" 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="286" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="277" x="192" y="37.6611">Remote Procedure Call System</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
2
class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f1mxz0fta70cve)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="81.5" y="315.9063"/><ellipse cx="249.75" cy="331.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M253.9844,327.6719 L248.7031,327.6719 L248.7031,330.3438 L253.5,330.3438 L253.5,332.5 L248.7031,332.5 L248.7031,337.9063 L246.2656,337.9063 L246.2656,325.5156 L253.9844,325.5156 L253.9844,327.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="270.25" y="336.0605">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="347.9063" y2="347.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="355.9063" y2="355.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="87.5" y="370.1167">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
3
class urt_service_t--><rect fill="#FEFECE" filter="url(#f1mxz0fta70cve)" height="205.6563" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="6" y="49.9063"/><ellipse cx="263.25" cy="65.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M262.7344,66.4688 Q260.875,65.7656 260.2188,65 Q259.5781,64.2188 259.5781,62.9063 Q259.5781,61.2188 260.6563,60.25 Q261.7344,59.2813 263.6094,59.2813 Q264.4688,59.2813 265.3125,59.4844 Q266.1719,59.6719 267.0156,60.0625 L267.0156,62.4531 Q266.2344,61.8906 265.4063,61.6094 Q264.5938,61.3125 263.7969,61.3125 Q262.9219,61.3125 262.4375,61.6719 Q261.9688,62.0313 261.9688,62.6875 Q261.9688,63.2031 262.3125,63.5469 Q262.6563,63.875 263.75,64.2813 L264.8125,64.6875 Q266.2969,65.2344 267,66.1406 Q267.7188,67.0469 267.7188,68.4219 Q267.7188,70.2969 266.6094,71.2188 Q265.5,72.1406 263.25,72.1406 Q262.3281,72.1406 261.4063,71.9219 Q260.4844,71.7031 259.625,71.2813 L259.625,68.75 Q260.5938,69.4375 261.5156,69.7813 Q262.4375,70.125 263.3281,70.125 Q264.2344,70.125 264.7344,69.7188 Q265.2344,69.2969 265.2344,68.5625 Q265.2344,68 264.8906,67.5938 Q264.5625,67.1719 263.9375,66.9219 L262.7344,66.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="283.75" y="70.0605">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="81.9063" y2="81.9063"/><ellipse cx="17" cy="92.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="26" y="96.1167">next : urt_service_t*</text><ellipse cx="17" cy="105.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="26" y="108.9214">id : urt_serviceid_t</text><ellipse cx="17" cy="118.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="26" y="121.7261">lock : urt_osMutex_t</text><ellipse cx="17" cy="131.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="26" y="134.5308">callback : urt_servicefunc_t*</text><ellipse cx="17" cy="160.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="26" y="164.1401">sumDurations : uint64_t</text><ellipse cx="17" cy="173.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="26" y="176.9448">numCalls : uint64_t</text><ellipse cx="17" cy="186.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="26" y="189.7495">numTimeouts : uint64_t</text><ellipse cx="17" cy="199.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="26" y="202.5542">minDuration : urt_delay_t</text><ellipse cx="17" cy="212.1484" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="26" y="215.3589">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="211" y1="147.5273" y2="147.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="211" y="150.8354">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="403" x2="607" y1="147.5273" y2="147.5273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="221.9531" y2="221.9531"/><ellipse cx="17" cy="232.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="576" x="26" y="236.1636">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="17" cy="245.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="557" x="26" y="248.9683">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[05f2c35569573d3273c65d3342945557]
4
reverse link urt_service_t to urt_service_t--><path d="M620.6339,130.5781 C634.7535,136.2537 643,143.6965 643,152.9063 C643,164.5782 629.7552,173.4119 608.0965,179.4074 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="608.0965,126.4051,612.5263,132.0952,619.4824,130.1947,615.0527,124.5046,608.0965,126.4051" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="616.2006" y="122.5752">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="616.4131" y="176.9853">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
5
reverse link urt_service_t to urt_servicefunc_t--><path d="M307,269.3595 C307,286.4366 307,302.6584 307,315.7732 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="307,256.1712,303,262.1712,307,268.1712,311,262.1712,307,256.1712" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="298.7313" y="275.6961">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="280.525" y="305.0089">0..1</text><!--MD5=[53df50d95b69ed2513ef266da8b5a822]
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="711px" preserveAspectRatio="none" style="width:3311px;height:711px;" version="1.1" viewBox="0 0 3311 711" width="3311px" zoomAndPan="magnify"><defs><filter height="300%" id="fy5ljrkv57pn0" 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="1614" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="277" x="1520" y="37.6611">Remote Procedure Call System</text><!--MD5=[ecaf13b018fb9788c80013f5b3634b61]
2
cluster request--><rect fill="#FFFFFF" filter="url(#fy5ljrkv57pn0)" height="615" style="stroke: #000000; stroke-width: 1.5;" width="2646" x="14" y="57.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="62" x="1306" y="72.9014">request</text><!--MD5=[7294e1cfaeb111bef046bc5d07a96458]
3
class urt_baserequest_t--><rect fill="#FEFECE" filter="url(#fy5ljrkv57pn0)" height="197.6563" id="urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="1506" y="466.9063"/><ellipse cx="1556.25" cy="482.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1555.7344,483.4688 Q1553.875,482.7656 1553.2188,482 Q1552.5781,481.2188 1552.5781,479.9063 Q1552.5781,478.2188 1553.6563,477.25 Q1554.7344,476.2813 1556.6094,476.2813 Q1557.4688,476.2813 1558.3125,476.4844 Q1559.1719,476.6719 1560.0156,477.0625 L1560.0156,479.4531 Q1559.2344,478.8906 1558.4063,478.6094 Q1557.5938,478.3125 1556.7969,478.3125 Q1555.9219,478.3125 1555.4375,478.6719 Q1554.9688,479.0313 1554.9688,479.6875 Q1554.9688,480.2031 1555.3125,480.5469 Q1555.6563,480.875 1556.75,481.2813 L1557.8125,481.6875 Q1559.2969,482.2344 1560,483.1406 Q1560.7188,484.0469 1560.7188,485.4219 Q1560.7188,487.2969 1559.6094,488.2188 Q1558.5,489.1406 1556.25,489.1406 Q1555.3281,489.1406 1554.4063,488.9219 Q1553.4844,488.7031 1552.625,488.2813 L1552.625,485.75 Q1553.5938,486.4375 1554.5156,486.7813 Q1555.4375,487.125 1556.3281,487.125 Q1557.2344,487.125 1557.7344,486.7188 Q1558.2344,486.2969 1558.2344,485.5625 Q1558.2344,485 1557.8906,484.5938 Q1557.5625,484.1719 1556.9375,483.9219 L1555.7344,483.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="1576.75" y="487.0605">urt_baserequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1507" x2="1729" y1="498.9063" y2="498.9063"/><ellipse cx="1517" cy="509.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="1526" y="513.1167">prev : urt_baserequest_t*</text><ellipse cx="1517" cy="522.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="1526" y="525.9214">next : urt_baserequest_t*</text><ellipse cx="1517" cy="535.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="1526" y="538.7261">lock : urt_osMutex_t</text><ellipse cx="1517" cy="548.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="1526" y="551.5308">owner : urt_service_t*</text><ellipse cx="1517" cy="561.125" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="1526" y="564.3354">submissionTime : urt_osTime_t</text><ellipse cx="1517" cy="573.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="1526" y="577.1401">payload : void*</text><ellipse cx="1517" cy="586.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="1526" y="589.9448">evtSource : urt_osEventSource_t</text><ellipse cx="1517" cy="599.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="1526" y="602.7495">evtListener : urt_osEventListener_t</text><ellipse cx="1517" cy="629.1484" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="1526" y="632.3589">sumLatencies : uint64_t</text><ellipse cx="1517" cy="641.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="1526" y="645.1636">numCalls : uint64_t</text><ellipse cx="1517" cy="654.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="1526" y="657.9683">numFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1507" x2="1522" y1="615.7461" y2="615.7461"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1522" y="619.0542">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1714" x2="1729" y1="615.7461" y2="615.7461"/><!--MD5=[65269c71e9a2a076bc4014c9b128c9e6]
4
class urt_nrtrequest_t--><rect fill="#FEFECE" filter="url(#fy5ljrkv57pn0)" height="167.2422" id="urt_nrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="531" x="22.5" y="144.4063"/><ellipse cx="232.75" cy="160.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M232.2344,160.9688 Q230.375,160.2656 229.7188,159.5 Q229.0781,158.7188 229.0781,157.4063 Q229.0781,155.7188 230.1563,154.75 Q231.2344,153.7813 233.1094,153.7813 Q233.9688,153.7813 234.8125,153.9844 Q235.6719,154.1719 236.5156,154.5625 L236.5156,156.9531 Q235.7344,156.3906 234.9063,156.1094 Q234.0938,155.8125 233.2969,155.8125 Q232.4219,155.8125 231.9375,156.1719 Q231.4688,156.5313 231.4688,157.1875 Q231.4688,157.7031 231.8125,158.0469 Q232.1563,158.375 233.25,158.7813 L234.3125,159.1875 Q235.7969,159.7344 236.5,160.6406 Q237.2188,161.5469 237.2188,162.9219 Q237.2188,164.7969 236.1094,165.7188 Q235,166.6406 232.75,166.6406 Q231.8281,166.6406 230.9063,166.4219 Q229.9844,166.2031 229.125,165.7813 L229.125,163.25 Q230.0938,163.9375 231.0156,164.2813 Q231.9375,164.625 232.8281,164.625 Q233.7344,164.625 234.2344,164.2188 Q234.7344,163.7969 234.7344,163.0625 Q234.7344,162.5 234.3906,162.0938 Q234.0625,161.6719 233.4375,161.4219 L232.2344,160.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="253.25" y="164.5605">urt_nrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="552.5" y1="176.4063" y2="176.4063"/><ellipse cx="33.5" cy="204.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="42.5" y="207.4214">minLatency : urt_delay_t</text><ellipse cx="33.5" cy="217.0156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="42.5" y="220.2261">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="23.5" x2="192" y1="190.8086" y2="190.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="192" y="194.1167">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="384" x2="552.5" y1="190.8086" y2="190.8086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="552.5" y1="226.8203" y2="226.8203"/><ellipse cx="33.5" cy="237.8203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="42.5" y="241.0308">urtNrtRequestInit (request : urt_nrtrequest_t*) : void</text><ellipse cx="33.5" cy="250.625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="42.5" y="253.8354">urtNrtRequestAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="33.5" cy="263.4297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="42.5" y="266.6401">urtNrtRequestTryAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="33.5" cy="276.2344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="42.5" y="279.4448">urtNrtRequestRelease (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="33.5" cy="289.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="505" x="42.5" y="292.2495">urtNrtRequestSubmit (request : urt_nrtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="33.5" cy="301.8438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="42.5" y="305.0542">urtNrtRequestRetrieve (request : urt_nrtrequest_t*) : urt_status_t</text><!--MD5=[e9d515ad43a4cecec056dd09bc14a3c2]
5
class urt_srtrequest_t--><rect fill="#FEFECE" filter="url(#fy5ljrkv57pn0)" height="180.0469" id="urt_srtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="675" x="1280.5" y="137.9063"/><ellipse cx="1563.25" cy="153.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1562.7344,154.4688 Q1560.875,153.7656 1560.2188,153 Q1559.5781,152.2188 1559.5781,150.9063 Q1559.5781,149.2188 1560.6563,148.25 Q1561.7344,147.2813 1563.6094,147.2813 Q1564.4688,147.2813 1565.3125,147.4844 Q1566.1719,147.6719 1567.0156,148.0625 L1567.0156,150.4531 Q1566.2344,149.8906 1565.4063,149.6094 Q1564.5938,149.3125 1563.7969,149.3125 Q1562.9219,149.3125 1562.4375,149.6719 Q1561.9688,150.0313 1561.9688,150.6875 Q1561.9688,151.2031 1562.3125,151.5469 Q1562.6563,151.875 1563.75,152.2813 L1564.8125,152.6875 Q1566.2969,153.2344 1567,154.1406 Q1567.7188,155.0469 1567.7188,156.4219 Q1567.7188,158.2969 1566.6094,159.2188 Q1565.5,160.1406 1563.25,160.1406 Q1562.3281,160.1406 1561.4063,159.9219 Q1560.4844,159.7031 1559.625,159.2813 L1559.625,156.75 Q1560.5938,157.4375 1561.5156,157.7813 Q1562.4375,158.125 1563.3281,158.125 Q1564.2344,158.125 1564.7344,157.7188 Q1565.2344,157.2969 1565.2344,156.5625 Q1565.2344,156 1564.8906,155.5938 Q1564.5625,155.1719 1563.9375,154.9219 L1562.7344,154.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="1583.75" y="158.0605">urt_srtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1281.5" x2="1954.5" y1="169.9063" y2="169.9063"/><ellipse cx="1291.5" cy="197.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1300.5" y="200.9214">minLatency : urt_delay_t</text><ellipse cx="1291.5" cy="210.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1300.5" y="213.7261">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1281.5" x2="1522" y1="184.3086" y2="184.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1522" y="187.6167">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1714" x2="1954.5" y1="184.3086" y2="184.3086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1281.5" x2="1954.5" y1="220.3203" y2="220.3203"/><ellipse cx="1291.5" cy="231.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="1300.5" y="234.5308">urtSrtRequestInit (request : urt_srtrequest_t*) : void</text><ellipse cx="1291.5" cy="244.125" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="1300.5" y="247.3354">urtSrtRequestAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="1291.5" cy="256.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="1300.5" y="260.1401">urtSrtRequestTryAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="1291.5" cy="269.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="1300.5" y="272.9448">urtSrtRequestRelease (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="1291.5" cy="282.5391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="505" x="1300.5" y="285.7495">urtSrtRequestSubmit (request : urt_srtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="1291.5" cy="295.3438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="1300.5" y="298.5542">urtSrtRequestRetrieve (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="1291.5" cy="308.1484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="649" x="1300.5" y="311.3589">urtSrtCalculateUsefulness (request : urt_srtrequest_t*, usefulnesscb : urt_usefulness_f, cbparams : void*) : float</text><!--MD5=[240977dbca9212fa5365c87da90aa051]
6
class urt_frtrequest_t--><rect fill="#FEFECE" filter="url(#fy5ljrkv57pn0)" height="268.875" id="urt_frtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="656" x="589" y="93.4063"/><ellipse cx="863.75" cy="109.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M863.2344,109.9688 Q861.375,109.2656 860.7188,108.5 Q860.0781,107.7188 860.0781,106.4063 Q860.0781,104.7188 861.1563,103.75 Q862.2344,102.7813 864.1094,102.7813 Q864.9688,102.7813 865.8125,102.9844 Q866.6719,103.1719 867.5156,103.5625 L867.5156,105.9531 Q866.7344,105.3906 865.9063,105.1094 Q865.0938,104.8125 864.2969,104.8125 Q863.4219,104.8125 862.9375,105.1719 Q862.4688,105.5313 862.4688,106.1875 Q862.4688,106.7031 862.8125,107.0469 Q863.1563,107.375 864.25,107.7813 L865.3125,108.1875 Q866.7969,108.7344 867.5,109.6406 Q868.2188,110.5469 868.2188,111.9219 Q868.2188,113.7969 867.1094,114.7188 Q866,115.6406 863.75,115.6406 Q862.8281,115.6406 861.9063,115.4219 Q860.9844,115.2031 860.125,114.7813 L860.125,112.25 Q861.0938,112.9375 862.0156,113.2813 Q862.9375,113.625 863.8281,113.625 Q864.7344,113.625 865.2344,113.2188 Q865.7344,112.7969 865.7344,112.0625 Q865.7344,111.5 865.3906,111.0938 Q865.0625,110.6719 864.4375,110.4219 L863.2344,109.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="884.25" y="113.5605">urt_frtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="590" x2="1244" y1="125.4063" y2="125.4063"/><ellipse cx="600" cy="153.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="609" y="156.4214">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="590" x2="784" y1="139.8086" y2="139.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="784" y="143.1167">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1050" x2="1244" y1="139.8086" y2="139.8086"/><ellipse cx="600" cy="182.8203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="609" y="186.0308">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="590" x2="794" y1="169.418" y2="169.418"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="794" y="172.7261">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1040" x2="1244" y1="169.418" y2="169.418"/><ellipse cx="600" cy="212.4297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="609" y="215.6401">minLatency : urt_delay_t</text><ellipse cx="600" cy="225.2344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="609" y="228.4448">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="590" x2="690" y1="199.0273" y2="199.0273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="690" y="202.3354">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1144" x2="1244" y1="199.0273" y2="199.0273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="590" x2="1244" y1="235.0391" y2="235.0391"/><ellipse cx="600" cy="246.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="292" x="609" y="249.2495">urtFrtRequestInit (request : urt_frtrequest_t*) : void</text><ellipse cx="600" cy="258.8438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="609" y="262.0542">urtFrtRequestAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="600" cy="271.6484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="609" y="274.8589">urtFrtRequestTryAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="600" cy="284.4531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="365" x="609" y="287.6636">urtFrtRequestRelease (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="600" cy="297.2578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="630" x="609" y="300.4683">urtFrtRequestSubmit (request : urt_frtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="600" cy="310.0625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="366" x="609" y="313.2729">urtFrtRequestRetrieve (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="600" cy="322.8672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="318" x="609" y="326.0776">urtDrtCalculateValidity (request : urt_frtrequest_t) : bool</text><ellipse cx="600" cy="352.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="419" x="609" y="355.687">urtFrtRequestGetMaxJitter(request : urt_frtrequest_t*) : urt_delay_t* const</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="590" x2="794" y1="339.0742" y2="339.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="794" y="342.3823">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1040" x2="1244" y1="339.0742" y2="339.0742"/><!--MD5=[2b0c3d572fefe037473ca776bdd2f803]
7
class urt_hrtrequest_t--><rect fill="#FEFECE" filter="url(#fy5ljrkv57pn0)" height="285.6797" id="urt_hrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="661" x="1990.5" y="84.9063"/><ellipse cx="2265.75" cy="100.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2265.2344,101.4688 Q2263.375,100.7656 2262.7188,100 Q2262.0781,99.2188 2262.0781,97.9063 Q2262.0781,96.2188 2263.1563,95.25 Q2264.2344,94.2813 2266.1094,94.2813 Q2266.9688,94.2813 2267.8125,94.4844 Q2268.6719,94.6719 2269.5156,95.0625 L2269.5156,97.4531 Q2268.7344,96.8906 2267.9063,96.6094 Q2267.0938,96.3125 2266.2969,96.3125 Q2265.4219,96.3125 2264.9375,96.6719 Q2264.4688,97.0313 2264.4688,97.6875 Q2264.4688,98.2031 2264.8125,98.5469 Q2265.1563,98.875 2266.25,99.2813 L2267.3125,99.6875 Q2268.7969,100.2344 2269.5,101.1406 Q2270.2188,102.0469 2270.2188,103.4219 Q2270.2188,105.2969 2269.1094,106.2188 Q2268,107.1406 2265.75,107.1406 Q2264.8281,107.1406 2263.9063,106.9219 Q2262.9844,106.7031 2262.125,106.2813 L2262.125,103.75 Q2263.0938,104.4375 2264.0156,104.7813 Q2264.9375,105.125 2265.8281,105.125 Q2266.7344,105.125 2267.2344,104.7188 Q2267.7344,104.2969 2267.7344,103.5625 Q2267.7344,103 2267.3906,102.5938 Q2267.0625,102.1719 2266.4375,101.9219 L2265.2344,101.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="2286.25" y="105.0605">urt_hrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1991.5" x2="2650.5" y1="116.9063" y2="116.9063"/><ellipse cx="2001.5" cy="144.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="2010.5" y="147.9214">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1991.5" x2="2188" y1="131.3086" y2="131.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="2188" y="134.6167">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2454" x2="2650.5" y1="131.3086" y2="131.3086"/><ellipse cx="2001.5" cy="174.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="2010.5" y="177.5308">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1991.5" x2="2198" y1="160.918" y2="160.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="2198" y="164.2261">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2444" x2="2650.5" y1="160.918" y2="160.918"/><ellipse cx="2001.5" cy="203.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="2010.5" y="207.1401">qosTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1991.5" x2="2057" y1="190.5273" y2="190.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="528" x="2057" y="193.8354">URT_CFG_RPC_QOS_DEADLINECHECKS == true || URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2585" x2="2650.5" y1="190.5273" y2="190.5273"/><ellipse cx="2001.5" cy="233.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2010.5" y="236.7495">minLatency : urt_delay_t</text><ellipse cx="2001.5" cy="246.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2010.5" y="249.5542">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1991.5" x2="2094" y1="220.1367" y2="220.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="2094" y="223.4448">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2548" x2="2650.5" y1="220.1367" y2="220.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1991.5" x2="2650.5" y1="256.1484" y2="256.1484"/><ellipse cx="2001.5" cy="267.1484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="2010.5" y="270.3589">urtHrtRequestInit (request : urt_hrtrequest_t*) : void</text><ellipse cx="2001.5" cy="279.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="2010.5" y="283.1636">urtHrtRequestAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="2001.5" cy="292.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="2010.5" y="295.9683">urtHrtRequestTryAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="2001.5" cy="305.5625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="2010.5" y="308.7729">urtHrtRequestRelease (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="2001.5" cy="318.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="635" x="2010.5" y="321.5776">urtHrtRequestSubmit (request : urt_hrtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="2001.5" cy="331.1719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="2010.5" y="334.3823">urtHrtRequestRetrieve (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="2001.5" cy="360.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="424" x="2010.5" y="363.9917">urtHrtRequestGetMaxJitter(request : urt_hrtrequest_t*) : urt_delay_t* const</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1991.5" x2="2198" y1="347.3789" y2="347.3789"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="2198" y="350.687">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2444" x2="2650.5" y1="347.3789" y2="347.3789"/><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
8
class urt_service_t--><rect fill="#FEFECE" filter="url(#fy5ljrkv57pn0)" height="269.6797" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="596" x="2668" y="430.9063"/><ellipse cx="2922.25" cy="446.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2921.7344,447.4688 Q2919.875,446.7656 2919.2188,446 Q2918.5781,445.2188 2918.5781,443.9063 Q2918.5781,442.2188 2919.6563,441.25 Q2920.7344,440.2813 2922.6094,440.2813 Q2923.4688,440.2813 2924.3125,440.4844 Q2925.1719,440.6719 2926.0156,441.0625 L2926.0156,443.4531 Q2925.2344,442.8906 2924.4063,442.6094 Q2923.5938,442.3125 2922.7969,442.3125 Q2921.9219,442.3125 2921.4375,442.6719 Q2920.9688,443.0313 2920.9688,443.6875 Q2920.9688,444.2031 2921.3125,444.5469 Q2921.6563,444.875 2922.75,445.2813 L2923.8125,445.6875 Q2925.2969,446.2344 2926,447.1406 Q2926.7188,448.0469 2926.7188,449.4219 Q2926.7188,451.2969 2925.6094,452.2188 Q2924.5,453.1406 2922.25,453.1406 Q2921.3281,453.1406 2920.4063,452.9219 Q2919.4844,452.7031 2918.625,452.2813 L2918.625,449.75 Q2919.5938,450.4375 2920.5156,450.7813 Q2921.4375,451.125 2922.3281,451.125 Q2923.2344,451.125 2923.7344,450.7188 Q2924.2344,450.2969 2924.2344,449.5625 Q2924.2344,449 2923.8906,448.5938 Q2923.5625,448.1719 2922.9375,447.9219 L2921.7344,447.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="2942.75" y="451.0605">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2669" x2="3263" y1="462.9063" y2="462.9063"/><ellipse cx="2679" cy="473.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="2688" y="477.1167">next : urt_service_t*</text><ellipse cx="2679" cy="486.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="2688" y="489.9214">id : urt_serviceid_t</text><ellipse cx="2679" cy="499.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="2688" y="502.7261">lock : urt_osMutex_t</text><ellipse cx="2679" cy="512.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="236" x="2688" y="515.5308">requestQueue_front : urt_baserequest_t*</text><ellipse cx="2679" cy="525.125" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="2688" y="528.3354">requestQueue_hrtBack : urt_hrtrequest_t*</text><ellipse cx="2679" cy="537.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="2688" y="541.1401">requestQueue_fsrtBack : urt_baserequest_t*</text><ellipse cx="2679" cy="550.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="2688" y="553.9448">requestQueue_back : urt_baserequest_t*</text><ellipse cx="2679" cy="563.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="2688" y="566.7495">evtSource : urt_osEventSource_t</text><ellipse cx="2679" cy="576.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="2688" y="579.5542">evtListener : urt_osEventListener_t</text><ellipse cx="2679" cy="605.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="2688" y="609.1636">numCalls : uint64_t</text><ellipse cx="2679" cy="618.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="2688" y="621.9683">numOwnershipLost : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2669" x2="2870" y1="592.5508" y2="592.5508"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="2870" y="595.8589">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3062" x2="3263" y1="592.5508" y2="592.5508"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2669" x2="3263" y1="628.5625" y2="628.5625"/><ellipse cx="2679" cy="639.5625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="412" x="2688" y="642.7729">urtServiceInit (service : urt_service_t*, id : urt_serviceid_t) : urt_status_t</text><ellipse cx="2679" cy="652.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="549" x="2688" y="655.5776">urtServiceDispatch (service : urt_service_t*, payload : void*, bytes : size_t) : urt_baserequest_t*</text><ellipse cx="2679" cy="665.1719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="552" x="2688" y="668.3823">urtServiceAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="2679" cy="677.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="2688" y="681.187">urtServiceTryAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="2679" cy="690.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="365" x="2688" y="693.9917">urtServiceRespond (request : urt_baserequest_t*) : urt_status_t</text><!--MD5=[ed8977051960dfa72b850fe399f41716]
9
reverse link urt_baserequest_t to urt_baserequest_t--><path d="M1741.814,512.1653 C1755.8803,522.2156 1765,540.1293 1765,565.9063 C1765,598.254 1750.6385,618.2185 1730.1623,625.8 " fill="none" id="urt_baserequest_t&lt;-urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1730.1623,506.0126,1733.6002,512.3514,1740.7737,511.616,1737.3358,505.2771,1730.1623,506.0126" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1737.967" y="498.5674">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1737.9722" y="626.0741">0,1,2</text><!--MD5=[426f0ba47802c5735a37a0acd494a192]
10
reverse link urt_baserequest_t to urt_service_t--><path d="M1743.5015,565.9063 C2051.6401,565.9063 2359.7787,565.9063 2667.9172,565.9063 " fill="none" id="urt_baserequest_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1730.2236,565.9063,1736.2236,569.9063,1742.2236,565.9063,1736.2236,561.9063,1730.2236,565.9063" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1738.0324" y="562.4852">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="2639.7338" y="562.7799">0,1</text><!--MD5=[09de7ef26922535bfe0682cb358ee29c]
11
reverse link urt_service_t to urt_baserequest_t--><path d="M2654.6393,565.9063 C2346.5008,565.9063 2038.3622,565.9063 1730.2236,565.9063 " fill="none" id="urt_service_t&lt;-urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2667.9172,565.9063,2661.9172,561.9063,2655.9172,565.9063,2661.9172,569.9063,2667.9172,565.9063" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2651.8931" y="578.1784">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1738.0372" y="578.4447">0,2,3</text><!--MD5=[dc2d1805b45628aba9d654613b3d05f9]
12
link urt_nrtrequest_t to urt_baserequest_t--><path d="M433.6468,311.4139 C476.7848,333.399 524.8484,355.3038 571,370.9063 C889.5746,478.6069 1283.96,531.7007 1485.6314,553.4172 " fill="none" id="urt_nrtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="1486.5654,546.4769,1505.7169,555.5446,1485.0908,560.399,1486.5654,546.4769" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d53ae0f00163daee879678d1d1554717]
13
link urt_nrtrequest_t to urt_service_t--><path d="M423.5759,311.5727 C468.8143,335.2921 520.5745,358.1235 571,370.9063 C1020.3839,484.8246 2201.6822,328.467 2662.7282,430.6481 " fill="none" id="urt_nrtrequest_t-&gt;urt_service_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2667.7827,431.7854,2659.8802,425.9073,2662.9046,430.6878,2658.1242,433.7122,2667.7827,431.7854" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f9755d42ba41539dee622699d8be3a22]
14
link urt_srtrequest_t to urt_baserequest_t--><path d="M1618,318.0401 C1618,357.5399 1618,404.4493 1618,446.7749 " fill="none" id="urt_srtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="1625.0001,446.8115,1618,466.8114,1611.0001,446.8114,1625.0001,446.8115" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[90efd84e0f70286880ba110c49a1e8f8]
15
link urt_srtrequest_t to urt_service_t--><path d="M1811.7638,317.982 C1863.1909,338.5355 1919.3641,358.0775 1973,370.9063 C2271.1998,442.2308 2364.5822,354.5486 2662.9057,430.6454 " fill="none" id="urt_srtrequest_t-&gt;urt_service_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2667.7566,431.8926,2660.0361,425.7776,2662.9141,430.6476,2658.0441,433.5256,2667.7566,431.8926" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bfc5f4e50344156edda6a5cfcff14fef]
16
link urt_frtrequest_t to urt_baserequest_t--><path d="M1196.068,362.464 C1296.7001,410.9856 1405.5363,463.463 1487.4629,502.9654 " fill="none" id="urt_frtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="1490.5993,496.7064,1505.5743,511.6982,1484.5188,509.3171,1490.5993,496.7064" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[836450d5c472e7b2344319739fa0d5d1]
17
link urt_frtrequest_t to urt_service_t--><path d="M1228.9679,362.4745 C1240.3676,365.5879 1251.7344,368.4183 1263,370.9063 C1869.9387,504.9465 2056.3997,289.0249 2662.8682,430.6596 " fill="none" id="urt_frtrequest_t-&gt;urt_service_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2667.7766,431.8116,2659.9288,425.8608,2662.9089,430.669,2658.1007,433.6491,2667.7766,431.8116" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7c5d2ea3f0b69f804ad9b60a9539ac96]
18
link urt_hrtrequest_t to urt_baserequest_t--><path d="M2023.3742,371.0037 C1927.342,417.1757 1825.8142,465.9899 1748.3869,503.2166 " fill="none" id="urt_hrtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="1751.3031,509.5816,1730.245,511.9393,1745.2367,496.9642,1751.3031,509.5816" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[189d7bd823f9a098ae8eb3eaa3789ee1]
19
link urt_hrtrequest_t to urt_service_t--><path d="M2581.4546,371.0037 C2617.6563,390.0787 2654.9397,409.6047 2691.3902,428.5782 " fill="none" id="urt_hrtrequest_t-&gt;urt_service_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2695.8311,430.8893,2689.6942,423.1861,2691.3958,428.581,2686.0009,430.2826,2695.8311,430.8893" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bcf13f9307d05af3b11663d6e8155fbe]
20
reverse link urt_service_t to urt_hrtrequest_t--><path d="M2709.7554,424.6371 C2676.1334,406.9081 2641.5096,388.7605 2607.4286,371.0037 " fill="none" id="urt_service_t&lt;-urt_hrtrequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2721.6036,430.8893,2718.1639,424.5514,2710.9906,425.2889,2714.4303,431.6268,2721.6036,430.8893" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2699.2432" y="419.73">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="2601.6819" y="390.8474">0,1</text><!--MD5=[05f2c35569573d3273c65d3342945557]
21
reverse link urt_service_t to urt_service_t--><path d="M3275.8204,525.8884 C3290.4318,535.9664 3299,549.3057 3299,565.9063 C3299,586.5362 3285.7678,602.1295 3264.1491,612.6862 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3264.1491,519.1264,3267.3355,525.5953,3274.5323,525.1421,3271.3459,518.6731,3264.1491,519.1264" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3272.1749" y="514.7575">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="3272.3343" y="610.8024">0,1</text><!--MD5=[ad377685d0f8dbb47816a1720242adb8]
6 22
@startuml
7 23

  
8 24
title **µRtWare**\nRemote Procedure Call System
......
19 35

  
20 36

  
21 37

  
22
  class urt_servicefunc_t <<F,E0E0E0>> {
23
  urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
38
  package "request" <<Rectangle>> {
39
    class urt_baserequest_t <<S,BFAFFF>> {
40
    + {field} prev : urt_baserequest_t*
41
    + {field} next : urt_baserequest_t*
42
    + {field} lock : urt_osMutex_t
43
    + {field} owner : urt_service_t*
44
    + {field} submissionTime : urt_osTime_t
45
    + {field} payload : void*
46
    + {field} evtSource : urt_osEventSource_t
47
    + {field} evtListener : urt_osEventListener_t
48
    .. URT_CFG_RPC_PROFILING == true ..
49
    + {field} sumLatencies : uint64_t
50
    + {field} numCalls : uint64_t
51
    + {field} numFails : uint64_t
52
  }
53

  
54
    class urt_nrtrequest_t <<S,BFAFFF>> {
55
    .. URT_CFG_RPC_PROFILING == true ..
56
    + {field} minLatency : urt_delay_t
57
    + {field} maxLatency : urt_delay_t
58
    __
59
    + {method} urtNrtRequestInit (request : urt_nrtrequest_t*) : void
60
    + {method} urtNrtRequestAcquire (request : urt_nrtrequest_t*) : urt_status_t
61
    + {method} urtNrtRequestTryAcquire (request : urt_nrtrequest_t*) : urt_status_t
62
    + {method} urtNrtRequestRelease (request : urt_nrtrequest_t*) : urt_status_t
63
    + {method} urtNrtRequestSubmit (request : urt_nrtrequest_t*, service : urt_service_t*) : urt_status_t
64
    + {method} urtNrtRequestRetrieve (request : urt_nrtrequest_t*) : urt_status_t
65
  }
66

  
67
    class urt_srtrequest_t <<S,BFAFFF>> {
68
    .. URT_CFG_RPC_PROFILING == true ..
69
    + {field} minLatency : urt_delay_t
70
    + {field} maxLatency : urt_delay_t
71
    __
72
    + {method} urtSrtRequestInit (request : urt_srtrequest_t*) : void
73
    + {method} urtSrtRequestAcquire (request : urt_srtrequest_t*) : urt_status_t
74
    + {method} urtSrtRequestTryAcquire (request : urt_srtrequest_t*) : urt_status_t
75
    + {method} urtSrtRequestRelease (request : urt_srtrequest_t*) : urt_status_t
76
    + {method} urtSrtRequestSubmit (request : urt_srtrequest_t*, service : urt_service_t*) : urt_status_t
77
    + {method} urtSrtRequestRetrieve (request : urt_srtrequest_t*) : urt_status_t
78
    + {method} urtSrtCalculateUsefulness (request : urt_srtrequest_t*, usefulnesscb : urt_usefulness_f, cbparams : void*) : float
79
  }
80

  
81
    class urt_frtrequest_t <<S,BFAFFF>> {
82
    .. URT_CFG_RPC_QOS_DEADLINECHECKS == true ..
83
    + {field} deadlineOffset : urt_delay_t
84
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
85
    + {field} maxJitter : urt_delay_t
86
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true ..
87
    + {field} minLatency : urt_delay_t
88
    + {field} maxLatency : urt_delay_t
89
    __
90
    + {method} urtFrtRequestInit (request : urt_frtrequest_t*) : void
91
    + {method} urtFrtRequestAcquire (request : urt_frtrequest_t*) : urt_status_t
92
    + {method} urtFrtRequestTryAcquire (request : urt_frtrequest_t*) : urt_status_t
93
    + {method} urtFrtRequestRelease (request : urt_frtrequest_t*) : urt_status_t
94
    + {method} urtFrtRequestSubmit (request : urt_frtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t
95
    + {method} urtFrtRequestRetrieve (request : urt_frtrequest_t*) : urt_status_t
96
    + {method} urtDrtCalculateValidity (request : urt_frtrequest_t) : bool
97
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
98
    + {method} urtFrtRequestGetMaxJitter(request : urt_frtrequest_t*) : urt_delay_t* const
99
  }
100

  
101
    class urt_hrtrequest_t <<S,BFAFFF>> {
102
    .. URT_CFG_RPC_QOS_DEADLINECHECKS == true ..
103
    + {field} deadlineOffset : urt_delay_t
104
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
105
    + {field} maxJitter : urt_delay_t
106
    .. URT_CFG_RPC_QOS_DEADLINECHECKS == true || URT_CFG_RPC_QOS_JITTERCHECKS == true ..
107
    + {field} qosTimer : urt_osTimer_t
108
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true ..
109
    + {field} minLatency : urt_delay_t
110
    + {field} maxLatency : urt_delay_t
111
    __
112
    + {method} urtHrtRequestInit (request : urt_hrtrequest_t*) : void
113
    + {method} urtHrtRequestAcquire (request : urt_hrtrequest_t*) : urt_status_t
114
    + {method} urtHrtRequestTryAcquire (request : urt_hrtrequest_t*) : urt_status_t
115
    + {method} urtHrtRequestRelease (request : urt_hrtrequest_t*) : urt_status_t
116
    + {method} urtHrtRequestSubmit (request : urt_hrtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t
117
    + {method} urtHrtRequestRetrieve (request : urt_hrtrequest_t*) : urt_status_t
118
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
119
    + {method} urtHrtRequestGetMaxJitter(request : urt_hrtrequest_t*) : urt_delay_t* const
120
  }
24 121
}
25 122

  
26 123
  class urt_service_t <<S,BFAFFF>> {
27 124
  + {field} next : urt_service_t*
28 125
  + {field} id : urt_serviceid_t
29 126
  + {field} lock : urt_osMutex_t
30
  + {field} callback : urt_servicefunc_t*
127
  + {field} requestQueue_front : urt_baserequest_t*
128
  + {field} requestQueue_hrtBack : urt_hrtrequest_t*
129
  + {field} requestQueue_fsrtBack : urt_baserequest_t*
130
  + {field} requestQueue_back : urt_baserequest_t*
131
  + {field} evtSource : urt_osEventSource_t
132
  + {field} evtListener : urt_osEventListener_t
31 133
  .. URT_CFG_RPC_PROFILING == true ..
32
  + {field} sumDurations : uint64_t
33 134
  + {field} numCalls : uint64_t
34
  + {field} numTimeouts : uint64_t
35
  + {field} minDuration : urt_delay_t
36
  + {field} maxDuration : urt_delay_t
135
  + {field} numOwnershipLost : uint64_t
37 136
  __
38
  + {method} urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t
39
  + {method} urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
137
  + {method} urtServiceInit (service : urt_service_t*, id : urt_serviceid_t) : urt_status_t
138
  + {method} urtServiceDispatch (service : urt_service_t*, payload : void*, bytes : size_t) : urt_baserequest_t*
139
  + {method} urtServiceAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t
140
  + {method} urtServiceTryAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t
141
  + {method} urtServiceRespond (request : urt_baserequest_t*) : urt_status_t
40 142
}
41 143

  
42 144

  
43 145

  
44 146

  
45
urt_service_t "1" o- - "0..1" urt_service_t
46
urt_service_t "1" o- - "0..1" urt_servicefunc_t
147
urt_baserequest_t "1" o- "0,1,2" urt_baserequest_t
148
urt_baserequest_t "1" o- "0,1" urt_service_t
149

  
150
urt_nrtrequest_t - -|> urt_baserequest_t
151
urt_nrtrequest_t ..> urt_service_t
152

  
153
urt_srtrequest_t - -|> urt_baserequest_t
154
urt_srtrequest_t ..> urt_service_t
155

  
156
urt_frtrequest_t - -|> urt_baserequest_t
157
urt_frtrequest_t ..> urt_service_t
158

  
159
urt_hrtrequest_t - -|> urt_baserequest_t
160
urt_hrtrequest_t ..> urt_service_t
161

  
162
urt_service_t "1" o- "0,1" urt_service_t
163
urt_service_t "1" o- "0,2,3" urt_baserequest_t
164
urt_service_t "1" o- "0,1" urt_hrtrequest_t
47 165

  
48 166

  
49 167

  
......
53 171
(GPL source distribution)
54 172
Java Runtime: OpenJDK Runtime Environment
55 173
JVM: OpenJDK 64-Bit Server VM
56
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
174
Java Version: 11.0.7+10-post-Ubuntu-2ubuntu218.04
57 175
Operating System: Linux
58 176
Default Encoding: UTF-8
59 177
Language: en

Also available in: Unified diff