Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / urtware.svg @ cd0cba58

History | View | Annotate | Download (132.865 KB)

1 2d315870 Thomas Schöpping
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1134px" preserveAspectRatio="none" style="width:10337px;height:1134px;" version="1.1" viewBox="0 0 10337 1134" width="10337px" zoomAndPan="magnify"><defs><filter height="300%" id="f1rypo70thvq1p" 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="5126" y="16.708">µRtWare</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
2
cluster node--><rect fill="#FFFFFF" filter="url(#f1rypo70thvq1p)" height="443" style="stroke: #000000; stroke-width: 1.5;" width="1674" x="5349" y="441.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="6166" y="456.4482">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
3
cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#f1rypo70thvq1p)" points="14,400.4531,24,390.4531,5341,390.4531,5341,1112.9531,5331,1122.9531,14,1122.9531,14,400.4531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5331" x2="5340" y1="400.4531" y2="391.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14" x2="5331" y1="400.4531" y2="400.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5331" x2="5331" y1="400.4531" y2="1122.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="2571" y="416.4482">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
4
cluster subscriber--><rect fill="#FFFFFF" filter="url(#f1rypo70thvq1p)" height="498.5" style="stroke: #000000; stroke-width: 1.5;" width="4062" x="1271" y="422.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3259.5" y="437.4482">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
5
cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#f1rypo70thvq1p)" points="7031,47.4531,7041,37.4531,10315,37.4531,10315,716.9531,10305,726.9531,7031,726.9531,7031,47.4531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10305" x2="10314" y1="47.4531" y2="38.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7031" x2="10305" y1="47.4531" y2="47.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10305" x2="10305" y1="47.4531" y2="726.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="8547" y="63.4482">Remote Procedure Call System</text><!--MD5=[ecaf13b018fb9788c80013f5b3634b61]
6
cluster request--><rect fill="#FFFFFF" filter="url(#f1rypo70thvq1p)" height="621.5" style="stroke: #000000; stroke-width: 1.5;" width="2646" x="7661" y="69.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="62" x="8953" y="84.4482">request</text><!--MD5=[a7dea26996a1231aa68629b332780450]
7
class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="5357" y="815.4531"/><ellipse cx="5502.75" cy="831.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5503.5938,838.2031 L5501.1406,838.2031 L5501.1406,827.9531 L5498,827.9531 L5498,825.8125 L5506.7344,825.8125 L5506.7344,827.9531 L5503.5938,827.9531 L5503.5938,838.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="5523.25" y="835.6074">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5358" x2="5812" y1="847.4531" y2="847.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5358" x2="5812" y1="855.4531" y2="855.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="5363" y="869.6636">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
8
class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="5848" y="815.4531"/><ellipse cx="6076.25" cy="831.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6077.0938,838.2031 L6074.6406,838.2031 L6074.6406,827.9531 L6071.5,827.9531 L6071.5,825.8125 L6080.2344,825.8125 L6080.2344,827.9531 L6077.0938,827.9531 L6077.0938,838.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="6096.75" y="835.6074">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5849" x2="6461" y1="847.4531" y2="847.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5849" x2="6461" y1="855.4531" y2="855.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="5854" y="869.6636">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[843db13320bebc2ca47f25c6a57c2ae5]
9
class urt_nodeShutdownCallback_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="60.8047" id="urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="518" x="6497" y="815.4531"/><ellipse cx="6661.25" cy="831.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6662.0938,838.2031 L6659.6406,838.2031 L6659.6406,827.9531 L6656.5,827.9531 L6656.5,825.8125 L6665.2344,825.8125 L6665.2344,827.9531 L6662.0938,827.9531 L6662.0938,838.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="6681.75" y="835.6074">urt_nodeShutdownCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6498" x2="7014" y1="847.4531" y2="847.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6498" x2="7014" y1="855.4531" y2="855.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="506" x="6503" y="869.6636">urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void</text><!--MD5=[d2563153d77472384a15c07b815d639f]
10
class urt_node_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="231.2656" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1541" x="5384.5" y="468.4531"/><ellipse cx="6117.25" cy="484.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6116.7344,485.0156 Q6114.875,484.3125 6114.2188,483.5469 Q6113.5781,482.7656 6113.5781,481.4531 Q6113.5781,479.7656 6114.6563,478.7969 Q6115.7344,477.8281 6117.6094,477.8281 Q6118.4688,477.8281 6119.3125,478.0313 Q6120.1719,478.2188 6121.0156,478.6094 L6121.0156,481 Q6120.2344,480.4375 6119.4063,480.1563 Q6118.5938,479.8594 6117.7969,479.8594 Q6116.9219,479.8594 6116.4375,480.2188 Q6115.9688,480.5781 6115.9688,481.2344 Q6115.9688,481.75 6116.3125,482.0938 Q6116.6563,482.4219 6117.75,482.8281 L6118.8125,483.2344 Q6120.2969,483.7813 6121,484.6875 Q6121.7188,485.5938 6121.7188,486.9688 Q6121.7188,488.8438 6120.6094,489.7656 Q6119.5,490.6875 6117.25,490.6875 Q6116.3281,490.6875 6115.4063,490.4688 Q6114.4844,490.25 6113.625,489.8281 L6113.625,487.2969 Q6114.5938,487.9844 6115.5156,488.3281 Q6116.4375,488.6719 6117.3281,488.6719 Q6118.2344,488.6719 6118.7344,488.2656 Q6119.2344,487.8438 6119.2344,487.1094 Q6119.2344,486.5469 6118.8906,486.1406 Q6118.5625,485.7188 6117.9375,485.4688 L6116.7344,485.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="6137.75" y="488.6074">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5385.5" x2="6924.5" y1="500.4531" y2="500.4531"/><ellipse cx="5395.5" cy="511.4531" 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="102" x="5404.5" y="514.6636">next : urt_node_t*</text><ellipse cx="5395.5" cy="524.2578" 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="5404.5" y="527.4683">thread : urt_osThread_t*</text><ellipse cx="5395.5" cy="537.0625" 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="5404.5" y="540.2729">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="5395.5" cy="549.8672" 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="117" x="5404.5" y="553.0776">setupparams : void*</text><ellipse cx="5395.5" cy="562.6719" 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="221" x="5404.5" y="565.8823">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="5395.5" cy="575.4766" 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="109" x="5404.5" y="578.687">loopparams : void*</text><ellipse cx="5395.5" cy="588.2813" 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="281" x="5404.5" y="591.4917">shutdowncallback : urt_nodeShutdownCallback_t*</text><ellipse cx="5395.5" cy="601.0859" 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="140" x="5404.5" y="604.2964">shutdownparams : void*</text><ellipse cx="5395.5" cy="613.8906" 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="5404.5" y="617.1011">stage : urt_nodestage_t</text><ellipse cx="5395.5" cy="626.6953" 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="178" x="5404.5" y="629.9058">listener : urt_osEventListener_t</text><ellipse cx="5395.5" cy="656.3047" 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="88" x="5404.5" y="659.5151">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5385.5" x2="5947" y1="642.9023" y2="642.9023"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="5947" y="646.2104">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6363" x2="6924.5" y1="642.9023" y2="642.9023"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5385.5" x2="6924.5" y1="666.1094" y2="666.1094"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5392.5" y="674.1094"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="5404.5" y="680.3198">_main : urt_osThreadFunction_t</text><ellipse cx="5395.5" cy="689.9141" 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="1515" x="5404.5" y="693.1245">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
11
class urt_message_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="406" x="830" y="972.9531"/><ellipse cx="982.75" cy="988.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M982.2344,989.5156 Q980.375,988.8125 979.7188,988.0469 Q979.0781,987.2656 979.0781,985.9531 Q979.0781,984.2656 980.1563,983.2969 Q981.2344,982.3281 983.1094,982.3281 Q983.9688,982.3281 984.8125,982.5313 Q985.6719,982.7188 986.5156,983.1094 L986.5156,985.5 Q985.7344,984.9375 984.9063,984.6563 Q984.0938,984.3594 983.2969,984.3594 Q982.4219,984.3594 981.9375,984.7188 Q981.4688,985.0781 981.4688,985.7344 Q981.4688,986.25 981.8125,986.5938 Q982.1563,986.9219 983.25,987.3281 L984.3125,987.7344 Q985.7969,988.2813 986.5,989.1875 Q987.2188,990.0938 987.2188,991.4688 Q987.2188,993.3438 986.1094,994.2656 Q985,995.1875 982.75,995.1875 Q981.8281,995.1875 980.9063,994.9688 Q979.9844,994.75 979.125,994.3281 L979.125,991.7969 Q980.0938,992.4844 981.0156,992.8281 Q981.9375,993.1719 982.8281,993.1719 Q983.7344,993.1719 984.2344,992.7656 Q984.7344,992.3438 984.7344,991.6094 Q984.7344,991.0469 984.3906,990.6406 Q984.0625,990.2188 983.4375,989.9688 L982.2344,989.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="1003.25" y="993.1074">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="831" x2="1235" y1="1004.9531" y2="1004.9531"/><ellipse cx="841" cy="1015.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="127" x="850" y="1019.1636">next : urt_message_t*</text><ellipse cx="841" cy="1028.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="85" x="850" y="1031.9683">payload : void*</text><ellipse cx="841" cy="1041.5625" 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="850" y="1044.7729">originTime : urt_osTime_t</text><ellipse cx="841" cy="1054.3672" 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="211" x="850" y="1057.5776">numHrtConsumersLeft : unsigned int</text><ellipse cx="841" cy="1083.9766" 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="194" x="850" y="1087.187">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="831" x2="924.5" y1="1070.5742" y2="1070.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="924.5" y="1073.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1141.5" x2="1235" y1="1070.5742" y2="1070.5742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="831" x2="1235" y1="1093.7813" y2="1093.7813"/><ellipse cx="841" cy="1104.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="380" x="850" y="1107.9917">urtMessageInit (message : urt_message_t*, payload : void*) : void</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
12
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="783" x="22.5" y="519.4531"/><ellipse cx="363.25" cy="535.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M362.7344,536.0156 Q360.875,535.3125 360.2188,534.5469 Q359.5781,533.7656 359.5781,532.4531 Q359.5781,530.7656 360.6563,529.7969 Q361.7344,528.8281 363.6094,528.8281 Q364.4688,528.8281 365.3125,529.0313 Q366.1719,529.2188 367.0156,529.6094 L367.0156,532 Q366.2344,531.4375 365.4063,531.1563 Q364.5938,530.8594 363.7969,530.8594 Q362.9219,530.8594 362.4375,531.2188 Q361.9688,531.5781 361.9688,532.2344 Q361.9688,532.75 362.3125,533.0938 Q362.6563,533.4219 363.75,533.8281 L364.8125,534.2344 Q366.2969,534.7813 367,535.6875 Q367.7188,536.5938 367.7188,537.9688 Q367.7188,539.8438 366.6094,540.7656 Q365.5,541.6875 363.25,541.6875 Q362.3281,541.6875 361.4063,541.4688 Q360.4844,541.25 359.625,540.8281 L359.625,538.2969 Q360.5938,538.9844 361.5156,539.3281 Q362.4375,539.6719 363.3281,539.6719 Q364.2344,539.6719 364.7344,539.2656 Q365.2344,538.8438 365.2344,538.1094 Q365.2344,537.5469 364.8906,537.1406 Q364.5625,536.7188 363.9375,536.4688 L362.7344,536.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="383.75" y="539.6074">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="804.5" y1="551.4531" y2="551.4531"/><ellipse cx="33.5" cy="562.4531" 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="104" x="42.5" y="565.6636">topic : urt_topic_t*</text><ellipse cx="33.5" cy="592.0625" 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="149" x="42.5" y="595.2729">publishAttempts : uint64_t</text><ellipse cx="33.5" cy="604.8672" 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="42.5" y="608.0776">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="23.5" x2="305.5" y1="578.6602" y2="578.6602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="305.5" y="581.9683">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="522.5" x2="804.5" y1="578.6602" y2="578.6602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="804.5" y1="614.6719" y2="614.6719"/><ellipse cx="33.5" cy="625.6719" 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="572" x="42.5" y="628.8823">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void</text><ellipse cx="33.5" cy="638.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="757" x="42.5" y="641.687">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
13
class urt_topic_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="260.875" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="841" y="453.4531"/><ellipse cx="995.75" cy="469.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M995.2344,470.0156 Q993.375,469.3125 992.7188,468.5469 Q992.0781,467.7656 992.0781,466.4531 Q992.0781,464.7656 993.1563,463.7969 Q994.2344,462.8281 996.1094,462.8281 Q996.9688,462.8281 997.8125,463.0313 Q998.6719,463.2188 999.5156,463.6094 L999.5156,466 Q998.7344,465.4375 997.9063,465.1563 Q997.0938,464.8594 996.2969,464.8594 Q995.4219,464.8594 994.9375,465.2188 Q994.4688,465.5781 994.4688,466.2344 Q994.4688,466.75 994.8125,467.0938 Q995.1563,467.4219 996.25,467.8281 L997.3125,468.2344 Q998.7969,468.7813 999.5,469.6875 Q1000.2188,470.5938 1000.2188,471.9688 Q1000.2188,473.8438 999.1094,474.7656 Q998,475.6875 995.75,475.6875 Q994.8281,475.6875 993.9063,475.4688 Q992.9844,475.25 992.125,474.8281 L992.125,472.2969 Q993.0938,472.9844 994.0156,473.3281 Q994.9375,473.6719 995.8281,473.6719 Q996.7344,473.6719 997.2344,473.2656 Q997.7344,472.8438 997.7344,472.1094 Q997.7344,471.5469 997.3906,471.1406 Q997.0625,470.7188 996.4375,470.4688 L995.2344,470.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="1016.25" y="473.6074">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="842" x2="1224" y1="485.4531" y2="485.4531"/><ellipse cx="852" cy="496.4531" 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="101" x="861" y="499.6636">next : urt_topic_t*</text><ellipse cx="852" cy="509.2578" 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="91" x="861" y="512.4683">id : urt_topicid_t</text><ellipse cx="852" cy="522.0625" 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="861" y="525.2729">lock : urt_osMutex_t</text><ellipse cx="852" cy="534.8672" 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="861" y="538.0776">evtSource : urt_osEventSource_t</text><ellipse cx="852" cy="547.6719" 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="193" x="861" y="550.8823">numHrtSubscribers : unsigned int</text><ellipse cx="852" cy="560.4766" 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="173" x="861" y="563.687">hrtReleased : urt_osCondvar_t</text><ellipse cx="852" cy="573.2813" 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="209" x="861" y="576.4917">mandatoryMessage : urt_message_t</text><ellipse cx="852" cy="586.0859" 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="861" y="589.2964">latestMessage : urt_message_t*</text><ellipse cx="852" cy="615.6953" 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="212" x="861" y="618.9058">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="852" cy="628.5" 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="170" x="861" y="631.7104">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="842" x2="900.5" y1="602.293" y2="602.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="900.5" y="605.6011">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1165.5" x2="1224" y1="602.293" y2="602.293"/><ellipse cx="852" cy="658.1094" 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="195" x="861" y="661.3198">numMessagesPublished : uint64_t</text><ellipse cx="852" cy="670.9141" 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="197" x="861" y="674.1245">numMessagesDiscarded : uint64_t</text><ellipse cx="852" cy="683.7188" 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="176" x="861" y="686.9292">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="842" x2="924.5" y1="644.707" y2="644.707"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="924.5" y="648.0151">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1141.5" x2="1224" y1="644.707" y2="644.707"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="842" x2="1224" y1="693.5234" y2="693.5234"/><ellipse cx="852" cy="704.5234" 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="358" x="861" y="707.7339">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
14
class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="2564.5" y="778.9531"/><ellipse cx="2606.95" cy="794.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2606.4344,795.5156 Q2604.575,794.8125 2603.9188,794.0469 Q2603.2781,793.2656 2603.2781,791.9531 Q2603.2781,790.2656 2604.3563,789.2969 Q2605.4344,788.3281 2607.3094,788.3281 Q2608.1688,788.3281 2609.0125,788.5313 Q2609.8719,788.7188 2610.7156,789.1094 L2610.7156,791.5 Q2609.9344,790.9375 2609.1063,790.6563 Q2608.2938,790.3594 2607.4969,790.3594 Q2606.6219,790.3594 2606.1375,790.7188 Q2605.6688,791.0781 2605.6688,791.7344 Q2605.6688,792.25 2606.0125,792.5938 Q2606.3563,792.9219 2607.45,793.3281 L2608.5125,793.7344 Q2609.9969,794.2813 2610.7,795.1875 Q2611.4188,796.0938 2611.4188,797.4688 Q2611.4188,799.3438 2610.3094,800.2656 Q2609.2,801.1875 2606.95,801.1875 Q2606.0281,801.1875 2605.1063,800.9688 Q2604.1844,800.75 2603.325,800.3281 L2603.325,797.7969 Q2604.2938,798.4844 2605.2156,798.8281 Q2606.1375,799.1719 2607.0281,799.1719 Q2607.9344,799.1719 2608.4344,798.7656 Q2608.9344,798.3438 2608.9344,797.6094 Q2608.9344,797.0469 2608.5906,796.6406 Q2608.2625,796.2188 2607.6375,795.9688 L2606.4344,795.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="2627.05" y="799.1074">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2565.5" x2="2788.5" y1="810.9531" y2="810.9531"/><ellipse cx="2575.5" cy="821.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="104" x="2584.5" y="825.1636">topic : urt_topic_t*</text><ellipse cx="2575.5" cy="834.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="198" x="2584.5" y="837.9683">evtListener : urt_osEventListener_t</text><ellipse cx="2575.5" cy="847.5625" 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="175" x="2584.5" y="850.7729">lastMessage : urt_message_t*</text><ellipse cx="2575.5" cy="860.3672" 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="2584.5" y="863.5776">lastMessageTime : urt_osTime_t</text><ellipse cx="2575.5" cy="889.9766" 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="2584.5" y="893.187">sumLatencies : uint64_t</text><ellipse cx="2575.5" cy="902.7813" 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="190" x="2584.5" y="905.9917">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2565.5" x2="2568.5" y1="876.5742" y2="876.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2568.5" y="879.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2785.5" x2="2788.5" y1="876.5742" y2="876.5742"/><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
15
class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="1278.5" y="506.9531"/><ellipse cx="1625.25" cy="522.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1624.7344,523.5156 Q1622.875,522.8125 1622.2188,522.0469 Q1621.5781,521.2656 1621.5781,519.9531 Q1621.5781,518.2656 1622.6563,517.2969 Q1623.7344,516.3281 1625.6094,516.3281 Q1626.4688,516.3281 1627.3125,516.5313 Q1628.1719,516.7188 1629.0156,517.1094 L1629.0156,519.5 Q1628.2344,518.9375 1627.4063,518.6563 Q1626.5938,518.3594 1625.7969,518.3594 Q1624.9219,518.3594 1624.4375,518.7188 Q1623.9688,519.0781 1623.9688,519.7344 Q1623.9688,520.25 1624.3125,520.5938 Q1624.6563,520.9219 1625.75,521.3281 L1626.8125,521.7344 Q1628.2969,522.2813 1629,523.1875 Q1629.7188,524.0938 1629.7188,525.4688 Q1629.7188,527.3438 1628.6094,528.2656 Q1627.5,529.1875 1625.25,529.1875 Q1624.3281,529.1875 1623.4063,528.9688 Q1622.4844,528.75 1621.625,528.3281 L1621.625,525.7969 Q1622.5938,526.4844 1623.5156,526.8281 Q1624.4375,527.1719 1625.3281,527.1719 Q1626.2344,527.1719 1626.7344,526.7656 Q1627.2344,526.3438 1627.2344,525.6094 Q1627.2344,525.0469 1626.8906,524.6406 Q1626.5625,524.2188 1625.9375,523.9688 L1624.7344,523.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="1645.75" y="527.1074">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1279.5" x2="2098.5" y1="538.9531" y2="538.9531"/><ellipse cx="1289.5" cy="566.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="138" x="1298.5" y="569.9683">minLatency : urt_delay_t</text><ellipse cx="1289.5" cy="579.5625" 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="1298.5" y="582.7729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1279.5" x2="1580.5" y1="553.3555" y2="553.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1580.5" y="556.6636">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1797.5" x2="2098.5" y1="553.3555" y2="553.3555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1279.5" x2="2098.5" y1="589.3672" y2="589.3672"/><ellipse cx="1289.5" cy="600.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="347" x="1298.5" y="603.5776">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void</text><ellipse cx="1289.5" cy="613.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="715" x="1298.5" y="616.3823">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1289.5" cy="625.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="785" x="1298.5" y="629.187">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1289.5" cy="638.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="795" x="1298.5" y="641.9917">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1289.5" cy="651.5859" 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="446" x="1298.5" y="654.7964">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
16
class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1044" x="4281" y="487.4531"/><ellipse cx="4739.75" cy="503.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4739.2344,504.0156 Q4737.375,503.3125 4736.7188,502.5469 Q4736.0781,501.7656 4736.0781,500.4531 Q4736.0781,498.7656 4737.1563,497.7969 Q4738.2344,496.8281 4740.1094,496.8281 Q4740.9688,496.8281 4741.8125,497.0313 Q4742.6719,497.2188 4743.5156,497.6094 L4743.5156,500 Q4742.7344,499.4375 4741.9063,499.1563 Q4741.0938,498.8594 4740.2969,498.8594 Q4739.4219,498.8594 4738.9375,499.2188 Q4738.4688,499.5781 4738.4688,500.2344 Q4738.4688,500.75 4738.8125,501.0938 Q4739.1563,501.4219 4740.25,501.8281 L4741.3125,502.2344 Q4742.7969,502.7813 4743.5,503.6875 Q4744.2188,504.5938 4744.2188,505.9688 Q4744.2188,507.8438 4743.1094,508.7656 Q4742,509.6875 4739.75,509.6875 Q4738.8281,509.6875 4737.9063,509.4688 Q4736.9844,509.25 4736.125,508.8281 L4736.125,506.2969 Q4737.0938,506.9844 4738.0156,507.3281 Q4738.9375,507.6719 4739.8281,507.6719 Q4740.7344,507.6719 4741.2344,507.2656 Q4741.7344,506.8438 4741.7344,506.1094 Q4741.7344,505.5469 4741.3906,505.1406 Q4741.0625,504.7188 4740.4375,504.4688 L4739.2344,504.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4760.25" y="507.6074">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4282" x2="5324" y1="519.4531" y2="519.4531"/><ellipse cx="4292" cy="530.4531" 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="189" x="4301" y="533.6636">usefulnesscb : urt_usefulness_f*</text><ellipse cx="4292" cy="543.2578" 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="98" x="4301" y="546.4683">cbparams : void*</text><ellipse cx="4292" cy="572.8672" 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="4301" y="576.0776">minLatency : urt_delay_t</text><ellipse cx="4292" cy="585.6719" 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="4301" y="588.8823">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4282" x2="4694.5" y1="559.4648" y2="559.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4694.5" y="562.7729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4911.5" x2="5324" y1="559.4648" y2="559.4648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4282" x2="5324" y1="595.4766" y2="595.4766"/><ellipse cx="4292" cy="606.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="347" x="4301" y="609.687">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void</text><ellipse cx="4292" cy="619.2813" 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="1018" x="4301" y="622.4917">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_usefulness_f*, cbparams : void*) : urt_status_t</text><ellipse cx="4292" cy="632.0859" 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="785" x="4301" y="635.2964">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4292" cy="644.8906" 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="795" x="4301" y="648.1011">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4292" cy="657.6953" 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="4301" y="660.9058">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4292" cy="670.5" 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="446" x="4301" y="673.7104">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
17
class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="3272" y="470.9531"/><ellipse cx="3697.25" cy="486.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3696.7344,487.5156 Q3694.875,486.8125 3694.2188,486.0469 Q3693.5781,485.2656 3693.5781,483.9531 Q3693.5781,482.2656 3694.6563,481.2969 Q3695.7344,480.3281 3697.6094,480.3281 Q3698.4688,480.3281 3699.3125,480.5313 Q3700.1719,480.7188 3701.0156,481.1094 L3701.0156,483.5 Q3700.2344,482.9375 3699.4063,482.6563 Q3698.5938,482.3594 3697.7969,482.3594 Q3696.9219,482.3594 3696.4375,482.7188 Q3695.9688,483.0781 3695.9688,483.7344 Q3695.9688,484.25 3696.3125,484.5938 Q3696.6563,484.9219 3697.75,485.3281 L3698.8125,485.7344 Q3700.2969,486.2813 3701,487.1875 Q3701.7188,488.0938 3701.7188,489.4688 Q3701.7188,491.3438 3700.6094,492.2656 Q3699.5,493.1875 3697.25,493.1875 Q3696.3281,493.1875 3695.4063,492.9688 Q3694.4844,492.75 3693.625,492.3281 L3693.625,489.7969 Q3694.5938,490.4844 3695.5156,490.8281 Q3696.4375,491.1719 3697.3281,491.1719 Q3698.2344,491.1719 3698.7344,490.7656 Q3699.2344,490.3438 3699.2344,489.6094 Q3699.2344,489.0469 3698.8906,488.6406 Q3698.5625,488.2188 3697.9375,487.9688 L3696.7344,487.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="3717.75" y="491.1074">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3273" x2="4245" y1="502.9531" y2="502.9531"/><ellipse cx="3283" cy="530.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="157" x="3292" y="533.9683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3273" x2="3613.5" y1="517.3555" y2="517.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3613.5" y="520.6636">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3904.5" x2="4245" y1="517.3555" y2="517.3555"/><ellipse cx="3283" cy="560.3672" 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="3292" y="563.5776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3273" x2="3623.5" y1="546.9648" y2="546.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3623.5" y="550.2729">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3894.5" x2="4245" y1="546.9648" y2="546.9648"/><ellipse cx="3283" cy="589.9766" 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="3292" y="593.187">minLatency : urt_delay_t</text><ellipse cx="3283" cy="602.7813" 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="3292" y="605.9917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3273" x2="3505" y1="576.5742" y2="576.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="3505" y="579.8823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4013" x2="4245" y1="576.5742" y2="576.5742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3273" x2="4245" y1="612.5859" y2="612.5859"/><ellipse cx="3283" cy="623.5859" 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="342" x="3292" y="626.7964">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void</text><ellipse cx="3283" cy="636.3906" 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="948" x="3292" y="639.6011">urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="3283" cy="649.1953" 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="780" x="3292" y="652.4058">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3283" cy="662" 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="790" x="3292" y="665.2104">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3283" cy="674.8047" 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="540" x="3292" y="678.0151">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="3283" cy="687.6094" 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="441" x="3292" y="690.8198">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
18
class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="2135" y="449.4531"/><ellipse cx="2613.25" cy="465.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2612.7344,466.0156 Q2610.875,465.3125 2610.2188,464.5469 Q2609.5781,463.7656 2609.5781,462.4531 Q2609.5781,460.7656 2610.6563,459.7969 Q2611.7344,458.8281 2613.6094,458.8281 Q2614.4688,458.8281 2615.3125,459.0313 Q2616.1719,459.2188 2617.0156,459.6094 L2617.0156,462 Q2616.2344,461.4375 2615.4063,461.1563 Q2614.5938,460.8594 2613.7969,460.8594 Q2612.9219,460.8594 2612.4375,461.2188 Q2611.9688,461.5781 2611.9688,462.2344 Q2611.9688,462.75 2612.3125,463.0938 Q2612.6563,463.4219 2613.75,463.8281 L2614.8125,464.2344 Q2616.2969,464.7813 2617,465.6875 Q2617.7188,466.5938 2617.7188,467.9688 Q2617.7188,469.8438 2616.6094,470.7656 Q2615.5,471.6875 2613.25,471.6875 Q2612.3281,471.6875 2611.4063,471.4688 Q2610.4844,471.25 2609.625,470.8281 L2609.625,468.2969 Q2610.5938,468.9844 2611.5156,469.3281 Q2612.4375,469.6719 2613.3281,469.6719 Q2614.2344,469.6719 2614.7344,469.2656 Q2615.2344,468.8438 2615.2344,468.1094 Q2615.2344,467.5469 2614.8906,467.1406 Q2614.5625,466.7188 2613.9375,466.4688 L2612.7344,466.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2633.75" y="469.6074">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2136" x2="3218" y1="481.4531" y2="481.4531"/><ellipse cx="2146" cy="492.4531" 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="151" x="2155" y="495.6636">next : urt_hrtsubscriber_t*</text><ellipse cx="2146" cy="522.0625" 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="2155" y="525.2729">deadlineOffset : urt_delay_t</text><ellipse cx="2146" cy="534.8672" 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="194" x="2155" y="538.0776">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2531.5" y1="508.6602" y2="508.6602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="2531.5" y="511.9683">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2822.5" x2="3218" y1="508.6602" y2="508.6602"/><ellipse cx="2146" cy="564.4766" 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="2155" y="567.687">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2541.5" y1="551.0742" y2="551.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="2541.5" y="554.3823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2812.5" x2="3218" y1="551.0742" y2="551.0742"/><ellipse cx="2146" cy="594.0859" 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="2155" y="597.2964">minLatency : urt_delay_t</text><ellipse cx="2146" cy="606.8906" 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="2155" y="610.1011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2425" y1="580.6836" y2="580.6836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="2425" y="583.9917">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2929" x2="3218" y1="580.6836" y2="580.6836"/><ellipse cx="2146" cy="636.5" 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="150" x="2155" y="639.7104">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2544.5" y1="623.0977" y2="623.0977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2544.5" y="626.4058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2809.5" x2="3218" y1="623.0977" y2="623.0977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2136" x2="3218" y1="646.3047" y2="646.3047"/><ellipse cx="2146" cy="657.3047" 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="347" x="2155" y="660.5151">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void</text><ellipse cx="2146" cy="670.1094" 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="1058" x="2155" y="673.3198">urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="2146" cy="682.9141" 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="785" x="2155" y="686.1245">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2146" cy="695.7188" 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="795" x="2155" y="698.9292">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2146" cy="708.5234" 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="446" x="2155" y="711.7339">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
19
class urt_service_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="269.6797" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="596" x="7039" y="448.9531"/><ellipse cx="7293.25" cy="464.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7292.7344,465.5156 Q7290.875,464.8125 7290.2188,464.0469 Q7289.5781,463.2656 7289.5781,461.9531 Q7289.5781,460.2656 7290.6563,459.2969 Q7291.7344,458.3281 7293.6094,458.3281 Q7294.4688,458.3281 7295.3125,458.5313 Q7296.1719,458.7188 7297.0156,459.1094 L7297.0156,461.5 Q7296.2344,460.9375 7295.4063,460.6563 Q7294.5938,460.3594 7293.7969,460.3594 Q7292.9219,460.3594 7292.4375,460.7188 Q7291.9688,461.0781 7291.9688,461.7344 Q7291.9688,462.25 7292.3125,462.5938 Q7292.6563,462.9219 7293.75,463.3281 L7294.8125,463.7344 Q7296.2969,464.2813 7297,465.1875 Q7297.7188,466.0938 7297.7188,467.4688 Q7297.7188,469.3438 7296.6094,470.2656 Q7295.5,471.1875 7293.25,471.1875 Q7292.3281,471.1875 7291.4063,470.9688 Q7290.4844,470.75 7289.625,470.3281 L7289.625,467.7969 Q7290.5938,468.4844 7291.5156,468.8281 Q7292.4375,469.1719 7293.3281,469.1719 Q7294.2344,469.1719 7294.7344,468.7656 Q7295.2344,468.3438 7295.2344,467.6094 Q7295.2344,467.0469 7294.8906,466.6406 Q7294.5625,466.2188 7293.9375,465.9688 L7292.7344,465.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="7313.75" y="469.1074">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7040" x2="7634" y1="480.9531" y2="480.9531"/><ellipse cx="7050" cy="491.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="115" x="7059" y="495.1636">next : urt_service_t*</text><ellipse cx="7050" cy="504.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="105" x="7059" y="507.9683">id : urt_serviceid_t</text><ellipse cx="7050" cy="517.5625" 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="7059" y="520.7729">lock : urt_osMutex_t</text><ellipse cx="7050" cy="530.3672" 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="7059" y="533.5776">requestQueue_front : urt_baserequest_t*</text><ellipse cx="7050" cy="543.1719" 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="7059" y="546.3823">requestQueue_hrtBack : urt_hrtrequest_t*</text><ellipse cx="7050" cy="555.9766" 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="7059" y="559.187">requestQueue_fsrtBack : urt_baserequest_t*</text><ellipse cx="7050" cy="568.7813" 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="7059" y="571.9917">requestQueue_back : urt_baserequest_t*</text><ellipse cx="7050" cy="581.5859" 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="7059" y="584.7964">evtSource : urt_osEventSource_t</text><ellipse cx="7050" cy="594.3906" 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="7059" y="597.6011">evtListener : urt_osEventListener_t</text><ellipse cx="7050" cy="624" 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="7059" y="627.2104">numCalls : uint64_t</text><ellipse cx="7050" cy="636.8047" 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="7059" y="640.0151">numOwnershipLost : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7040" x2="7241" y1="610.5977" y2="610.5977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="7241" y="613.9058">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7433" x2="7634" y1="610.5977" y2="610.5977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7040" x2="7634" y1="646.6094" y2="646.6094"/><ellipse cx="7050" cy="657.6094" 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="7059" y="660.8198">urtServiceInit (service : urt_service_t*, id : urt_serviceid_t) : urt_status_t</text><ellipse cx="7050" cy="670.4141" 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="7059" y="673.6245">urtServiceDispatch (service : urt_service_t*, payload : void*, bytes : size_t) : urt_baserequest_t*</text><ellipse cx="7050" cy="683.2188" 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="7059" y="686.4292">urtServiceAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="7050" cy="696.0234" 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="7059" y="699.2339">urtServiceTryAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="7050" cy="708.8281" 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="7059" y="712.0386">urtServiceRespond (request : urt_baserequest_t*) : urt_status_t</text><!--MD5=[7294e1cfaeb111bef046bc5d07a96458]
20
class urt_baserequest_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="197.6563" id="urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="8519" y="484.9531"/><ellipse cx="8569.25" cy="500.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8568.7344,501.5156 Q8566.875,500.8125 8566.2188,500.0469 Q8565.5781,499.2656 8565.5781,497.9531 Q8565.5781,496.2656 8566.6563,495.2969 Q8567.7344,494.3281 8569.6094,494.3281 Q8570.4688,494.3281 8571.3125,494.5313 Q8572.1719,494.7188 8573.0156,495.1094 L8573.0156,497.5 Q8572.2344,496.9375 8571.4063,496.6563 Q8570.5938,496.3594 8569.7969,496.3594 Q8568.9219,496.3594 8568.4375,496.7188 Q8567.9688,497.0781 8567.9688,497.7344 Q8567.9688,498.25 8568.3125,498.5938 Q8568.6563,498.9219 8569.75,499.3281 L8570.8125,499.7344 Q8572.2969,500.2813 8573,501.1875 Q8573.7188,502.0938 8573.7188,503.4688 Q8573.7188,505.3438 8572.6094,506.2656 Q8571.5,507.1875 8569.25,507.1875 Q8568.3281,507.1875 8567.4063,506.9688 Q8566.4844,506.75 8565.625,506.3281 L8565.625,503.7969 Q8566.5938,504.4844 8567.5156,504.8281 Q8568.4375,505.1719 8569.3281,505.1719 Q8570.2344,505.1719 8570.7344,504.7656 Q8571.2344,504.3438 8571.2344,503.6094 Q8571.2344,503.0469 8570.8906,502.6406 Q8570.5625,502.2188 8569.9375,501.9688 L8568.7344,501.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="8589.75" y="505.1074">urt_baserequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8520" x2="8742" y1="516.9531" y2="516.9531"/><ellipse cx="8530" cy="527.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="147" x="8539" y="531.1636">prev : urt_baserequest_t*</text><ellipse cx="8530" cy="540.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="146" x="8539" y="543.9683">next : urt_baserequest_t*</text><ellipse cx="8530" cy="553.5625" 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="8539" y="556.7729">lock : urt_osMutex_t</text><ellipse cx="8530" cy="566.3672" 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="8539" y="569.5776">owner : urt_service_t*</text><ellipse cx="8530" cy="579.1719" 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="8539" y="582.3823">submissionTime : urt_osTime_t</text><ellipse cx="8530" cy="591.9766" 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="8539" y="595.187">payload : void*</text><ellipse cx="8530" cy="604.7813" 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="8539" y="607.9917">evtSource : urt_osEventSource_t</text><ellipse cx="8530" cy="617.5859" 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="8539" y="620.7964">evtListener : urt_osEventListener_t</text><ellipse cx="8530" cy="647.1953" 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="8539" y="650.4058">sumLatencies : uint64_t</text><ellipse cx="8530" cy="660" 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="8539" y="663.2104">numCalls : uint64_t</text><ellipse cx="8530" cy="672.8047" 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="8539" y="676.0151">numFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8520" x2="8535" y1="633.793" y2="633.793"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="8535" y="637.1011">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8727" x2="8742" y1="633.793" y2="633.793"/><!--MD5=[65269c71e9a2a076bc4014c9b128c9e6]
21
class urt_nrtrequest_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="167.2422" id="urt_nrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="531" x="8365.5" y="155.9531"/><ellipse cx="8575.75" cy="171.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8575.2344,172.5156 Q8573.375,171.8125 8572.7188,171.0469 Q8572.0781,170.2656 8572.0781,168.9531 Q8572.0781,167.2656 8573.1563,166.2969 Q8574.2344,165.3281 8576.1094,165.3281 Q8576.9688,165.3281 8577.8125,165.5313 Q8578.6719,165.7188 8579.5156,166.1094 L8579.5156,168.5 Q8578.7344,167.9375 8577.9063,167.6563 Q8577.0938,167.3594 8576.2969,167.3594 Q8575.4219,167.3594 8574.9375,167.7188 Q8574.4688,168.0781 8574.4688,168.7344 Q8574.4688,169.25 8574.8125,169.5938 Q8575.1563,169.9219 8576.25,170.3281 L8577.3125,170.7344 Q8578.7969,171.2813 8579.5,172.1875 Q8580.2188,173.0938 8580.2188,174.4688 Q8580.2188,176.3438 8579.1094,177.2656 Q8578,178.1875 8575.75,178.1875 Q8574.8281,178.1875 8573.9063,177.9688 Q8572.9844,177.75 8572.125,177.3281 L8572.125,174.7969 Q8573.0938,175.4844 8574.0156,175.8281 Q8574.9375,176.1719 8575.8281,176.1719 Q8576.7344,176.1719 8577.2344,175.7656 Q8577.7344,175.3438 8577.7344,174.6094 Q8577.7344,174.0469 8577.3906,173.6406 Q8577.0625,173.2188 8576.4375,172.9688 L8575.2344,172.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="8596.25" y="176.1074">urt_nrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8366.5" x2="8895.5" y1="187.9531" y2="187.9531"/><ellipse cx="8376.5" cy="215.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="138" x="8385.5" y="218.9683">minLatency : urt_delay_t</text><ellipse cx="8376.5" cy="228.5625" 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="8385.5" y="231.7729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8366.5" x2="8535" y1="202.3555" y2="202.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="8535" y="205.6636">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8727" x2="8895.5" y1="202.3555" y2="202.3555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8366.5" x2="8895.5" y1="238.3672" y2="238.3672"/><ellipse cx="8376.5" cy="249.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="297" x="8385.5" y="252.5776">urtNrtRequestInit (request : urt_nrtrequest_t*) : void</text><ellipse cx="8376.5" cy="262.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="367" x="8385.5" y="265.3823">urtNrtRequestAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8376.5" cy="274.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="385" x="8385.5" y="278.187">urtNrtRequestTryAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8376.5" cy="287.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="370" x="8385.5" y="290.9917">urtNrtRequestRelease (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8376.5" cy="300.5859" 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="8385.5" y="303.7964">urtNrtRequestSubmit (request : urt_nrtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="8376.5" cy="313.3906" 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="8385.5" y="316.6011">urtNrtRequestRetrieve (request : urt_nrtrequest_t*) : urt_status_t</text><!--MD5=[e9d515ad43a4cecec056dd09bc14a3c2]
22
class urt_srtrequest_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="180.0469" id="urt_srtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="675" x="9623.5" y="149.4531"/><ellipse cx="9906.25" cy="165.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9905.7344,166.0156 Q9903.875,165.3125 9903.2188,164.5469 Q9902.5781,163.7656 9902.5781,162.4531 Q9902.5781,160.7656 9903.6563,159.7969 Q9904.7344,158.8281 9906.6094,158.8281 Q9907.4688,158.8281 9908.3125,159.0313 Q9909.1719,159.2188 9910.0156,159.6094 L9910.0156,162 Q9909.2344,161.4375 9908.4063,161.1563 Q9907.5938,160.8594 9906.7969,160.8594 Q9905.9219,160.8594 9905.4375,161.2188 Q9904.9688,161.5781 9904.9688,162.2344 Q9904.9688,162.75 9905.3125,163.0938 Q9905.6563,163.4219 9906.75,163.8281 L9907.8125,164.2344 Q9909.2969,164.7813 9910,165.6875 Q9910.7188,166.5938 9910.7188,167.9688 Q9910.7188,169.8438 9909.6094,170.7656 Q9908.5,171.6875 9906.25,171.6875 Q9905.3281,171.6875 9904.4063,171.4688 Q9903.4844,171.25 9902.625,170.8281 L9902.625,168.2969 Q9903.5938,168.9844 9904.5156,169.3281 Q9905.4375,169.6719 9906.3281,169.6719 Q9907.2344,169.6719 9907.7344,169.2656 Q9908.2344,168.8438 9908.2344,168.1094 Q9908.2344,167.5469 9907.8906,167.1406 Q9907.5625,166.7188 9906.9375,166.4688 L9905.7344,166.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="9926.75" y="169.6074">urt_srtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9624.5" x2="10297.5" y1="181.4531" y2="181.4531"/><ellipse cx="9634.5" cy="209.2578" 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="9643.5" y="212.4683">minLatency : urt_delay_t</text><ellipse cx="9634.5" cy="222.0625" 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="9643.5" y="225.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9624.5" x2="9865" y1="195.8555" y2="195.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="9865" y="199.1636">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10057" x2="10297.5" y1="195.8555" y2="195.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9624.5" x2="10297.5" y1="231.8672" y2="231.8672"/><ellipse cx="9634.5" cy="242.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="297" x="9643.5" y="246.0776">urtSrtRequestInit (request : urt_srtrequest_t*) : void</text><ellipse cx="9634.5" cy="255.6719" 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="9643.5" y="258.8823">urtSrtRequestAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9634.5" cy="268.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="385" x="9643.5" y="271.687">urtSrtRequestTryAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9634.5" cy="281.2813" 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="9643.5" y="284.4917">urtSrtRequestRelease (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9634.5" cy="294.0859" 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="9643.5" y="297.2964">urtSrtRequestSubmit (request : urt_srtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="9634.5" cy="306.8906" 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="9643.5" y="310.1011">urtSrtRequestRetrieve (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9634.5" cy="319.6953" 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="9643.5" y="322.9058">urtSrtCalculateUsefulness (request : urt_srtrequest_t*, usefulnesscb : urt_usefulness_f, cbparams : void*) : float</text><!--MD5=[240977dbca9212fa5365c87da90aa051]
23
class urt_frtrequest_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="268.875" id="urt_frtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="656" x="8932" y="104.9531"/><ellipse cx="9206.75" cy="120.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9206.2344,121.5156 Q9204.375,120.8125 9203.7188,120.0469 Q9203.0781,119.2656 9203.0781,117.9531 Q9203.0781,116.2656 9204.1563,115.2969 Q9205.2344,114.3281 9207.1094,114.3281 Q9207.9688,114.3281 9208.8125,114.5313 Q9209.6719,114.7188 9210.5156,115.1094 L9210.5156,117.5 Q9209.7344,116.9375 9208.9063,116.6563 Q9208.0938,116.3594 9207.2969,116.3594 Q9206.4219,116.3594 9205.9375,116.7188 Q9205.4688,117.0781 9205.4688,117.7344 Q9205.4688,118.25 9205.8125,118.5938 Q9206.1563,118.9219 9207.25,119.3281 L9208.3125,119.7344 Q9209.7969,120.2813 9210.5,121.1875 Q9211.2188,122.0938 9211.2188,123.4688 Q9211.2188,125.3438 9210.1094,126.2656 Q9209,127.1875 9206.75,127.1875 Q9205.8281,127.1875 9204.9063,126.9688 Q9203.9844,126.75 9203.125,126.3281 L9203.125,123.7969 Q9204.0938,124.4844 9205.0156,124.8281 Q9205.9375,125.1719 9206.8281,125.1719 Q9207.7344,125.1719 9208.2344,124.7656 Q9208.7344,124.3438 9208.7344,123.6094 Q9208.7344,123.0469 9208.3906,122.6406 Q9208.0625,122.2188 9207.4375,121.9688 L9206.2344,121.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="9227.25" y="125.1074">urt_frtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8933" x2="9587" y1="136.9531" y2="136.9531"/><ellipse cx="8943" cy="164.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="157" x="8952" y="167.9683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8933" x2="9127" y1="151.3555" y2="151.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="9127" y="154.6636">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9393" x2="9587" y1="151.3555" y2="151.3555"/><ellipse cx="8943" cy="194.3672" 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="8952" y="197.5776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8933" x2="9137" y1="180.9648" y2="180.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="9137" y="184.2729">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9383" x2="9587" y1="180.9648" y2="180.9648"/><ellipse cx="8943" cy="223.9766" 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="8952" y="227.187">minLatency : urt_delay_t</text><ellipse cx="8943" cy="236.7813" 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="8952" y="239.9917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8933" x2="9033" y1="210.5742" y2="210.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="9033" y="213.8823">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="9487" x2="9587" y1="210.5742" y2="210.5742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8933" x2="9587" y1="246.5859" y2="246.5859"/><ellipse cx="8943" cy="257.5859" 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="8952" y="260.7964">urtFrtRequestInit (request : urt_frtrequest_t*) : void</text><ellipse cx="8943" cy="270.3906" 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="8952" y="273.6011">urtFrtRequestAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="8943" cy="283.1953" 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="8952" y="286.4058">urtFrtRequestTryAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="8943" cy="296" 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="8952" y="299.2104">urtFrtRequestRelease (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="8943" cy="308.8047" 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="8952" y="312.0151">urtFrtRequestSubmit (request : urt_frtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="8943" cy="321.6094" 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="8952" y="324.8198">urtFrtRequestRetrieve (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="8943" cy="334.4141" 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="8952" y="337.6245">urtDrtCalculateValidity (request : urt_frtrequest_t) : bool</text><ellipse cx="8943" cy="364.0234" 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="8952" y="367.2339">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="8933" x2="9137" y1="350.6211" y2="350.6211"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="9137" y="353.9292">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9383" x2="9587" y1="350.6211" y2="350.6211"/><!--MD5=[2b0c3d572fefe037473ca776bdd2f803]
24
class urt_hrtrequest_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="285.6797" id="urt_hrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="661" x="7669.5" y="96.4531"/><ellipse cx="7944.75" cy="112.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7944.2344,113.0156 Q7942.375,112.3125 7941.7188,111.5469 Q7941.0781,110.7656 7941.0781,109.4531 Q7941.0781,107.7656 7942.1563,106.7969 Q7943.2344,105.8281 7945.1094,105.8281 Q7945.9688,105.8281 7946.8125,106.0313 Q7947.6719,106.2188 7948.5156,106.6094 L7948.5156,109 Q7947.7344,108.4375 7946.9063,108.1563 Q7946.0938,107.8594 7945.2969,107.8594 Q7944.4219,107.8594 7943.9375,108.2188 Q7943.4688,108.5781 7943.4688,109.2344 Q7943.4688,109.75 7943.8125,110.0938 Q7944.1563,110.4219 7945.25,110.8281 L7946.3125,111.2344 Q7947.7969,111.7813 7948.5,112.6875 Q7949.2188,113.5938 7949.2188,114.9688 Q7949.2188,116.8438 7948.1094,117.7656 Q7947,118.6875 7944.75,118.6875 Q7943.8281,118.6875 7942.9063,118.4688 Q7941.9844,118.25 7941.125,117.8281 L7941.125,115.2969 Q7942.0938,115.9844 7943.0156,116.3281 Q7943.9375,116.6719 7944.8281,116.6719 Q7945.7344,116.6719 7946.2344,116.2656 Q7946.7344,115.8438 7946.7344,115.1094 Q7946.7344,114.5469 7946.3906,114.1406 Q7946.0625,113.7188 7945.4375,113.4688 L7944.2344,113.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="7965.25" y="116.6074">urt_hrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7670.5" x2="8329.5" y1="128.4531" y2="128.4531"/><ellipse cx="7680.5" cy="156.2578" 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="7689.5" y="159.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7670.5" x2="7867" y1="142.8555" y2="142.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="7867" y="146.1636">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8133" x2="8329.5" y1="142.8555" y2="142.8555"/><ellipse cx="7680.5" cy="185.8672" 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="7689.5" y="189.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7670.5" x2="7877" y1="172.4648" y2="172.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="7877" y="175.7729">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8123" x2="8329.5" y1="172.4648" y2="172.4648"/><ellipse cx="7680.5" cy="215.4766" 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="7689.5" y="218.687">qosTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7670.5" x2="7736" y1="202.0742" y2="202.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="528" x="7736" y="205.3823">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="8264" x2="8329.5" y1="202.0742" y2="202.0742"/><ellipse cx="7680.5" cy="245.0859" 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="7689.5" y="248.2964">minLatency : urt_delay_t</text><ellipse cx="7680.5" cy="257.8906" 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="7689.5" y="261.1011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7670.5" x2="7773" y1="231.6836" y2="231.6836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="7773" y="234.9917">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="8227" x2="8329.5" y1="231.6836" y2="231.6836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7670.5" x2="8329.5" y1="267.6953" y2="267.6953"/><ellipse cx="7680.5" cy="278.6953" 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="7689.5" y="281.9058">urtHrtRequestInit (request : urt_hrtrequest_t*) : void</text><ellipse cx="7680.5" cy="291.5" 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="7689.5" y="294.7104">urtHrtRequestAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7680.5" cy="304.3047" 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="7689.5" y="307.5151">urtHrtRequestTryAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7680.5" cy="317.1094" 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="7689.5" y="320.3198">urtHrtRequestRelease (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7680.5" cy="329.9141" 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="7689.5" y="333.1245">urtHrtRequestSubmit (request : urt_hrtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="7680.5" cy="342.7188" 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="7689.5" y="345.9292">urtHrtRequestRetrieve (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7680.5" cy="372.3281" 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="7689.5" y="375.5386">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="7670.5" x2="7877" y1="358.9258" y2="358.9258"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="7877" y="362.2339">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8123" x2="8329.5" y1="358.9258" y2="358.9258"/><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
25
class urt_core_t--><rect fill="#FEFECE" filter="url(#f1rypo70thvq1p)" height="281.6797" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="343" x="5983.5" y="98.4531"/><ellipse cx="6119.25" cy="114.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6118.7344,115.0156 Q6116.875,114.3125 6116.2188,113.5469 Q6115.5781,112.7656 6115.5781,111.4531 Q6115.5781,109.7656 6116.6563,108.7969 Q6117.7344,107.8281 6119.6094,107.8281 Q6120.4688,107.8281 6121.3125,108.0313 Q6122.1719,108.2188 6123.0156,108.6094 L6123.0156,111 Q6122.2344,110.4375 6121.4063,110.1563 Q6120.5938,109.8594 6119.7969,109.8594 Q6118.9219,109.8594 6118.4375,110.2188 Q6117.9688,110.5781 6117.9688,111.2344 Q6117.9688,111.75 6118.3125,112.0938 Q6118.6563,112.4219 6119.75,112.8281 L6120.8125,113.2344 Q6122.2969,113.7813 6123,114.6875 Q6123.7188,115.5938 6123.7188,116.9688 Q6123.7188,118.8438 6122.6094,119.7656 Q6121.5,120.6875 6119.25,120.6875 Q6118.3281,120.6875 6117.4063,120.4688 Q6116.4844,120.25 6115.625,119.8281 L6115.625,117.2969 Q6116.5938,117.9844 6117.5156,118.3281 Q6118.4375,118.6719 6119.3281,118.6719 Q6120.2344,118.6719 6120.7344,118.2656 Q6121.2344,117.8438 6121.2344,117.1094 Q6121.2344,116.5469 6120.8906,116.1406 Q6120.5625,115.7188 6119.9375,115.4688 L6118.7344,115.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="6139.75" y="118.6074">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5984.5" x2="6325.5" y1="130.4531" y2="130.4531"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5991.5" y="138.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6003.5" y="144.6636">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5991.5" y="151.2578"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="6003.5" y="157.4683">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5991.5" y="164.0625"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6003.5" y="170.2729">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5991.5" y="176.8672"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="122" x="6003.5" y="183.0776">_status : urt_status_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5991.5" y="206.4766"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="6003.5" y="212.687">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5984.5" x2="6050" y1="196.0742" y2="196.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6050" y="199.3823">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6260" x2="6325.5" y1="196.0742" y2="196.0742"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5991.5" y="236.0859"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="6003.5" y="242.2964">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5984.5" x2="6062.5" y1="225.6836" y2="225.6836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6062.5" y="228.9917">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6247.5" x2="6325.5" y1="225.6836" y2="225.6836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5984.5" x2="6325.5" y1="248.8906" y2="248.8906"/><ellipse cx="5994.5" cy="259.8906" 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="130" x="6003.5" y="263.1011">urtCoreInit (void) : void</text><ellipse cx="5994.5" cy="272.6953" 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="215" x="6003.5" y="275.9058">urtCoreGetStatus (void) : urt_status_t</text><ellipse cx="5994.5" cy="285.5" 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="177" x="6003.5" y="288.7104">urtCoreStartNodes (void) : void</text><ellipse cx="5994.5" cy="298.3047" 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="309" x="6003.5" y="301.5151">urtCoreSynchronize (node : urt_node_t*) : urt_status_t</text><ellipse cx="5994.5" cy="311.1094" 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="317" x="6003.5" y="314.3198">urtCoreStopNodes (reason : urt_status_t) : urt_status_t</text><ellipse cx="5994.5" cy="340.7188" 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="273" x="6003.5" y="343.9292">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5984.5" x2="6050" y1="327.3164" y2="327.3164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6050" y="330.6245">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6260" x2="6325.5" y1="327.3164" y2="327.3164"/><ellipse cx="5994.5" cy="370.3281" 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="313" x="6003.5" y="373.5386">urtCoreGetService (id : urt_serviceid_t) : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5984.5" x2="6062.5" y1="356.9258" y2="356.9258"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6062.5" y="360.2339">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6247.5" x2="6325.5" y1="356.9258" y2="356.9258"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
26
reverse link urt_node_t to urt_node_t--><path d="M6937.9212,562.8785 C6952.4841,568.9256 6960.5,575.9505 6960.5,583.9531 C6960.5,593.9956 6947.8767,602.4983 6925.5332,609.4614 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6925.5332,558.4448,6929.8344,564.2327,6936.8314,562.4885,6932.5302,556.7006,6925.5332,558.4448" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6934.0047" y="555.15">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="6934.0703" y="606.7246">0,1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
27
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M5878.6717,705.1213 C5789.6061,745.938 5699.4142,788.0348 5642.8397,815.4419 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="5890.6583,699.6328,5883.5377,698.4939,5879.7477,704.6288,5886.8683,705.7676,5890.6583,699.6328" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5864.6291" y="719.9714">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="5633.3046" y="804.2298">0,1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
28
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M5912.1611,701.751 C5821.4884,743.6073 5725.0101,787.2798 5660.4215,815.4419 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5916.7481,699.6328,5906.9003,699.7746,5912.2087,701.7291,5910.2543,707.0376,5916.7481,699.6328" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
29
reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6142.2514,712.8795 C6142.1989,751.2058 6143.6019,789.7688 6146.4603,815.4419 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6142.3278,699.6328,6138.2933,705.6096,6142.2586,711.6326,6146.2931,705.6558,6142.3278,699.6328" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6133.2076" y="719.9714">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6135.7172" y="804.2298">1</text><!--MD5=[b913f036db99e36b937989146817bd94]
30
reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6168.4661,705.1213 C6168.7477,745.938 6167.273,788.0348 6164.0421,815.4419 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6168.4176,699.6328,6164.4975,708.6679,6168.4619,704.6326,6172.4972,708.597,6168.4176,699.6328" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
31
reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M6419.6574,704.8715 C6513.1922,745.7662 6611.416,787.9789 6677.4708,815.4419 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6407.6846,699.6328,6411.578,705.7026,6418.6782,704.4432,6414.7849,698.3735,6407.6846,699.6328" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6416.3931" y="719.9714">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="6638.105" y="804.2298">0,1</text><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
32
reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M6438.3674,701.6263 C6534.8611,743.5205 6633.7108,787.2518 6695.0525,815.4419 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6433.7744,699.6328,6440.4376,706.8855,6438.361,701.6236,6443.6229,699.547,6433.7744,699.6328" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[536025241394544a90bc53fb552f3a08]
33
reverse link urt_message_t to urt_message_t--><path d="M1248.5028,1017.5601 C1262.5209,1023.7125 1271,1032.5102 1271,1043.9531 C1271,1058.4551 1257.3815,1068.7084 1236.1293,1074.7131 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1236.1293,1013.1931,1240.456,1018.962,1247.4452,1017.1869,1243.1185,1011.418,1236.1293,1013.1931" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1244.2203" y="1008.7753">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1243.7886" y="1072.6249">0,1</text><!--MD5=[aa8990705afdbad14c7f998fe04b6f05]
34
reverse link urt_basesubscriber_t to urt_message_t--><path d="M2568.7112,918.1333 C2566.1446,919.1376 2563.5726,920.0801 2561,920.9531 C2321.2643,1002.3021 1593.9511,1030.6718 1236.1648,1039.8784 " fill="none" id="urt_basesubscriber_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2580.6632,913.0124,2573.5728,911.6986,2569.633,917.7383,2576.7234,919.0521,2580.6632,913.0124" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2562.316" y="932.794">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1243.8254" y="1036.5383">0,1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
35
link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M1891.7135,661.0027 C1962.4365,685.3368 2042.9049,710.2157 2118,726.9531 C2304.8793,768.6053 2368.4942,720.082 2545.1263,773.9702 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2547.3836,767.3426,2564.314,780.0847,2543.1328,780.6817,2547.3836,767.3426" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
36
link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M4478.0414,680.4988 C4407.9682,698.4065 4333.9284,715.1589 4264,726.9531 C3730.3517,816.9585 3084.2591,838.8977 2810.1996,844.2383 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2810.0655,851.242,2789.9385,844.6159,2809.8046,837.2444,2810.0655,851.242" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
37
link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M3371.4405,697.0088 C3332.2104,707.5233 3292.881,717.6928 3255,726.9531 C3103.1803,764.0664 2927.0543,799.2045 2809.5003,821.5426 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2810.6553,828.4482,2789.7026,825.2889,2808.0523,814.6923,2810.6553,828.4482" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
38
link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M2677,718.7905 C2677,732.2868 2677,745.7288 2677,758.5427 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2684.0001,758.7395,2677,778.7395,2670.0001,758.7394,2684.0001,758.7395" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
39
reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M3231.3399,559.5191 C3245.8539,566.2767 3254,574.4213 3254,583.9531 C3254,595.9145 3241.1717,605.6916 3219.0292,613.2843 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3219.0292,554.6219,3223.1257,560.5564,3230.1793,559.0575,3226.0828,553.123,3219.0292,554.6219" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3226.7077" y="551.1727">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="3226.7921" y="610.66">0,1</text><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
40
reverse link urt_publisher_t to urt_topic_t--><path d="M818.8622,583.9531 C826.1684,583.9531 833.4747,583.9531 840.7809,583.9531 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="805.7109,583.9531,811.7109,587.9531,817.7109,583.9531,811.7109,579.9531,805.7109,583.9531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="813.7488" y="580.8708">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="825.1161" y="580.7321">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
41
link urt_publisher_t to urt_message_t--><path d="M501.0477,648.6412 C614.7489,733.1365 813.3827,880.748 933.0977,969.7123 " fill="none" id="urt_publisher_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="937.3228,972.8521,932.4848,964.2735,933.3096,969.8699,927.7132,970.6947,937.3228,972.8521" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
42
reverse link urt_topic_t to urt_topic_t--><path d="M1237.0439,548.1437 C1251.3061,556.3173 1260,568.2537 1260,583.9531 C1260,603.6543 1246.309,617.4297 1225.1039,625.2794 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1225.1039,542.6268,1228.8728,548.7746,1235.9972,547.6602,1232.2284,541.5124,1225.1039,542.6268" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1232.7642" y="537.7915">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1232.9986" y="623.6727">0,1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
43
reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1177.7361,444.9498 C1204.5888,424.3434 1233.5161,405.1369 1263,390.4531 C1270.1417,386.8963 1272.5719,387.3476 1280.5,386.4531 C1325.7131,381.3517 2054.2869,381.3517 2099.5,386.4531 C2187.5516,396.388 2279.7005,420.9069 2363.8741,449.4215 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1167.1558,453.2225,1174.3463,452.6778,1176.6091,445.831,1169.4186,446.3756,1167.1558,453.2225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1166.6804" y="442.3054">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="2325.1934" y="438.2847">0,1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
44
reverse link urt_topic_t to urt_message_t--><path d="M1033,727.7196 C1033,809.1756 1033,907.505 1033,972.6655 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1033,714.5402,1029,720.5402,1033,726.5402,1037,720.5402,1033,714.5402" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1024.7688" y="734.5977">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1024.6063" y="962.0014">1</text><!--MD5=[ed8977051960dfa72b850fe399f41716]
45
reverse link urt_baserequest_t to urt_baserequest_t--><path d="M8755.2263,542.5268 C8769.0583,550.3592 8778,564.168 8778,583.9531 C8778,609.0273 8763.6385,624.5028 8743.1623,630.3796 " fill="none" id="urt_baserequest_t&lt;-urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8743.1623,537.5266,8747.1735,543.5191,8754.2478,542.1213,8750.2366,536.1288,8743.1623,537.5266" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8750.967" y="530.9863">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="8750.9722" y="629.8331">0,1,2</text><!--MD5=[426f0ba47802c5735a37a0acd494a192]
46
reverse link urt_baserequest_t to urt_service_t--><path d="M8505.3111,583.9531 C8215.2829,583.9531 7925.2547,583.9531 7635.2266,583.9531 " fill="none" id="urt_baserequest_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8518.6838,583.9531,8512.6838,579.9531,8506.6838,583.9531,8512.6838,587.9531,8518.6838,583.9531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8502.8688" y="580.5321">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7643.4139" y="580.8268">0,1</text><!--MD5=[09de7ef26922535bfe0682cb358ee29c]
47
reverse link urt_service_t to urt_baserequest_t--><path d="M7648.5992,583.9531 C7938.6274,583.9531 8228.6556,583.9531 8518.6838,583.9531 " fill="none" id="urt_service_t&lt;-urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7635.2266,583.9531,7641.2266,587.9531,7647.2266,583.9531,7641.2266,579.9531,7635.2266,583.9531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7643.2545" y="596.2253">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="8478.8645" y="596.4916">0,2,3</text><!--MD5=[dc2d1805b45628aba9d654613b3d05f9]
48
link urt_nrtrequest_t to urt_baserequest_t--><path d="M8631,323.2868 C8631,365.7056 8631,417.9394 8631,464.4822 " fill="none" id="urt_nrtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="8638.0001,464.7207,8631,484.7206,8624.0001,464.7206,8638.0001,464.7207" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d53ae0f00163daee879678d1d1554717]
49
link urt_nrtrequest_t to urt_service_t--><path d="M8496.6284,323.0707 C8451.1438,347.0238 8398.9343,370.0051 8348,382.4531 C8272.9806,400.7873 7727.2096,369.0754 7653,390.4531 C7609.3119,403.0384 7565.6616,423.4227 7525.358,446.3405 " 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="7520.9658,448.8556,7530.7636,447.8544,7525.3047,446.3709,7526.7881,440.9121,7520.9658,448.8556" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f9755d42ba41539dee622699d8be3a22]
50
link urt_srtrequest_t to urt_baserequest_t--><path d="M9755.3342,329.5383 C9706.9422,348.704 9655.1353,367.6103 9606,382.4531 C9310.2555,471.7919 8952.1982,534.6051 8763.0082,564.3824 " fill="none" id="urt_srtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="8763.8519,571.3354,8743.0112,567.5055,8761.6915,557.5031,8763.8519,571.3354" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[90efd84e0f70286880ba110c49a1e8f8]
51
link urt_srtrequest_t to urt_service_t--><path d="M9775.3002,329.5975 C9721.8984,351.26 9662.7276,371.3364 9606,382.4531 C9552.7622,392.8859 7705.1858,375.6291 7653,390.4531 C7609.1163,402.9188 7565.2964,423.3268 7524.8725,446.3203 " 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="7520.4674,448.8438,7530.2651,447.8412,7524.806,446.3585,7526.2886,440.8994,7520.4674,448.8438" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bfc5f4e50344156edda6a5cfcff14fef]
52
link urt_frtrequest_t to urt_baserequest_t--><path d="M9014.1097,374.1259 C8927.6867,421.4593 8833.9976,472.7724 8760.9016,512.8067 " fill="none" id="urt_frtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="8764.1603,519.003,8743.2564,522.4709,8757.4352,506.724,8764.1603,519.003" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[836450d5c472e7b2344319739fa0d5d1]
53
link urt_frtrequest_t to urt_service_t--><path d="M8950.0775,374.0524 C8937.9986,377.2175 8925.9462,380.0423 8914,382.4531 C8845.3274,396.3115 7720.3692,371.2343 7653,390.4531 C7609.1303,402.9681 7565.3167,423.3981 7524.8945,446.3976 " 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="7520.4896,448.9217,7530.2872,447.9178,7524.8279,446.4359,7526.3098,440.9766,7520.4896,448.9217" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7c5d2ea3f0b69f804ad9b60a9539ac96]
54
link urt_hrtrequest_t to urt_baserequest_t--><path d="M8330.7138,378.3705 C8336.4965,379.8132 8342.2616,381.1766 8348,382.4531 C8366.1336,386.4867 8499.0599,380.913 8515,390.4531 C8544.8504,408.3184 8567.951,437.0791 8585.3922,467.0244 " fill="none" id="urt_hrtrequest_t-&gt;urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="8591.6096,463.8052,8595.0156,484.7193,8579.3108,470.494,8591.6096,463.8052" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[189d7bd823f9a098ae8eb3eaa3789ee1]
55
link urt_hrtrequest_t to urt_service_t--><path d="M7669.4732,373.486 C7658.1147,379.1004 7646.927,384.7652 7636,390.4531 C7603.0976,407.5801 7568.9856,426.8085 7536.0723,446.3228 " 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="7531.6465,448.9528,7541.4269,447.7936,7535.9448,446.3985,7537.3399,440.9164,7531.6465,448.9528" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bcf13f9307d05af3b11663d6e8155fbe]
56
reverse link urt_service_t to urt_hrtrequest_t--><path d="M7577.6178,442.2654 C7608.7137,424.1502 7640.3807,406.3917 7671,390.4531 C7676.0992,387.7987 7681.2553,385.1494 7686.4576,382.5079 " fill="none" id="urt_service_t&lt;-urt_hrtrequest_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7566.1902,448.9528,7573.389,449.3747,7576.5471,442.8919,7569.3483,442.4701,7566.1902,448.9528" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7571.209" y="437.7945">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7649.7749" y="402.3495">0,1</text><!--MD5=[05f2c35569573d3273c65d3342945557]
57
reverse link urt_service_t to urt_service_t--><path d="M7647.2443,553.1615 C7661.5974,560.9463 7670,571.2101 7670,583.9531 C7670,599.9443 7656.7678,612.0314 7635.1491,620.2144 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7635.1491,547.6918,7638.9678,553.8088,7646.083,552.6365,7642.2643,546.5195,7635.1491,547.6918" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7643.1749" y="543.6023">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7643.3343" y="618.0513">0,1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
58
reverse link urt_core_t to urt_node_t--><path d="M6155,393.6297 C6155,418.7185 6155,444.3245 6155,468.2869 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6155,380.5684,6151,386.5684,6155,392.5684,6159,386.5684,6155,380.5684" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6146.7938" y="400.31">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="6134.3594" y="457.4592">0,1</text><!--MD5=[250695c91040478b50550bc37a8775c7]
59
reverse link urt_core_t to urt_topic_t--><path d="M5970.1881,241.7639 C5104.8953,253.0143 1486.5002,305.0128 1263,390.4531 C1225.5905,404.7541 1189.939,427.8725 1158.3539,453.2357 " fill="none" id="urt_core_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="5983.3455,241.5932,5977.2941,237.6714,5971.3465,241.749,5977.3979,245.6708,5983.3455,241.5932" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5967.3862" y="238.4275">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1145.0228" y="442.3194">0,1</text><!--MD5=[8d0a227ec56585cdbc167f8316b34b64]
60
reverse link urt_core_t to urt_service_t--><path d="M6339.6834,250.2239 C6520.9052,265.6126 6802.5453,302.5572 7031,390.4531 C7070.7444,405.7444 7110.8841,426.4946 7148.4262,448.7433 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6326.5402,249.1307,6332.1879,253.6144,6338.4989,250.1255,6332.8512,245.6419,6326.5402,249.1307" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6334.4944" y="246.3066">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7117.5667" y="438.0182">0,1</text><!--MD5=[60c4a790664b06acf20491face248cbe]
61 4d55cea4 Thomas Schöpping
@startuml
62
63
title **µRtWare**
64
65
66
67
68
69
70
71
72
73
74
75
76
77
  class urt_core_t <<S,BFAFFF>> {
78
  - {field} {static} _nodes : urt_node_t*
79
  - {field} {static} _evtSource : urt_osEventSource_t
80
  - {field} {static} _lock : urt_osMutex_t
81 e87bd7c7 Thomas Schöpping
  - {field} {static} _status : urt_status_t
82 4d55cea4 Thomas Schöpping
  .. URT_CFG_PUBSUB_ENABLED == true ..
83 056e40d2 Thomas Schöpping
  - {field} {static} _topics : urt_topic_t*
84 4d55cea4 Thomas Schöpping
  .. URT_CFG_RPC_ENABLED == true ..
85 056e40d2 Thomas Schöpping
  - {field} {static} _services : urt_service_t*
86 4d55cea4 Thomas Schöpping
  __
87 dd31cb03 Thomas Schöpping
  + {method} urtCoreInit (void) : void
88 e87bd7c7 Thomas Schöpping
  + {method} urtCoreGetStatus (void) : urt_status_t
89 dd31cb03 Thomas Schöpping
  + {method} urtCoreStartNodes (void) : void
90 e87bd7c7 Thomas Schöpping
  + {method} urtCoreSynchronize (node : urt_node_t*) : urt_status_t
91
  + {method} urtCoreStopNodes (reason : urt_status_t) : urt_status_t
92 056e40d2 Thomas Schöpping
  .. URT_CFG_PUBSUB_ENABLED == true ..
93 ee83a495 Thomas Schöpping
  + {method} urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*
94 056e40d2 Thomas Schöpping
  .. URT_CFG_RPC_ENABLED == true ..
95 ee83a495 Thomas Schöpping
  + {method} urtCoreGetService (id : urt_serviceid_t) : urt_service_t*
96 4d55cea4 Thomas Schöpping
}
97
98
  package "node" <<Rectangle>> {
99
    class urt_nodeSetupCallback_t <<T,00CFFF>> {
100
    urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t
101
  }
102
103
    class urt_nodeLoopCallback_t <<T,00CFFF>> {
104
    urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t
105
  }
106
107 e87bd7c7 Thomas Schöpping
    class urt_nodeShutdownCallback_t <<T,00CFFF>> {
108
    urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void
109
  }
110
111 4d55cea4 Thomas Schöpping
    class urt_node_t <<S,BFAFFF>> {
112
    + {field} next : urt_node_t*
113
    + {field} thread : urt_osThread_t*
114
    + {field} setupcallback : urt_nodeSetupCallback_t*
115
    + {field} setupparams : void*
116
    + {field} loopcallback : urt_nodeLoopCallback_t*
117
    + {field} loopparams : void*
118 e87bd7c7 Thomas Schöpping
    + {field} shutdowncallback : urt_nodeShutdownCallback_t*
119
    + {field} shutdownparams : void*
120 4d55cea4 Thomas Schöpping
    + {field} stage : urt_nodestage_t
121
    + {field} listener : urt_osEventListener_t
122 ee83a495 Thomas Schöpping
    .. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true ..
123
    + {field} loops : uint64_t
124 4d55cea4 Thomas Schöpping
    __
125
    - {method} {static} _main : urt_osThreadFunction_t
126 dd31cb03 Thomas Schöpping
    + {method} urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void
127 4d55cea4 Thomas Schöpping
  }
128
} 
129
130
  package "Publish-Subscribe System" <<Node>> {
131
132
  class urt_message_t <<S,BFAFFF>> {
133
  + {field} next : urt_message_t*
134
  + {field} payload : void*
135
  + {field} originTime : urt_osTime_t
136
  + {field} numHrtConsumersLeft : unsigned int
137
  .. URT_CFG_PUBSUB_PROFILING == true ..
138
  + {field} numConsumersLeft : unsigned int
139
  __
140 dd31cb03 Thomas Schöpping
  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : void
141 4d55cea4 Thomas Schöpping
}
142
143
  package "subscriber" <<Rectangle>> {
144 ee83a495 Thomas Schöpping
    class urt_basesubscriber_t <<S,BFAFFF>> {
145 4d55cea4 Thomas Schöpping
    + {field} topic : urt_topic_t*
146
    + {field} evtListener : urt_osEventListener_t
147
    + {field} lastMessage : urt_message_t*
148
    + {field} lastMessageTime : urt_osTime_t
149
    .. URT_CFG_PUBSUB_PROFILING == true ..
150
    + {field} sumLatencies : uint64_t
151
    + {field} numMessagesReceived : uint64_t
152 ee83a495 Thomas Schöpping
  }
153
154
    class urt_nrtsubscriber_t <<S,BFAFFF>> {
155
    .. URT_CFG_PUBSUB_PROFILING == true ..
156
    + {field} minLatency : urt_delay_t
157
    + {field} maxLatency : urt_delay_t
158
    __
159 dd31cb03 Thomas Schöpping
    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void
160 ee83a495 Thomas Schöpping
    + {method} urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
161
    + {method} urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
162
    + {method} urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
163
    + {method} urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t
164
  }
165
166
    class urt_srtsubscriber_t <<S,BFAFFF>> {
167 2d315870 Thomas Schöpping
    + {field} usefulnesscb : urt_usefulness_f*
168 ee83a495 Thomas Schöpping
    + {field} cbparams : void*
169 056e40d2 Thomas Schöpping
    .. URT_CFG_PUBSUB_PROFILING == true ..
170 4d55cea4 Thomas Schöpping
    + {field} minLatency : urt_delay_t
171
    + {field} maxLatency : urt_delay_t
172
    __
173 dd31cb03 Thomas Schöpping
    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void
174 2d315870 Thomas Schöpping
    + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_usefulness_f*, cbparams : void*) : urt_status_t
175 ee83a495 Thomas Schöpping
    + {method} urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
176
    + {method} urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
177
    + {method} urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float
178
    + {method} urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t
179
  }
180
181
    class urt_frtsubscriber_t <<S,BFAFFF>> {
182
    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
183
    + {field} deadlineOffset : urt_delay_t
184
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
185
    + {field} maxJitter : urt_delay_t
186
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true ..
187
    + {field} minLatency : urt_delay_t
188
    + {field} maxLatency : urt_delay_t
189
    __
190 dd31cb03 Thomas Schöpping
    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void
191 ee83a495 Thomas Schöpping
    + {method} urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t
192
    + {method} urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
193
    + {method} urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
194
    + {method} urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool
195
    + {method} urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t
196
  }
197
198
    class urt_hrtsubscriber_t <<S,BFAFFF>> {
199
    + {field} next : urt_hrtsubscriber_t*
200
    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
201
    + {field} deadlineOffset : urt_delay_t
202
    + {field} qosDeadlineTimer : urt_osTimer_t
203
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
204
    + {field} maxJitter : urt_delay_t
205
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true..
206
    + {field} minLatency : urt_delay_t
207
    + {field} maxLatency : urt_delay_t
208
    .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
209
    + {field} expectedRate : urt_delay_t
210
    __
211 dd31cb03 Thomas Schöpping
    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void
212 ee83a495 Thomas Schöpping
    + {method} urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t
213
    + {method} urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
214
    + {method} urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
215
    + {method} urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t
216 4d55cea4 Thomas Schöpping
  }
217
} 
218
219
  class urt_publisher_t <<S,BFAFFF>> {
220
  + {field} topic : urt_topic_t*
221 ee83a495 Thomas Schöpping
  .. URT_CFG_PUBSUB_PROFILING == true ..
222 4d55cea4 Thomas Schöpping
  + {field} publishAttempts : uint64_t
223
  + {field} publishFails : uint64_t
224
  __
225 dd31cb03 Thomas Schöpping
  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void
226
  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
227 4d55cea4 Thomas Schöpping
}
228
229
  class urt_topic_t <<S,BFAFFF>> {
230
  + {field} next : urt_topic_t*
231
  + {field} id : urt_topicid_t
232
  + {field} lock : urt_osMutex_t
233
  + {field} evtSource : urt_osEventSource_t
234
  + {field} numHrtSubscribers : unsigned int
235 056e40d2 Thomas Schöpping
  + {field} hrtReleased : urt_osCondvar_t
236 4d55cea4 Thomas Schöpping
  + {field} mandatoryMessage : urt_message_t
237
  + {field} latestMessage : urt_message_t*
238
  .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
239 dd31cb03 Thomas Schöpping
  + {field} hrtSubscribers : urt_hrtsubscriber_t*
240 4d55cea4 Thomas Schöpping
  + {field} qosRateTimer : urt_osTimer_t
241
  .. URT_CFG_PUBSUB_PROFILING == true ..
242 dd31cb03 Thomas Schöpping
  + {field} numMessagesPublished : uint64_t
243
  + {field} numMessagesDiscarded : uint64_t
244 4d55cea4 Thomas Schöpping
  + {field} numSubscribers : unsigned int
245
  __
246
  + {method} urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
247
}
248
249
}
250
251
  package "Remote Procedure Call System" <<Node>> {
252
253 2d315870 Thomas Schöpping
  package "request" <<Rectangle>> {
254
    class urt_baserequest_t <<S,BFAFFF>> {
255
    + {field} prev : urt_baserequest_t*
256
    + {field} next : urt_baserequest_t*
257
    + {field} lock : urt_osMutex_t
258
    + {field} owner : urt_service_t*
259
    + {field} submissionTime : urt_osTime_t
260
    + {field} payload : void*
261
    + {field} evtSource : urt_osEventSource_t
262
    + {field} evtListener : urt_osEventListener_t
263
    .. URT_CFG_RPC_PROFILING == true ..
264
    + {field} sumLatencies : uint64_t
265
    + {field} numCalls : uint64_t
266
    + {field} numFails : uint64_t
267
  }
268
269
    class urt_nrtrequest_t <<S,BFAFFF>> {
270
    .. URT_CFG_RPC_PROFILING == true ..
271
    + {field} minLatency : urt_delay_t
272
    + {field} maxLatency : urt_delay_t
273
    __
274
    + {method} urtNrtRequestInit (request : urt_nrtrequest_t*) : void
275
    + {method} urtNrtRequestAcquire (request : urt_nrtrequest_t*) : urt_status_t
276
    + {method} urtNrtRequestTryAcquire (request : urt_nrtrequest_t*) : urt_status_t
277
    + {method} urtNrtRequestRelease (request : urt_nrtrequest_t*) : urt_status_t
278
    + {method} urtNrtRequestSubmit (request : urt_nrtrequest_t*, service : urt_service_t*) : urt_status_t
279
    + {method} urtNrtRequestRetrieve (request : urt_nrtrequest_t*) : urt_status_t
280
  }
281
282
    class urt_srtrequest_t <<S,BFAFFF>> {
283
    .. URT_CFG_RPC_PROFILING == true ..
284
    + {field} minLatency : urt_delay_t
285
    + {field} maxLatency : urt_delay_t
286
    __
287
    + {method} urtSrtRequestInit (request : urt_srtrequest_t*) : void
288
    + {method} urtSrtRequestAcquire (request : urt_srtrequest_t*) : urt_status_t
289
    + {method} urtSrtRequestTryAcquire (request : urt_srtrequest_t*) : urt_status_t
290
    + {method} urtSrtRequestRelease (request : urt_srtrequest_t*) : urt_status_t
291
    + {method} urtSrtRequestSubmit (request : urt_srtrequest_t*, service : urt_service_t*) : urt_status_t
292
    + {method} urtSrtRequestRetrieve (request : urt_srtrequest_t*) : urt_status_t
293
    + {method} urtSrtCalculateUsefulness (request : urt_srtrequest_t*, usefulnesscb : urt_usefulness_f, cbparams : void*) : float
294
  }
295
296
    class urt_frtrequest_t <<S,BFAFFF>> {
297
    .. URT_CFG_RPC_QOS_DEADLINECHECKS == true ..
298
    + {field} deadlineOffset : urt_delay_t
299
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
300
    + {field} maxJitter : urt_delay_t
301
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true ..
302
    + {field} minLatency : urt_delay_t
303
    + {field} maxLatency : urt_delay_t
304
    __
305
    + {method} urtFrtRequestInit (request : urt_frtrequest_t*) : void
306
    + {method} urtFrtRequestAcquire (request : urt_frtrequest_t*) : urt_status_t
307
    + {method} urtFrtRequestTryAcquire (request : urt_frtrequest_t*) : urt_status_t
308
    + {method} urtFrtRequestRelease (request : urt_frtrequest_t*) : urt_status_t
309
    + {method} urtFrtRequestSubmit (request : urt_frtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t
310
    + {method} urtFrtRequestRetrieve (request : urt_frtrequest_t*) : urt_status_t
311
    + {method} urtDrtCalculateValidity (request : urt_frtrequest_t) : bool
312
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
313
    + {method} urtFrtRequestGetMaxJitter(request : urt_frtrequest_t*) : urt_delay_t* const
314
  }
315
316
    class urt_hrtrequest_t <<S,BFAFFF>> {
317
    .. URT_CFG_RPC_QOS_DEADLINECHECKS == true ..
318
    + {field} deadlineOffset : urt_delay_t
319
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
320
    + {field} maxJitter : urt_delay_t
321
    .. URT_CFG_RPC_QOS_DEADLINECHECKS == true || URT_CFG_RPC_QOS_JITTERCHECKS == true ..
322
    + {field} qosTimer : urt_osTimer_t
323
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true ..
324
    + {field} minLatency : urt_delay_t
325
    + {field} maxLatency : urt_delay_t
326
    __
327
    + {method} urtHrtRequestInit (request : urt_hrtrequest_t*) : void
328
    + {method} urtHrtRequestAcquire (request : urt_hrtrequest_t*) : urt_status_t
329
    + {method} urtHrtRequestTryAcquire (request : urt_hrtrequest_t*) : urt_status_t
330
    + {method} urtHrtRequestRelease (request : urt_hrtrequest_t*) : urt_status_t
331
    + {method} urtHrtRequestSubmit (request : urt_hrtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t
332
    + {method} urtHrtRequestRetrieve (request : urt_hrtrequest_t*) : urt_status_t
333
    .. URT_CFG_RPC_QOS_JITTERCHECKS == true ..
334
    + {method} urtHrtRequestGetMaxJitter(request : urt_hrtrequest_t*) : urt_delay_t* const
335
  }
336 4d55cea4 Thomas Schöpping
}
337
338 056e40d2 Thomas Schöpping
  class urt_service_t <<S,BFAFFF>> {
339
  + {field} next : urt_service_t*
340
  + {field} id : urt_serviceid_t
341
  + {field} lock : urt_osMutex_t
342 2d315870 Thomas Schöpping
  + {field} requestQueue_front : urt_baserequest_t*
343
  + {field} requestQueue_hrtBack : urt_hrtrequest_t*
344
  + {field} requestQueue_fsrtBack : urt_baserequest_t*
345
  + {field} requestQueue_back : urt_baserequest_t*
346
  + {field} evtSource : urt_osEventSource_t
347
  + {field} evtListener : urt_osEventListener_t
348 ee83a495 Thomas Schöpping
  .. URT_CFG_RPC_PROFILING == true ..
349 056e40d2 Thomas Schöpping
  + {field} numCalls : uint64_t
350 2d315870 Thomas Schöpping
  + {field} numOwnershipLost : uint64_t
351 4d55cea4 Thomas Schöpping
  __
352 2d315870 Thomas Schöpping
  + {method} urtServiceInit (service : urt_service_t*, id : urt_serviceid_t) : urt_status_t
353
  + {method} urtServiceDispatch (service : urt_service_t*, payload : void*, bytes : size_t) : urt_baserequest_t*
354
  + {method} urtServiceAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t
355
  + {method} urtServiceTryAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t
356
  + {method} urtServiceRespond (request : urt_baserequest_t*) : urt_status_t
357 4d55cea4 Thomas Schöpping
}
358
359
}
360
361
362
363
364 2d315870 Thomas Schöpping
urt_node_t "1" o- - "0,1" urt_node_t
365
urt_node_t "1" o- - "0,1" urt_nodeSetupCallback_t
366 4d55cea4 Thomas Schöpping
urt_node_t <.. urt_nodeSetupCallback_t
367
urt_node_t "1" o- - "1" urt_nodeLoopCallback_t
368
urt_node_t <.. urt_nodeLoopCallback_t
369 2d315870 Thomas Schöpping
urt_node_t "1" o- - "0,1" urt_nodeShutdownCallback_t
370 e87bd7c7 Thomas Schöpping
urt_node_t <.. urt_nodeShutdownCallback_t
371 4d55cea4 Thomas Schöpping
372
373 2d315870 Thomas Schöpping
urt_message_t "1" o- "0,1" urt_message_t
374
375
urt_basesubscriber_t "1" o- - "0,1" urt_message_t
376 4d55cea4 Thomas Schöpping
377 ee83a495 Thomas Schöpping
urt_nrtsubscriber_t - -|> urt_basesubscriber_t
378 4d55cea4 Thomas Schöpping
379 ee83a495 Thomas Schöpping
urt_srtsubscriber_t - -|> urt_basesubscriber_t
380 4d55cea4 Thomas Schöpping
381 ee83a495 Thomas Schöpping
urt_frtsubscriber_t - -|> urt_basesubscriber_t
382 4d55cea4 Thomas Schöpping
383 ee83a495 Thomas Schöpping
urt_hrtsubscriber_t - -|> urt_basesubscriber_t
384 2d315870 Thomas Schöpping
urt_hrtsubscriber_t "1" o- "0,1" urt_hrtsubscriber_t
385 4d55cea4 Thomas Schöpping
386
urt_publisher_t "1" o- "1" urt_topic_t
387
urt_publisher_t ..> urt_message_t
388
389 2d315870 Thomas Schöpping
urt_topic_t "1" o- "0,1" urt_topic_t
390
urt_topic_t "1" o- "0,1" urt_hrtsubscriber_t
391 4d55cea4 Thomas Schöpping
urt_topic_t "1" *- - "1" urt_message_t
392
393
394
395 2d315870 Thomas Schöpping
urt_baserequest_t "1" o- "0,1,2" urt_baserequest_t
396
urt_baserequest_t "1" o- "0,1" urt_service_t
397
398
urt_nrtrequest_t - -|> urt_baserequest_t
399
urt_nrtrequest_t ..> urt_service_t
400
401
urt_srtrequest_t - -|> urt_baserequest_t
402
urt_srtrequest_t ..> urt_service_t
403
404
urt_frtrequest_t - -|> urt_baserequest_t
405
urt_frtrequest_t ..> urt_service_t
406
407
urt_hrtrequest_t - -|> urt_baserequest_t
408
urt_hrtrequest_t ..> urt_service_t
409
410
urt_service_t "1" o- "0,1" urt_service_t
411
urt_service_t "1" o- "0,2,3" urt_baserequest_t
412
urt_service_t "1" o- "0,1" urt_hrtrequest_t
413 4d55cea4 Thomas Schöpping
414
415 2d315870 Thomas Schöpping
urt_core_t "1" o- - "0,1" urt_node_t
416
urt_core_t "1" o- - "0,1" urt_topic_t
417
urt_core_t "1" o- - "0,1" urt_service_t
418 4d55cea4 Thomas Schöpping
419
420
421
@enduml
422
423
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
424
(GPL source distribution)
425
Java Runtime: OpenJDK Runtime Environment
426
JVM: OpenJDK 64-Bit Server VM
427 2d315870 Thomas Schöpping
Java Version: 11.0.7+10-post-Ubuntu-2ubuntu218.04
428 4d55cea4 Thomas Schöpping
Operating System: Linux
429
Default Encoding: UTF-8
430
Language: en
431
Country: US
432
--></g></svg>