Revision dd31cb03 doc/classdiagrams/pubsub.svg

View differences:

doc/classdiagrams/pubsub.svg
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="611px" preserveAspectRatio="none" style="width:5343px;height:611px;" version="1.1" viewBox="0 0 5343 611" width="5343px" zoomAndPan="magnify"><defs><filter height="300%" id="fijp6wls75jyj" 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="2635" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="225" x="2567" y="37.6611">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
2
cluster subscriber--><rect fill="#FFFFFF" filter="url(#fijp6wls75jyj)" height="502" style="stroke: #000000; stroke-width: 1.5;" width="4103" x="1229.5" y="98.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3238.5" y="113.9014">subscriber</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
3
class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="3039" y="458.9063"/><ellipse cx="3081.45" cy="474.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3080.9344,475.4688 Q3079.075,474.7656 3078.4188,474 Q3077.7781,473.2188 3077.7781,471.9063 Q3077.7781,470.2188 3078.8563,469.25 Q3079.9344,468.2813 3081.8094,468.2813 Q3082.6688,468.2813 3083.5125,468.4844 Q3084.3719,468.6719 3085.2156,469.0625 L3085.2156,471.4531 Q3084.4344,470.8906 3083.6063,470.6094 Q3082.7938,470.3125 3081.9969,470.3125 Q3081.1219,470.3125 3080.6375,470.6719 Q3080.1688,471.0313 3080.1688,471.6875 Q3080.1688,472.2031 3080.5125,472.5469 Q3080.8563,472.875 3081.95,473.2813 L3083.0125,473.6875 Q3084.4969,474.2344 3085.2,475.1406 Q3085.9188,476.0469 3085.9188,477.4219 Q3085.9188,479.2969 3084.8094,480.2188 Q3083.7,481.1406 3081.45,481.1406 Q3080.5281,481.1406 3079.6063,480.9219 Q3078.6844,480.7031 3077.825,480.2813 L3077.825,477.75 Q3078.7938,478.4375 3079.7156,478.7813 Q3080.6375,479.125 3081.5281,479.125 Q3082.4344,479.125 3082.9344,478.7188 Q3083.4344,478.2969 3083.4344,477.5625 Q3083.4344,477 3083.0906,476.5938 Q3082.7625,476.1719 3082.1375,475.9219 L3080.9344,475.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="3101.55" y="479.0605">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3040" x2="3263" y1="490.9063" y2="490.9063"/><ellipse cx="3050" cy="501.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="3059" y="505.1167">topic : urt_topic_t*</text><ellipse cx="3050" cy="514.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="3059" y="517.9214">evtListener : urt_osEventListener_t</text><ellipse cx="3050" cy="527.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="3059" y="530.7261">lastMessage : urt_message_t*</text><ellipse cx="3050" cy="540.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="3059" y="543.5308">lastMessageTime : urt_osTime_t</text><ellipse cx="3050" cy="569.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="3059" y="573.1401">sumLatencies : uint64_t</text><ellipse cx="3050" cy="582.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="3059" y="585.9448">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3040" x2="3043" y1="556.5273" y2="556.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3043" y="559.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3260" x2="3263" y1="556.5273" y2="556.5273"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
4
class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="4595.5" y="495.4063"/><ellipse cx="4704.75" cy="511.4063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4708.9844,507.1719 L4703.7031,507.1719 L4703.7031,509.8438 L4708.5,509.8438 L4708.5,512 L4703.7031,512 L4703.7031,517.4063 L4701.2656,517.4063 L4701.2656,505.0156 L4708.9844,505.0156 L4708.9844,507.1719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="4725.25" y="515.5605">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4596.5" x2="4968.5" y1="527.4063" y2="527.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4596.5" x2="4968.5" y1="535.4063" y2="535.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="4601.5" y="549.6167">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
5
class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="2247" y="183.4063"/><ellipse cx="2593.75" cy="199.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2593.2344,199.9688 Q2591.375,199.2656 2590.7188,198.5 Q2590.0781,197.7188 2590.0781,196.4063 Q2590.0781,194.7188 2591.1563,193.75 Q2592.2344,192.7813 2594.1094,192.7813 Q2594.9688,192.7813 2595.8125,192.9844 Q2596.6719,193.1719 2597.5156,193.5625 L2597.5156,195.9531 Q2596.7344,195.3906 2595.9063,195.1094 Q2595.0938,194.8125 2594.2969,194.8125 Q2593.4219,194.8125 2592.9375,195.1719 Q2592.4688,195.5313 2592.4688,196.1875 Q2592.4688,196.7031 2592.8125,197.0469 Q2593.1563,197.375 2594.25,197.7813 L2595.3125,198.1875 Q2596.7969,198.7344 2597.5,199.6406 Q2598.2188,200.5469 2598.2188,201.9219 Q2598.2188,203.7969 2597.1094,204.7188 Q2596,205.6406 2593.75,205.6406 Q2592.8281,205.6406 2591.9063,205.4219 Q2590.9844,205.2031 2590.125,204.7813 L2590.125,202.25 Q2591.0938,202.9375 2592.0156,203.2813 Q2592.9375,203.625 2593.8281,203.625 Q2594.7344,203.625 2595.2344,203.2188 Q2595.7344,202.7969 2595.7344,202.0625 Q2595.7344,201.5 2595.3906,201.0938 Q2595.0625,200.6719 2594.4375,200.4219 L2593.2344,199.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2614.25" y="203.5605">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2248" x2="3067" y1="215.4063" y2="215.4063"/><ellipse cx="2258" cy="243.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2267" y="246.4214">minLatency : urt_delay_t</text><ellipse cx="2258" cy="256.0156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2267" y="259.2261">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2248" x2="2549" y1="229.8086" y2="229.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2549" y="233.1167">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2766" x2="3067" y1="229.8086" y2="229.8086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2248" x2="3067" y1="265.8203" y2="265.8203"/><ellipse cx="2258" cy="276.8203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="2267" y="280.0308">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><ellipse cx="2258" cy="289.625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="715" x="2267" y="292.8354">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="2258" cy="302.4297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="2267" y="305.6401">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2258" cy="315.2344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="2267" y="318.4448">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2258" cy="328.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="2267" y="331.2495">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
6
class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="4240.5" y="163.9063"/><ellipse cx="4719.25" cy="179.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4718.7344,180.4688 Q4716.875,179.7656 4716.2188,179 Q4715.5781,178.2188 4715.5781,176.9063 Q4715.5781,175.2188 4716.6563,174.25 Q4717.7344,173.2813 4719.6094,173.2813 Q4720.4688,173.2813 4721.3125,173.4844 Q4722.1719,173.6719 4723.0156,174.0625 L4723.0156,176.4531 Q4722.2344,175.8906 4721.4063,175.6094 Q4720.5938,175.3125 4719.7969,175.3125 Q4718.9219,175.3125 4718.4375,175.6719 Q4717.9688,176.0313 4717.9688,176.6875 Q4717.9688,177.2031 4718.3125,177.5469 Q4718.6563,177.875 4719.75,178.2813 L4720.8125,178.6875 Q4722.2969,179.2344 4723,180.1406 Q4723.7188,181.0469 4723.7188,182.4219 Q4723.7188,184.2969 4722.6094,185.2188 Q4721.5,186.1406 4719.25,186.1406 Q4718.3281,186.1406 4717.4063,185.9219 Q4716.4844,185.7031 4715.625,185.2813 L4715.625,182.75 Q4716.5938,183.4375 4717.5156,183.7813 Q4718.4375,184.125 4719.3281,184.125 Q4720.2344,184.125 4720.7344,183.7188 Q4721.2344,183.2969 4721.2344,182.5625 Q4721.2344,182 4720.8906,181.5938 Q4720.5625,181.1719 4719.9375,180.9219 L4718.7344,180.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4739.75" y="184.0605">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4241.5" x2="5323.5" y1="195.9063" y2="195.9063"/><ellipse cx="4251.5" cy="206.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="229" x="4260.5" y="210.1167">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="4251.5" cy="219.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="4260.5" y="222.9214">cbparams : void*</text><ellipse cx="4251.5" cy="249.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="4260.5" y="252.5308">minLatency : urt_delay_t</text><ellipse cx="4251.5" cy="262.125" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="4260.5" y="265.3354">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4241.5" x2="4674" y1="235.918" y2="235.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4674" y="239.2261">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4891" x2="5323.5" y1="235.918" y2="235.918"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4241.5" x2="5323.5" y1="271.9297" y2="271.9297"/><ellipse cx="4251.5" cy="282.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="4260.5" y="286.1401">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><ellipse cx="4251.5" cy="295.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="4260.5" y="298.9448">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="4251.5" cy="308.5391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="4260.5" y="311.7495">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4251.5" cy="321.3438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="4260.5" y="324.5542">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4251.5" cy="334.1484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="4260.5" y="337.3589">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4251.5" cy="346.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="4260.5" y="350.1636">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
7
class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="1237.5" y="147.4063"/><ellipse cx="1662.75" cy="163.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1662.2344,163.9688 Q1660.375,163.2656 1659.7188,162.5 Q1659.0781,161.7188 1659.0781,160.4063 Q1659.0781,158.7188 1660.1563,157.75 Q1661.2344,156.7813 1663.1094,156.7813 Q1663.9688,156.7813 1664.8125,156.9844 Q1665.6719,157.1719 1666.5156,157.5625 L1666.5156,159.9531 Q1665.7344,159.3906 1664.9063,159.1094 Q1664.0938,158.8125 1663.2969,158.8125 Q1662.4219,158.8125 1661.9375,159.1719 Q1661.4688,159.5313 1661.4688,160.1875 Q1661.4688,160.7031 1661.8125,161.0469 Q1662.1563,161.375 1663.25,161.7813 L1664.3125,162.1875 Q1665.7969,162.7344 1666.5,163.6406 Q1667.2188,164.5469 1667.2188,165.9219 Q1667.2188,167.7969 1666.1094,168.7188 Q1665,169.6406 1662.75,169.6406 Q1661.8281,169.6406 1660.9063,169.4219 Q1659.9844,169.2031 1659.125,168.7813 L1659.125,166.25 Q1660.0938,166.9375 1661.0156,167.2813 Q1661.9375,167.625 1662.8281,167.625 Q1663.7344,167.625 1664.2344,167.2188 Q1664.7344,166.7969 1664.7344,166.0625 Q1664.7344,165.5 1664.3906,165.0938 Q1664.0625,164.6719 1663.4375,164.4219 L1662.2344,163.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="1683.25" y="167.5605">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1238.5" x2="2210.5" y1="179.4063" y2="179.4063"/><ellipse cx="1248.5" cy="207.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="1257.5" y="210.4214">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1238.5" x2="1579" y1="193.8086" y2="193.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="1579" y="197.1167">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1870" x2="2210.5" y1="193.8086" y2="193.8086"/><ellipse cx="1248.5" cy="236.8203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="1257.5" y="240.0308">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1238.5" x2="1589" y1="223.418" y2="223.418"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="1589" y="226.7261">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1860" x2="2210.5" y1="223.418" y2="223.418"/><ellipse cx="1248.5" cy="266.4297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1257.5" y="269.6401">minLatency : urt_delay_t</text><ellipse cx="1248.5" cy="279.2344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1257.5" y="282.4448">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1238.5" x2="1470.5" y1="253.0273" y2="253.0273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="1470.5" y="256.3354">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="1978.5" x2="2210.5" y1="253.0273" y2="253.0273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1238.5" x2="2210.5" y1="289.0391" y2="289.0391"/><ellipse cx="1248.5" cy="300.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="387" x="1257.5" y="303.2495">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><ellipse cx="1248.5" cy="312.8438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="948" x="1257.5" y="316.0542">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="1248.5" cy="325.6484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="780" x="1257.5" y="328.8589">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1248.5" cy="338.4531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="790" x="1257.5" y="341.6636">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1248.5" cy="351.2578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="540" x="1257.5" y="354.4683">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="1248.5" cy="364.0625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="441" x="1257.5" y="367.2729">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
8
class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="3103.5" y="125.9063"/><ellipse cx="3581.75" cy="141.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3581.2344,142.4688 Q3579.375,141.7656 3578.7188,141 Q3578.0781,140.2188 3578.0781,138.9063 Q3578.0781,137.2188 3579.1563,136.25 Q3580.2344,135.2813 3582.1094,135.2813 Q3582.9688,135.2813 3583.8125,135.4844 Q3584.6719,135.6719 3585.5156,136.0625 L3585.5156,138.4531 Q3584.7344,137.8906 3583.9063,137.6094 Q3583.0938,137.3125 3582.2969,137.3125 Q3581.4219,137.3125 3580.9375,137.6719 Q3580.4688,138.0313 3580.4688,138.6875 Q3580.4688,139.2031 3580.8125,139.5469 Q3581.1563,139.875 3582.25,140.2813 L3583.3125,140.6875 Q3584.7969,141.2344 3585.5,142.1406 Q3586.2188,143.0469 3586.2188,144.4219 Q3586.2188,146.2969 3585.1094,147.2188 Q3584,148.1406 3581.75,148.1406 Q3580.8281,148.1406 3579.9063,147.9219 Q3578.9844,147.7031 3578.125,147.2813 L3578.125,144.75 Q3579.0938,145.4375 3580.0156,145.7813 Q3580.9375,146.125 3581.8281,146.125 Q3582.7344,146.125 3583.2344,145.7188 Q3583.7344,145.2969 3583.7344,144.5625 Q3583.7344,144 3583.3906,143.5938 Q3583.0625,143.1719 3582.4375,142.9219 L3581.2344,142.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="3602.25" y="146.0605">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3104.5" x2="4186.5" y1="157.9063" y2="157.9063"/><ellipse cx="3114.5" cy="168.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="3123.5" y="172.1167">next : urt_hrtsubscriber_t*</text><ellipse cx="3114.5" cy="198.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="3123.5" y="201.7261">deadlineOffset : urt_delay_t</text><ellipse cx="3114.5" cy="211.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="3123.5" y="214.5308">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3500" y1="185.1133" y2="185.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3500" y="188.4214">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3791" x2="4186.5" y1="185.1133" y2="185.1133"/><ellipse cx="3114.5" cy="240.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="3123.5" y="244.1401">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3510" y1="227.5273" y2="227.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3510" y="230.8354">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3781" x2="4186.5" y1="227.5273" y2="227.5273"/><ellipse cx="3114.5" cy="270.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="3123.5" y="273.7495">minLatency : urt_delay_t</text><ellipse cx="3114.5" cy="283.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="3123.5" y="286.5542">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3393.5" y1="257.1367" y2="257.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="3393.5" y="260.4448">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="3897.5" x2="4186.5" y1="257.1367" y2="257.1367"/><ellipse cx="3114.5" cy="312.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="150" x="3123.5" y="316.1636">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3513" y1="299.5508" y2="299.5508"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="3513" y="302.8589">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3778" x2="4186.5" y1="299.5508" y2="299.5508"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3104.5" x2="4186.5" y1="322.7578" y2="322.7578"/><ellipse cx="3114.5" cy="333.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="3123.5" y="336.9683">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><ellipse cx="3114.5" cy="346.5625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="3123.5" y="349.7729">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="3114.5" cy="359.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="3123.5" y="362.5776">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3114.5" cy="372.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="795" x="3123.5" y="375.3823">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3114.5" cy="384.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="446" x="3123.5" y="388.187">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
9
class urt_message_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="753" y="454.9063"/><ellipse cx="928.25" cy="470.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M927.7344,471.4688 Q925.875,470.7656 925.2188,470 Q924.5781,469.2188 924.5781,467.9063 Q924.5781,466.2188 925.6563,465.25 Q926.7344,464.2813 928.6094,464.2813 Q929.4688,464.2813 930.3125,464.4844 Q931.1719,464.6719 932.0156,465.0625 L932.0156,467.4531 Q931.2344,466.8906 930.4063,466.6094 Q929.5938,466.3125 928.7969,466.3125 Q927.9219,466.3125 927.4375,466.6719 Q926.9688,467.0313 926.9688,467.6875 Q926.9688,468.2031 927.3125,468.5469 Q927.6563,468.875 928.75,469.2813 L929.8125,469.6875 Q931.2969,470.2344 932,471.1406 Q932.7188,472.0469 932.7188,473.4219 Q932.7188,475.2969 931.6094,476.2188 Q930.5,477.1406 928.25,477.1406 Q927.3281,477.1406 926.4063,476.9219 Q925.4844,476.7031 924.625,476.2813 L924.625,473.75 Q925.5938,474.4375 926.5156,474.7813 Q927.4375,475.125 928.3281,475.125 Q929.2344,475.125 929.7344,474.7188 Q930.2344,474.2969 930.2344,473.5625 Q930.2344,473 929.8906,472.5938 Q929.5625,472.1719 928.9375,471.9219 L927.7344,471.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="948.75" y="475.0605">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="1203" y1="486.9063" y2="486.9063"/><ellipse cx="764" cy="497.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="773" y="501.1167">next : urt_message_t*</text><ellipse cx="764" cy="510.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="773" y="513.9214">payload : void*</text><ellipse cx="764" cy="523.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="773" y="526.7261">originTime : urt_osTime_t</text><ellipse cx="764" cy="536.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="773" y="539.5308">numHrtConsumersLeft : unsigned int</text><ellipse cx="764" cy="565.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="773" y="569.1401">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="754" x2="870" y1="552.5273" y2="552.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="870" y="555.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1087" x2="1203" y1="552.5273" y2="552.5273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="1203" y1="575.7344" y2="575.7344"/><ellipse cx="764" cy="586.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="425" x="773" y="589.9448">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
10
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="6" y="195.9063"/><ellipse cx="334.75" cy="211.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M334.2344,212.4688 Q332.375,211.7656 331.7188,211 Q331.0781,210.2188 331.0781,208.9063 Q331.0781,207.2188 332.1563,206.25 Q333.2344,205.2813 335.1094,205.2813 Q335.9688,205.2813 336.8125,205.4844 Q337.6719,205.6719 338.5156,206.0625 L338.5156,208.4531 Q337.7344,207.8906 336.9063,207.6094 Q336.0938,207.3125 335.2969,207.3125 Q334.4219,207.3125 333.9375,207.6719 Q333.4688,208.0313 333.4688,208.6875 Q333.4688,209.2031 333.8125,209.5469 Q334.1563,209.875 335.25,210.2813 L336.3125,210.6875 Q337.7969,211.2344 338.5,212.1406 Q339.2188,213.0469 339.2188,214.4219 Q339.2188,216.2969 338.1094,217.2188 Q337,218.1406 334.75,218.1406 Q333.8281,218.1406 332.9063,217.9219 Q331.9844,217.7031 331.125,217.2813 L331.125,214.75 Q332.0938,215.4375 333.0156,215.7813 Q333.9375,216.125 334.8281,216.125 Q335.7344,216.125 336.2344,215.7188 Q336.7344,215.2969 336.7344,214.5625 Q336.7344,214 336.3906,213.5938 Q336.0625,213.1719 335.4375,212.9219 L334.2344,212.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="355.25" y="216.0605">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="764" y1="227.9063" y2="227.9063"/><ellipse cx="17" cy="238.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="26" y="242.1167">topic : urt_topic_t*</text><ellipse cx="17" cy="268.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="26" y="271.7261">publishAttempts : uint64_t</text><ellipse cx="17" cy="281.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="26" y="284.5308">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="277" y1="255.1133" y2="255.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="277" y="258.4214">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="494" x2="764" y1="255.1133" y2="255.1133"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="764" y1="291.125" y2="291.125"/><ellipse cx="17" cy="302.125" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="617" x="26" y="305.3354">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="17" cy="314.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="733" x="26" y="318.1401">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(#fijp6wls75jyj)" height="248.0703" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="800.5" y="136.4063"/><ellipse cx="955.25" cy="152.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M954.7344,152.9688 Q952.875,152.2656 952.2188,151.5 Q951.5781,150.7188 951.5781,149.4063 Q951.5781,147.7188 952.6563,146.75 Q953.7344,145.7813 955.6094,145.7813 Q956.4688,145.7813 957.3125,145.9844 Q958.1719,146.1719 959.0156,146.5625 L959.0156,148.9531 Q958.2344,148.3906 957.4063,148.1094 Q956.5938,147.8125 955.7969,147.8125 Q954.9219,147.8125 954.4375,148.1719 Q953.9688,148.5313 953.9688,149.1875 Q953.9688,149.7031 954.3125,150.0469 Q954.6563,150.375 955.75,150.7813 L956.8125,151.1875 Q958.2969,151.7344 959,152.6406 Q959.7188,153.5469 959.7188,154.9219 Q959.7188,156.7969 958.6094,157.7188 Q957.5,158.6406 955.25,158.6406 Q954.3281,158.6406 953.4063,158.4219 Q952.4844,158.2031 951.625,157.7813 L951.625,155.25 Q952.5938,155.9375 953.5156,156.2813 Q954.4375,156.625 955.3281,156.625 Q956.2344,156.625 956.7344,156.2188 Q957.2344,155.7969 957.2344,155.0625 Q957.2344,154.5 956.8906,154.0938 Q956.5625,153.6719 955.9375,153.4219 L954.7344,152.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="975.75" y="156.5605">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.5" x2="1183.5" y1="168.4063" y2="168.4063"/><ellipse cx="811.5" cy="179.4063" 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="820.5" y="182.6167">next : urt_topic_t*</text><ellipse cx="811.5" cy="192.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="820.5" y="195.4214">id : urt_topicid_t</text><ellipse cx="811.5" cy="205.0156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="820.5" y="208.2261">lock : urt_osMutex_t</text><ellipse cx="811.5" cy="217.8203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="820.5" y="221.0308">evtSource : urt_osEventSource_t</text><ellipse cx="811.5" cy="230.625" 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="820.5" y="233.8354">numHrtSubscribers : unsigned int</text><ellipse cx="811.5" cy="243.4297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="820.5" y="246.6401">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="811.5" cy="256.2344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="820.5" y="259.4448">hrtReleased : urt_osCondvar_t</text><ellipse cx="811.5" cy="269.0391" 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="820.5" y="272.2495">mandatoryMessage : urt_message_t</text><ellipse cx="811.5" cy="281.8438" 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="820.5" y="285.0542">latestMessage : urt_message_t*</text><ellipse cx="811.5" cy="311.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="170" x="820.5" y="314.6636">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="801.5" x2="860" y1="298.0508" y2="298.0508"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="860" y="301.3589">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1125" x2="1183.5" y1="298.0508" y2="298.0508"/><ellipse cx="811.5" cy="341.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="197" x="820.5" y="344.2729">numDiscardedMessages : uint64_t</text><ellipse cx="811.5" cy="353.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="176" x="820.5" y="357.0776">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="801.5" x2="884" y1="327.6602" y2="327.6602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="884" y="330.9683">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1101" x2="1183.5" y1="327.6602" y2="327.6602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.5" x2="1183.5" y1="363.6719" y2="363.6719"/><ellipse cx="811.5" cy="374.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="358" x="820.5" y="377.8823">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[536025241394544a90bc53fb552f3a08]
12
reverse link urt_message_t to urt_message_t--><path d="M1216.0642,491.6464 C1230.3974,499.7971 1239,511.217 1239,525.9063 C1239,544.3399 1225.4528,557.625 1204.034,565.7617 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1204.034,486.0508,1207.7873,492.2082,1214.9146,491.1118,1211.1613,484.9545,1204.034,486.0508" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1212.2829" y="481.4249">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1211.8281" y="563.8984">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
13
link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M2801.0488,337.5565 C2870.4782,374.8713 2953.218,419.3397 3020.864,455.6961 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3024.314,449.6033,3038.617,465.2374,3017.6863,461.9351,3024.314,449.6033" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
14
link urt_nrtsubscriber_t to urt_message_t--><path d="M2448.108,337.4631 C2379.3604,359.7152 2301.9849,381.5689 2229.5,394.9063 C1788.1168,476.1219 1663.6814,378.1555 1221.5,454.9063 C1217.376,455.6221 1213.2225,456.3828 1209.0475,457.1844 " 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="1204.1369,458.1437,1213.7369,460.3438,1209.0441,457.1849,1212.2029,452.4922,1204.1369,458.1437" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
15
link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M4407.1322,356.9519 C4346.0027,370.8759 4283.1722,384.1181 4223.5,394.9063 C3887.5331,455.6462 3487.1413,496.2563 3283.954,514.6423 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3284.5705,521.615,3264.0246,516.4315,3283.3186,507.6711,3284.5705,521.615" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
16
reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M4782.5,370.0144 C4782.5,415.4315 4782.5,464.5778 4782.5,495.2952 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4782.5,357.0089,4778.5,363.0089,4782.5,369.0089,4786.5,363.0089,4782.5,357.0089" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4774.2063" y="376.7311">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4756.025" y="484.5355">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
17
link urt_srtsubscriber_t to urt_message_t--><path d="M4432.0378,356.9495 C4363.385,372.3858 4291.5632,386.1427 4223.5,394.9063 C3561.7187,480.115 1881.0384,353.7921 1221.5,454.9063 C1217.3627,455.5406 1213.1968,456.226 1209.0104,456.9577 " 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="1204.0869,457.8378,1213.6503,460.1916,1209.0089,456.9579,1212.2426,452.3164,1204.0869,457.8378" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
18
link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M2132.1239,373.4097 C2164.9595,381.1559 2197.7152,388.4394 2229.5,394.9063 C2508.098,451.5886 2838.991,492.2111 3018.8819,512.092 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3019.8785,505.1592,3038.9961,514.2978,3018.3522,519.0758,3019.8785,505.1592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
19
link urt_frtsubscriber_t to urt_message_t--><path d="M1406.7766,373.4835 C1330.9943,400.4543 1252.0987,428.533 1182.9788,453.1327 " 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="1178.0193,454.8978,1187.8395,455.6484,1182.7298,453.2212,1185.157,448.1115,1178.0193,454.8978" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
20
link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M3395.2437,394.9064 C3356.0536,415.9691 3316.9728,436.9731 3281.9486,455.7968 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3284.9546,462.1281,3264.0238,465.4304,3278.3268,449.7963,3284.9546,462.1281" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
21
reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M4199.8399,235.7858 C4214.3539,242.5949 4222.5,250.8018 4222.5,260.4063 C4222.5,272.459 4209.6717,282.3107 4187.5292,289.9614 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4187.5292,230.8512,4191.6102,236.7964,4198.6677,235.3159,4194.5867,229.3707,4187.5292,230.8512" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4195.2077" y="227.3988">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4195.3202" y="287.3402">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
22
link urt_hrtsubscriber_t to urt_message_t--><path d="M3103.4186,392.3959 C3097.4199,393.2676 3091.4455,394.1051 3085.5,394.9063 C2264.051,505.5987 2040.0199,324.306 1221.5,454.9063 C1217.3666,455.5658 1213.2044,456.2745 1209.0214,457.0277 " 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="1204.1017,457.9324,1213.6767,460.2387,1209.0192,457.0281,1212.2299,452.3706,1204.1017,457.9324" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
23
reverse link urt_publisher_t to urt_topic_t--><path d="M778.3249,260.4063 C785.6324,260.4063 792.94,260.4063 800.2475,260.4063 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="765.1714,260.4063,771.1714,264.4063,777.1714,260.4063,771.1714,256.4063,765.1714,260.4063" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="772.9647" y="257.3239">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="784.5814" y="257.1814">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
24
link urt_publisher_t to urt_message_t--><path d="M529.8058,325.0154 C615.9437,363.5813 725.5937,412.6742 814.9361,452.6749 " 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="819.7121,454.8132,813.1324,447.4846,815.1486,452.77,809.8633,454.7862,819.7121,454.8132" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
25
reverse link urt_topic_t to urt_topic_t--><path d="M1196.5439,224.3234 C1210.8061,232.5595 1219.5,244.587 1219.5,260.4063 C1219.5,280.2579 1205.809,294.1384 1184.6039,302.0481 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1184.6039,218.7645,1188.355,224.9232,1195.4826,223.8294,1191.7316,217.6707,1184.6039,218.7645" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1192.2642" y="213.913">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1192.5767" y="300.4498">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
26
reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1130.406,128.2476 C1163.5796,103.9181 1200.6064,82.0674 1239,68.9063 C1335.1205,35.9568 2967.6883,52.7082 3068,68.9063 C3144.3838,81.2405 3224.3368,102.1948 3299.5629,125.8263 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1119.7739,136.226,1126.9738,135.8241,1129.372,129.0235,1122.1721,129.4253,1119.7739,136.226" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1119.2859" y="125.2705">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3254.8697" y="114.6867">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
27
reverse link urt_topic_t to urt_message_t--><path d="M985.2522,397.855 C984.2167,417.4927 983.1885,436.9931 982.2582,454.6344 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="985.9509,384.6054,981.6405,390.3864,985.319,396.5887,989.6294,390.8077,985.9509,384.6054" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="977.3081" y="404.6996">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="974.2333" y="443.6037">1</text><!--MD5=[25a1c01fd1a45519879667c2d8772a97]
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="611px" preserveAspectRatio="none" style="width:5367px;height:611px;" version="1.1" viewBox="0 0 5367 611" width="5367px" zoomAndPan="magnify"><defs><filter height="300%" id="f1vdqrr2j4r1ep" 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="2647" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="225" x="2579" y="37.6611">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
2
cluster subscriber--><rect fill="#FFFFFF" filter="url(#f1vdqrr2j4r1ep)" height="502" style="stroke: #000000; stroke-width: 1.5;" width="4103" x="1253.5" y="98.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3262.5" y="113.9014">subscriber</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
3
class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="3063" y="458.9063"/><ellipse cx="3105.45" cy="474.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3104.9344,475.4688 Q3103.075,474.7656 3102.4188,474 Q3101.7781,473.2188 3101.7781,471.9063 Q3101.7781,470.2188 3102.8563,469.25 Q3103.9344,468.2813 3105.8094,468.2813 Q3106.6688,468.2813 3107.5125,468.4844 Q3108.3719,468.6719 3109.2156,469.0625 L3109.2156,471.4531 Q3108.4344,470.8906 3107.6063,470.6094 Q3106.7938,470.3125 3105.9969,470.3125 Q3105.1219,470.3125 3104.6375,470.6719 Q3104.1688,471.0313 3104.1688,471.6875 Q3104.1688,472.2031 3104.5125,472.5469 Q3104.8563,472.875 3105.95,473.2813 L3107.0125,473.6875 Q3108.4969,474.2344 3109.2,475.1406 Q3109.9188,476.0469 3109.9188,477.4219 Q3109.9188,479.2969 3108.8094,480.2188 Q3107.7,481.1406 3105.45,481.1406 Q3104.5281,481.1406 3103.6063,480.9219 Q3102.6844,480.7031 3101.825,480.2813 L3101.825,477.75 Q3102.7938,478.4375 3103.7156,478.7813 Q3104.6375,479.125 3105.5281,479.125 Q3106.4344,479.125 3106.9344,478.7188 Q3107.4344,478.2969 3107.4344,477.5625 Q3107.4344,477 3107.0906,476.5938 Q3106.7625,476.1719 3106.1375,475.9219 L3104.9344,475.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="3125.55" y="479.0605">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3064" x2="3287" y1="490.9063" y2="490.9063"/><ellipse cx="3074" cy="501.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="3083" y="505.1167">topic : urt_topic_t*</text><ellipse cx="3074" cy="514.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="3083" y="517.9214">evtListener : urt_osEventListener_t</text><ellipse cx="3074" cy="527.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="3083" y="530.7261">lastMessage : urt_message_t*</text><ellipse cx="3074" cy="540.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="3083" y="543.5308">lastMessageTime : urt_osTime_t</text><ellipse cx="3074" cy="569.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="3083" y="573.1401">sumLatencies : uint64_t</text><ellipse cx="3074" cy="582.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="3083" y="585.9448">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3064" x2="3067" y1="556.5273" y2="556.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3067" y="559.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3284" x2="3287" y1="556.5273" y2="556.5273"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
4
class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="4619.5" y="495.4063"/><ellipse cx="4728.75" cy="511.4063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4732.9844,507.1719 L4727.7031,507.1719 L4727.7031,509.8438 L4732.5,509.8438 L4732.5,512 L4727.7031,512 L4727.7031,517.4063 L4725.2656,517.4063 L4725.2656,505.0156 L4732.9844,505.0156 L4732.9844,507.1719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="4749.25" y="515.5605">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4620.5" x2="4992.5" y1="527.4063" y2="527.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4620.5" x2="4992.5" y1="535.4063" y2="535.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="4625.5" y="549.6167">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
5
class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="2271" y="183.4063"/><ellipse cx="2617.75" cy="199.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2617.2344,199.9688 Q2615.375,199.2656 2614.7188,198.5 Q2614.0781,197.7188 2614.0781,196.4063 Q2614.0781,194.7188 2615.1563,193.75 Q2616.2344,192.7813 2618.1094,192.7813 Q2618.9688,192.7813 2619.8125,192.9844 Q2620.6719,193.1719 2621.5156,193.5625 L2621.5156,195.9531 Q2620.7344,195.3906 2619.9063,195.1094 Q2619.0938,194.8125 2618.2969,194.8125 Q2617.4219,194.8125 2616.9375,195.1719 Q2616.4688,195.5313 2616.4688,196.1875 Q2616.4688,196.7031 2616.8125,197.0469 Q2617.1563,197.375 2618.25,197.7813 L2619.3125,198.1875 Q2620.7969,198.7344 2621.5,199.6406 Q2622.2188,200.5469 2622.2188,201.9219 Q2622.2188,203.7969 2621.1094,204.7188 Q2620,205.6406 2617.75,205.6406 Q2616.8281,205.6406 2615.9063,205.4219 Q2614.9844,205.2031 2614.125,204.7813 L2614.125,202.25 Q2615.0938,202.9375 2616.0156,203.2813 Q2616.9375,203.625 2617.8281,203.625 Q2618.7344,203.625 2619.2344,203.2188 Q2619.7344,202.7969 2619.7344,202.0625 Q2619.7344,201.5 2619.3906,201.0938 Q2619.0625,200.6719 2618.4375,200.4219 L2617.2344,199.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2638.25" y="203.5605">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2272" x2="3091" y1="215.4063" y2="215.4063"/><ellipse cx="2282" cy="243.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2291" y="246.4214">minLatency : urt_delay_t</text><ellipse cx="2282" cy="256.0156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2291" y="259.2261">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2272" x2="2573" y1="229.8086" y2="229.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2573" y="233.1167">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2790" x2="3091" y1="229.8086" y2="229.8086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2272" x2="3091" y1="265.8203" y2="265.8203"/><ellipse cx="2282" cy="276.8203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="2291" y="280.0308">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void</text><ellipse cx="2282" cy="289.625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="715" x="2291" y="292.8354">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="2282" cy="302.4297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="2291" y="305.6401">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2282" cy="315.2344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="2291" y="318.4448">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2282" cy="328.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="2291" y="331.2495">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
6
class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="4264.5" y="163.9063"/><ellipse cx="4743.25" cy="179.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4742.7344,180.4688 Q4740.875,179.7656 4740.2188,179 Q4739.5781,178.2188 4739.5781,176.9063 Q4739.5781,175.2188 4740.6563,174.25 Q4741.7344,173.2813 4743.6094,173.2813 Q4744.4688,173.2813 4745.3125,173.4844 Q4746.1719,173.6719 4747.0156,174.0625 L4747.0156,176.4531 Q4746.2344,175.8906 4745.4063,175.6094 Q4744.5938,175.3125 4743.7969,175.3125 Q4742.9219,175.3125 4742.4375,175.6719 Q4741.9688,176.0313 4741.9688,176.6875 Q4741.9688,177.2031 4742.3125,177.5469 Q4742.6563,177.875 4743.75,178.2813 L4744.8125,178.6875 Q4746.2969,179.2344 4747,180.1406 Q4747.7188,181.0469 4747.7188,182.4219 Q4747.7188,184.2969 4746.6094,185.2188 Q4745.5,186.1406 4743.25,186.1406 Q4742.3281,186.1406 4741.4063,185.9219 Q4740.4844,185.7031 4739.625,185.2813 L4739.625,182.75 Q4740.5938,183.4375 4741.5156,183.7813 Q4742.4375,184.125 4743.3281,184.125 Q4744.2344,184.125 4744.7344,183.7188 Q4745.2344,183.2969 4745.2344,182.5625 Q4745.2344,182 4744.8906,181.5938 Q4744.5625,181.1719 4743.9375,180.9219 L4742.7344,180.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4763.75" y="184.0605">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4265.5" x2="5347.5" y1="195.9063" y2="195.9063"/><ellipse cx="4275.5" cy="206.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="229" x="4284.5" y="210.1167">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="4275.5" cy="219.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="4284.5" y="222.9214">cbparams : void*</text><ellipse cx="4275.5" cy="249.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="4284.5" y="252.5308">minLatency : urt_delay_t</text><ellipse cx="4275.5" cy="262.125" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="4284.5" y="265.3354">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4265.5" x2="4698" y1="235.918" y2="235.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4698" y="239.2261">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4915" x2="5347.5" y1="235.918" y2="235.918"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4265.5" x2="5347.5" y1="271.9297" y2="271.9297"/><ellipse cx="4275.5" cy="282.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="4284.5" y="286.1401">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void</text><ellipse cx="4275.5" cy="295.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="4284.5" y="298.9448">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="4275.5" cy="308.5391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="4284.5" y="311.7495">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4275.5" cy="321.3438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="4284.5" y="324.5542">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4275.5" cy="334.1484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="4284.5" y="337.3589">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4275.5" cy="346.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="4284.5" y="350.1636">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
7
class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="1261.5" y="147.4063"/><ellipse cx="1686.75" cy="163.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1686.2344,163.9688 Q1684.375,163.2656 1683.7188,162.5 Q1683.0781,161.7188 1683.0781,160.4063 Q1683.0781,158.7188 1684.1563,157.75 Q1685.2344,156.7813 1687.1094,156.7813 Q1687.9688,156.7813 1688.8125,156.9844 Q1689.6719,157.1719 1690.5156,157.5625 L1690.5156,159.9531 Q1689.7344,159.3906 1688.9063,159.1094 Q1688.0938,158.8125 1687.2969,158.8125 Q1686.4219,158.8125 1685.9375,159.1719 Q1685.4688,159.5313 1685.4688,160.1875 Q1685.4688,160.7031 1685.8125,161.0469 Q1686.1563,161.375 1687.25,161.7813 L1688.3125,162.1875 Q1689.7969,162.7344 1690.5,163.6406 Q1691.2188,164.5469 1691.2188,165.9219 Q1691.2188,167.7969 1690.1094,168.7188 Q1689,169.6406 1686.75,169.6406 Q1685.8281,169.6406 1684.9063,169.4219 Q1683.9844,169.2031 1683.125,168.7813 L1683.125,166.25 Q1684.0938,166.9375 1685.0156,167.2813 Q1685.9375,167.625 1686.8281,167.625 Q1687.7344,167.625 1688.2344,167.2188 Q1688.7344,166.7969 1688.7344,166.0625 Q1688.7344,165.5 1688.3906,165.0938 Q1688.0625,164.6719 1687.4375,164.4219 L1686.2344,163.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="1707.25" y="167.5605">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1262.5" x2="2234.5" y1="179.4063" y2="179.4063"/><ellipse cx="1272.5" cy="207.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="1281.5" y="210.4214">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1262.5" x2="1603" y1="193.8086" y2="193.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="1603" y="197.1167">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1894" x2="2234.5" y1="193.8086" y2="193.8086"/><ellipse cx="1272.5" cy="236.8203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="1281.5" y="240.0308">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1262.5" x2="1613" y1="223.418" y2="223.418"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="1613" y="226.7261">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1884" x2="2234.5" y1="223.418" y2="223.418"/><ellipse cx="1272.5" cy="266.4297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1281.5" y="269.6401">minLatency : urt_delay_t</text><ellipse cx="1272.5" cy="279.2344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1281.5" y="282.4448">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1262.5" x2="1494.5" y1="253.0273" y2="253.0273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="1494.5" y="256.3354">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="2002.5" x2="2234.5" y1="253.0273" y2="253.0273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1262.5" x2="2234.5" y1="289.0391" y2="289.0391"/><ellipse cx="1272.5" cy="300.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="342" x="1281.5" y="303.2495">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void</text><ellipse cx="1272.5" cy="312.8438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="948" x="1281.5" y="316.0542">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="1272.5" cy="325.6484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="780" x="1281.5" y="328.8589">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1272.5" cy="338.4531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="790" x="1281.5" y="341.6636">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1272.5" cy="351.2578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="540" x="1281.5" y="354.4683">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="1272.5" cy="364.0625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="441" x="1281.5" y="367.2729">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
8
class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="3127.5" y="125.9063"/><ellipse cx="3605.75" cy="141.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3605.2344,142.4688 Q3603.375,141.7656 3602.7188,141 Q3602.0781,140.2188 3602.0781,138.9063 Q3602.0781,137.2188 3603.1563,136.25 Q3604.2344,135.2813 3606.1094,135.2813 Q3606.9688,135.2813 3607.8125,135.4844 Q3608.6719,135.6719 3609.5156,136.0625 L3609.5156,138.4531 Q3608.7344,137.8906 3607.9063,137.6094 Q3607.0938,137.3125 3606.2969,137.3125 Q3605.4219,137.3125 3604.9375,137.6719 Q3604.4688,138.0313 3604.4688,138.6875 Q3604.4688,139.2031 3604.8125,139.5469 Q3605.1563,139.875 3606.25,140.2813 L3607.3125,140.6875 Q3608.7969,141.2344 3609.5,142.1406 Q3610.2188,143.0469 3610.2188,144.4219 Q3610.2188,146.2969 3609.1094,147.2188 Q3608,148.1406 3605.75,148.1406 Q3604.8281,148.1406 3603.9063,147.9219 Q3602.9844,147.7031 3602.125,147.2813 L3602.125,144.75 Q3603.0938,145.4375 3604.0156,145.7813 Q3604.9375,146.125 3605.8281,146.125 Q3606.7344,146.125 3607.2344,145.7188 Q3607.7344,145.2969 3607.7344,144.5625 Q3607.7344,144 3607.3906,143.5938 Q3607.0625,143.1719 3606.4375,142.9219 L3605.2344,142.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="3626.25" y="146.0605">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3128.5" x2="4210.5" y1="157.9063" y2="157.9063"/><ellipse cx="3138.5" cy="168.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="3147.5" y="172.1167">next : urt_hrtsubscriber_t*</text><ellipse cx="3138.5" cy="198.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="3147.5" y="201.7261">deadlineOffset : urt_delay_t</text><ellipse cx="3138.5" cy="211.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="3147.5" y="214.5308">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3128.5" x2="3524" y1="185.1133" y2="185.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3524" y="188.4214">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3815" x2="4210.5" y1="185.1133" y2="185.1133"/><ellipse cx="3138.5" cy="240.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="3147.5" y="244.1401">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3128.5" x2="3534" y1="227.5273" y2="227.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3534" y="230.8354">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3805" x2="4210.5" y1="227.5273" y2="227.5273"/><ellipse cx="3138.5" cy="270.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="3147.5" y="273.7495">minLatency : urt_delay_t</text><ellipse cx="3138.5" cy="283.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="3147.5" y="286.5542">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3128.5" x2="3417.5" y1="257.1367" y2="257.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="3417.5" y="260.4448">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="3921.5" x2="4210.5" y1="257.1367" y2="257.1367"/><ellipse cx="3138.5" cy="312.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="150" x="3147.5" y="316.1636">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3128.5" x2="3537" y1="299.5508" y2="299.5508"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="3537" y="302.8589">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3802" x2="4210.5" y1="299.5508" y2="299.5508"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3128.5" x2="4210.5" y1="322.7578" y2="322.7578"/><ellipse cx="3138.5" cy="333.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="3147.5" y="336.9683">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void</text><ellipse cx="3138.5" cy="346.5625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="3147.5" y="349.7729">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="3138.5" cy="359.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="3147.5" y="362.5776">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3138.5" cy="372.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="795" x="3147.5" y="375.3823">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3138.5" cy="384.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="446" x="3147.5" y="388.187">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
9
class urt_message_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="406" x="821.5" y="454.9063"/><ellipse cx="974.25" cy="470.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M973.7344,471.4688 Q971.875,470.7656 971.2188,470 Q970.5781,469.2188 970.5781,467.9063 Q970.5781,466.2188 971.6563,465.25 Q972.7344,464.2813 974.6094,464.2813 Q975.4688,464.2813 976.3125,464.4844 Q977.1719,464.6719 978.0156,465.0625 L978.0156,467.4531 Q977.2344,466.8906 976.4063,466.6094 Q975.5938,466.3125 974.7969,466.3125 Q973.9219,466.3125 973.4375,466.6719 Q972.9688,467.0313 972.9688,467.6875 Q972.9688,468.2031 973.3125,468.5469 Q973.6563,468.875 974.75,469.2813 L975.8125,469.6875 Q977.2969,470.2344 978,471.1406 Q978.7188,472.0469 978.7188,473.4219 Q978.7188,475.2969 977.6094,476.2188 Q976.5,477.1406 974.25,477.1406 Q973.3281,477.1406 972.4063,476.9219 Q971.4844,476.7031 970.625,476.2813 L970.625,473.75 Q971.5938,474.4375 972.5156,474.7813 Q973.4375,475.125 974.3281,475.125 Q975.2344,475.125 975.7344,474.7188 Q976.2344,474.2969 976.2344,473.5625 Q976.2344,473 975.8906,472.5938 Q975.5625,472.1719 974.9375,471.9219 L973.7344,471.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="994.75" y="475.0605">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="822.5" x2="1226.5" y1="486.9063" y2="486.9063"/><ellipse cx="832.5" cy="497.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="841.5" y="501.1167">next : urt_message_t*</text><ellipse cx="832.5" cy="510.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="841.5" y="513.9214">payload : void*</text><ellipse cx="832.5" cy="523.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="841.5" y="526.7261">originTime : urt_osTime_t</text><ellipse cx="832.5" cy="536.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="841.5" y="539.5308">numHrtConsumersLeft : unsigned int</text><ellipse cx="832.5" cy="565.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="841.5" y="569.1401">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="822.5" x2="916" y1="552.5273" y2="552.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="916" y="555.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1133" x2="1226.5" y1="552.5273" y2="552.5273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="822.5" x2="1226.5" y1="575.7344" y2="575.7344"/><ellipse cx="832.5" cy="586.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="841.5" y="589.9448">urtMessageInit (message : urt_message_t*, payload : void*) : void</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
10
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f1vdqrr2j4r1ep)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="783" x="6" y="195.9063"/><ellipse cx="346.75" cy="211.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M346.2344,212.4688 Q344.375,211.7656 343.7188,211 Q343.0781,210.2188 343.0781,208.9063 Q343.0781,207.2188 344.1563,206.25 Q345.2344,205.2813 347.1094,205.2813 Q347.9688,205.2813 348.8125,205.4844 Q349.6719,205.6719 350.5156,206.0625 L350.5156,208.4531 Q349.7344,207.8906 348.9063,207.6094 Q348.0938,207.3125 347.2969,207.3125 Q346.4219,207.3125 345.9375,207.6719 Q345.4688,208.0313 345.4688,208.6875 Q345.4688,209.2031 345.8125,209.5469 Q346.1563,209.875 347.25,210.2813 L348.3125,210.6875 Q349.7969,211.2344 350.5,212.1406 Q351.2188,213.0469 351.2188,214.4219 Q351.2188,216.2969 350.1094,217.2188 Q349,218.1406 346.75,218.1406 Q345.8281,218.1406 344.9063,217.9219 Q343.9844,217.7031 343.125,217.2813 L343.125,214.75 Q344.0938,215.4375 345.0156,215.7813 Q345.9375,216.125 346.8281,216.125 Q347.7344,216.125 348.2344,215.7188 Q348.7344,215.2969 348.7344,214.5625 Q348.7344,214 348.3906,213.5938 Q348.0625,213.1719 347.4375,212.9219 L346.2344,212.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="367.25" y="216.0605">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="788" y1="227.9063" y2="227.9063"/><ellipse cx="17" cy="238.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="26" y="242.1167">topic : urt_topic_t*</text><ellipse cx="17" cy="268.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="26" y="271.7261">publishAttempts : uint64_t</text><ellipse cx="17" cy="281.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="26" y="284.5308">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="289" y1="255.1133" y2="255.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="289" y="258.4214">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="506" x2="788" y1="255.1133" y2="255.1133"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="788" y1="291.125" y2="291.125"/><ellipse cx="17" cy="302.125" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="572" x="26" y="305.3354">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void</text><ellipse cx="17" cy="314.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="757" x="26" y="318.1401">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : 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(#f1vdqrr2j4r1ep)" height="260.875" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="824.5" y="129.9063"/><ellipse cx="979.25" cy="145.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M978.7344,146.4688 Q976.875,145.7656 976.2188,145 Q975.5781,144.2188 975.5781,142.9063 Q975.5781,141.2188 976.6563,140.25 Q977.7344,139.2813 979.6094,139.2813 Q980.4688,139.2813 981.3125,139.4844 Q982.1719,139.6719 983.0156,140.0625 L983.0156,142.4531 Q982.2344,141.8906 981.4063,141.6094 Q980.5938,141.3125 979.7969,141.3125 Q978.9219,141.3125 978.4375,141.6719 Q977.9688,142.0313 977.9688,142.6875 Q977.9688,143.2031 978.3125,143.5469 Q978.6563,143.875 979.75,144.2813 L980.8125,144.6875 Q982.2969,145.2344 983,146.1406 Q983.7188,147.0469 983.7188,148.4219 Q983.7188,150.2969 982.6094,151.2188 Q981.5,152.1406 979.25,152.1406 Q978.3281,152.1406 977.4063,151.9219 Q976.4844,151.7031 975.625,151.2813 L975.625,148.75 Q976.5938,149.4375 977.5156,149.7813 Q978.4375,150.125 979.3281,150.125 Q980.2344,150.125 980.7344,149.7188 Q981.2344,149.2969 981.2344,148.5625 Q981.2344,148 980.8906,147.5938 Q980.5625,147.1719 979.9375,146.9219 L978.7344,146.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="999.75" y="150.0605">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="825.5" x2="1207.5" y1="161.9063" y2="161.9063"/><ellipse cx="835.5" cy="172.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="844.5" y="176.1167">next : urt_topic_t*</text><ellipse cx="835.5" cy="185.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="844.5" y="188.9214">id : urt_topicid_t</text><ellipse cx="835.5" cy="198.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="844.5" y="201.7261">lock : urt_osMutex_t</text><ellipse cx="835.5" cy="211.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="844.5" y="214.5308">evtSource : urt_osEventSource_t</text><ellipse cx="835.5" cy="224.125" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="844.5" y="227.3354">numHrtSubscribers : unsigned int</text><ellipse cx="835.5" cy="236.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="844.5" y="240.1401">hrtReleased : urt_osCondvar_t</text><ellipse cx="835.5" cy="249.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="844.5" y="252.9448">mandatoryMessage : urt_message_t</text><ellipse cx="835.5" cy="262.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="844.5" y="265.7495">latestMessage : urt_message_t*</text><ellipse cx="835.5" cy="292.1484" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="844.5" y="295.3589">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="835.5" cy="304.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="170" x="844.5" y="308.1636">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="825.5" x2="884" y1="278.7461" y2="278.7461"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="884" y="282.0542">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1149" x2="1207.5" y1="278.7461" y2="278.7461"/><ellipse cx="835.5" cy="334.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="195" x="844.5" y="337.7729">numMessagesPublished : uint64_t</text><ellipse cx="835.5" cy="347.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="197" x="844.5" y="350.5776">numMessagesDiscarded : uint64_t</text><ellipse cx="835.5" cy="360.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="176" x="844.5" y="363.3823">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="825.5" x2="908" y1="321.1602" y2="321.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="908" y="324.4683">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1125" x2="1207.5" y1="321.1602" y2="321.1602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825.5" x2="1207.5" y1="369.9766" y2="369.9766"/><ellipse cx="835.5" cy="380.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="358" x="844.5" y="384.187">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[536025241394544a90bc53fb552f3a08]
12
reverse link urt_message_t to urt_message_t--><path d="M1239.5848,490.4729 C1253.8521,498.6869 1262.5,510.498 1262.5,525.9063 C1262.5,545.2422 1248.8815,558.9133 1227.6293,566.9196 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1227.6293,484.893,1231.3745,491.0552,1238.5032,489.9681,1234.758,483.8059,1227.6293,484.893" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1235.7203" y="480.0746">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1235.3605" y="565.1998">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
13
link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M2825.0488,337.5565 C2894.4782,374.8713 2977.218,419.3397 3044.864,455.6961 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3048.314,449.6033,3062.617,465.2374,3041.6863,461.9351,3048.314,449.6033" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
14
link urt_nrtsubscriber_t to urt_message_t--><path d="M2472.108,337.4631 C2403.3604,359.7152 2325.9849,381.5689 2253.5,394.9063 C1812.1168,476.1219 1686.6222,372.285 1245.5,454.9063 C1241.2295,455.7062 1236.9267,456.5646 1232.6019,457.4752 " 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="1227.5155,458.5678,1237.1549,460.5883,1232.404,457.5176,1235.4746,452.7667,1227.5155,458.5678" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
15
link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M4431.1322,356.9519 C4370.0027,370.8759 4307.1722,384.1181 4247.5,394.9063 C3911.5331,455.6462 3511.1413,496.2563 3307.954,514.6423 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3308.5705,521.615,3288.0246,516.4315,3307.3186,507.6711,3308.5705,521.615" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
16
reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M4806.5,370.0144 C4806.5,415.4315 4806.5,464.5778 4806.5,495.2952 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4806.5,357.0089,4802.5,363.0089,4806.5,369.0089,4810.5,363.0089,4806.5,357.0089" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4798.2063" y="376.7311">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4780.025" y="484.5355">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
17
link urt_srtsubscriber_t to urt_message_t--><path d="M4456.0378,356.9495 C4387.385,372.3858 4315.5632,386.1427 4247.5,394.9063 C3585.7187,480.115 1903.6362,345.0348 1245.5,454.9063 C1241.2859,455.6097 1237.0419,456.3768 1232.7776,457.2007 " 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="1227.7629,458.194,1237.3685,460.3692,1232.6676,457.2225,1235.8143,452.5216,1227.7629,458.194" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
18
link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M2156.1239,373.4097 C2188.9595,381.1559 2221.7152,388.4394 2253.5,394.9063 C2532.098,451.5886 2862.991,492.2111 3042.8819,512.092 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3043.8785,505.1592,3062.9961,514.2978,3042.3522,519.0758,3043.8785,505.1592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
19
link urt_frtsubscriber_t to urt_message_t--><path d="M1440.1465,373.4835 C1366.599,400.4543 1290.0301,428.533 1222.9486,453.1327 " 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="1218.1353,454.8978,1227.9622,455.5544,1222.8296,453.1762,1225.2078,448.0436,1218.1353,454.8978" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
20
link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M3419.2437,394.9064 C3380.0536,415.9691 3340.9728,436.9731 3305.9486,455.7968 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3308.9546,462.1281,3288.0238,465.4304,3302.3268,449.7963,3308.9546,462.1281" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
21
reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M4223.8399,235.7858 C4238.3539,242.5949 4246.5,250.8018 4246.5,260.4063 C4246.5,272.459 4233.6717,282.3107 4211.5292,289.9614 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4211.5292,230.8512,4215.6102,236.7964,4222.6677,235.3159,4218.5867,229.3707,4211.5292,230.8512" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4219.2077" y="227.3988">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4219.3202" y="287.3402">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
22
link urt_hrtsubscriber_t to urt_message_t--><path d="M3127.4186,392.3959 C3121.4199,393.2676 3115.4455,394.1051 3109.5,394.9063 C2288.051,505.5987 2062.2118,313.4382 1245.5,454.9063 C1241.2903,455.6355 1237.0503,456.426 1232.7896,457.2716 " 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="1227.7791,458.2892,1237.3952,460.4179,1232.6791,457.294,1235.8029,452.5779,1227.7791,458.2892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
23
reverse link urt_publisher_t to urt_topic_t--><path d="M802.3622,260.4063 C809.6684,260.4063 816.9747,260.4063 824.2809,260.4063 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="789.2109,260.4063,795.2109,264.4063,801.2109,260.4063,795.2109,256.4063,789.2109,260.4063" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="797.2488" y="257.3239">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="808.6161" y="257.1852">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
24
link urt_publisher_t to urt_message_t--><path d="M550.0797,325.0154 C641.2468,363.6197 757.3237,412.7718 851.8397,452.7942 " 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="856.6079,454.8132,849.8801,447.6203,852.0037,452.8634,846.7606,454.987,856.6079,454.8132" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
25
reverse link urt_topic_t to urt_topic_t--><path d="M1220.5439,224.3234 C1234.8061,232.5595 1243.5,244.587 1243.5,260.4063 C1243.5,280.2579 1229.809,294.1384 1208.6039,302.0481 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1208.6039,218.7645,1212.355,224.9232,1219.4826,223.8294,1215.7316,217.6707,1208.6039,218.7645" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1216.2642" y="213.9168">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1216.5767" y="300.4536">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
26
reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1163.0785,122.0086 C1193.9801,100.2117 1227.9195,80.9316 1263,68.9063 C1359.1205,35.9568 2991.6883,52.7082 3092,68.9063 C3168.3838,81.2405 3248.3368,102.1948 3323.5629,125.8263 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1152.278,129.8155,1159.4839,129.5424,1162.0033,122.7857,1154.7973,123.0589,1152.278,129.8155" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1151.8964" y="118.9065">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3278.8697" y="114.6867">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
27
reverse link urt_topic_t to urt_message_t--><path d="M1020.8347,404.2655 C1021.3606,421.7169 1021.8787,438.9104 1022.3523,454.6283 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1020.4414,391.2118,1016.624,397.3296,1020.803,403.2063,1024.6204,397.0885,1020.4414,391.2118" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1012.4382" y="410.8493">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1013.7183" y="443.5969">1</text><!--MD5=[af49c93758316ac56787a531006d9e3f]
28 28
@startuml
29 29

  
30 30
title **µRtWare**\nPublish-Subscribe System
......
49 49
  .. URT_CFG_PUBSUB_PROFILING == true ..
50 50
  + {field} numConsumersLeft : unsigned int
51 51
  __
52
  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
52
  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : void
53 53
}
54 54

  
55 55
  package "subscriber" <<Rectangle>> {
......
72 72
    + {field} minLatency : urt_delay_t
73 73
    + {field} maxLatency : urt_delay_t
74 74
    __
75
    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t
75
    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void
76 76
    + {method} urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
77 77
    + {method} urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
78 78
    + {method} urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
......
86 86
    + {field} minLatency : urt_delay_t
87 87
    + {field} maxLatency : urt_delay_t
88 88
    __
89
    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t
89
    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void
90 90
    + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
91 91
    + {method} urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
92 92
    + {method} urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
......
103 103
    + {field} minLatency : urt_delay_t
104 104
    + {field} maxLatency : urt_delay_t
105 105
    __
106
    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t
106
    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void
107 107
    + {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
108 108
    + {method} urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
109 109
    + {method} urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
......
124 124
    .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
125 125
    + {field} expectedRate : urt_delay_t
126 126
    __
127
    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t
127
    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void
128 128
    + {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
129 129
    + {method} urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
130 130
    + {method} urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
......
138 138
  + {field} publishAttempts : uint64_t
139 139
  + {field} publishFails : uint64_t
140 140
  __
141
  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
142
  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
141
  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void
142
  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
143 143
}
144 144

  
145 145
  class urt_topic_t <<S,BFAFFF>> {
......
148 148
  + {field} lock : urt_osMutex_t
149 149
  + {field} evtSource : urt_osEventSource_t
150 150
  + {field} numHrtSubscribers : unsigned int
151
  + {field} hrtSubscribers : urt_hrtsubscriber_t*
152 151
  + {field} hrtReleased : urt_osCondvar_t
153 152
  + {field} mandatoryMessage : urt_message_t
154 153
  + {field} latestMessage : urt_message_t*
155 154
  .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
155
  + {field} hrtSubscribers : urt_hrtsubscriber_t*
156 156
  + {field} qosRateTimer : urt_osTimer_t
157 157
  .. URT_CFG_PUBSUB_PROFILING == true ..
158
  + {field} numDiscardedMessages : uint64_t
158
  + {field} numMessagesPublished : uint64_t
159
  + {field} numMessagesDiscarded : uint64_t
159 160
  + {field} numSubscribers : unsigned int
160 161
  __
161 162
  + {method} urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t

Also available in: Unified diff