Revision 2d315870 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: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]
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="797px" preserveAspectRatio="none" style="width:5337px;height:797px;" version="1.1" viewBox="0 0 5337 797" width="5337px" zoomAndPan="magnify"><defs><filter height="300%" id="fb4h1to9ntmzd" 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="2627.5" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="225" x="2559.5" y="37.6611">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
2
cluster subscriber--><rect fill="#FFFFFF" filter="url(#fb4h1to9ntmzd)" height="498" style="stroke: #000000; stroke-width: 1.5;" width="4063" x="1253.5" y="94.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3242.5" y="109.9014">subscriber</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
3
class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="2680" y="450.9063"/><ellipse cx="2722.45" cy="466.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2721.9344,467.4688 Q2720.075,466.7656 2719.4188,466 Q2718.7781,465.2188 2718.7781,463.9063 Q2718.7781,462.2188 2719.8563,461.25 Q2720.9344,460.2813 2722.8094,460.2813 Q2723.6688,460.2813 2724.5125,460.4844 Q2725.3719,460.6719 2726.2156,461.0625 L2726.2156,463.4531 Q2725.4344,462.8906 2724.6063,462.6094 Q2723.7938,462.3125 2722.9969,462.3125 Q2722.1219,462.3125 2721.6375,462.6719 Q2721.1688,463.0313 2721.1688,463.6875 Q2721.1688,464.2031 2721.5125,464.5469 Q2721.8563,464.875 2722.95,465.2813 L2724.0125,465.6875 Q2725.4969,466.2344 2726.2,467.1406 Q2726.9188,468.0469 2726.9188,469.4219 Q2726.9188,471.2969 2725.8094,472.2188 Q2724.7,473.1406 2722.45,473.1406 Q2721.5281,473.1406 2720.6063,472.9219 Q2719.6844,472.7031 2718.825,472.2813 L2718.825,469.75 Q2719.7938,470.4375 2720.7156,470.7813 Q2721.6375,471.125 2722.5281,471.125 Q2723.4344,471.125 2723.9344,470.7188 Q2724.4344,470.2969 2724.4344,469.5625 Q2724.4344,469 2724.0906,468.5938 Q2723.7625,468.1719 2723.1375,467.9219 L2721.9344,467.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="2742.55" y="471.0605">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2681" x2="2904" y1="482.9063" y2="482.9063"/><ellipse cx="2691" cy="493.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="2700" y="497.1167">topic : urt_topic_t*</text><ellipse cx="2691" cy="506.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="2700" y="509.9214">evtListener : urt_osEventListener_t</text><ellipse cx="2691" cy="519.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="2700" y="522.7261">lastMessage : urt_message_t*</text><ellipse cx="2691" cy="532.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="2700" y="535.5308">lastMessageTime : urt_osTime_t</text><ellipse cx="2691" cy="561.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="2700" y="565.1401">sumLatencies : uint64_t</text><ellipse cx="2691" cy="574.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="2700" y="577.9448">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2681" x2="2684" y1="548.5273" y2="548.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2684" y="551.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2901" x2="2904" y1="548.5273" y2="548.5273"/><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
4
class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="3350" y="179.4063"/><ellipse cx="3696.75" cy="195.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3696.2344,195.9688 Q3694.375,195.2656 3693.7188,194.5 Q3693.0781,193.7188 3693.0781,192.4063 Q3693.0781,190.7188 3694.1563,189.75 Q3695.2344,188.7813 3697.1094,188.7813 Q3697.9688,188.7813 3698.8125,188.9844 Q3699.6719,189.1719 3700.5156,189.5625 L3700.5156,191.9531 Q3699.7344,191.3906 3698.9063,191.1094 Q3698.0938,190.8125 3697.2969,190.8125 Q3696.4219,190.8125 3695.9375,191.1719 Q3695.4688,191.5313 3695.4688,192.1875 Q3695.4688,192.7031 3695.8125,193.0469 Q3696.1563,193.375 3697.25,193.7813 L3698.3125,194.1875 Q3699.7969,194.7344 3700.5,195.6406 Q3701.2188,196.5469 3701.2188,197.9219 Q3701.2188,199.7969 3700.1094,200.7188 Q3699,201.6406 3696.75,201.6406 Q3695.8281,201.6406 3694.9063,201.4219 Q3693.9844,201.2031 3693.125,200.7813 L3693.125,198.25 Q3694.0938,198.9375 3695.0156,199.2813 Q3695.9375,199.625 3696.8281,199.625 Q3697.7344,199.625 3698.2344,199.2188 Q3698.7344,198.7969 3698.7344,198.0625 Q3698.7344,197.5 3698.3906,197.0938 Q3698.0625,196.6719 3697.4375,196.4219 L3696.2344,195.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="3717.25" y="199.5605">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3351" x2="4170" y1="211.4063" y2="211.4063"/><ellipse cx="3361" cy="239.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="3370" y="242.4214">minLatency : urt_delay_t</text><ellipse cx="3361" cy="252.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="3370" y="255.2261">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3351" x2="3652" y1="225.8086" y2="225.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3652" y="229.1167">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3869" x2="4170" y1="225.8086" y2="225.8086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3351" x2="4170" y1="261.8203" y2="261.8203"/><ellipse cx="3361" cy="272.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="3370" y="276.0308">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void</text><ellipse cx="3361" cy="285.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="3370" y="288.8354">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="3361" cy="298.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="3370" y="301.6401">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3361" cy="311.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="3370" y="314.4448">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3361" cy="324.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="3370" y="327.2495">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
5
class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1044" x="2270.5" y="159.9063"/><ellipse cx="2729.25" cy="175.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2728.7344,176.4688 Q2726.875,175.7656 2726.2188,175 Q2725.5781,174.2188 2725.5781,172.9063 Q2725.5781,171.2188 2726.6563,170.25 Q2727.7344,169.2813 2729.6094,169.2813 Q2730.4688,169.2813 2731.3125,169.4844 Q2732.1719,169.6719 2733.0156,170.0625 L2733.0156,172.4531 Q2732.2344,171.8906 2731.4063,171.6094 Q2730.5938,171.3125 2729.7969,171.3125 Q2728.9219,171.3125 2728.4375,171.6719 Q2727.9688,172.0313 2727.9688,172.6875 Q2727.9688,173.2031 2728.3125,173.5469 Q2728.6563,173.875 2729.75,174.2813 L2730.8125,174.6875 Q2732.2969,175.2344 2733,176.1406 Q2733.7188,177.0469 2733.7188,178.4219 Q2733.7188,180.2969 2732.6094,181.2188 Q2731.5,182.1406 2729.25,182.1406 Q2728.3281,182.1406 2727.4063,181.9219 Q2726.4844,181.7031 2725.625,181.2813 L2725.625,178.75 Q2726.5938,179.4375 2727.5156,179.7813 Q2728.4375,180.125 2729.3281,180.125 Q2730.2344,180.125 2730.7344,179.7188 Q2731.2344,179.2969 2731.2344,178.5625 Q2731.2344,178 2730.8906,177.5938 Q2730.5625,177.1719 2729.9375,176.9219 L2728.7344,176.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="2749.75" y="180.0605">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2271.5" x2="3313.5" y1="191.9063" y2="191.9063"/><ellipse cx="2281.5" cy="202.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="189" x="2290.5" y="206.1167">usefulnesscb : urt_usefulness_f*</text><ellipse cx="2281.5" cy="215.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="2290.5" y="218.9214">cbparams : void*</text><ellipse cx="2281.5" cy="245.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="2290.5" y="248.5308">minLatency : urt_delay_t</text><ellipse cx="2281.5" cy="258.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="2290.5" y="261.3354">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2271.5" x2="2684" y1="231.918" y2="231.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2684" y="235.2261">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2901" x2="3313.5" y1="231.918" y2="231.918"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2271.5" x2="3313.5" y1="267.9297" y2="267.9297"/><ellipse cx="2281.5" cy="278.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="2290.5" y="282.1401">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void</text><ellipse cx="2281.5" cy="291.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="1018" x="2290.5" y="294.9448">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_usefulness_f*, cbparams : void*) : urt_status_t</text><ellipse cx="2281.5" cy="304.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="2290.5" y="307.7495">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2281.5" cy="317.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="2290.5" y="320.5542">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2281.5" cy="330.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="2290.5" y="333.3589">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="2281.5" cy="342.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="2290.5" y="346.1636">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
6
class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="1261.5" y="143.4063"/><ellipse cx="1686.75" cy="159.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1686.2344,159.9688 Q1684.375,159.2656 1683.7188,158.5 Q1683.0781,157.7188 1683.0781,156.4063 Q1683.0781,154.7188 1684.1563,153.75 Q1685.2344,152.7813 1687.1094,152.7813 Q1687.9688,152.7813 1688.8125,152.9844 Q1689.6719,153.1719 1690.5156,153.5625 L1690.5156,155.9531 Q1689.7344,155.3906 1688.9063,155.1094 Q1688.0938,154.8125 1687.2969,154.8125 Q1686.4219,154.8125 1685.9375,155.1719 Q1685.4688,155.5313 1685.4688,156.1875 Q1685.4688,156.7031 1685.8125,157.0469 Q1686.1563,157.375 1687.25,157.7813 L1688.3125,158.1875 Q1689.7969,158.7344 1690.5,159.6406 Q1691.2188,160.5469 1691.2188,161.9219 Q1691.2188,163.7969 1690.1094,164.7188 Q1689,165.6406 1686.75,165.6406 Q1685.8281,165.6406 1684.9063,165.4219 Q1683.9844,165.2031 1683.125,164.7813 L1683.125,162.25 Q1684.0938,162.9375 1685.0156,163.2813 Q1685.9375,163.625 1686.8281,163.625 Q1687.7344,163.625 1688.2344,163.2188 Q1688.7344,162.7969 1688.7344,162.0625 Q1688.7344,161.5 1688.3906,161.0938 Q1688.0625,160.6719 1687.4375,160.4219 L1686.2344,159.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="1707.25" y="163.5605">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1262.5" x2="2234.5" y1="175.4063" y2="175.4063"/><ellipse cx="1272.5" cy="203.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="206.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="189.8086" y2="189.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="1603" y="193.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="189.8086" y2="189.8086"/><ellipse cx="1272.5" cy="232.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="236.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="219.418" y2="219.418"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="1613" y="222.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="219.418" y2="219.418"/><ellipse cx="1272.5" cy="262.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="265.6401">minLatency : urt_delay_t</text><ellipse cx="1272.5" cy="275.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="278.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="249.0273" y2="249.0273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="1494.5" y="252.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="249.0273" y2="249.0273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1262.5" x2="2234.5" y1="285.0391" y2="285.0391"/><ellipse cx="1272.5" cy="296.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="299.2495">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void</text><ellipse cx="1272.5" cy="308.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="312.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="321.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="324.8589">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1272.5" cy="334.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="337.6636">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1272.5" cy="347.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="350.4683">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="1272.5" cy="360.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="363.2729">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
7
class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="4206.5" y="121.9063"/><ellipse cx="4684.75" cy="137.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4684.2344,138.4688 Q4682.375,137.7656 4681.7188,137 Q4681.0781,136.2188 4681.0781,134.9063 Q4681.0781,133.2188 4682.1563,132.25 Q4683.2344,131.2813 4685.1094,131.2813 Q4685.9688,131.2813 4686.8125,131.4844 Q4687.6719,131.6719 4688.5156,132.0625 L4688.5156,134.4531 Q4687.7344,133.8906 4686.9063,133.6094 Q4686.0938,133.3125 4685.2969,133.3125 Q4684.4219,133.3125 4683.9375,133.6719 Q4683.4688,134.0313 4683.4688,134.6875 Q4683.4688,135.2031 4683.8125,135.5469 Q4684.1563,135.875 4685.25,136.2813 L4686.3125,136.6875 Q4687.7969,137.2344 4688.5,138.1406 Q4689.2188,139.0469 4689.2188,140.4219 Q4689.2188,142.2969 4688.1094,143.2188 Q4687,144.1406 4684.75,144.1406 Q4683.8281,144.1406 4682.9063,143.9219 Q4681.9844,143.7031 4681.125,143.2813 L4681.125,140.75 Q4682.0938,141.4375 4683.0156,141.7813 Q4683.9375,142.125 4684.8281,142.125 Q4685.7344,142.125 4686.2344,141.7188 Q4686.7344,141.2969 4686.7344,140.5625 Q4686.7344,140 4686.3906,139.5938 Q4686.0625,139.1719 4685.4375,138.9219 L4684.2344,138.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="4705.25" y="142.0605">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4207.5" x2="5289.5" y1="153.9063" y2="153.9063"/><ellipse cx="4217.5" cy="164.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="4226.5" y="168.1167">next : urt_hrtsubscriber_t*</text><ellipse cx="4217.5" cy="194.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="4226.5" y="197.7261">deadlineOffset : urt_delay_t</text><ellipse cx="4217.5" cy="207.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="4226.5" y="210.5308">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4207.5" x2="4603" y1="181.1133" y2="181.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="4603" y="184.4214">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4894" x2="5289.5" y1="181.1133" y2="181.1133"/><ellipse cx="4217.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="124" x="4226.5" y="240.1401">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4207.5" x2="4613" y1="223.5273" y2="223.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="4613" y="226.8354">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4884" x2="5289.5" y1="223.5273" y2="223.5273"/><ellipse cx="4217.5" cy="266.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="4226.5" y="269.7495">minLatency : urt_delay_t</text><ellipse cx="4217.5" cy="279.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="4226.5" y="282.5542">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4207.5" x2="4496.5" y1="253.1367" y2="253.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="4496.5" y="256.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="5000.5" x2="5289.5" y1="253.1367" y2="253.1367"/><ellipse cx="4217.5" cy="308.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="4226.5" y="312.1636">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4207.5" x2="4616" y1="295.5508" y2="295.5508"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="4616" y="298.8589">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4881" x2="5289.5" y1="295.5508" y2="295.5508"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4207.5" x2="5289.5" y1="318.7578" y2="318.7578"/><ellipse cx="4217.5" cy="329.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="4226.5" y="332.9683">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void</text><ellipse cx="4217.5" cy="342.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="4226.5" y="345.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="4217.5" cy="355.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="4226.5" y="358.5776">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4217.5" cy="368.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="4226.5" y="371.3823">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4217.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="446" x="4226.5" y="384.187">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
8
class urt_message_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="406" x="813.5" y="644.9063"/><ellipse cx="966.25" cy="660.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M965.7344,661.4688 Q963.875,660.7656 963.2188,660 Q962.5781,659.2188 962.5781,657.9063 Q962.5781,656.2188 963.6563,655.25 Q964.7344,654.2813 966.6094,654.2813 Q967.4688,654.2813 968.3125,654.4844 Q969.1719,654.6719 970.0156,655.0625 L970.0156,657.4531 Q969.2344,656.8906 968.4063,656.6094 Q967.5938,656.3125 966.7969,656.3125 Q965.9219,656.3125 965.4375,656.6719 Q964.9688,657.0313 964.9688,657.6875 Q964.9688,658.2031 965.3125,658.5469 Q965.6563,658.875 966.75,659.2813 L967.8125,659.6875 Q969.2969,660.2344 970,661.1406 Q970.7188,662.0469 970.7188,663.4219 Q970.7188,665.2969 969.6094,666.2188 Q968.5,667.1406 966.25,667.1406 Q965.3281,667.1406 964.4063,666.9219 Q963.4844,666.7031 962.625,666.2813 L962.625,663.75 Q963.5938,664.4375 964.5156,664.7813 Q965.4375,665.125 966.3281,665.125 Q967.2344,665.125 967.7344,664.7188 Q968.2344,664.2969 968.2344,663.5625 Q968.2344,663 967.8906,662.5938 Q967.5625,662.1719 966.9375,661.9219 L965.7344,661.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="986.75" y="665.0605">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="814.5" x2="1218.5" y1="676.9063" y2="676.9063"/><ellipse cx="824.5" cy="687.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="833.5" y="691.1167">next : urt_message_t*</text><ellipse cx="824.5" cy="700.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="833.5" y="703.9214">payload : void*</text><ellipse cx="824.5" cy="713.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="833.5" y="716.7261">originTime : urt_osTime_t</text><ellipse cx="824.5" cy="726.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="833.5" y="729.5308">numHrtConsumersLeft : unsigned int</text><ellipse cx="824.5" cy="755.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="833.5" y="759.1401">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="814.5" x2="908" y1="742.5273" y2="742.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="908" y="745.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1125" x2="1218.5" y1="742.5273" y2="742.5273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="814.5" x2="1218.5" y1="765.7344" y2="765.7344"/><ellipse cx="824.5" cy="776.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="833.5" y="779.9448">urtMessageInit (message : urt_message_t*, payload : void*) : void</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
9
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="783" x="6" y="191.9063"/><ellipse cx="346.75" cy="207.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M346.2344,208.4688 Q344.375,207.7656 343.7188,207 Q343.0781,206.2188 343.0781,204.9063 Q343.0781,203.2188 344.1563,202.25 Q345.2344,201.2813 347.1094,201.2813 Q347.9688,201.2813 348.8125,201.4844 Q349.6719,201.6719 350.5156,202.0625 L350.5156,204.4531 Q349.7344,203.8906 348.9063,203.6094 Q348.0938,203.3125 347.2969,203.3125 Q346.4219,203.3125 345.9375,203.6719 Q345.4688,204.0313 345.4688,204.6875 Q345.4688,205.2031 345.8125,205.5469 Q346.1563,205.875 347.25,206.2813 L348.3125,206.6875 Q349.7969,207.2344 350.5,208.1406 Q351.2188,209.0469 351.2188,210.4219 Q351.2188,212.2969 350.1094,213.2188 Q349,214.1406 346.75,214.1406 Q345.8281,214.1406 344.9063,213.9219 Q343.9844,213.7031 343.125,213.2813 L343.125,210.75 Q344.0938,211.4375 345.0156,211.7813 Q345.9375,212.125 346.8281,212.125 Q347.7344,212.125 348.2344,211.7188 Q348.7344,211.2969 348.7344,210.5625 Q348.7344,210 348.3906,209.5938 Q348.0625,209.1719 347.4375,208.9219 L346.2344,208.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="367.25" y="212.0605">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="788" y1="223.9063" y2="223.9063"/><ellipse cx="17" cy="234.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="238.1167">topic : urt_topic_t*</text><ellipse cx="17" cy="264.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="267.7261">publishAttempts : uint64_t</text><ellipse cx="17" cy="277.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="280.5308">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="289" y1="251.1133" y2="251.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="289" y="254.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="251.1133" y2="251.1133"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="788" y1="287.125" y2="287.125"/><ellipse cx="17" cy="298.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="301.3354">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void</text><ellipse cx="17" cy="310.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="314.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]
10
class urt_topic_t--><rect fill="#FEFECE" filter="url(#fb4h1to9ntmzd)" height="260.875" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="824.5" y="125.9063"/><ellipse cx="979.25" cy="141.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M978.7344,142.4688 Q976.875,141.7656 976.2188,141 Q975.5781,140.2188 975.5781,138.9063 Q975.5781,137.2188 976.6563,136.25 Q977.7344,135.2813 979.6094,135.2813 Q980.4688,135.2813 981.3125,135.4844 Q982.1719,135.6719 983.0156,136.0625 L983.0156,138.4531 Q982.2344,137.8906 981.4063,137.6094 Q980.5938,137.3125 979.7969,137.3125 Q978.9219,137.3125 978.4375,137.6719 Q977.9688,138.0313 977.9688,138.6875 Q977.9688,139.2031 978.3125,139.5469 Q978.6563,139.875 979.75,140.2813 L980.8125,140.6875 Q982.2969,141.2344 983,142.1406 Q983.7188,143.0469 983.7188,144.4219 Q983.7188,146.2969 982.6094,147.2188 Q981.5,148.1406 979.25,148.1406 Q978.3281,148.1406 977.4063,147.9219 Q976.4844,147.7031 975.625,147.2813 L975.625,144.75 Q976.5938,145.4375 977.5156,145.7813 Q978.4375,146.125 979.3281,146.125 Q980.2344,146.125 980.7344,145.7188 Q981.2344,145.2969 981.2344,144.5625 Q981.2344,144 980.8906,143.5938 Q980.5625,143.1719 979.9375,142.9219 L978.7344,142.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="999.75" y="146.0605">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="825.5" x2="1207.5" y1="157.9063" y2="157.9063"/><ellipse cx="835.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="101" x="844.5" y="172.1167">next : urt_topic_t*</text><ellipse cx="835.5" cy="181.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="184.9214">id : urt_topicid_t</text><ellipse cx="835.5" cy="194.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="197.7261">lock : urt_osMutex_t</text><ellipse cx="835.5" cy="207.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="210.5308">evtSource : urt_osEventSource_t</text><ellipse cx="835.5" cy="220.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="223.3354">numHrtSubscribers : unsigned int</text><ellipse cx="835.5" cy="232.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="236.1401">hrtReleased : urt_osCondvar_t</text><ellipse cx="835.5" cy="245.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="248.9448">mandatoryMessage : urt_message_t</text><ellipse cx="835.5" cy="258.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="261.7495">latestMessage : urt_message_t*</text><ellipse cx="835.5" cy="288.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="291.3589">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="835.5" cy="300.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="304.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="274.7461" y2="274.7461"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="884" y="278.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="274.7461" y2="274.7461"/><ellipse cx="835.5" cy="330.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="333.7729">numMessagesPublished : uint64_t</text><ellipse cx="835.5" cy="343.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="346.5776">numMessagesDiscarded : uint64_t</text><ellipse cx="835.5" cy="356.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="359.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="317.1602" y2="317.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="908" y="320.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="317.1602" y2="317.1602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825.5" x2="1207.5" y1="365.9766" y2="365.9766"/><ellipse cx="835.5" cy="376.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="380.187">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[536025241394544a90bc53fb552f3a08]
11
reverse link urt_message_t to urt_message_t--><path d="M1232.0028,689.5133 C1246.0209,695.6657 1254.5,704.4634 1254.5,715.9063 C1254.5,730.4083 1240.8815,740.6616 1219.6293,746.6663 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1219.6293,685.1463,1223.956,690.9151,1230.9452,689.14,1226.6185,683.3712,1219.6293,685.1463" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1227.7203" y="680.7284">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1227.2886" y="744.578">0,1</text><!--MD5=[aa8990705afdbad14c7f998fe04b6f05]
12
reverse link urt_basesubscriber_t to urt_message_t--><path d="M2666.4993,531.9537 C2363.0553,565.7836 1589.5394,652.0201 1219.5884,693.2647 " fill="none" id="urt_basesubscriber_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2679.718,530.4799,2673.3117,527.1695,2667.7919,531.8097,2674.1982,535.1202,2679.718,530.4799" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2663.8717" y="527.9045">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1227.2463" y="704.7964">0,1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
13
link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M3526.2283,333.4389 C3463.5669,353.1064 3395.689,373.5723 3332.5,390.9063 C3194.3193,428.812 3034.3631,465.5535 2924.6129,489.6812 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2926.0966,496.5221,2905.0621,493.9626,2923.1016,482.8462,2926.0966,496.5221" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
14
link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M2792.5,353.0363 C2792.5,378.3836 2792.5,405.5704 2792.5,430.41 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2799.5001,430.6313,2792.5,450.6312,2785.5001,430.6312,2799.5001,430.6313" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
15
link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M2169.1729,369.427 C2197.6878,376.7857 2225.9994,384.0058 2253.5,390.9063 C2391.7604,425.5991 2550.6746,462.7076 2659.9377,487.7957 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2661.8156,481.0446,2679.7455,492.337,2658.687,494.6905,2661.8156,481.0446" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
16
link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M4206.3442,387.8991 C4200.3691,388.9284 4194.4195,389.9315 4188.5,390.9063 C3728.3838,466.6802 3174.9618,500.1722 2925.6847,512.2261 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="2925.7015,519.2331,2905.3912,513.1923,2925.0356,505.249,2925.7015,519.2331" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
17
reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M5302.8399,232.1588 C5317.3539,238.8647 5325.5,246.9473 5325.5,256.4063 C5325.5,268.2764 5312.6717,277.9788 5290.5292,285.5136 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="5290.5292,227.299,5294.6414,233.2226,5301.691,231.7052,5297.5788,225.7815,5290.5292,227.299" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5298.2077" y="223.8529">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="5298.2921" y="282.8861">0,1</text><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
18
reverse link urt_publisher_t to urt_topic_t--><path d="M802.3622,256.4063 C809.6684,256.4063 816.9747,256.4063 824.2809,256.4063 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="789.2109,256.4063,795.2109,260.4063,801.2109,256.4063,795.2109,252.4063,789.2109,256.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="253.3239">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="808.6161" y="253.1852">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
19
link urt_publisher_t to urt_message_t--><path d="M484.5477,321.0241 C598.2489,405.4275 796.8827,552.8786 916.5977,641.7462 " 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="920.8228,644.8826,915.9805,636.3063,916.8081,641.9023,911.2121,642.7298,920.8228,644.8826" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
20
reverse link urt_topic_t to urt_topic_t--><path d="M1220.5439,220.8703 C1234.8061,228.9814 1243.5,240.8267 1243.5,256.4063 C1243.5,275.9571 1229.809,289.6274 1208.6039,297.4171 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1208.6039,215.3954,1212.3907,221.5322,1219.5119,220.3971,1215.7251,214.2603,1208.6039,215.3954" 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="210.5724">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1216.4986" y="295.798">0,1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
21
reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1163.0785,118.0086 C1193.9801,96.2116 1227.9195,76.9316 1263,64.9063 C1339.4129,38.7124 4091.2552,52.0293 4171,64.9063 C4247.3838,77.2405 4327.3368,98.1948 4402.5629,121.8264 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1152.278,125.8156,1159.4839,125.5424,1162.0033,118.7857,1154.7973,119.0589,1152.278,125.8156" 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="114.9065">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="4361.9853" y="110.6867">0,1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
22
reverse link urt_topic_t to urt_message_t--><path d="M1016.5,400.3211 C1016.5,481.6692 1016.5,579.7848 1016.5,644.7927 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1016.5,387.1584,1012.5,393.1584,1016.5,399.1584,1020.5,393.1584,1016.5,387.1584" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1008.2813" y="406.793">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1008.0875" y="633.7783">1</text><!--MD5=[24f93dcf9afeb4dd37451f1adf8ffc7a]
28 23
@startuml
29 24

  
30 25
title **µRtWare**\nPublish-Subscribe System
......
63 58
    + {field} numMessagesReceived : uint64_t
