Statistics
| Branch: | Revision:

urtware / doc / classdiagrams / urtware.svg @ e48e1ccf

History | View | Annotate | Download (91.935 KB)

1 ee83a495 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="846px" preserveAspectRatio="none" style="width:7229px;height:846px;" version="1.1" viewBox="0 0 7229 846" width="7229px" zoomAndPan="magnify"><defs><filter height="300%" id="f6i8e5hg9h7lm" 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="3572.5" y="16.708">µRtWare</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
2
cluster node--><rect fill="#FFFFFF" filter="url(#f6i8e5hg9h7lm)" height="434" style="stroke: #000000; stroke-width: 1.5;" width="1184" x="5368" y="356.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="5940" y="371.4482">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
3
cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#f6i8e5hg9h7lm)" points="14,302.9531,24,292.9531,5357,292.9531,5357,824.9531,5347,834.9531,14,834.9531,14,302.9531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5347" x2="5356" y1="302.9531" y2="293.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14" x2="5347" y1="302.9531" y2="302.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5347" x2="5347" y1="302.9531" y2="834.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="2579" y="318.9482">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
4
cluster subscriber--><rect fill="#FFFFFF" filter="url(#f6i8e5hg9h7lm)" height="502" style="stroke: #000000; stroke-width: 1.5;" width="4102" x="1247" y="324.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3255.5" y="339.9482">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
5
cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#f6i8e5hg9h7lm)" points="6571,353.4531,6581,343.4531,7207,343.4531,7207,780.4531,7197,790.4531,6571,790.4531,6571,353.4531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7197" x2="7206" y1="353.4531" y2="344.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="6571" x2="7197" y1="353.4531" y2="353.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7197" x2="7197" y1="353.4531" y2="790.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="6763" y="369.4482">Remote Procedure Call System</text><!--MD5=[a7dea26996a1231aa68629b332780450]
6
class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="5407" y="721.4531"/><ellipse cx="5552.75" cy="737.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5553.5938,744.2031 L5551.1406,744.2031 L5551.1406,733.9531 L5548,733.9531 L5548,731.8125 L5556.7344,731.8125 L5556.7344,733.9531 L5553.5938,733.9531 L5553.5938,744.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="5573.25" y="741.6074">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5408" x2="5862" y1="753.4531" y2="753.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5408" x2="5862" y1="761.4531" y2="761.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="5413" y="775.6636">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
7
class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="5898" y="721.4531"/><ellipse cx="6126.25" cy="737.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6127.0938,744.2031 L6124.6406,744.2031 L6124.6406,733.9531 L6121.5,733.9531 L6121.5,731.8125 L6130.2344,731.8125 L6130.2344,733.9531 L6127.0938,733.9531 L6127.0938,744.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="6146.75" y="741.6074">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5899" x2="6511" y1="753.4531" y2="753.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5899" x2="6511" y1="761.4531" y2="761.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="5904" y="775.6636">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[d2563153d77472384a15c07b815d639f]
8
class urt_node_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="205.6563" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1149" x="5376.5" y="383.4531"/><ellipse cx="5913.25" cy="399.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5912.7344,400.0156 Q5910.875,399.3125 5910.2188,398.5469 Q5909.5781,397.7656 5909.5781,396.4531 Q5909.5781,394.7656 5910.6563,393.7969 Q5911.7344,392.8281 5913.6094,392.8281 Q5914.4688,392.8281 5915.3125,393.0313 Q5916.1719,393.2188 5917.0156,393.6094 L5917.0156,396 Q5916.2344,395.4375 5915.4063,395.1563 Q5914.5938,394.8594 5913.7969,394.8594 Q5912.9219,394.8594 5912.4375,395.2188 Q5911.9688,395.5781 5911.9688,396.2344 Q5911.9688,396.75 5912.3125,397.0938 Q5912.6563,397.4219 5913.75,397.8281 L5914.8125,398.2344 Q5916.2969,398.7813 5917,399.6875 Q5917.7188,400.5938 5917.7188,401.9688 Q5917.7188,403.8438 5916.6094,404.7656 Q5915.5,405.6875 5913.25,405.6875 Q5912.3281,405.6875 5911.4063,405.4688 Q5910.4844,405.25 5909.625,404.8281 L5909.625,402.2969 Q5910.5938,402.9844 5911.5156,403.3281 Q5912.4375,403.6719 5913.3281,403.6719 Q5914.2344,403.6719 5914.7344,403.2656 Q5915.2344,402.8438 5915.2344,402.1094 Q5915.2344,401.5469 5914.8906,401.1406 Q5914.5625,400.7188 5913.9375,400.4688 L5912.7344,400.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="5933.75" y="403.6074">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5377.5" x2="6524.5" y1="415.4531" y2="415.4531"/><ellipse cx="5387.5" cy="426.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="5396.5" y="429.6636">next : urt_node_t*</text><ellipse cx="5387.5" cy="439.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="5396.5" y="442.4683">thread : urt_osThread_t*</text><ellipse cx="5387.5" cy="452.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="5396.5" y="455.2729">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="5387.5" cy="464.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="5396.5" y="468.0776">setupparams : void*</text><ellipse cx="5387.5" cy="477.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="5396.5" y="480.8823">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="5387.5" cy="490.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="5396.5" y="493.687">loopparams : void*</text><ellipse cx="5387.5" cy="503.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="136" x="5396.5" y="506.4917">stage : urt_nodestage_t</text><ellipse cx="5387.5" cy="516.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="178" x="5396.5" y="519.2964">listener : urt_osEventListener_t</text><ellipse cx="5387.5" cy="545.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="88" x="5396.5" y="548.9058">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5377.5" x2="5743" y1="532.293" y2="532.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="5743" y="535.6011">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="6159" x2="6524.5" y1="532.293" y2="532.293"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5377.5" x2="6524.5" y1="555.5" y2="555.5"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5384.5" y="563.5"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="5396.5" y="569.7104">_main : urt_osThreadFunction_t</text><ellipse cx="5387.5" cy="579.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="1123" x="5396.5" y="582.5151">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*) : urt_status_t</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
9
class urt_message_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="770.5" y="680.9531"/><ellipse cx="945.75" cy="696.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M945.2344,697.5156 Q943.375,696.8125 942.7188,696.0469 Q942.0781,695.2656 942.0781,693.9531 Q942.0781,692.2656 943.1563,691.2969 Q944.2344,690.3281 946.1094,690.3281 Q946.9688,690.3281 947.8125,690.5313 Q948.6719,690.7188 949.5156,691.1094 L949.5156,693.5 Q948.7344,692.9375 947.9063,692.6563 Q947.0938,692.3594 946.2969,692.3594 Q945.4219,692.3594 944.9375,692.7188 Q944.4688,693.0781 944.4688,693.7344 Q944.4688,694.25 944.8125,694.5938 Q945.1563,694.9219 946.25,695.3281 L947.3125,695.7344 Q948.7969,696.2813 949.5,697.1875 Q950.2188,698.0938 950.2188,699.4688 Q950.2188,701.3438 949.1094,702.2656 Q948,703.1875 945.75,703.1875 Q944.8281,703.1875 943.9063,702.9688 Q942.9844,702.75 942.125,702.3281 L942.125,699.7969 Q943.0938,700.4844 944.0156,700.8281 Q944.9375,701.1719 945.8281,701.1719 Q946.7344,701.1719 947.2344,700.7656 Q947.7344,700.3438 947.7344,699.6094 Q947.7344,699.0469 947.3906,698.6406 Q947.0625,698.2188 946.4375,697.9688 L945.2344,697.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="966.25" y="701.1074">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="771.5" x2="1220.5" y1="712.9531" y2="712.9531"/><ellipse cx="781.5" cy="723.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="790.5" y="727.1636">next : urt_message_t*</text><ellipse cx="781.5" cy="736.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="790.5" y="739.9683">payload : void*</text><ellipse cx="781.5" cy="749.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="790.5" y="752.7729">originTime : urt_osTime_t</text><ellipse cx="781.5" cy="762.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="790.5" y="765.5776">numHrtConsumersLeft : unsigned int</text><ellipse cx="781.5" cy="791.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="790.5" y="795.187">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="771.5" x2="887.5" y1="778.5742" y2="778.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="887.5" y="781.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1104.5" x2="1220.5" y1="778.5742" y2="778.5742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="771.5" x2="1220.5" y1="801.7813" y2="801.7813"/><ellipse cx="781.5" cy="812.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="425" x="790.5" y="815.9917">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
10
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="22.5" y="421.9531"/><ellipse cx="351.25" cy="437.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M350.7344,438.5156 Q348.875,437.8125 348.2188,437.0469 Q347.5781,436.2656 347.5781,434.9531 Q347.5781,433.2656 348.6563,432.2969 Q349.7344,431.3281 351.6094,431.3281 Q352.4688,431.3281 353.3125,431.5313 Q354.1719,431.7188 355.0156,432.1094 L355.0156,434.5 Q354.2344,433.9375 353.4063,433.6563 Q352.5938,433.3594 351.7969,433.3594 Q350.9219,433.3594 350.4375,433.7188 Q349.9688,434.0781 349.9688,434.7344 Q349.9688,435.25 350.3125,435.5938 Q350.6563,435.9219 351.75,436.3281 L352.8125,436.7344 Q354.2969,437.2813 355,438.1875 Q355.7188,439.0938 355.7188,440.4688 Q355.7188,442.3438 354.6094,443.2656 Q353.5,444.1875 351.25,444.1875 Q350.3281,444.1875 349.4063,443.9688 Q348.4844,443.75 347.625,443.3281 L347.625,440.7969 Q348.5938,441.4844 349.5156,441.8281 Q350.4375,442.1719 351.3281,442.1719 Q352.2344,442.1719 352.7344,441.7656 Q353.2344,441.3438 353.2344,440.6094 Q353.2344,440.0469 352.8906,439.6406 Q352.5625,439.2188 351.9375,438.9688 L350.7344,438.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="371.75" y="442.1074">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="780.5" y1="453.9531" y2="453.9531"/><ellipse cx="33.5" cy="464.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="42.5" y="468.1636">topic : urt_topic_t*</text><ellipse cx="33.5" cy="494.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="149" x="42.5" y="497.7729">publishAttempts : uint64_t</text><ellipse cx="33.5" cy="507.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="42.5" y="510.5776">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="23.5" x2="293.5" y1="481.1602" y2="481.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="293.5" y="484.4683">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="510.5" x2="780.5" y1="481.1602" y2="481.1602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="780.5" y1="517.1719" y2="517.1719"/><ellipse cx="33.5" cy="528.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="617" x="42.5" y="531.3823">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="33.5" cy="540.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="733" x="42.5" y="544.187">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
11
class urt_topic_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="248.0703" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="817" y="362.4531"/><ellipse cx="971.75" cy="378.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M971.2344,379.0156 Q969.375,378.3125 968.7188,377.5469 Q968.0781,376.7656 968.0781,375.4531 Q968.0781,373.7656 969.1563,372.7969 Q970.2344,371.8281 972.1094,371.8281 Q972.9688,371.8281 973.8125,372.0313 Q974.6719,372.2188 975.5156,372.6094 L975.5156,375 Q974.7344,374.4375 973.9063,374.1563 Q973.0938,373.8594 972.2969,373.8594 Q971.4219,373.8594 970.9375,374.2188 Q970.4688,374.5781 970.4688,375.2344 Q970.4688,375.75 970.8125,376.0938 Q971.1563,376.4219 972.25,376.8281 L973.3125,377.2344 Q974.7969,377.7813 975.5,378.6875 Q976.2188,379.5938 976.2188,380.9688 Q976.2188,382.8438 975.1094,383.7656 Q974,384.6875 971.75,384.6875 Q970.8281,384.6875 969.9063,384.4688 Q968.9844,384.25 968.125,383.8281 L968.125,381.2969 Q969.0938,381.9844 970.0156,382.3281 Q970.9375,382.6719 971.8281,382.6719 Q972.7344,382.6719 973.2344,382.2656 Q973.7344,381.8438 973.7344,381.1094 Q973.7344,380.5469 973.3906,380.1406 Q973.0625,379.7188 972.4375,379.4688 L971.2344,379.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="992.25" y="382.6074">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="818" x2="1200" y1="394.4531" y2="394.4531"/><ellipse cx="828" cy="405.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="837" y="408.6636">next : urt_topic_t*</text><ellipse cx="828" cy="418.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="837" y="421.4683">id : urt_topicid_t</text><ellipse cx="828" cy="431.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="837" y="434.2729">lock : urt_osMutex_t</text><ellipse cx="828" cy="443.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="837" y="447.0776">evtSource : urt_osEventSource_t</text><ellipse cx="828" cy="456.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="837" y="459.8823">numHrtSubscribers : unsigned int</text><ellipse cx="828" cy="469.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="212" x="837" y="472.687">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="828" cy="482.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="173" x="837" y="485.4917">hrtReleased : urt_osCondvar_t</text><ellipse cx="828" cy="495.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="209" x="837" y="498.2964">mandatoryMessage : urt_message_t</text><ellipse cx="828" cy="507.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="186" x="837" y="511.1011">latestMessage : urt_message_t*</text><ellipse cx="828" cy="537.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="837" y="540.7104">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="818" x2="876.5" y1="524.0977" y2="524.0977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="876.5" y="527.4058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1141.5" x2="1200" y1="524.0977" y2="524.0977"/><ellipse cx="828" cy="567.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="197" x="837" y="570.3198">numDiscardedMessages : uint64_t</text><ellipse cx="828" cy="579.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="176" x="837" y="583.1245">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="818" x2="900.5" y1="553.707" y2="553.707"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="900.5" y="557.0151">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1117.5" x2="1200" y1="553.707" y2="553.707"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="818" x2="1200" y1="589.7188" y2="589.7188"/><ellipse cx="828" cy="600.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="358" x="837" y="603.9292">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
12
class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="3081.5" y="684.9531"/><ellipse cx="3123.95" cy="700.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3123.4344,701.5156 Q3121.575,700.8125 3120.9188,700.0469 Q3120.2781,699.2656 3120.2781,697.9531 Q3120.2781,696.2656 3121.3563,695.2969 Q3122.4344,694.3281 3124.3094,694.3281 Q3125.1688,694.3281 3126.0125,694.5313 Q3126.8719,694.7188 3127.7156,695.1094 L3127.7156,697.5 Q3126.9344,696.9375 3126.1063,696.6563 Q3125.2938,696.3594 3124.4969,696.3594 Q3123.6219,696.3594 3123.1375,696.7188 Q3122.6688,697.0781 3122.6688,697.7344 Q3122.6688,698.25 3123.0125,698.5938 Q3123.3563,698.9219 3124.45,699.3281 L3125.5125,699.7344 Q3126.9969,700.2813 3127.7,701.1875 Q3128.4188,702.0938 3128.4188,703.4688 Q3128.4188,705.3438 3127.3094,706.2656 Q3126.2,707.1875 3123.95,707.1875 Q3123.0281,707.1875 3122.1063,706.9688 Q3121.1844,706.75 3120.325,706.3281 L3120.325,703.7969 Q3121.2938,704.4844 3122.2156,704.8281 Q3123.1375,705.1719 3124.0281,705.1719 Q3124.9344,705.1719 3125.4344,704.7656 Q3125.9344,704.3438 3125.9344,703.6094 Q3125.9344,703.0469 3125.5906,702.6406 Q3125.2625,702.2188 3124.6375,701.9688 L3123.4344,701.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="3144.05" y="705.1074">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3082.5" x2="3305.5" y1="716.9531" y2="716.9531"/><ellipse cx="3092.5" cy="727.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="3101.5" y="731.1636">topic : urt_topic_t*</text><ellipse cx="3092.5" cy="740.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="3101.5" y="743.9683">evtListener : urt_osEventListener_t</text><ellipse cx="3092.5" cy="753.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="3101.5" y="756.7729">lastMessage : urt_message_t*</text><ellipse cx="3092.5" cy="766.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="3101.5" y="769.5776">lastMessageTime : urt_osTime_t</text><ellipse cx="3092.5" cy="795.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="3101.5" y="799.187">sumLatencies : uint64_t</text><ellipse cx="3092.5" cy="808.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="3101.5" y="811.9917">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3082.5" x2="3085.5" y1="782.5742" y2="782.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3085.5" y="785.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3302.5" x2="3305.5" y1="782.5742" y2="782.5742"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
13
class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="4612" y="721.4531"/><ellipse cx="4721.25" cy="737.4531" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4725.4844,733.2188 L4720.2031,733.2188 L4720.2031,735.8906 L4725,735.8906 L4725,738.0469 L4720.2031,738.0469 L4720.2031,743.4531 L4717.7656,743.4531 L4717.7656,731.0625 L4725.4844,731.0625 L4725.4844,733.2188 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="4741.75" y="741.6074">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4613" x2="4985" y1="753.4531" y2="753.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4613" x2="4985" y1="761.4531" y2="761.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="4618" y="775.6636">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
14
class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="1254.5" y="409.4531"/><ellipse cx="1601.25" cy="425.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1600.7344,426.0156 Q1598.875,425.3125 1598.2188,424.5469 Q1597.5781,423.7656 1597.5781,422.4531 Q1597.5781,420.7656 1598.6563,419.7969 Q1599.7344,418.8281 1601.6094,418.8281 Q1602.4688,418.8281 1603.3125,419.0313 Q1604.1719,419.2188 1605.0156,419.6094 L1605.0156,422 Q1604.2344,421.4375 1603.4063,421.1563 Q1602.5938,420.8594 1601.7969,420.8594 Q1600.9219,420.8594 1600.4375,421.2188 Q1599.9688,421.5781 1599.9688,422.2344 Q1599.9688,422.75 1600.3125,423.0938 Q1600.6563,423.4219 1601.75,423.8281 L1602.8125,424.2344 Q1604.2969,424.7813 1605,425.6875 Q1605.7188,426.5938 1605.7188,427.9688 Q1605.7188,429.8438 1604.6094,430.7656 Q1603.5,431.6875 1601.25,431.6875 Q1600.3281,431.6875 1599.4063,431.4688 Q1598.4844,431.25 1597.625,430.8281 L1597.625,428.2969 Q1598.5938,428.9844 1599.5156,429.3281 Q1600.4375,429.6719 1601.3281,429.6719 Q1602.2344,429.6719 1602.7344,429.2656 Q1603.2344,428.8438 1603.2344,428.1094 Q1603.2344,427.5469 1602.8906,427.1406 Q1602.5625,426.7188 1601.9375,426.4688 L1600.7344,426.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="1621.75" y="429.6074">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255.5" x2="2074.5" y1="441.4531" y2="441.4531"/><ellipse cx="1265.5" cy="469.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="1274.5" y="472.4683">minLatency : urt_delay_t</text><ellipse cx="1265.5" cy="482.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="1274.5" y="485.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1255.5" x2="1556.5" y1="455.8555" y2="455.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1556.5" y="459.1636">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1773.5" x2="2074.5" y1="455.8555" y2="455.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255.5" x2="2074.5" y1="491.8672" y2="491.8672"/><ellipse cx="1265.5" cy="502.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="392" x="1274.5" y="506.0776">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><ellipse cx="1265.5" cy="515.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="715" x="1274.5" y="518.8823">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1265.5" cy="528.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="785" x="1274.5" y="531.687">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1265.5" cy="541.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="795" x="1274.5" y="544.4917">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1265.5" cy="554.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="446" x="1274.5" y="557.2964">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
15
class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="4257" y="389.9531"/><ellipse cx="4735.75" cy="405.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4735.2344,406.5156 Q4733.375,405.8125 4732.7188,405.0469 Q4732.0781,404.2656 4732.0781,402.9531 Q4732.0781,401.2656 4733.1563,400.2969 Q4734.2344,399.3281 4736.1094,399.3281 Q4736.9688,399.3281 4737.8125,399.5313 Q4738.6719,399.7188 4739.5156,400.1094 L4739.5156,402.5 Q4738.7344,401.9375 4737.9063,401.6563 Q4737.0938,401.3594 4736.2969,401.3594 Q4735.4219,401.3594 4734.9375,401.7188 Q4734.4688,402.0781 4734.4688,402.7344 Q4734.4688,403.25 4734.8125,403.5938 Q4735.1563,403.9219 4736.25,404.3281 L4737.3125,404.7344 Q4738.7969,405.2813 4739.5,406.1875 Q4740.2188,407.0938 4740.2188,408.4688 Q4740.2188,410.3438 4739.1094,411.2656 Q4738,412.1875 4735.75,412.1875 Q4734.8281,412.1875 4733.9063,411.9688 Q4732.9844,411.75 4732.125,411.3281 L4732.125,408.7969 Q4733.0938,409.4844 4734.0156,409.8281 Q4734.9375,410.1719 4735.8281,410.1719 Q4736.7344,410.1719 4737.2344,409.7656 Q4737.7344,409.3438 4737.7344,408.6094 Q4737.7344,408.0469 4737.3906,407.6406 Q4737.0625,407.2188 4736.4375,406.9688 L4735.2344,406.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4756.25" y="410.1074">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4258" x2="5340" y1="421.9531" y2="421.9531"/><ellipse cx="4268" cy="432.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="229" x="4277" y="436.1636">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="4268" cy="445.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="98" x="4277" y="448.9683">cbparams : void*</text><ellipse cx="4268" cy="475.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="138" x="4277" y="478.5776">minLatency : urt_delay_t</text><ellipse cx="4268" cy="488.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="141" x="4277" y="491.3823">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4258" x2="4690.5" y1="461.9648" y2="461.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4690.5" y="465.2729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4907.5" x2="5340" y1="461.9648" y2="461.9648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4258" x2="5340" y1="497.9766" y2="497.9766"/><ellipse cx="4268" cy="508.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="392" x="4277" y="512.187">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><ellipse cx="4268" cy="521.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="1058" x="4277" y="524.9917">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t</text><ellipse cx="4268" cy="534.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="785" x="4277" y="537.7964">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4268" cy="547.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="795" x="4277" y="550.6011">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4268" cy="560.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="570" x="4277" y="563.4058">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4268" cy="573" 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="4277" y="576.2104">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
16
class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="3248" y="373.4531"/><ellipse cx="3673.25" cy="389.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3672.7344,390.0156 Q3670.875,389.3125 3670.2188,388.5469 Q3669.5781,387.7656 3669.5781,386.4531 Q3669.5781,384.7656 3670.6563,383.7969 Q3671.7344,382.8281 3673.6094,382.8281 Q3674.4688,382.8281 3675.3125,383.0313 Q3676.1719,383.2188 3677.0156,383.6094 L3677.0156,386 Q3676.2344,385.4375 3675.4063,385.1563 Q3674.5938,384.8594 3673.7969,384.8594 Q3672.9219,384.8594 3672.4375,385.2188 Q3671.9688,385.5781 3671.9688,386.2344 Q3671.9688,386.75 3672.3125,387.0938 Q3672.6563,387.4219 3673.75,387.8281 L3674.8125,388.2344 Q3676.2969,388.7813 3677,389.6875 Q3677.7188,390.5938 3677.7188,391.9688 Q3677.7188,393.8438 3676.6094,394.7656 Q3675.5,395.6875 3673.25,395.6875 Q3672.3281,395.6875 3671.4063,395.4688 Q3670.4844,395.25 3669.625,394.8281 L3669.625,392.2969 Q3670.5938,392.9844 3671.5156,393.3281 Q3672.4375,393.6719 3673.3281,393.6719 Q3674.2344,393.6719 3674.7344,393.2656 Q3675.2344,392.8438 3675.2344,392.1094 Q3675.2344,391.5469 3674.8906,391.1406 Q3674.5625,390.7188 3673.9375,390.4688 L3672.7344,390.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="3693.75" y="393.6074">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3249" x2="4221" y1="405.4531" y2="405.4531"/><ellipse cx="3259" cy="433.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="3268" y="436.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3249" x2="3589.5" y1="419.8555" y2="419.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3589.5" y="423.1636">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3880.5" x2="4221" y1="419.8555" y2="419.8555"/><ellipse cx="3259" cy="462.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="3268" y="466.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3249" x2="3599.5" y1="449.4648" y2="449.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3599.5" y="452.7729">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3870.5" x2="4221" y1="449.4648" y2="449.4648"/><ellipse cx="3259" cy="492.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="138" x="3268" y="495.687">minLatency : urt_delay_t</text><ellipse cx="3259" cy="505.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="141" x="3268" y="508.4917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3249" x2="3481" y1="479.0742" y2="479.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="3481" y="482.3823">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="3989" x2="4221" y1="479.0742" y2="479.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3249" x2="4221" y1="515.0859" y2="515.0859"/><ellipse cx="3259" cy="526.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="387" x="3268" y="529.2964">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><ellipse cx="3259" cy="538.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="948" x="3268" y="542.1011">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="3259" cy="551.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="780" x="3268" y="554.9058">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3259" cy="564.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="790" x="3268" y="567.7104">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3259" cy="577.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="540" x="3268" y="580.5151">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="3259" cy="590.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="441" x="3268" y="593.3198">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
17
class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="2111" y="351.9531"/><ellipse cx="2589.25" cy="367.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2588.7344,368.5156 Q2586.875,367.8125 2586.2188,367.0469 Q2585.5781,366.2656 2585.5781,364.9531 Q2585.5781,363.2656 2586.6563,362.2969 Q2587.7344,361.3281 2589.6094,361.3281 Q2590.4688,361.3281 2591.3125,361.5313 Q2592.1719,361.7188 2593.0156,362.1094 L2593.0156,364.5 Q2592.2344,363.9375 2591.4063,363.6563 Q2590.5938,363.3594 2589.7969,363.3594 Q2588.9219,363.3594 2588.4375,363.7188 Q2587.9688,364.0781 2587.9688,364.7344 Q2587.9688,365.25 2588.3125,365.5938 Q2588.6563,365.9219 2589.75,366.3281 L2590.8125,366.7344 Q2592.2969,367.2813 2593,368.1875 Q2593.7188,369.0938 2593.7188,370.4688 Q2593.7188,372.3438 2592.6094,373.2656 Q2591.5,374.1875 2589.25,374.1875 Q2588.3281,374.1875 2587.4063,373.9688 Q2586.4844,373.75 2585.625,373.3281 L2585.625,370.7969 Q2586.5938,371.4844 2587.5156,371.8281 Q2588.4375,372.1719 2589.3281,372.1719 Q2590.2344,372.1719 2590.7344,371.7656 Q2591.2344,371.3438 2591.2344,370.6094 Q2591.2344,370.0469 2590.8906,369.6406 Q2590.5625,369.2188 2589.9375,368.9688 L2588.7344,368.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2609.75" y="372.1074">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2112" x2="3194" y1="383.9531" y2="383.9531"/><ellipse cx="2122" cy="394.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="151" x="2131" y="398.1636">next : urt_hrtsubscriber_t*</text><ellipse cx="2122" cy="424.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="157" x="2131" y="427.7729">deadlineOffset : urt_delay_t</text><ellipse cx="2122" cy="437.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="194" x="2131" y="440.5776">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2507.5" y1="411.1602" y2="411.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="2507.5" y="414.4683">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2798.5" x2="3194" y1="411.1602" y2="411.1602"/><ellipse cx="2122" cy="466.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="124" x="2131" y="470.187">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2517.5" y1="453.5742" y2="453.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="2517.5" y="456.8823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2788.5" x2="3194" y1="453.5742" y2="453.5742"/><ellipse cx="2122" cy="496.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="138" x="2131" y="499.7964">minLatency : urt_delay_t</text><ellipse cx="2122" cy="509.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="141" x="2131" y="512.6011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2401" y1="483.1836" y2="483.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="2401" y="486.4917">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="2905" x2="3194" y1="483.1836" y2="483.1836"/><ellipse cx="2122" cy="539" 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="2131" y="542.2104">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2520.5" y1="525.5977" y2="525.5977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2520.5" y="528.9058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2785.5" x2="3194" y1="525.5977" y2="525.5977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2112" x2="3194" y1="548.8047" y2="548.8047"/><ellipse cx="2122" cy="559.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="392" x="2131" y="563.0151">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><ellipse cx="2122" cy="572.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="1058" x="2131" y="575.8198">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="2122" cy="585.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="785" x="2131" y="588.6245">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2122" cy="598.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="795" x="2131" y="601.4292">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2122" cy="611.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="446" x="2131" y="614.2339">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
18
class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="6654.5" y="721.4531"/><ellipse cx="6822.75" cy="737.4531" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6826.9844,733.2188 L6821.7031,733.2188 L6821.7031,735.8906 L6826.5,735.8906 L6826.5,738.0469 L6821.7031,738.0469 L6821.7031,743.4531 L6819.2656,743.4531 L6819.2656,731.0625 L6826.9844,731.0625 L6826.9844,733.2188 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="6843.25" y="741.6074">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6655.5" x2="7104.5" y1="753.4531" y2="753.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6655.5" x2="7104.5" y1="761.4531" y2="761.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="6660.5" y="775.6636">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
19
class urt_service_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="222.4609" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="6579" y="375.4531"/><ellipse cx="6836.25" cy="391.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6835.7344,392.0156 Q6833.875,391.3125 6833.2188,390.5469 Q6832.5781,389.7656 6832.5781,388.4531 Q6832.5781,386.7656 6833.6563,385.7969 Q6834.7344,384.8281 6836.6094,384.8281 Q6837.4688,384.8281 6838.3125,385.0313 Q6839.1719,385.2188 6840.0156,385.6094 L6840.0156,388 Q6839.2344,387.4375 6838.4063,387.1563 Q6837.5938,386.8594 6836.7969,386.8594 Q6835.9219,386.8594 6835.4375,387.2188 Q6834.9688,387.5781 6834.9688,388.2344 Q6834.9688,388.75 6835.3125,389.0938 Q6835.6563,389.4219 6836.75,389.8281 L6837.8125,390.2344 Q6839.2969,390.7813 6840,391.6875 Q6840.7188,392.5938 6840.7188,393.9688 Q6840.7188,395.8438 6839.6094,396.7656 Q6838.5,397.6875 6836.25,397.6875 Q6835.3281,397.6875 6834.4063,397.4688 Q6833.4844,397.25 6832.625,396.8281 L6832.625,394.2969 Q6833.5938,394.9844 6834.5156,395.3281 Q6835.4375,395.6719 6836.3281,395.6719 Q6837.2344,395.6719 6837.7344,395.2656 Q6838.2344,394.8438 6838.2344,394.1094 Q6838.2344,393.5469 6837.8906,393.1406 Q6837.5625,392.7188 6836.9375,392.4688 L6835.7344,392.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="6856.75" y="395.6074">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6580" x2="7180" y1="407.4531" y2="407.4531"/><ellipse cx="6590" cy="418.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="115" x="6599" y="421.6636">next : urt_service_t*</text><ellipse cx="6590" cy="431.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="105" x="6599" y="434.4683">id : urt_serviceid_t</text><ellipse cx="6590" cy="444.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="6599" y="447.2729">lock : urt_osMutex_t</text><ellipse cx="6590" cy="456.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="160" x="6599" y="460.0776">callback : urt_servicefunc_t*</text><ellipse cx="6590" cy="486.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="137" x="6599" y="489.687">sumDurations : uint64_t</text><ellipse cx="6590" cy="499.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="110" x="6599" y="502.4917">numCalls : uint64_t</text><ellipse cx="6590" cy="512.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="135" x="6599" y="515.2964">numTimeouts : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6580" x2="6784" y1="473.0742" y2="473.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="6784" y="476.3823">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6976" x2="7180" y1="473.0742" y2="473.0742"/><ellipse cx="6590" cy="541.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="143" x="6599" y="544.9058">minDuration : urt_delay_t</text><ellipse cx="6590" cy="554.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="146" x="6599" y="557.7104">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6580" x2="6653" y1="528.293" y2="528.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="6653" y="531.6011">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="7107" x2="7180" y1="528.293" y2="528.293"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6580" x2="7180" y1="564.3047" y2="564.3047"/><ellipse cx="6590" cy="575.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="576" x="6599" y="578.5151">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="6590" cy="588.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="557" x="6599" y="591.3198">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
20
class urt_core_t--><rect fill="#FEFECE" filter="url(#f6i8e5hg9h7lm)" height="256.0703" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="515" x="5693.5" y="28.9531"/><ellipse cx="5915.25" cy="44.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5914.7344,45.5156 Q5912.875,44.8125 5912.2188,44.0469 Q5911.5781,43.2656 5911.5781,41.9531 Q5911.5781,40.2656 5912.6563,39.2969 Q5913.7344,38.3281 5915.6094,38.3281 Q5916.4688,38.3281 5917.3125,38.5313 Q5918.1719,38.7188 5919.0156,39.1094 L5919.0156,41.5 Q5918.2344,40.9375 5917.4063,40.6563 Q5916.5938,40.3594 5915.7969,40.3594 Q5914.9219,40.3594 5914.4375,40.7188 Q5913.9688,41.0781 5913.9688,41.7344 Q5913.9688,42.25 5914.3125,42.5938 Q5914.6563,42.9219 5915.75,43.3281 L5916.8125,43.7344 Q5918.2969,44.2813 5919,45.1875 Q5919.7188,46.0938 5919.7188,47.4688 Q5919.7188,49.3438 5918.6094,50.2656 Q5917.5,51.1875 5915.25,51.1875 Q5914.3281,51.1875 5913.4063,50.9688 Q5912.4844,50.75 5911.625,50.3281 L5911.625,47.7969 Q5912.5938,48.4844 5913.5156,48.8281 Q5914.4375,49.1719 5915.3281,49.1719 Q5916.2344,49.1719 5916.7344,48.7656 Q5917.2344,48.3438 5917.2344,47.6094 Q5917.2344,47.0469 5916.8906,46.6406 Q5916.5625,46.2188 5915.9375,45.9688 L5914.7344,45.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="5935.75" y="49.1074">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5694.5" x2="6207.5" y1="60.9531" y2="60.9531"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5701.5" y="68.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="5713.5" y="75.1636">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5701.5" y="81.7578"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="5713.5" y="87.9683">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5701.5" y="94.5625"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="5713.5" y="100.7729">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5701.5" y="124.1719"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="5713.5" y="130.3823">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5694.5" x2="5846" y1="113.7695" y2="113.7695"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="5846" y="117.0776">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6056" x2="6207.5" y1="113.7695" y2="113.7695"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5701.5" y="153.7813"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="5713.5" y="159.9917">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5694.5" x2="5858.5" y1="143.3789" y2="143.3789"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="5858.5" y="146.687">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6043.5" x2="6207.5" y1="143.3789" y2="143.3789"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5694.5" x2="6207.5" y1="166.5859" y2="166.5859"/><ellipse cx="5704.5" cy="177.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="175" x="5713.5" y="180.7964">urtCoreInit (void) : urt_status_t</text><ellipse cx="5704.5" cy="190.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="222" x="5713.5" y="193.6011">urtCoreStartNodes (void) : urt_status_t</text><ellipse cx="5704.5" cy="203.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="489" x="5713.5" y="206.4058">urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodestage_t) : urt_status_t</text><ellipse cx="5704.5" cy="216" 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="220" x="5713.5" y="219.2104">urtCoreStopNodes (void) : urt_status_t</text><ellipse cx="5704.5" cy="245.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="273" x="5713.5" y="248.8198">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5694.5" x2="5846" y1="232.207" y2="232.207"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="5846" y="235.5151">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6056" x2="6207.5" y1="232.207" y2="232.207"/><ellipse cx="5704.5" cy="275.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="313" x="5713.5" y="278.4292">urtCoreGetService (id : urt_serviceid_t) : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5694.5" x2="5858.5" y1="261.8164" y2="261.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="5858.5" y="265.1245">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6043.5" x2="6207.5" y1="261.8164" y2="261.8164"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
21
reverse link urt_node_t to urt_node_t--><path d="M6538.0185,462.4923 C6552.4384,469.1698 6560.5,477.1567 6560.5,486.4531 C6560.5,498.1191 6547.8048,507.7231 6525.7804,515.265 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6525.7804,457.6412,6529.8842,463.5707,6536.936,462.0631,6532.8322,456.1337,6525.7804,457.6412" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6533.9195" y="454.2008">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6534.032" y="512.635">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
22
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M5805.8325,597.8333 C5751.6925,642.7938 5695.5513,691.113 5662.8371,721.426 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="5815.9122,589.4823,5808.74,590.23,5806.6715,597.1381,5813.8438,596.3904,5815.9122,589.4823" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5798.1326" y="609.3376">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5660.0515" y="710.2104">1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
23
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M5837.6716,592.8114 C5783.3605,639.1598 5721.4515,689.981 5680.3298,721.426 " 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="5841.5685,589.4823,5832.1274,592.287,5837.7669,592.7301,5837.3238,598.3695,5841.5685,589.4823" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
24
reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6046.0101,598.9533 C6088.1282,643.5946 6135.2027,691.3646 6167.2987,721.426 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6037.1049,589.4823,6038.3009,596.5936,6045.3251,598.2247,6044.1291,591.1135,6037.1049,589.4823" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6034.8779" y="609.3376">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6150.1765" y="710.2104">1</text><!--MD5=[b913f036db99e36b937989146817bd94]
25
reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6066.2826,593.0895 C6111.3941,639.363 6158.4568,690.0439 6184.7915,721.426 " 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="6062.7612,589.4823,6066.186,598.7165,6066.254,593.0601,6071.9104,593.1281,6062.7612,589.4823" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[536025241394544a90bc53fb552f3a08]
26
reverse link urt_message_t to urt_message_t--><path d="M1233.5642,717.6932 C1247.8974,725.8439 1256.5,737.2638 1256.5,751.9531 C1256.5,770.3867 1242.9528,783.6718 1221.534,791.8085 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1221.534,712.0977,1225.2873,718.2551,1232.4146,717.1587,1228.6613,711.0014,1221.534,712.0977" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1229.7829" y="707.4718">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1229.3281" y="789.9453">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
27
link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M1875.1787,563.5304 C1944.02,585.7483 2021.4622,607.5767 2094,620.9531 C2518.3586,699.2072 2655.925,553.8706 3069.8574,678.9137 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3072.0992,672.2797,3089.1409,684.8726,3067.9658,685.6557,3072.0992,672.2797" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
28
link urt_nrtsubscriber_t to urt_message_t--><path d="M1470.5988,563.6033 C1378.9737,599.9658 1270.2314,643.1214 1179.9674,678.9436 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1175.1402,680.8594,1184.981,681.2574,1179.7876,679.015,1182.03,673.8216,1175.1402,680.8594" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
29
link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M4422.8492,583.0151 C4361.961,596.8959 4299.4105,610.1204 4240,620.9531 C3914.22,680.3547 3526.4148,721.2295 3327.013,740.0919 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3327.4203,747.0843,3306.8536,741.9844,3326.1117,733.1456,3327.4203,747.0843" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
30
reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M4799,596.0612 C4799,641.4783 4799,690.6246 4799,721.342 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4799,583.0557,4795,589.0557,4799,595.0557,4803,589.0557,4799,583.0557" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4790.7063" y="602.778">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4772.525" y="710.5823">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
31
link urt_srtsubscriber_t to urt_message_t--><path d="M4448.5378,582.9959 C4379.885,598.4322 4308.0632,612.1893 4240,620.9531 C3578.4393,706.1356 1898.3185,579.8704 1239,680.9531 C1234.8627,681.5874 1230.6969,682.2728 1226.5104,683.0046 " fill="none" id="urt_srtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1221.5869,683.8846,1231.1503,686.2385,1226.5089,683.0048,1229.7426,678.3633,1221.5869,683.8846" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
32
link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M3504.3905,599.6265 C3443.0717,629.7192 3378.9567,661.1842 3325.0246,687.6518 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3327.8079,694.0833,3306.7695,696.6106,3321.64,681.5152,3327.8079,694.0833" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
33
link urt_frtsubscriber_t to urt_message_t--><path d="M3347.1778,599.4981 C3308.1799,607.9851 3268.9705,615.391 3231,620.9531 C2354.6178,749.329 2113.8147,542.2973 1239,680.9531 C1234.8659,681.6083 1230.7031,682.3131 1226.5195,683.0628 " fill="none" id="urt_frtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1221.5992,683.9631,1231.1722,686.2778,1226.5175,683.0631,1229.7322,678.4085,1221.5992,683.9631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
34
link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M2958.7123,620.9972 C2993.82,637.8002 3029.0613,655.278 3067.3977,675.4154 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3070.8401,669.3173,3085.2402,684.862,3064.2893,681.6902,3070.8401,669.3173" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
35
reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M3207.3399,461.8326 C3221.8539,468.6417 3230,476.8486 3230,486.4531 C3230,498.5058 3217.1717,508.3575 3195.0292,516.0082 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3195.0292,456.898,3199.1102,462.8432,3206.1677,461.3628,3202.0867,455.4176,3195.0292,456.898" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3202.7077" y="453.4456">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3202.8202" y="513.3871">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
36
link urt_hrtsubscriber_t to urt_message_t--><path d="M2110.872,618.1203 C2104.8881,619.0943 2098.9292,620.0392 2093,620.9531 C1716.9494,678.9143 1613.5328,613.8804 1239,680.9531 C1234.8799,681.6909 1230.73,682.4722 1226.5583,683.2925 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1221.6515,684.2732,1231.2609,686.4316,1226.5545,683.2932,1229.6929,678.5868,1221.6515,684.2732" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
37
reverse link urt_publisher_t to urt_topic_t--><path d="M794.8249,486.4531 C802.1324,486.4531 809.44,486.4531 816.7475,486.4531 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="781.6714,486.4531,787.6714,490.4531,793.6714,486.4531,787.6714,482.4531,781.6714,486.4531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="789.4647" y="483.3708">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="801.0814" y="483.2283">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
38
link urt_publisher_t to urt_message_t--><path d="M546.5492,551.0622 C632.8323,589.6281 742.6672,638.721 832.1603,678.7217 " 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="836.9443,680.86,830.3602,673.5355,832.3796,678.8196,827.0955,680.839,836.9443,680.86" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
39
reverse link urt_topic_t to urt_topic_t--><path d="M1213.0439,450.3703 C1227.3061,458.6063 1236,470.6339 1236,486.4531 C1236,506.3047 1222.309,520.1852 1201.1039,528.0949 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1201.1039,444.8113,1204.855,450.97,1211.9826,449.8762,1208.2316,443.7175,1201.1039,444.8113" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1208.7642" y="439.9598">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1209.0767" y="526.4967">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
40
reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1145.317,354.0079 C1174.4977,330.942 1206.4088,309.1844 1239,292.9531 C1246.1417,289.3963 1248.5719,289.8476 1256.5,288.9531 C1301.7131,283.8517 2030.2869,283.8517 2075.5,288.9531 C2163.5516,298.888 2255.7005,323.4069 2339.8741,351.9215 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1135.1127,362.2142,1142.2951,361.5712,1144.4639,354.694,1137.2816,355.337,1135.1127,362.2142" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1134.5539" y="351.2552">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2297.0778" y="340.7847">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
41
reverse link urt_topic_t to urt_message_t--><path d="M1002.2699,623.9018 C1001.3084,643.5395 1000.3536,663.0399 999.4898,680.6812 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1002.9187,610.6522,998.63,616.4494,1002.3318,622.6379,1006.6204,616.8407,1002.9187,610.6522" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="994.3044" y="630.7464">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="991.4372" y="669.6505">1</text><!--MD5=[05f2c35569573d3273c65d3342945557]
42
reverse link urt_service_t to urt_service_t--><path d="M7193.2128,455.5207 C7207.5894,463.3534 7216,473.6642 7216,486.4531 C7216,502.5019 7202.7552,514.6483 7181.0965,522.8921 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7181.0965,450.0141,7184.9038,456.1382,7192.0211,454.9792,7188.2139,448.8551,7181.0965,450.0141" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7189.2006" y="445.9095">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7189.4131" y="520.7234">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
43
reverse link urt_service_t to urt_servicefunc_t--><path d="M6880,610.5187 C6880,651.6673 6880,693.9335 6880,721.4119 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6880,597.5107,6876,603.5107,6880,609.5107,6884,603.5107,6880,597.5107" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6871.7188" y="617.9022">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6853.375" y="710.1932">0..1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
44
reverse link urt_core_t to urt_node_t--><path d="M5951,298.3422 C5951,326.9245 5951,356.4642 5951,383.4257 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="5951,285.2899,5947,291.2899,5951,297.2899,5955,291.2899,5951,285.2899" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5942.7688" y="305.2117">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="5926.1188" y="372.3933">0..1</text><!--MD5=[250695c91040478b50550bc37a8775c7]
45
reverse link urt_core_t to urt_topic_t--><path d="M5680.1235,159.8486 C4708.8115,170.8701 1447.1032,213.6375 1239,292.9531 C1198.2848,308.4711 1159.6607,334.4522 1126.0951,362.4198 " fill="none" id="urt_core_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5693.2023,159.7005,5687.1574,155.7688,5681.2031,159.8365,5687.248,163.7682,5693.2023,159.7005" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5677.4302" y="156.6273">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1108.4993" y="351.4733">0..1</text><!--MD5=[8d0a227ec56585cdbc167f8316b34b64]
46
reverse link urt_core_t to urt_service_t--><path d="M6221.8221,197.9187 C6329.4468,219.1837 6452.8876,249.9491 6560,292.9531 C6614.2235,314.723 6669.8719,345.1018 6719.2415,375.3457 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6208.7777,195.3723,6213.9002,200.4478,6220.5554,197.6715,6215.4329,192.596,6208.7777,195.3723" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6216.5492" y="193.3581">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6683.6343" y="364.4327">0..1</text><!--MD5=[3935ae215845a45a68762d1af2ae6721]
47 4d55cea4 Thomas Schöpping
@startuml
48
49
title **µRtWare**
50
51
52
53
54
55
56
57
58
59
60
61
62
63
  class urt_core_t <<S,BFAFFF>> {
64
  - {field} {static} _nodes : urt_node_t*
65
  - {field} {static} _evtSource : urt_osEventSource_t
66
  - {field} {static} _lock : urt_osMutex_t
67
  .. URT_CFG_PUBSUB_ENABLED == true ..
68 056e40d2 Thomas Schöpping
  - {field} {static} _topics : urt_topic_t*
69 4d55cea4 Thomas Schöpping
  .. URT_CFG_RPC_ENABLED == true ..
70 056e40d2 Thomas Schöpping
  - {field} {static} _services : urt_service_t*
71 4d55cea4 Thomas Schöpping
  __
72
  + {method} urtCoreInit (void) : urt_status_t
73
  + {method} urtCoreStartNodes (void) : urt_status_t
74
  + {method} urtCoreSynchronizeNodes (node : urt_node_t*, stage : urt_nodestage_t) : urt_status_t
75
  + {method} urtCoreStopNodes (void) : urt_status_t
76 056e40d2 Thomas Schöpping
  .. URT_CFG_PUBSUB_ENABLED == true ..
77 ee83a495 Thomas Schöpping
  + {method} urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*
78 056e40d2 Thomas Schöpping
  .. URT_CFG_RPC_ENABLED == true ..
79 ee83a495 Thomas Schöpping
  + {method} urtCoreGetService (id : urt_serviceid_t) : urt_service_t*
80 4d55cea4 Thomas Schöpping
}
81
82
  package "node" <<Rectangle>> {
83
    class urt_nodeSetupCallback_t <<T,00CFFF>> {
84
    urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t
85
  }
86
87
    class urt_nodeLoopCallback_t <<T,00CFFF>> {
88
    urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t
89
  }
90
91
    class urt_node_t <<S,BFAFFF>> {
92
    + {field} next : urt_node_t*
93
    + {field} thread : urt_osThread_t*
94
    + {field} setupcallback : urt_nodeSetupCallback_t*
95
    + {field} setupparams : void*
96
    + {field} loopcallback : urt_nodeLoopCallback_t*
97
    + {field} loopparams : void*
98
    + {field} stage : urt_nodestage_t
99
    + {field} listener : urt_osEventListener_t
100 ee83a495 Thomas Schöpping
    .. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true ..
101
    + {field} loops : uint64_t
102 4d55cea4 Thomas Schöpping
    __
103
    - {method} {static} _main : urt_osThreadFunction_t
104 ee83a495 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*) : urt_status_t
105 4d55cea4 Thomas Schöpping
  }