64 59
  }
65 60

  
66
    class urt_srtusefulnessfunc_t <<F,E0E0E0>> {
67
    urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float
68
  }
69

  
70 61
    class urt_nrtsubscriber_t <<S,BFAFFF>> {
71 62
    .. URT_CFG_PUBSUB_PROFILING == true ..
72 63
    + {field} minLatency : urt_delay_t
......
80 71
  }
81 72

  
82 73
    class urt_srtsubscriber_t <<S,BFAFFF>> {
83
    + {field} usefulnesscb : urt_srtusefulnessfunc_t*
74
    + {field} usefulnesscb : urt_usefulness_f*
84 75
    + {field} cbparams : void*
85 76
    .. URT_CFG_PUBSUB_PROFILING == true ..
86 77
    + {field} minLatency : urt_delay_t
87 78
    + {field} maxLatency : urt_delay_t
88 79
    __
89 80
    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void
90
    + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
81
    + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_usefulness_f*, cbparams : void*) : urt_status_t
91 82
    + {method} urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
92 83
    + {method} urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
93 84
    + {method} urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float
......
165 156

  
166 157

  
167 158

  
168
urt_message_t "1" o- - "0..1" urt_message_t
159
urt_message_t "1" o- "0,1" urt_message_t
160

  
161
urt_basesubscriber_t "1" o- - "0,1" urt_message_t
169 162

  
170 163
urt_nrtsubscriber_t - -|> urt_basesubscriber_t
171
urt_nrtsubscriber_t ..> urt_message_t
172 164

  
173 165
urt_srtsubscriber_t - -|> urt_basesubscriber_t
174
urt_srtsubscriber_t "1" o- - "0..1" urt_srtusefulnessfunc_t
175
urt_srtsubscriber_t ..> urt_message_t
176 166

  
177 167
urt_frtsubscriber_t - -|> urt_basesubscriber_t
178
urt_frtsubscriber_t ..> urt_message_t
179 168

  
180 169
urt_hrtsubscriber_t - -|> urt_basesubscriber_t
181
urt_hrtsubscriber_t "1" o- - "0..1" urt_hrtsubscriber_t
182
urt_hrtsubscriber_t ..> urt_message_t
170
urt_hrtsubscriber_t "1" o- "0,1" urt_hrtsubscriber_t
183 171

  
184 172
urt_publisher_t "1" o- "1" urt_topic_t
185 173
urt_publisher_t ..> urt_message_t
186 174

  
187
urt_topic_t "1" o- - "0..1" urt_topic_t
188
urt_topic_t "1" o- "0..1" urt_hrtsubscriber_t
175
urt_topic_t "1" o- "0,1" urt_topic_t
176
urt_topic_t "1" o- "0,1" urt_hrtsubscriber_t
189 177
urt_topic_t "1" *- - "1" urt_message_t
190 178

  
191 179

  
......
196 184
(GPL source distribution)
197 185
Java Runtime: OpenJDK Runtime Environment
198 186
JVM: OpenJDK 64-Bit Server VM
199
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
187
Java Version: 11.0.7+10-post-Ubuntu-2ubuntu218.04
200 188
Operating System: Linux
201 189
Default Encoding: UTF-8
202 190
Language: en

Also available in: Unified diff