106
} 
107
108
  package "Publish-Subscribe System" <<Node>> {
109
110
  class urt_message_t <<S,BFAFFF>> {
111
  + {field} next : urt_message_t*
112
  + {field} payload : void*
113
  + {field} originTime : urt_osTime_t
114
  + {field} numHrtConsumersLeft : unsigned int
115
  .. URT_CFG_PUBSUB_PROFILING == true ..
116
  + {field} numConsumersLeft : unsigned int
117
  __
118
  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
119
}
120
121
  package "subscriber" <<Rectangle>> {
122 ee83a495 Thomas Schöpping
    class urt_basesubscriber_t <<S,BFAFFF>> {
123 4d55cea4 Thomas Schöpping
    + {field} topic : urt_topic_t*
124
    + {field} evtListener : urt_osEventListener_t
125
    + {field} lastMessage : urt_message_t*
126
    + {field} lastMessageTime : urt_osTime_t
127
    .. URT_CFG_PUBSUB_PROFILING == true ..
128
    + {field} sumLatencies : uint64_t
129
    + {field} numMessagesReceived : uint64_t
130 ee83a495 Thomas Schöpping
  }
131
132
    class urt_srtusefulnessfunc_t <<F,E0E0E0>> {
133
    urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float
134
  }
135
136
    class urt_nrtsubscriber_t <<S,BFAFFF>> {
137
    .. URT_CFG_PUBSUB_PROFILING == true ..
138
    + {field} minLatency : urt_delay_t
139
    + {field} maxLatency : urt_delay_t
140
    __
141
    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t
142
    + {method} urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
143
    + {method} urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
144
    + {method} urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
145
    + {method} urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t
146
  }
147
148
    class urt_srtsubscriber_t <<S,BFAFFF>> {
149
    + {field} usefulnesscb : urt_srtusefulnessfunc_t*
150
    + {field} cbparams : void*
151 056e40d2 Thomas Schöpping
    .. URT_CFG_PUBSUB_PROFILING == true ..
152 4d55cea4 Thomas Schöpping
    + {field} minLatency : urt_delay_t
153
    + {field} maxLatency : urt_delay_t
154
    __
155 ee83a495 Thomas Schöpping
    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t
156
    + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
157
    + {method} urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
158
    + {method} urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
159
    + {method} urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float
160
    + {method} urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t
161
  }
162
163
    class urt_frtsubscriber_t <<S,BFAFFF>> {
164
    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
165
    + {field} deadlineOffset : urt_delay_t
166
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
167
    + {field} maxJitter : urt_delay_t
168
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true ..
169
    + {field} minLatency : urt_delay_t
170
    + {field} maxLatency : urt_delay_t
171
    __
172
    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t
173
    + {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
174
    + {method} urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
175
    + {method} urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
176
    + {method} urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool
177
    + {method} urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t
178
  }
179
180
    class urt_hrtsubscriber_t <<S,BFAFFF>> {
181
    + {field} next : urt_hrtsubscriber_t*
182
    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
183
    + {field} deadlineOffset : urt_delay_t
184
    + {field} qosDeadlineTimer : urt_osTimer_t
185
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
186
    + {field} maxJitter : urt_delay_t
187
    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true..
188
    + {field} minLatency : urt_delay_t
189
    + {field} maxLatency : urt_delay_t
190
    .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
191
    + {field} expectedRate : urt_delay_t
192
    __
193
    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t
194
    + {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
195
    + {method} urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
196
    + {method} urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
197
    + {method} urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t
198 4d55cea4 Thomas Schöpping
  }
199
} 
200
201
  class urt_publisher_t <<S,BFAFFF>> {
202
  + {field} topic : urt_topic_t*
203 ee83a495 Thomas Schöpping
  .. URT_CFG_PUBSUB_PROFILING == true ..
204 4d55cea4 Thomas Schöpping
  + {field} publishAttempts : uint64_t
205
  + {field} publishFails : uint64_t
206
  __
207
  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
208
  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
209
}
210
211
  class urt_topic_t <<S,BFAFFF>> {
212
  + {field} next : urt_topic_t*
213
  + {field} id : urt_topicid_t
214
  + {field} lock : urt_osMutex_t
215
  + {field} evtSource : urt_osEventSource_t
216
  + {field} numHrtSubscribers : unsigned int
217 ee83a495 Thomas Schöpping
  + {field} hrtSubscribers : urt_hrtsubscriber_t*
218 056e40d2 Thomas Schöpping
  + {field} hrtReleased : urt_osCondvar_t
219 4d55cea4 Thomas Schöpping
  + {field} mandatoryMessage : urt_message_t
220
  + {field} latestMessage : urt_message_t*
221
  .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
222
  + {field} qosRateTimer : urt_osTimer_t
223
  .. URT_CFG_PUBSUB_PROFILING == true ..
224
  + {field} numDiscardedMessages : uint64_t
225
  + {field} numSubscribers : unsigned int
226
  __
227
  + {method} urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
228
}
229
230
}
231
232
  package "Remote Procedure Call System" <<Node>> {
233
234 056e40d2 Thomas Schöpping
  class urt_servicefunc_t <<F,E0E0E0>> {
235
  urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
236 4d55cea4 Thomas Schöpping
}
237
238 056e40d2 Thomas Schöpping
  class urt_service_t <<S,BFAFFF>> {
239
  + {field} next : urt_service_t*
240
  + {field} id : urt_serviceid_t
241
  + {field} lock : urt_osMutex_t
242
  + {field} callback : urt_servicefunc_t*
243 ee83a495 Thomas Schöpping
  .. URT_CFG_RPC_PROFILING == true ..
244 056e40d2 Thomas Schöpping
  + {field} sumDurations : uint64_t
245
  + {field} numCalls : uint64_t
246
  + {field} numTimeouts : uint64_t
247 ee83a495 Thomas Schöpping
  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true  ..
248 056e40d2 Thomas Schöpping
  + {field} minDuration : urt_delay_t
249
  + {field} maxDuration : urt_delay_t
250 4d55cea4 Thomas Schöpping
  __
251 056e40d2 Thomas Schöpping
  + {method} urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t
252
  + {method} urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t
253 4d55cea4 Thomas Schöpping
}
254
255
}
256
257
258
259
260
urt_node_t "1" o- - "0..1" urt_node_t
261
urt_node_t "1" o- - "1" urt_nodeSetupCallback_t
262
urt_node_t <.. urt_nodeSetupCallback_t
263
urt_node_t "1" o- - "1" urt_nodeLoopCallback_t
264
urt_node_t <.. urt_nodeLoopCallback_t
265
266
267 ee83a495 Thomas Schöpping
urt_message_t "1" o- - "0..1" urt_message_t
268 4d55cea4 Thomas Schöpping
269 ee83a495 Thomas Schöpping
urt_nrtsubscriber_t - -|> urt_basesubscriber_t
270
urt_nrtsubscriber_t ..> urt_message_t
271 4d55cea4 Thomas Schöpping
272 ee83a495 Thomas Schöpping
urt_srtsubscriber_t - -|> urt_basesubscriber_t
273
urt_srtsubscriber_t "1" o- - "0..1" urt_srtusefulnessfunc_t
274
urt_srtsubscriber_t ..> urt_message_t
275 4d55cea4 Thomas Schöpping
276 ee83a495 Thomas Schöpping
urt_frtsubscriber_t - -|> urt_basesubscriber_t
277
urt_frtsubscriber_t ..> urt_message_t
278 4d55cea4 Thomas Schöpping
279 ee83a495 Thomas Schöpping
urt_hrtsubscriber_t - -|> urt_basesubscriber_t
280
urt_hrtsubscriber_t "1" o- - "0..1" urt_hrtsubscriber_t
281
urt_hrtsubscriber_t ..> urt_message_t
282 4d55cea4 Thomas Schöpping
283
urt_publisher_t "1" o- "1" urt_topic_t
284
urt_publisher_t ..> urt_message_t
285
286
urt_topic_t "1" o- - "0..1" urt_topic_t
287 ee83a495 Thomas Schöpping
urt_topic_t "1" o- "0..1" urt_hrtsubscriber_t
288 4d55cea4 Thomas Schöpping
urt_topic_t "1" *- - "1" urt_message_t
289
290
291
292
urt_service_t "1" o- - "0..1" urt_service_t
293
urt_service_t "1" o- - "0..1" urt_servicefunc_t
294
295
296
urt_core_t "1" o- - "0..1" urt_node_t
297 056e40d2 Thomas Schöpping
urt_core_t "1" *- - "0..1" urt_topic_t
298
urt_core_t "1" *- - "0..1" urt_service_t
299 4d55cea4 Thomas Schöpping
300
301
302
@enduml
303
304
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
305
(GPL source distribution)
306
Java Runtime: OpenJDK Runtime Environment
307
JVM: OpenJDK 64-Bit Server VM
308
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
309
Operating System: Linux
310
Default Encoding: UTF-8
311
Language: en
312
Country: US
313
--></g></svg>