commit dd31cb03116dbce167f8826c09c1a84c1b7a1623
Author: Thomas Schöpping <tschoepp@cit-ec.uni-bielefeld.de>
Date:   Mon Mar 2 17:27:59 2020 +0100

    Documentation restructured and overhauled.

diff --git a/doc/activitydiagrams/core/urtCoreInit.svg b/doc/activitydiagrams/core/urtCoreInit.svg
index b285df7..992e735 100644
--- a/doc/activitydiagrams/core/urtCoreInit.svg
+++ b/doc/activitydiagrams/core/urtCoreInit.svg
@@ -1,4 +1,4 @@
-<?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="374px" preserveAspectRatio="none" style="width:493px;height:374px;" version="1.1" viewBox="0 0 493 374" width="493px" zoomAndPan="magnify"><defs><filter height="300%" id="f1k9cydo3vbvno" 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="201.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="112" x="189.75" y="47.6611">urtCoreInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="248.75" y="68.6143"/><path d="M255.5,72.8594 L255.5,138.2578 L481.5,138.2578 L481.5,82.8594 L471.5,72.8594 L255.5,72.8594 " fill="#FBFB77" filter="url(#f1k9cydo3vbvno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M471.5,72.8594 L471.5,82.8594 L481.5,82.8594 L471.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="255.5" x2="351" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="355" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="27" x="355" y="89.4263">void</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="386" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="386" x2="481.5" y1="85.4258" y2="85.4258"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="255.5" x2="481.5" y1="97.9922" y2="97.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="255.5" x2="481.5" y1="99.9922" y2="99.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="255.5" x2="297.5" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="301.5" y="114.5591"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="301.5" y="114.5591">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="350.5" y="114.5591">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="439.5" x2="481.5" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="261.5" y="130.1919">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="358.5" y="130.1919">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="462.5" y="130.1919">.</text><ellipse cx="368.5" cy="168.2578" fill="#000000" filter="url(#f1k9cydo3vbvno)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,188.2578 L10,319.3203 A0,0 0 0 0 10,319.3203 L283,319.3203 A0,0 0 0 0 283,319.3203 L283,257.7891 L303,253.7891 L283,249.7891 L283,198.2578 L273,188.2578 L10,188.2578 A0,0 0 0 0 10,188.2578 " fill="#FBFB77" filter="url(#f1k9cydo3vbvno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M273,188.2578 L273,198.2578 L283,198.2578 L273,188.2578 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="16" y="205.3247">_nodes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="72" y="205.3247">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="87" y="205.3247">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="16" y="220.4575">urtEventSourceInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="139" y="220.4575">_evtSource</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="219" y="220.4575">)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="16" y="235.5903">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="97" y="235.5903">_lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="134" y="235.5903">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="16" y="250.7231">_status</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="73" y="250.7231">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="88" y="250.7231">URT_STATUS_OK</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="261.3555" y2="261.3555"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="24.5" y="265.356">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="272.5" x2="283" y1="261.3555" y2="261.3555"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="16" y="280.9888">_topics</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="72" y="280.9888">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="87" y="280.9888">NULL</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="35.5" y1="291.6211" y2="291.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="214" x="39.5" y="295.6216">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="257.5" x2="283" y1="291.6211" y2="291.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="16" y="311.2544">_services</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="87" y="311.2544">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="102" y="311.2544">NULL</text><rect fill="#FEFECE" filter="url(#f1k9cydo3vbvno)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="303" y="236.8047"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="313" y="257.9434">initialize members</text><path d="M155.5,337.7539 L155.5,362.8867 A0,0 0 0 0 155.5,362.8867 L337.5,362.8867 A0,0 0 0 0 337.5,362.8867 L337.5,355.7539 L357.5,350.3203 L337.5,347.7539 L337.5,347.7539 L327.5,337.7539 L155.5,337.7539 A0,0 0 0 0 155.5,337.7539 " fill="#FBFB77" filter="url(#f1k9cydo3vbvno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M327.5,337.7539 L327.5,347.7539 L337.5,347.7539 L327.5,337.7539 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="161.5" y="354.8208">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="214.5" y="354.8208">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="318.5" y="354.8208">.</text><ellipse cx="368.5" cy="350.3203" fill="#FFFFFF" filter="url(#f1k9cydo3vbvno)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="368.5" cy="350.3203" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368.5" x2="368.5" y1="138.2578" y2="158.2578"/><polygon fill="#A80036" points="364.5,148.2578,368.5,158.2578,372.5,148.2578,368.5,152.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368.5" x2="368.5" y1="178.2578" y2="236.8047"/><polygon fill="#A80036" points="364.5,226.8047,368.5,236.8047,372.5,226.8047,368.5,230.8047" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368.5" x2="368.5" y1="270.7734" y2="339.3203"/><polygon fill="#A80036" points="364.5,329.3203,368.5,339.3203,372.5,329.3203,368.5,333.3203" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[977bc1a05ece2993496dfd98d0c45612]
+<?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="357px" preserveAspectRatio="none" style="width:445px;height:357px;" version="1.1" viewBox="0 0 445 357" width="445px" zoomAndPan="magnify"><defs><filter height="300%" id="fo2sv7byrug75" 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="177" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="112" x="165.5" y="47.6611">urtCoreInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="224.5" y="68.6143"/><path d="M312.5,72.8594 L312.5,123.125 L424.5,123.125 L424.5,82.8594 L414.5,72.8594 L312.5,72.8594 " fill="#FBFB77" filter="url(#fo2sv7byrug75)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M414.5,72.8594 L414.5,82.8594 L424.5,82.8594 L414.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="312.5" x2="351" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="355" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="27" x="355" y="89.4263">void</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="386" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="386" x2="424.5" y1="85.4258" y2="85.4258"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="312.5" x2="424.5" y1="97.9922" y2="97.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="312.5" x2="424.5" y1="99.9922" y2="99.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="312.5" x2="323" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="327" y="114.5591"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="327" y="114.5591">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="376" y="114.5591">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="414" x2="424.5" y1="110.5586" y2="110.5586"/><ellipse cx="368.5" cy="153.125" fill="#000000" filter="url(#fo2sv7byrug75)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,173.125 L10,304.1875 A0,0 0 0 0 10,304.1875 L283,304.1875 A0,0 0 0 0 283,304.1875 L283,242.6563 L303,238.6563 L283,234.6563 L283,183.125 L273,173.125 L10,173.125 A0,0 0 0 0 10,173.125 " fill="#FBFB77" filter="url(#fo2sv7byrug75)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M273,173.125 L273,183.125 L283,183.125 L273,173.125 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="21.5" cy="185.7578" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="27" y="190.1919">_nodes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="83" y="190.1919">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="98" y="190.1919">NULL</text><ellipse cx="21.5" cy="200.8906" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="27" y="205.3247">urtEventSourceInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="150" y="205.3247">_evtSource</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="230" y="205.3247">)</text><ellipse cx="21.5" cy="216.0234" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="27" y="220.4575">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="108" y="220.4575">_lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="145" y="220.4575">)</text><ellipse cx="21.5" cy="231.1563" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="27" y="235.5903">_status</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="84" y="235.5903">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="99" y="235.5903">URT_STATUS_OK</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="246.2227" y2="246.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="24.5" y="250.2231">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="272.5" x2="283" y1="246.2227" y2="246.2227"/><ellipse cx="21.5" cy="261.4219" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="27" y="265.856">_topics</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="83" y="265.856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="98" y="265.856">NULL</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="35.5" y1="276.4883" y2="276.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="214" x="39.5" y="280.4888">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="257.5" x2="283" y1="276.4883" y2="276.4883"/><ellipse cx="21.5" cy="291.6875" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="27" y="296.1216">_services</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="98" y="296.1216">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="113" y="296.1216">NULL</text><rect fill="#FEFECE" filter="url(#fo2sv7byrug75)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="303" y="221.6719"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="313" y="242.8105">initialize members</text><ellipse cx="368.5" cy="335.1875" fill="#FFFFFF" filter="url(#fo2sv7byrug75)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="368.5" cy="335.1875" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368.5" x2="368.5" y1="123.125" y2="143.125"/><polygon fill="#A80036" points="364.5,133.125,368.5,143.125,372.5,133.125,368.5,137.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368.5" x2="368.5" y1="163.125" y2="221.6719"/><polygon fill="#A80036" points="364.5,211.6719,368.5,221.6719,372.5,211.6719,368.5,215.6719" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368.5" x2="368.5" y1="255.6406" y2="324.1875"/><polygon fill="#A80036" points="364.5,314.1875,368.5,324.1875,372.5,314.1875,368.5,318.1875" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9be517565b964ee274900b7b46a44bbb]
 @startuml
 
 title **µRtWare**\nurtCoreInit()\n
@@ -7,27 +7,23 @@ title **µRtWare**\nurtCoreInit()\n
 note
   - - //void// - -
   ====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
+  - - **return** : void - -
 endnote
 
 
 start
 :initialize members;
 note
-  **_nodes** ← ""NULL""
-  urtEventSourceInit(**_evtSource**)
-  urtMutexInit(**_lock**)
-  **_status** ← ""URT_STATUS_OK""
+  * **_nodes** ← ""NULL""
+  * urtEventSourceInit(**_evtSource**)
+  * urtMutexInit(**_lock**)
+  * **_status** ← ""URT_STATUS_OK""
   .. URT_CFG_PUBSUB_ENABLED == true ..
-  **_topics** ← ""NULL""
+  * **_topics** ← ""NULL""
   .. URT_CFG_RPC_ENABLED == true ..
-  **_services** ← ""NULL""
+  * **_services** ← ""NULL""
 endnote
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 
 @enduml
diff --git a/doc/activitydiagrams/core/urtCoreInit.uml b/doc/activitydiagrams/core/urtCoreInit.uml
index c7a5a6c..6b20433 100644
--- a/doc/activitydiagrams/core/urtCoreInit.uml
+++ b/doc/activitydiagrams/core/urtCoreInit.uml
@@ -30,8 +30,7 @@ title **µRtWare**\nurtCoreInit()\n
 note
   -- //void// --
   ====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
+  -- **return** : void --
 endnote
 
 /'### PROCEDURE ##############################################################'/
@@ -39,19 +38,16 @@ endnote
 start
 :initialize members;
 note
-  **_nodes** ← ""NULL""
-  urtEventSourceInit(**_evtSource**)
-  urtMutexInit(**_lock**)
-  **_status** ← ""URT_STATUS_OK""
+  * **_nodes** ← ""NULL""
+  * urtEventSourceInit(**_evtSource**)
+  * urtMutexInit(**_lock**)
+  * **_status** ← ""URT_STATUS_OK""
   .. URT_CFG_PUBSUB_ENABLED == true ..
-  **_topics** ← ""NULL""
+  * **_topics** ← ""NULL""
   .. URT_CFG_RPC_ENABLED == true ..
-  **_services** ← ""NULL""
+  * **_services** ← ""NULL""
 endnote
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 /'### OUTRO ##################################################################'/
 
diff --git a/doc/activitydiagrams/core/urtCoreStartNodes.svg b/doc/activitydiagrams/core/urtCoreStartNodes.svg
index 3865a7d..a4fc689 100644
--- a/doc/activitydiagrams/core/urtCoreStartNodes.svg
+++ b/doc/activitydiagrams/core/urtCoreStartNodes.svg
@@ -1,4 +1,4 @@
-<?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="590px" preserveAspectRatio="none" style="width:367px;height:590px;" version="1.1" viewBox="0 0 367 590" width="367px" zoomAndPan="magnify"><defs><filter height="300%" id="f1sbzmrrf1fqrc" 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="138" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="181" x="92" y="47.6611">urtCoreStartNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="185.5" y="68.6143"/><path d="M110,72.8594 L110,138.2578 L336,138.2578 L336,82.8594 L326,72.8594 L110,72.8594 " fill="#FBFB77" filter="url(#f1sbzmrrf1fqrc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M326,72.8594 L326,82.8594 L336,82.8594 L326,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="110" x2="205.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="209.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="27" x="209.5" y="89.4263">void</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="240.5" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="240.5" x2="336" y1="85.4258" y2="85.4258"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="110" x2="336" y1="97.9922" y2="97.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="110" x2="336" y1="99.9922" y2="99.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="110" x2="152" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="156" y="114.5591"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="156" y="114.5591">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="205" y="114.5591">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="294" x2="336" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="116" y="130.1919">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="213" y="130.1919">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="317" y="130.1919">.</text><ellipse cx="223" cy="168.2578" fill="#000000" filter="url(#f1sbzmrrf1fqrc)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1sbzmrrf1fqrc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="184.5" y="198.2578"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="194.5" y="219.3965">lock core</text><rect fill="#FEFECE" filter="url(#f1sbzmrrf1fqrc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="266" x="90" y="252.2266"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="246" x="100" y="273.3652">access first node in core's list of nodes</text><rect fill="#FEFECE" filter="url(#f1sbzmrrf1fqrc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="157" y="361.9058"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="167" y="383.0444">start node thread</text><rect fill="#FEFECE" filter="url(#f1sbzmrrf1fqrc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="145" y="424.9722"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="155" y="446.1108">proceed to next node</text><polygon fill="#FEFECE" filter="url(#f1sbzmrrf1fqrc)" points="148.5,306.1953,297.5,306.1953,309.5,318.1953,297.5,330.1953,148.5,330.1953,136.5,318.1953,148.5,306.1953" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="340.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="111" x="148.5" y="322.0034">Current node is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="263.5" y="322.0034">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="291.5" y="322.0034">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="122.5" y="315.6011">no</text><rect fill="#FEFECE" filter="url(#f1sbzmrrf1fqrc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="500.9409"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="522.0796">unlock core</text><path d="M10,553.3433 L10,578.4761 A0,0 0 0 0 10,578.4761 L192,578.4761 A0,0 0 0 0 192,578.4761 L192,571.3433 L212,565.9097 L192,563.3433 L192,563.3433 L182,553.3433 L10,553.3433 A0,0 0 0 0 10,553.3433 " fill="#FBFB77" filter="url(#f1sbzmrrf1fqrc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,553.3433 L182,563.3433 L192,563.3433 L182,553.3433 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="570.4102">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="570.4102">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="570.4102">.</text><ellipse cx="223" cy="565.9097" fill="#FFFFFF" filter="url(#f1sbzmrrf1fqrc)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="565.9097" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="138.2578" y2="158.2578"/><polygon fill="#A80036" points="219,148.2578,223,158.2578,227,148.2578,223,152.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="178.2578" y2="198.2578"/><polygon fill="#A80036" points="219,188.2578,223,198.2578,227,188.2578,223,192.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="232.2266" y2="252.2266"/><polygon fill="#A80036" points="219,242.2266,223,252.2266,227,242.2266,223,246.2266" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="395.8745" y2="424.9722"/><polygon fill="#A80036" points="219,414.9722,223,424.9722,227,414.9722,223,418.9722" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="330.1953" y2="361.9058"/><polygon fill="#A80036" points="219,351.9058,223,361.9058,227,351.9058,223,355.9058" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="458.9409" y2="468.9409"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="321.5" y1="468.9409" y2="468.9409"/><polygon fill="#A80036" points="317.5,404.9722,321.5,394.9722,325.5,404.9722,321.5,400.9722" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321.5" x2="321.5" y1="318.1953" y2="468.9409"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321.5" x2="309.5" y1="318.1953" y2="318.1953"/><polygon fill="#A80036" points="319.5,314.1953,309.5,318.1953,319.5,322.1953,315.5,318.1953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="124.5" y1="318.1953" y2="318.1953"/><polygon fill="#A80036" points="120.5,390.9722,124.5,400.9722,128.5,390.9722,124.5,394.9722" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="124.5" x2="124.5" y1="318.1953" y2="480.9409"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="124.5" x2="223" y1="480.9409" y2="480.9409"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="480.9409" y2="500.9409"/><polygon fill="#A80036" points="219,490.9409,223,500.9409,227,490.9409,223,494.9409" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="286.1953" y2="306.1953"/><polygon fill="#A80036" points="219,296.1953,223,306.1953,227,296.1953,223,300.1953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="534.9097" y2="554.9097"/><polygon fill="#A80036" points="219,544.9097,223,554.9097,227,544.9097,223,548.9097" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1c41ad4aa94e8cdd407f3b87e1e649b4]
+<?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="572px" preserveAspectRatio="none" style="width:287px;height:572px;" version="1.1" viewBox="0 0 287 572" width="287px" zoomAndPan="magnify"><defs><filter height="300%" id="fxn4zf5n3gka3" 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="98" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="181" x="52" y="47.6611">urtCoreStartNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="145.5" y="68.6143"/><path d="M87,72.8594 L87,123.125 L199,123.125 L199,82.8594 L189,72.8594 L87,72.8594 " fill="#FBFB77" filter="url(#fxn4zf5n3gka3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M189,72.8594 L189,82.8594 L199,82.8594 L189,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="87" x2="125.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="129.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="27" x="129.5" y="89.4263">void</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="160.5" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="160.5" x2="199" y1="85.4258" y2="85.4258"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="87" x2="199" y1="97.9922" y2="97.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="87" x2="199" y1="99.9922" y2="99.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="87" x2="97.5" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="101.5" y="114.5591"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="101.5" y="114.5591">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="150.5" y="114.5591">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="188.5" x2="199" y1="110.5586" y2="110.5586"/><ellipse cx="143" cy="153.125" fill="#000000" filter="url(#fxn4zf5n3gka3)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fxn4zf5n3gka3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="104.5" y="183.125"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="114.5" y="204.2637">lock core</text><rect fill="#FEFECE" filter="url(#fxn4zf5n3gka3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="266" x="10" y="237.0938"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="246" x="20" y="258.2324">access first node in core's list of nodes</text><rect fill="#FEFECE" filter="url(#fxn4zf5n3gka3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="77" y="346.7729"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="87" y="367.9116">start node thread</text><rect fill="#FEFECE" filter="url(#fxn4zf5n3gka3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="65" y="409.8394"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="75" y="430.978">proceed to next node</text><polygon fill="#FEFECE" filter="url(#fxn4zf5n3gka3)" points="68.5,291.0625,217.5,291.0625,229.5,303.0625,217.5,315.0625,68.5,315.0625,56.5,303.0625,68.5,291.0625" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="147" y="325.2729">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="111" x="68.5" y="306.8706">Current node is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="183.5" y="306.8706">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="211.5" y="306.8706">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="42.5" y="300.4683">no</text><rect fill="#FEFECE" filter="url(#fxn4zf5n3gka3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="96.5" y="485.8081"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="106.5" y="506.9468">unlock core</text><ellipse cx="143" cy="550.7769" fill="#FFFFFF" filter="url(#fxn4zf5n3gka3)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="143" cy="550.7769" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="123.125" y2="143.125"/><polygon fill="#A80036" points="139,133.125,143,143.125,147,133.125,143,137.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="163.125" y2="183.125"/><polygon fill="#A80036" points="139,173.125,143,183.125,147,173.125,143,177.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="217.0938" y2="237.0938"/><polygon fill="#A80036" points="139,227.0938,143,237.0938,147,227.0938,143,231.0938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="380.7417" y2="409.8394"/><polygon fill="#A80036" points="139,399.8394,143,409.8394,147,399.8394,143,403.8394" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="315.0625" y2="346.7729"/><polygon fill="#A80036" points="139,336.7729,143,346.7729,147,336.7729,143,340.7729" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="443.8081" y2="453.8081"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="241.5" y1="453.8081" y2="453.8081"/><polygon fill="#A80036" points="237.5,389.8394,241.5,379.8394,245.5,389.8394,241.5,385.8394" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="303.0625" y2="453.8081"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="229.5" y1="303.0625" y2="303.0625"/><polygon fill="#A80036" points="239.5,299.0625,229.5,303.0625,239.5,307.0625,235.5,303.0625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="56.5" x2="44.5" y1="303.0625" y2="303.0625"/><polygon fill="#A80036" points="40.5,375.8394,44.5,385.8394,48.5,375.8394,44.5,379.8394" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="44.5" x2="44.5" y1="303.0625" y2="465.8081"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="44.5" x2="143" y1="465.8081" y2="465.8081"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="465.8081" y2="485.8081"/><polygon fill="#A80036" points="139,475.8081,143,485.8081,147,475.8081,143,479.8081" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="271.0625" y2="291.0625"/><polygon fill="#A80036" points="139,281.0625,143,291.0625,147,281.0625,143,285.0625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="143" x2="143" y1="519.7769" y2="539.7769"/><polygon fill="#A80036" points="139,529.7769,143,539.7769,147,529.7769,143,533.7769" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[dfcd08a84323ab3bb83f9503a5ca3bee]
 @startuml
 
 title **µRtWare**\nurtCoreStartNodes()\n
@@ -7,8 +7,7 @@ title **µRtWare**\nurtCoreStartNodes()\n
 note
   - - //void// - -
   ====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
+  - - **return** : void - -
 endnote
 
 
@@ -21,9 +20,6 @@ while (Current node is not ""NULL""?) is (yes)
 endwhile (no)
 :unlock core;
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 
 @enduml
diff --git a/doc/activitydiagrams/core/urtCoreStartNodes.uml b/doc/activitydiagrams/core/urtCoreStartNodes.uml
index 4f00fbf..3d67e68 100644
--- a/doc/activitydiagrams/core/urtCoreStartNodes.uml
+++ b/doc/activitydiagrams/core/urtCoreStartNodes.uml
@@ -30,8 +30,7 @@ title **µRtWare**\nurtCoreStartNodes()\n
 note
   -- //void// --
   ====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
+  -- **return** : void --
 endnote
 
 /'### PROCEDURE ##############################################################'/
@@ -45,9 +44,6 @@ while (Current node is not ""NULL""?) is (yes)
 endwhile (no)
 :unlock core;
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 /'### OUTRO ##################################################################'/
 
diff --git a/doc/activitydiagrams/core/urtCoreStopNodes.svg b/doc/activitydiagrams/core/urtCoreStopNodes.svg
index 737e723..6c0d817 100644
--- a/doc/activitydiagrams/core/urtCoreStopNodes.svg
+++ b/doc/activitydiagrams/core/urtCoreStopNodes.svg
@@ -1,4 +1,4 @@
-<?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="821px" preserveAspectRatio="none" style="width:435px;height:821px;" version="1.1" viewBox="0 0 435 821" width="435px" zoomAndPan="magnify"><defs><filter height="300%" id="f1po4rs4rxe2ur" 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="172.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="178" x="127.75" y="47.6611">urtCoreStopNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="219.75" y="68.6143"/><path d="M39,72.8594 L39,168.5234 L407,168.5234 L407,82.8594 L397,72.8594 L39,72.8594 " fill="#FBFB77" filter="url(#f1po4rs4rxe2ur)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M397,72.8594 L397,82.8594 L407,82.8594 L397,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="39" x2="149.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="153.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="50" x="153.5" y="89.4263">reason</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="207.5" y="89.4263">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="296.5" x2="407" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="252" x="45" y="105.0591">The reason why the function was called.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="45" y="120.1919">For normal shutdown</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="183" y="120.1919">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="291" y="120.1919">should be used.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="39" x2="407" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="39" x2="407" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="39" x2="152" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="156" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="156" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="205" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="294" x2="407" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="45" y="160.4575">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="142" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="246" y="160.4575">.</text><ellipse cx="223" cy="198.5234" fill="#000000" filter="url(#f1po4rs4rxe2ur)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="184.5" y="228.5234"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="194.5" y="249.6621">lock core</text><rect fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="254" x="96" y="330.8945"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="106" y="352.0332">set core's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="172" y="352.0332">_status</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="225" y="352.0332">value to argument</text><polygon fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" points="60.5,282.4922,385.5,282.4922,397.5,294.4922,385.5,306.4922,60.5,306.4922,48.5,294.4922,60.5,282.4922" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="316.7026">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="43" x="60.5" y="298.3003">Current</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="107.5" y="298.3003">_status</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="160.5" y="298.3003">value is smaller than specified reason?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="397.5" y="291.8979">no</text><polygon fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" points="223,384.8633,235,396.8633,223,408.8633,211,396.8633,223,384.8633" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="266" x="90" y="428.8633"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="246" x="100" y="450.002">access first node in core's list of nodes</text><rect fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="129.5" y="538.5425"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="139.5" y="559.6812">request node to terminate</text><rect fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="145" y="601.6089"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="155" y="622.7476">proceed to next node</text><polygon fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" points="148.5,482.832,297.5,482.832,309.5,494.832,297.5,506.832,148.5,506.832,136.5,494.832,148.5,482.832" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="517.0425">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="111" x="148.5" y="498.6401">Current node is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="263.5" y="498.6401">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="291.5" y="498.6401">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="122.5" y="492.2378">no</text><rect fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="100" y="677.5776"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="226" x="110" y="698.7163">broadcast control event (terminate)</text><rect fill="#FEFECE" filter="url(#f1po4rs4rxe2ur)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="731.5464"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="752.6851">unlock core</text><path d="M10,783.9487 L10,809.0815 A0,0 0 0 0 10,809.0815 L192,809.0815 A0,0 0 0 0 192,809.0815 L192,801.9487 L212,796.5151 L192,793.9487 L192,793.9487 L182,783.9487 L10,783.9487 A0,0 0 0 0 10,783.9487 " fill="#FBFB77" filter="url(#f1po4rs4rxe2ur)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,783.9487 L182,793.9487 L192,793.9487 L182,783.9487 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="801.0156">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="801.0156">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="801.0156">.</text><ellipse cx="223" cy="796.5151" fill="#FFFFFF" filter="url(#f1po4rs4rxe2ur)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="796.5151" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="168.5234" y2="188.5234"/><polygon fill="#A80036" points="219,178.5234,223,188.5234,227,178.5234,223,182.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="208.5234" y2="228.5234"/><polygon fill="#A80036" points="219,218.5234,223,228.5234,227,218.5234,223,222.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="306.4922" y2="330.8945"/><polygon fill="#A80036" points="219,320.8945,223,330.8945,227,320.8945,223,324.8945" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="397.5" x2="409.5" y1="294.4922" y2="294.4922"/><polygon fill="#A80036" points="405.5,337.8789,409.5,347.8789,413.5,337.8789,409.5,341.8789" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.5" x2="409.5" y1="294.4922" y2="396.8633"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.5" x2="235" y1="396.8633" y2="396.8633"/><polygon fill="#A80036" points="245,392.8633,235,396.8633,245,400.8633,241,396.8633" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="364.8633" y2="384.8633"/><polygon fill="#A80036" points="219,374.8633,223,384.8633,227,374.8633,223,378.8633" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="262.4922" y2="282.4922"/><polygon fill="#A80036" points="219,272.4922,223,282.4922,227,272.4922,223,276.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="408.8633" y2="428.8633"/><polygon fill="#A80036" points="219,418.8633,223,428.8633,227,418.8633,223,422.8633" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="572.5112" y2="601.6089"/><polygon fill="#A80036" points="219,591.6089,223,601.6089,227,591.6089,223,595.6089" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="506.832" y2="538.5425"/><polygon fill="#A80036" points="219,528.5425,223,538.5425,227,528.5425,223,532.5425" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="635.5776" y2="645.5776"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="328.5" y1="645.5776" y2="645.5776"/><polygon fill="#A80036" points="324.5,581.6089,328.5,571.6089,332.5,581.6089,328.5,577.6089" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="328.5" y1="494.832" y2="645.5776"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="309.5" y1="494.832" y2="494.832"/><polygon fill="#A80036" points="319.5,490.832,309.5,494.832,319.5,498.832,315.5,494.832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="117.5" y1="494.832" y2="494.832"/><polygon fill="#A80036" points="113.5,567.6089,117.5,577.6089,121.5,567.6089,117.5,571.6089" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="494.832" y2="657.5776"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="223" y1="657.5776" y2="657.5776"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="657.5776" y2="677.5776"/><polygon fill="#A80036" points="219,667.5776,223,677.5776,227,667.5776,223,671.5776" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="462.832" y2="482.832"/><polygon fill="#A80036" points="219,472.832,223,482.832,227,472.832,223,476.832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="711.5464" y2="731.5464"/><polygon fill="#A80036" points="219,721.5464,223,731.5464,227,721.5464,223,725.5464" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="765.5151" y2="785.5151"/><polygon fill="#A80036" points="219,775.5151,223,785.5151,227,775.5151,223,779.5151" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e791fbcd63d82ee7576d5a83cc605131]
+<?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="1074px" preserveAspectRatio="none" style="width:814px;height:1074px;" version="1.1" viewBox="0 0 814 1074" width="814px" zoomAndPan="magnify"><defs><filter height="300%" id="f1n6ixpk89zlyl" 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="361.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="178" x="317.25" y="47.6611">urtCoreStopNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="409.25" y="68.6143"/><path d="M179.5,72.8594 L179.5,183.6563 L800.5,183.6563 L800.5,82.8594 L790.5,72.8594 L179.5,72.8594 " fill="#FBFB77" filter="url(#f1n6ixpk89zlyl)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M790.5,72.8594 L790.5,82.8594 L800.5,82.8594 L790.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="179.5" x2="416.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="420.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="50" x="420.5" y="89.4263">reason</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="474.5" y="89.4263">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="563.5" x2="800.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="252" x="185.5" y="105.0591">The reason why the function was called.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="185.5" y="120.1919">For normal shutdown</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="323.5" y="120.1919">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="431.5" y="120.1919">should be used.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="179.5" x2="800.5" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="179.5" x2="800.5" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="179.5" x2="419" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="423" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="423" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="472" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="561" x2="800.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="185.5" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="238.5" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="346.5" y="160.4575">if there was no call with another reason than</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="632.5" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="740.5" y="160.4575">before.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="541" x="185.5" y="175.5903">If the function has been called before with a different reason, that reason is returned.</text><ellipse cx="490" cy="213.6563" fill="#000000" filter="url(#f1n6ixpk89zlyl)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="451.5" y="243.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="461.5" y="264.7949">lock core</text><polygon fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" points="353,297.625,627,297.625,639,309.625,627,321.625,353,321.625,341,309.625,353,297.625" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="72" x="353" y="313.4331">Current core</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="429" y="313.4331">_status</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="44" x="482" y="313.4331">value is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="530" y="313.4331">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="621" y="313.4331">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="321" y="307.0308">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="639" y="307.0308">no</text><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="54" y="380.0273"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="146" x="64" y="401.166">boost thread priority to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="214" y="401.166">URT_THREAD_PRIO_HIGH_MAX</text><polygon fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" points="53,331.625,393,331.625,405,343.625,393,355.625,53,355.625,41,343.625,53,331.625" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="365.8354">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="162" x="53" y="347.4331">Thread priority is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="168" x="219" y="347.4331">URT_THREAD_PRIO_HIGH_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="387" y="347.4331">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="405" y="341.0308">no</text><polygon fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" points="223,438.3984,235,450.3984,223,462.3984,211,450.3984,223,438.3984" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="88" y="482.3984"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="98" y="503.5371">set core's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="164" y="503.5371">_status</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="217" y="503.5371">variable to argument</text><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="266" x="90" y="536.3672"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="246" x="100" y="557.5059">access first node in core's list of nodes</text><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="129.5" y="646.0464"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="139.5" y="667.1851">request node to terminate</text><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="145" y="709.1128"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="155" y="730.2515">proceed to next node</text><polygon fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" points="148.5,590.3359,297.5,590.3359,309.5,602.3359,297.5,614.3359,148.5,614.3359,136.5,602.3359,148.5,590.3359" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="624.5464">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="111" x="148.5" y="606.144">Current node is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="263.5" y="606.144">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="291.5" y="606.144">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="122.5" y="599.7417">no</text><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="100" y="785.0815"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="226" x="110" y="806.2202">broadcast control event (terminate)</text><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="839.0503"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="860.189">unlock core</text><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="150" y="941.4214"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="160" y="962.5601">reset thread priority</text><polygon fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" points="144,893.019,302,893.019,314,905.019,302,917.019,144,917.019,132,905.019,144,893.019" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="927.2295">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="158" x="144" y="908.8271">Thread boosted its priority?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="314" y="902.4248">no</text><polygon fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" points="223,995.3901,235,1007.3901,223,1019.3901,211,1007.3901,223,995.3901" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M10,1037.8237 L10,1062.9565 A0,0 0 0 0 10,1062.9565 L192,1062.9565 A0,0 0 0 0 192,1062.9565 L192,1055.8237 L212,1050.3901 L192,1047.8237 L192,1047.8237 L182,1037.8237 L10,1037.8237 A0,0 0 0 0 10,1037.8237 " fill="#FBFB77" filter="url(#f1n6ixpk89zlyl)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,1037.8237 L182,1047.8237 L192,1047.8237 L182,1037.8237 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="1054.8906">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="1054.8906">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="1054.8906">.</text><ellipse cx="223" cy="1050.3901" fill="#FFFFFF" filter="url(#f1n6ixpk89zlyl)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="1050.3901" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1n6ixpk89zlyl)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="710.5" y="331.625"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="720.5" y="352.7637">unlock core</text><path d="M437,400.5938 L437,425.7266 A0,0 0 0 0 437,425.7266 L726,425.7266 A0,0 0 0 0 726,425.7266 L726,418.5938 L746,413.1602 L726,410.5938 L726,410.5938 L716,400.5938 L437,400.5938 A0,0 0 0 0 437,400.5938 " fill="#FBFB77" filter="url(#f1n6ixpk89zlyl)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M716,400.5938 L716,410.5938 L726,410.5938 L716,400.5938 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="166" x="443" y="417.6606">Returns the previously set</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="56" x="613" y="417.6606">_status</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="38" x="673" y="417.6606">value.</text><ellipse cx="757" cy="413.1602" fill="#FFFFFF" filter="url(#f1n6ixpk89zlyl)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="757" cy="413.1602" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="486,193.6563,490,203.6563,494,193.6563,490,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="486,233.6563,490,243.6563,494,233.6563,490,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="355.625" y2="380.0273"/><polygon fill="#A80036" points="219,370.0273,223,380.0273,227,370.0273,223,374.0273" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405" x2="417" y1="343.625" y2="343.625"/><polygon fill="#A80036" points="413,387.0117,417,397.0117,421,387.0117,417,391.0117" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="417" x2="417" y1="343.625" y2="450.3984"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="417" x2="235" y1="450.3984" y2="450.3984"/><polygon fill="#A80036" points="245,446.3984,235,450.3984,245,454.3984,241,450.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="413.9961" y2="438.3984"/><polygon fill="#A80036" points="219,428.3984,223,438.3984,227,428.3984,223,432.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="462.3984" y2="482.3984"/><polygon fill="#A80036" points="219,472.3984,223,482.3984,227,472.3984,223,476.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="516.3672" y2="536.3672"/><polygon fill="#A80036" points="219,526.3672,223,536.3672,227,526.3672,223,530.3672" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="680.0151" y2="709.1128"/><polygon fill="#A80036" points="219,699.1128,223,709.1128,227,699.1128,223,703.1128" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="614.3359" y2="646.0464"/><polygon fill="#A80036" points="219,636.0464,223,646.0464,227,636.0464,223,640.0464" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="743.0815" y2="753.0815"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="328.5" y1="753.0815" y2="753.0815"/><polygon fill="#A80036" points="324.5,689.1128,328.5,679.1128,332.5,689.1128,328.5,685.1128" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="328.5" y1="602.3359" y2="753.0815"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="309.5" y1="602.3359" y2="602.3359"/><polygon fill="#A80036" points="319.5,598.3359,309.5,602.3359,319.5,606.3359,315.5,602.3359" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="117.5" y1="602.3359" y2="602.3359"/><polygon fill="#A80036" points="113.5,675.1128,117.5,685.1128,121.5,675.1128,117.5,679.1128" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="117.5" y1="602.3359" y2="765.0815"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="117.5" x2="223" y1="765.0815" y2="765.0815"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="765.0815" y2="785.0815"/><polygon fill="#A80036" points="219,775.0815,223,785.0815,227,775.0815,223,779.0815" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="570.3359" y2="590.3359"/><polygon fill="#A80036" points="219,580.3359,223,590.3359,227,580.3359,223,584.3359" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="819.0503" y2="839.0503"/><polygon fill="#A80036" points="219,829.0503,223,839.0503,227,829.0503,223,833.0503" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="917.019" y2="941.4214"/><polygon fill="#A80036" points="219,931.4214,223,941.4214,227,931.4214,223,935.4214" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="314" x2="326" y1="905.019" y2="905.019"/><polygon fill="#A80036" points="322,948.4058,326,958.4058,330,948.4058,326,952.4058" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="326" x2="326" y1="905.019" y2="1007.3901"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="326" x2="235" y1="1007.3901" y2="1007.3901"/><polygon fill="#A80036" points="245,1003.3901,235,1007.3901,245,1011.3901,241,1007.3901" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="975.3901" y2="995.3901"/><polygon fill="#A80036" points="219,985.3901,223,995.3901,227,985.3901,223,989.3901" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="873.019" y2="893.019"/><polygon fill="#A80036" points="219,883.019,223,893.019,227,883.019,223,887.019" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="1019.3901" y2="1039.3901"/><polygon fill="#A80036" points="219,1029.3901,223,1039.3901,227,1029.3901,223,1033.3901" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="757" x2="757" y1="365.5938" y2="402.1602"/><polygon fill="#A80036" points="753,392.1602,757,402.1602,761,392.1602,757,396.1602" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="341" x2="223" y1="309.625" y2="309.625"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="309.625" y2="331.625"/><polygon fill="#A80036" points="219,321.625,223,331.625,227,321.625,223,325.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="639" x2="757" y1="309.625" y2="309.625"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="757" x2="757" y1="309.625" y2="331.625"/><polygon fill="#A80036" points="753,321.625,757,331.625,761,321.625,757,325.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="277.625" y2="297.625"/><polygon fill="#A80036" points="486,287.625,490,297.625,494,287.625,490,291.625" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ffcae7d50b357ec14f744781a649cc71]
 @startuml
 
 title **µRtWare**\nurtCoreStopNodes()\n
@@ -10,27 +10,41 @@ note
   For normal shutdown ""URT_STATUS_OK"" should be used.
   ====
   - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
+  Returns ""URT_STATUS_OK"" if there was no call with another reason than ""URT_STATUS_OK"" before.
+  If the function has been called before with a different reason, that reason is returned.
 endnote
 
 
 start
 :lock core;
-if (Current ""_status"" value is smaller than specified reason?) then (yes)
-  :set core's ""_status"" value to argument;
+if (Current core ""_status"" value is ""URT_STATUS_OK""?) then (yes)
+  if (Thread priority is lower than ""URT_THREAD_PRIO_HIGH_MAX""?) then (yes)
+    :boost thread priority to ""URT_THREAD_PRIO_HIGH_MAX"";
+  else (no)
+  endif
+  :set core's ""_status"" variable to argument;
+  :access first node in core's list of nodes;
+  while (Current node is not ""NULL""?) is (yes)
+    :request node to terminate;
+    :proceed to next node;
+  endwhile (no)
+  :broadcast control event (terminate);
+  :unlock core;
+  if (Thread boosted its priority?) then (yes)
+    :reset thread priority;
+  else (no)
+  endif
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
 else (no)
+  :unlock core;
+  stop
+  note
+    Returns the previously set ""_status"" value.
+  endnote
 endif
-:access first node in core's list of nodes;
-while (Current node is not ""NULL""?) is (yes)
-  :request node to terminate;
-  :proceed to next node;
-endwhile (no)
-:broadcast control event (terminate);
-:unlock core;
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 
 @enduml
diff --git a/doc/activitydiagrams/core/urtCoreStopNodes.uml b/doc/activitydiagrams/core/urtCoreStopNodes.uml
index 9bd82a3..5d15f63 100644
--- a/doc/activitydiagrams/core/urtCoreStopNodes.uml
+++ b/doc/activitydiagrams/core/urtCoreStopNodes.uml
@@ -33,28 +33,42 @@ note
   For normal shutdown ""URT_STATUS_OK"" should be used.
   ====
   -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
+  Returns ""URT_STATUS_OK"" if there was no call with another reason than ""URT_STATUS_OK"" before.
+  If the function has been called before with a different reason, that reason is returned.
 endnote
 
 /'### PROCEDURE ##############################################################'/
 
 start
 :lock core;
-if (Current ""_status"" value is smaller than specified reason?) then (yes)
-  :set core's ""_status"" value to argument;
+if (Current core ""_status"" value is ""URT_STATUS_OK""?) then (yes)
+  if (Thread priority is lower than ""URT_THREAD_PRIO_HIGH_MAX""?) then (yes)
+    :boost thread priority to ""URT_THREAD_PRIO_HIGH_MAX"";
+  else (no)
+  endif
+  :set core's ""_status"" variable to argument;
+  :access first node in core's list of nodes;
+  while (Current node is not ""NULL""?) is (yes)
+    :request node to terminate;
+    :proceed to next node;
+  endwhile (no)
+  :broadcast control event (terminate);
+  :unlock core;
+  if (Thread boosted its priority?) then (yes)
+    :reset thread priority;
+  else (no)
+  endif
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
 else (no)
+  :unlock core;
+  stop
+  note
+    Returns the previously set ""_status"" value.
+  endnote
 endif
-:access first node in core's list of nodes;
-while (Current node is not ""NULL""?) is (yes)
-  :request node to terminate;
-  :proceed to next node;
-endwhile (no)
-:broadcast control event (terminate);
-:unlock core;
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 /'### OUTRO ##################################################################'/
 
diff --git a/doc/activitydiagrams/core/urtCoreSynchronizeNodes.svg b/doc/activitydiagrams/core/urtCoreSynchronizeNodes.svg
index e7da0b7..9660759 100644
--- a/doc/activitydiagrams/core/urtCoreSynchronizeNodes.svg
+++ b/doc/activitydiagrams/core/urtCoreSynchronizeNodes.svg
@@ -1,4 +1,4 @@
-<?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="968px" preserveAspectRatio="none" style="width:1007px;height:968px;" version="1.1" viewBox="0 0 1007 968" width="1007px" zoomAndPan="magnify"><defs><filter height="300%" id="fz5718sbngl5u" 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="458" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="246" x="379.5" y="47.6611">urtCoreSynchronizeNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="505.5" y="68.6143"/><path d="M188.75,72.8594 L188.75,213.9219 L983.75,213.9219 L983.75,82.8594 L973.75,72.8594 L188.75,72.8594 " fill="#FBFB77" filter="url(#fz5718sbngl5u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M973.75,72.8594 L973.75,82.8594 L983.75,82.8594 L973.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="188.75" x2="519.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="523.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="523.75" y="89.4263">node</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="564.75" y="89.4263">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="652.75" x2="983.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="211" x="194.75" y="105.0591">Pointer to a node to synchronize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="194.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="274.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="306.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="188.75" x2="983.75" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="188.75" x2="983.75" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="188.75" x2="515.25" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="519.25" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="519.25" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="568.25" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="657.25" x2="983.75" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="194.75" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="247.75" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="269" x="355.75" y="160.4575">if all nodes are synchronized and proceed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="194.75" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="247.75" y="175.5903">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="345" x="379.75" y="175.5903">if an exception occurred (faulty stage value detected).</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="183" x="194.75" y="190.7231">Returns a value greater than</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="381.75" y="190.7231">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="489.75" y="190.7231">but smaller than</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="598.75" y="190.7231">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="730.75" y="190.7231">if there are nodes left to synchronize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="611" x="194.75" y="205.856">In the latter case, the node thread must still wait for the control event (proceed) to synchronize.</text><ellipse cx="586.25" cy="243.9219" fill="#000000" filter="url(#fz5718sbngl5u)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="547.75" y="273.9219"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="557.75" y="295.0605">lock core</text><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="231" x="470.75" y="327.8906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="480.75" y="349.0293">increment the node's stage value</text><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="460.75" y="381.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="470.75" y="402.998">access first node core's list of nodes</text><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="508.25" y="493.1479"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="518.25" y="514.2866">proceed to next node</text><polygon fill="#FEFECE" filter="url(#fz5718sbngl5u)" points="447.25,435.8281,725.25,435.8281,737.25,448.6328,725.25,461.4375,447.25,461.4375,435.25,448.6328,447.25,435.8281" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="590.25" y="471.6479">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="111" x="447.25" y="446.0386">Current node is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="562.25" y="446.0386">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="447.25" y="458.8433">and stage of current node is equal to argument?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="421.25" y="446.0386">no</text><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="283" x="444.75" y="617.519"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="454.75" y="638.6577">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="238" x="479.75" y="638.6577">urtCoreStopNodes(URT_STATUS_ERROR)</text><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="539.75" y="671.4878"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="549.75" y="692.6265">unlock core</text><path d="M349.25,723.8901 L349.25,749.0229 A0,0 0 0 0 349.25,749.0229 L555.25,749.0229 A0,0 0 0 0 555.25,749.0229 L555.25,741.8901 L575.25,736.4565 L555.25,733.8901 L555.25,733.8901 L545.25,723.8901 L349.25,723.8901 A0,0 0 0 0 349.25,723.8901 " fill="#FBFB77" filter="url(#fz5718sbngl5u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M545.25,723.8901 L545.25,733.8901 L555.25,733.8901 L545.25,723.8901 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="355.25" y="740.957">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="408.25" y="740.957">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="536.25" y="740.957">.</text><ellipse cx="586.25" cy="736.4565" fill="#FFFFFF" filter="url(#fz5718sbngl5u)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="586.25" cy="736.4565" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fz5718sbngl5u)" points="364.25,569.1167,808.25,569.1167,820.25,581.1167,808.25,593.1167,364.25,593.1167,352.25,581.1167,364.25,569.1167" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="590.25" y="603.3271">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="364.25" y="584.9248">The stage of a node was equal to the argument or 1 less than the argument?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="820.25" y="578.5225">no</text><polygon fill="#FEFECE" filter="url(#fz5718sbngl5u)" points="461.75,791.0229,710.75,791.0229,722.75,803.0229,710.75,815.0229,461.75,815.0229,449.75,803.0229,461.75,791.0229" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="249" x="461.75" y="806.8311">Stages of all nodes are equal to argument?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="429.75" y="800.4287">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="722.75" y="800.4287">no</text><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="237" x="104.5" y="825.0229"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="217" x="114.5" y="846.1616">broadcast control event (proceed)</text><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="878.9917"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="900.1304">unlock core</text><path d="M10,931.394 L10,956.5269 A0,0 0 0 0 10,956.5269 L192,956.5269 A0,0 0 0 0 192,956.5269 L192,949.394 L212,943.9604 L192,941.394 L192,941.394 L182,931.394 L10,931.394 A0,0 0 0 0 10,931.394 " fill="#FBFB77" filter="url(#fz5718sbngl5u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,931.394 L182,941.394 L192,941.394 L182,931.394 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="948.4609">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="948.4609">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="948.4609">.</text><ellipse cx="223" cy="943.9604" fill="#FFFFFF" filter="url(#fz5718sbngl5u)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="943.9604" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fz5718sbngl5u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="903" y="825.0229"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="913" y="846.1616">unlock core</text><path d="M361.5,878.9917 L361.5,904.1245 A0,0 0 0 0 361.5,904.1245 L918.5,904.1245 A0,0 0 0 0 918.5,904.1245 L918.5,896.9917 L938.5,891.5581 L918.5,888.9917 L918.5,888.9917 L908.5,878.9917 L361.5,878.9917 A0,0 0 0 0 361.5,878.9917 " fill="#FBFB77" filter="url(#fz5718sbngl5u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M908.5,878.9917 L908.5,888.9917 L918.5,888.9917 L908.5,878.9917 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="183" x="367.5" y="896.0586">Returns a value greater than</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="554.5" y="896.0586">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="662.5" y="896.0586">but smaller than</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="771.5" y="896.0586">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="899.5" y="896.0586">.</text><ellipse cx="949.5" cy="891.5581" fill="#FFFFFF" filter="url(#fz5718sbngl5u)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="949.5" cy="891.5581" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="213.9219" y2="233.9219"/><polygon fill="#A80036" points="582.25,223.9219,586.25,233.9219,590.25,223.9219,586.25,227.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="253.9219" y2="273.9219"/><polygon fill="#A80036" points="582.25,263.9219,586.25,273.9219,590.25,263.9219,586.25,267.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="307.8906" y2="327.8906"/><polygon fill="#A80036" points="582.25,317.8906,586.25,327.8906,590.25,317.8906,586.25,321.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="361.8594" y2="381.8594"/><polygon fill="#A80036" points="582.25,371.8594,586.25,381.8594,590.25,371.8594,586.25,375.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="461.4375" y2="493.1479"/><polygon fill="#A80036" points="582.25,483.1479,586.25,493.1479,590.25,483.1479,586.25,487.1479" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="527.1167" y2="537.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="749.25" y1="537.1167" y2="537.1167"/><polygon fill="#A80036" points="745.25,501.3276,749.25,491.3276,753.25,501.3276,749.25,497.3276" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="749.25" x2="749.25" y1="448.6328" y2="537.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="749.25" x2="737.25" y1="448.6328" y2="448.6328"/><polygon fill="#A80036" points="747.25,444.6328,737.25,448.6328,747.25,452.6328,743.25,448.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="435.25" x2="423.25" y1="448.6328" y2="448.6328"/><polygon fill="#A80036" points="419.25,487.3276,423.25,497.3276,427.25,487.3276,423.25,491.3276" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="423.25" x2="423.25" y1="448.6328" y2="549.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="423.25" x2="586.25" y1="549.1167" y2="549.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="549.1167" y2="569.1167"/><polygon fill="#A80036" points="582.25,559.1167,586.25,569.1167,590.25,559.1167,586.25,563.1167" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="415.8281" y2="435.8281"/><polygon fill="#A80036" points="582.25,425.8281,586.25,435.8281,590.25,425.8281,586.25,429.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="651.4878" y2="671.4878"/><polygon fill="#A80036" points="582.25,661.4878,586.25,671.4878,590.25,661.4878,586.25,665.4878" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="705.4565" y2="725.4565"/><polygon fill="#A80036" points="582.25,715.4565,586.25,725.4565,590.25,715.4565,586.25,719.4565" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="593.1167" y2="617.519"/><polygon fill="#A80036" points="582.25,607.519,586.25,617.519,590.25,607.519,586.25,611.519" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="820.25" x2="832.25" y1="581.1167" y2="581.1167"/><polygon fill="#A80036" points="828.25,671.0542,832.25,681.0542,836.25,671.0542,832.25,675.0542" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="832.25" x2="832.25" y1="581.1167" y2="771.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="832.25" x2="586.25" y1="771.0229" y2="771.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.25" x2="586.25" y1="771.0229" y2="791.0229"/><polygon fill="#A80036" points="582.25,781.0229,586.25,791.0229,590.25,781.0229,586.25,785.0229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="858.9917" y2="878.9917"/><polygon fill="#A80036" points="219,868.9917,223,878.9917,227,868.9917,223,872.9917" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="912.9604" y2="932.9604"/><polygon fill="#A80036" points="219,922.9604,223,932.9604,227,922.9604,223,926.9604" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="949.5" y1="858.9917" y2="880.5581"/><polygon fill="#A80036" points="945.5,870.5581,949.5,880.5581,953.5,870.5581,949.5,874.5581" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="449.75" x2="223" y1="803.0229" y2="803.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="803.0229" y2="825.0229"/><polygon fill="#A80036" points="219,815.0229,223,825.0229,227,815.0229,223,819.0229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="722.75" x2="949.5" y1="803.0229" y2="803.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="949.5" y1="803.0229" y2="825.0229"/><polygon fill="#A80036" points="945.5,815.0229,949.5,825.0229,953.5,815.0229,949.5,819.0229" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6736767e544a542ba9ec8cfbdd65c55e]
+<?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="776px" preserveAspectRatio="none" style="width:1340px;height:776px;" version="1.1" viewBox="0 0 1340 776" width="1340px" zoomAndPan="magnify"><defs><filter height="300%" id="f1x4zz6pvjwbbn" 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="624.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="246" x="546" y="47.6611">urtCoreSynchronizeNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="672" y="68.6143"/><path d="M351.5,72.8594 L351.5,213.9219 L983.5,213.9219 L983.5,82.8594 L973.5,72.8594 L351.5,72.8594 " fill="#FBFB77" filter="url(#f1x4zz6pvjwbbn)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M973.5,72.8594 L973.5,82.8594 L983.5,82.8594 L973.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351.5" x2="601" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="605" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="605" y="89.4263">node</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="646" y="89.4263">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="734" x2="983.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="211" x="357.5" y="105.0591">Pointer to a node to synchronize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="357.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="437.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="469.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="351.5" x2="983.5" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351.5" x2="983.5" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="351.5" x2="596.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="600.5" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="600.5" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="649.5" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="738.5" x2="983.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="357.5" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="410.5" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="269" x="518.5" y="160.4575">if all nodes are synchronized and proceed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="357.5" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="410.5" y="175.5903">URT_STATUS_SYNC_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="345" x="582.5" y="175.5903">if an exception occurred (faulty stage value detected).</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="357.5" y="190.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="184" x="410.5" y="190.7231">URT_STATUS_SYNC_PENDING</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="598.5" y="190.7231">if there are nodes left to synchronize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="611" x="357.5" y="205.856">In the latter case, the node thread must still wait for the control event (proceed) to synchronize.</text><ellipse cx="667.5" cy="243.9219" fill="#000000" filter="url(#f1x4zz6pvjwbbn)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="629" y="273.9219"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="639" y="295.0605">lock core</text><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="231" x="552" y="327.8906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="562" y="349.0293">increment the node's stage value</text><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="542" y="381.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="552" y="402.998">access first node core's list of nodes</text><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="589.5" y="493.1479"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="599.5" y="514.2866">proceed to next node</text><polygon fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" points="528.5,435.8281,806.5,435.8281,818.5,448.6328,806.5,461.4375,528.5,461.4375,516.5,448.6328,528.5,435.8281" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="671.5" y="471.6479">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="111" x="528.5" y="446.0386">Current node is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="643.5" y="446.0386">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="528.5" y="458.8433">and stage of current node is equal to argument?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="502.5" y="446.0386">no</text><polygon fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" points="128,569.1167,318,569.1167,330,581.1167,318,593.1167,128,593.1167,116,581.1167,128,569.1167" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="603.3271">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="128" y="584.9248">All nodes are at the same stage?</text><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="237" x="104.5" y="625.9214"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="217" x="114.5" y="647.0601">broadcast control event (proceed)</text><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="683.2925"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="704.4312">unlock core</text><path d="M10,739.0972 L10,764.23 A0,0 0 0 0 10,764.23 L192,764.23 A0,0 0 0 0 192,764.23 L192,757.0972 L212,751.6636 L192,749.0972 L192,749.0972 L182,739.0972 L10,739.0972 A0,0 0 0 0 10,739.0972 " fill="#FBFB77" filter="url(#f1x4zz6pvjwbbn)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,739.0972 L182,749.0972 L192,749.0972 L182,739.0972 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="756.1641">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="756.1641">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="756.1641">.</text><ellipse cx="223" cy="751.6636" fill="#FFFFFF" filter="url(#f1x4zz6pvjwbbn)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="751.6636" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" points="464,569.1167,861,569.1167,873,581.1167,861,593.1167,464,593.1167,452,581.1167,464,569.1167" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="666.5" y="603.3271">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="397" x="464" y="584.9248">The stage of the last checked node was one less than the argument?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="873" y="578.5225">no</text><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="616" y="625.9214"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="626" y="647.0601">unlock core</text><path d="M357.5,683.2925 L357.5,708.4253 A0,0 0 0 0 357.5,708.4253 L631.5,708.4253 A0,0 0 0 0 631.5,708.4253 L631.5,701.2925 L651.5,695.8589 L631.5,693.2925 L631.5,693.2925 L621.5,683.2925 L357.5,683.2925 A0,0 0 0 0 357.5,683.2925 " fill="#FBFB77" filter="url(#f1x4zz6pvjwbbn)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M621.5,683.2925 L621.5,693.2925 L631.5,693.2925 L621.5,683.2925 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="363.5" y="700.3594">Returns a</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="184" x="428.5" y="700.3594">URT_STATUS_SYNC_PENDING</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="612.5" y="700.3594">.</text><ellipse cx="662.5" cy="695.8589" fill="#FFFFFF" filter="url(#f1x4zz6pvjwbbn)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="662.5" cy="695.8589" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="318" x="1011" y="622.519"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="1021" y="643.6577">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="273" x="1046" y="643.6577">urtCoreStopNodes(URT_STATUS_SYNC_ERROR)</text><rect fill="#FEFECE" filter="url(#f1x4zz6pvjwbbn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="1123.5" y="679.8901"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1133.5" y="701.0288">unlock core</text><path d="M893,735.6948 L893,760.8276 A0,0 0 0 0 893,760.8276 L1139,760.8276 A0,0 0 0 0 1139,760.8276 L1139,753.6948 L1159,748.2612 L1139,745.6948 L1139,745.6948 L1129,735.6948 L893,735.6948 A0,0 0 0 0 893,735.6948 " fill="#FBFB77" filter="url(#f1x4zz6pvjwbbn)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1129,735.6948 L1129,745.6948 L1139,745.6948 L1129,735.6948 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="899" y="752.7617">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="952" y="752.7617">URT_STATUS_SYNC_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1120" y="752.7617">.</text><ellipse cx="1170" cy="748.2612" fill="#FFFFFF" filter="url(#f1x4zz6pvjwbbn)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1170" cy="748.2612" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="213.9219" y2="233.9219"/><polygon fill="#A80036" points="663.5,223.9219,667.5,233.9219,671.5,223.9219,667.5,227.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="253.9219" y2="273.9219"/><polygon fill="#A80036" points="663.5,263.9219,667.5,273.9219,671.5,263.9219,667.5,267.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="307.8906" y2="327.8906"/><polygon fill="#A80036" points="663.5,317.8906,667.5,327.8906,671.5,317.8906,667.5,321.8906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="361.8594" y2="381.8594"/><polygon fill="#A80036" points="663.5,371.8594,667.5,381.8594,671.5,371.8594,667.5,375.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="461.4375" y2="493.1479"/><polygon fill="#A80036" points="663.5,483.1479,667.5,493.1479,671.5,483.1479,667.5,487.1479" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="527.1167" y2="537.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="830.5" y1="537.1167" y2="537.1167"/><polygon fill="#A80036" points="826.5,501.3276,830.5,491.3276,834.5,501.3276,830.5,497.3276" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.5" x2="830.5" y1="448.6328" y2="537.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.5" x2="818.5" y1="448.6328" y2="448.6328"/><polygon fill="#A80036" points="828.5,444.6328,818.5,448.6328,828.5,452.6328,824.5,448.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="516.5" x2="504.5" y1="448.6328" y2="448.6328"/><polygon fill="#A80036" points="500.5,487.3276,504.5,497.3276,508.5,487.3276,504.5,491.3276" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="504.5" x2="504.5" y1="448.6328" y2="549.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="504.5" x2="667.5" y1="549.1167" y2="549.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="549.1167" y2="554.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="667.5" y1="415.8281" y2="435.8281"/><polygon fill="#A80036" points="663.5,425.8281,667.5,435.8281,671.5,425.8281,667.5,429.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="659.8901" y2="683.2925"/><polygon fill="#A80036" points="219,673.2925,223,683.2925,227,673.2925,223,677.2925" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="717.2612" y2="740.6636"/><polygon fill="#A80036" points="219,730.6636,223,740.6636,227,730.6636,223,734.6636" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="662.5" x2="662.5" y1="659.8901" y2="684.8589"/><polygon fill="#A80036" points="658.5,674.8589,662.5,684.8589,666.5,674.8589,662.5,678.8589" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1170" x2="1170" y1="656.4878" y2="679.8901"/><polygon fill="#A80036" points="1166,669.8901,1170,679.8901,1174,669.8901,1170,673.8901" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1170" x2="1170" y1="713.8589" y2="737.2612"/><polygon fill="#A80036" points="1166,727.2612,1170,737.2612,1174,727.2612,1170,731.2612" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="593.1167" y2="625.9214"/><polygon fill="#A80036" points="219,615.9214,223,625.9214,227,615.9214,223,619.9214" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="662.5" x2="662.5" y1="593.1167" y2="625.9214"/><polygon fill="#A80036" points="658.5,615.9214,662.5,625.9214,666.5,615.9214,662.5,619.9214" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="330" x2="452" y1="581.1167" y2="581.1167"/><polygon fill="#A80036" points="442,577.1167,452,581.1167,442,585.1167,446,581.1167" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="667.5" x2="223" y1="554.1167" y2="554.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="554.1167" y2="569.1167"/><polygon fill="#A80036" points="219,559.1167,223,569.1167,227,559.1167,223,563.1167" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="873" x2="1170" y1="581.1167" y2="581.1167"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1170" x2="1170" y1="581.1167" y2="622.519"/><polygon fill="#A80036" points="1166,612.519,1170,622.519,1174,612.519,1170,616.519" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7f69c8272874c8fbc6ababb0005e1f1b]
 @startuml
 
 title **µRtWare**\nurtCoreSynchronizeNodes()\n
@@ -11,8 +11,8 @@ note
   ====
   - - **return** : urt_status_t - -
   Returns ""URT_STATUS_OK"" if all nodes are synchronized and proceed.
-  Returns ""URT_STATUS_ERROR"" if an exception occurred (faulty stage value detected).
-  Returns a value greater than ""URT_STATUS_OK"" but smaller than ""URT_STATUS_ERROR"" if there are nodes left to synchronize.
+  Returns ""URT_STATUS_SYNC_ERROR"" if an exception occurred (faulty stage value detected).
+  Returns ""URT_STATUS_SYNC_PENDING"" if there are nodes left to synchronize.
   In the latter case, the node thread must still wait for the control event (proceed) to synchronize.
 endnote
 
@@ -24,27 +24,25 @@ start
 while (Current node is not ""NULL""\nand stage of current node is equal to argument?) is (yes)
   :proceed to next node;
 endwhile (no)
-if (The stage of a node was equal to the argument or 1 less than the argument?) then (yes)
-  :call ""urtCoreStopNodes(URT_STATUS_ERROR)"";
+if (All nodes are at the same stage?) then (yes)
+  :broadcast control event (proceed);
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_ERROR"".
+    Returns ""URT_STATUS_OK"".
   endnote
-else (no)
-endif
-if (Stages of all nodes are equal to argument?) then (yes)
-  :broadcast control event (proceed);
+elseif (The stage of the last checked node was one less than the argument?) then (yes)
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_OK"".
+    Returns a ""URT_STATUS_SYNC_PENDING"".
   endnote
 else (no)
+  :call ""urtCoreStopNodes(URT_STATUS_SYNC_ERROR)"";
   :unlock core;
   stop
   note
-    Returns a value greater than ""URT_STATUS_OK"" but smaller than ""URT_STATUS_ERROR"".
+    Returns ""URT_STATUS_SYNC_ERROR"".
   endnote
 endif
 
diff --git a/doc/activitydiagrams/core/urtCoreSynchronizeNodes.uml b/doc/activitydiagrams/core/urtCoreSynchronizeNodes.uml
index bb4c397..1097d78 100644
--- a/doc/activitydiagrams/core/urtCoreSynchronizeNodes.uml
+++ b/doc/activitydiagrams/core/urtCoreSynchronizeNodes.uml
@@ -34,8 +34,8 @@ note
   ====
   -- **return** : urt_status_t --
   Returns ""URT_STATUS_OK"" if all nodes are synchronized and proceed.
-  Returns ""URT_STATUS_ERROR"" if an exception occurred (faulty stage value detected).
-  Returns a value greater than ""URT_STATUS_OK"" but smaller than ""URT_STATUS_ERROR"" if there are nodes left to synchronize.
+  Returns ""URT_STATUS_SYNC_ERROR"" if an exception occurred (faulty stage value detected).
+  Returns ""URT_STATUS_SYNC_PENDING"" if there are nodes left to synchronize.
   In the latter case, the node thread must still wait for the control event (proceed) to synchronize.
 endnote
 
@@ -48,27 +48,25 @@ start
 while (Current node is not ""NULL""\nand stage of current node is equal to argument?) is (yes)
   :proceed to next node;
 endwhile (no)
-if (The stage of a node was equal to the argument or 1 less than the argument?) then (yes)
-  :call ""urtCoreStopNodes(URT_STATUS_ERROR)"";
+if (All nodes are at the same stage?) then (yes)
+  :broadcast control event (proceed);
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_ERROR"".
+    Returns ""URT_STATUS_OK"".
   endnote
-else (no)
-endif
-if (Stages of all nodes are equal to argument?) then (yes)
-  :broadcast control event (proceed);
+elseif (The stage of the last checked node was one less than the argument?) then (yes)
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_OK"".
+    Returns a ""URT_STATUS_SYNC_PENDING"".
   endnote
 else (no)
+  :call ""urtCoreStopNodes(URT_STATUS_SYNC_ERROR)"";
   :unlock core;
   stop
   note
-    Returns a value greater than ""URT_STATUS_OK"" but smaller than ""URT_STATUS_ERROR"".
+    Returns ""URT_STATUS_SYNC_ERROR"".
   endnote
 endif
 
diff --git a/doc/activitydiagrams/functions.iuml b/doc/activitydiagrams/functions.iuml
index 99c7563..75ed3fb 100644
--- a/doc/activitydiagrams/functions.iuml
+++ b/doc/activitydiagrams/functions.iuml
@@ -23,9 +23,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 !function $contribute_messages()
   partition "contribute messages" {
     fork
-      :set next pointer of topic's latest message to first message to contribute;
+      :set ""next"" pointer of last message to contribute to the message after the topic's latest message;
     fork again
-      :set next pointer of last message to contribute to the message after the topic's latest message;
+      :set ""next"" pointer of topic's latest message to first message to contribute;
     endfork
   }
 !endfunction
diff --git a/doc/activitydiagrams/message/urtMessageInit.svg b/doc/activitydiagrams/message/urtMessageInit.svg
index 2d04402..877b796 100644
--- a/doc/activitydiagrams/message/urtMessageInit.svg
+++ b/doc/activitydiagrams/message/urtMessageInit.svg
@@ -1,4 +1,4 @@
-<?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="405px" preserveAspectRatio="none" style="width:536px;height:405px;" version="1.1" viewBox="0 0 536 405" width="536px" zoomAndPan="magnify"><defs><filter height="300%" id="fawtppr2uev6i" 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="222.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="144" x="195.25" y="47.6611">urtMessageInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="270.25" y="68.6143"/><path d="M222.5,72.8594 L222.5,198.7891 L524.5,198.7891 L524.5,82.8594 L514.5,72.8594 L222.5,72.8594 " fill="#FBFB77" filter="url(#fawtppr2uev6i)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M514.5,72.8594 L514.5,82.8594 L524.5,82.8594 L514.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="278.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="282.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="282.5" y="89.4263">message</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="353.5" y="89.4263">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="468.5" x2="524.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="228.5" y="105.0591">The message to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="228.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="308.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="340.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="317.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="321.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="321.5" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="384.5" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="429.5" x2="524.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="228.5" y="150.4575">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="278.5" y="150.4575">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="314.5" y="150.4575">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="524.5" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="524.5" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="302.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="306.5" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="306.5" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="355.5" y="175.0903">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="444.5" x2="524.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="228.5" y="190.7231">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="325.5" y="190.7231">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="429.5" y="190.7231">.</text><ellipse cx="373.5" cy="228.7891" fill="#000000" filter="url(#fawtppr2uev6i)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,248.7891 L10,349.5859 A0,0 0 0 0 10,349.5859 L288,349.5859 A0,0 0 0 0 288,349.5859 L288,303.1875 L308,299.1875 L288,295.1875 L288,258.7891 L278,248.7891 L10,248.7891 A0,0 0 0 0 10,248.7891 " fill="#FBFB77" filter="url(#fawtppr2uev6i)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,248.7891 L278,258.7891 L288,258.7891 L278,248.7891 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="16" y="265.856">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="52" y="265.856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="67" y="265.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="16" y="280.9888">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="65" x="79" y="280.9888">← payload</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="16" y="296.1216">originTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="97" y="296.1216">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="176" x="16" y="311.2544">numHrtConsumbersLeft</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="196" y="311.2544">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="321.8867" y2="321.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="325.8872">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="321.8867" y2="321.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="143" x="16" y="341.52">numConsumersLeft</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="163" y="341.52">← 0</text><rect fill="#FEFECE" filter="url(#fawtppr2uev6i)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="308" y="282.2031"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="318" y="303.3418">initialize members</text><path d="M160.5,368.0195 L160.5,393.1523 A0,0 0 0 0 160.5,393.1523 L342.5,393.1523 A0,0 0 0 0 342.5,393.1523 L342.5,386.0195 L362.5,380.5859 L342.5,378.0195 L342.5,378.0195 L332.5,368.0195 L160.5,368.0195 A0,0 0 0 0 160.5,368.0195 " fill="#FBFB77" filter="url(#fawtppr2uev6i)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M332.5,368.0195 L332.5,378.0195 L342.5,378.0195 L332.5,368.0195 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="166.5" y="385.0864">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="219.5" y="385.0864">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="323.5" y="385.0864">.</text><ellipse cx="373.5" cy="380.5859" fill="#FFFFFF" filter="url(#fawtppr2uev6i)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="373.5" cy="380.5859" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="198.7891" y2="218.7891"/><polygon fill="#A80036" points="369.5,208.7891,373.5,218.7891,377.5,208.7891,373.5,212.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="238.7891" y2="282.2031"/><polygon fill="#A80036" points="369.5,272.2031,373.5,282.2031,377.5,272.2031,373.5,276.2031" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="316.1719" y2="369.5859"/><polygon fill="#A80036" points="369.5,359.5859,373.5,369.5859,377.5,359.5859,373.5,363.5859" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[42dceccd0ec0bb4e33e54645d4db1fb5]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="387px" preserveAspectRatio="none" style="width:536px;height:387px;" version="1.1" viewBox="0 0 536 387" width="536px" zoomAndPan="magnify"><defs><filter height="300%" id="f10ynr553pczer" 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="222.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="144" x="195.25" y="47.6611">urtMessageInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="270.25" y="68.6143"/><path d="M222.5,72.8594 L222.5,183.6563 L524.5,183.6563 L524.5,82.8594 L514.5,72.8594 L222.5,72.8594 " fill="#FBFB77" filter="url(#f10ynr553pczer)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M514.5,72.8594 L514.5,82.8594 L524.5,82.8594 L514.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="278.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="282.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="282.5" y="89.4263">message</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="353.5" y="89.4263">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="468.5" x2="524.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="228.5" y="105.0591">The message to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="228.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="308.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="340.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="317.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="321.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="321.5" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="384.5" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="429.5" x2="524.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="228.5" y="150.4575">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="278.5" y="150.4575">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="314.5" y="150.4575">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="524.5" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="524.5" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="222.5" x2="328" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="332" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="332" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="381" y="175.0903">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="419" x2="524.5" y1="171.0898" y2="171.0898"/><ellipse cx="373.5" cy="213.6563" fill="#000000" filter="url(#f10ynr553pczer)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,233.6563 L10,334.4531 A0,0 0 0 0 10,334.4531 L288,334.4531 A0,0 0 0 0 288,334.4531 L288,288.0547 L308,284.0547 L288,280.0547 L288,243.6563 L278,233.6563 L10,233.6563 A0,0 0 0 0 10,233.6563 " fill="#FBFB77" filter="url(#f10ynr553pczer)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,233.6563 L278,243.6563 L288,243.6563 L278,233.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="21.5" cy="246.2891" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="27" y="250.7231">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="63" y="250.7231">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="78" y="250.7231">NULL</text><ellipse cx="21.5" cy="261.4219" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="27" y="265.856">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="65" x="90" y="265.856">← payload</text><ellipse cx="21.5" cy="276.5547" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="27" y="280.9888">originTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="280.9888">← 0</text><ellipse cx="21.5" cy="291.6875" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="176" x="27" y="296.1216">numHrtConsumbersLeft</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="207" y="296.1216">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="306.7539" y2="306.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="310.7544">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="306.7539" y2="306.7539"/><ellipse cx="21.5" cy="321.9531" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="143" x="27" y="326.3872">numConsumersLeft</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="174" y="326.3872">← 0</text><rect fill="#FEFECE" filter="url(#f10ynr553pczer)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="308" y="267.0703"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="318" y="288.209">initialize members</text><ellipse cx="373.5" cy="365.4531" fill="#FFFFFF" filter="url(#f10ynr553pczer)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="373.5" cy="365.4531" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="369.5,193.6563,373.5,203.6563,377.5,193.6563,373.5,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="223.6563" y2="267.0703"/><polygon fill="#A80036" points="369.5,257.0703,373.5,267.0703,377.5,257.0703,373.5,261.0703" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="301.0391" y2="354.4531"/><polygon fill="#A80036" points="369.5,344.4531,373.5,354.4531,377.5,344.4531,373.5,348.4531" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[59692c2c9e919e4928bd7a2679772350]
 @startuml
 
 title **µRtWare**\nurtMessageInit()\n
@@ -11,25 +11,21 @@ note
   - - **payload** : void* - -
   May be ""NULL"" for messages without payload.
   ====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
+  - - **return** : void - -
 endnote
 
 
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **payload** ← payload
-  **originTime** ← 0
-  **numHrtConsumbersLeft** ← 0
+  * **next** ← ""NULL""
+  * **payload** ← payload
+  * **originTime** ← 0
+  * **numHrtConsumbersLeft** ← 0
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  **numConsumersLeft** ← 0
+  * **numConsumersLeft** ← 0
 endnote
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 
 @enduml
diff --git a/doc/activitydiagrams/message/urtMessageInit.uml b/doc/activitydiagrams/message/urtMessageInit.uml
index 4a10279..0865f2b 100644
--- a/doc/activitydiagrams/message/urtMessageInit.uml
+++ b/doc/activitydiagrams/message/urtMessageInit.uml
@@ -34,8 +34,7 @@ note
   -- **payload** : void* --
   May be ""NULL"" for messages without payload.
   ====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
+  -- **return** : void --
 endnote
 
 /'### PROCEDURE ##############################################################'/
@@ -43,17 +42,14 @@ endnote
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **payload** ← payload
-  **originTime** ← 0
-  **numHrtConsumbersLeft** ← 0
+  * **next** ← ""NULL""
+  * **payload** ← payload
+  * **originTime** ← 0
+  * **numHrtConsumbersLeft** ← 0
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  **numConsumersLeft** ← 0
+  * **numConsumersLeft** ← 0
 endnote
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 /'### OUTRO ##################################################################'/
 
diff --git a/doc/activitydiagrams/node/_main.svg b/doc/activitydiagrams/node/_main.svg
index dfb3b92..8b13a4a 100644
--- a/doc/activitydiagrams/node/_main.svg
+++ b/doc/activitydiagrams/node/_main.svg
@@ -1,4 +1,4 @@
-<?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="1630px" preserveAspectRatio="none" style="width:821px;height:1630px;" version="1.1" viewBox="0 0 821 1630" width="821px" zoomAndPan="magnify"><defs><filter height="300%" id="f18z385qfrf5hk" 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="365" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="66" x="376.5" y="47.6611">_main()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="412.5" y="68.6143"/><path d="M219,72.8594 L219,153.3906 L761,153.3906 L761,82.8594 L751,72.8594 L219,72.8594 " fill="#FBFB77" filter="url(#f18z385qfrf5hk)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M751,72.8594 L751,82.8594 L761,82.8594 L751,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="219" x2="451" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="455" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="25" x="455" y="89.4263">arg</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="484" y="89.4263">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="529" x2="761" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="332" x="225" y="105.0591">Optional Argument to the thread main function (see</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="561" y="105.0591">urt_osThreadFunction_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="9" x="737" y="105.0591">).</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="239" x="225" y="120.1919">This functions expects no arguments.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="219" x2="761" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="219" x2="761" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="219" x2="444.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="448.5" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="448.5" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="497.5" y="144.8247">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="535.5" x2="761" y1="140.8242" y2="140.8242"/><ellipse cx="490" cy="183.3906" fill="#000000" filter="url(#f18z385qfrf5hk)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f18z385qfrf5hk)" height="600.9141" style="stroke: #000000; stroke-width: 2.0;" width="800" x="10" y="204.1924"/><path d="M60,205.1924 L60,213.4893 L50,223.4893 L10,223.4893 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="40" x="13" y="218.1875">setup</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="411.5" y="240.4893"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="421.5" y="261.6279">register to core event</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="402,294.458,578,294.458,590,306.458,578,318.458,402,318.458,390,306.458,402,294.458" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="402" y="310.2661">Node's</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="445" y="310.2661">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="540" y="310.2661">is set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="370" y="303.8638">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="590" y="303.8638">no</text><path d="M30,332.876 L30,358.0088 A0,0 0 0 0 30,358.0088 L201,358.0088 A0,0 0 0 0 201,358.0088 L201,350.876 L221,345.4424 L201,342.876 L201,342.876 L191,332.876 L30,332.876 A0,0 0 0 0 30,332.876 " fill="#FBFB77" filter="url(#f18z385qfrf5hk)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M191,332.876 L191,342.876 L201,342.876 L191,332.876 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="36" y="349.9429">Callback must not loop.</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="221" y="328.458"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="231" y="349.5967">execute</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="105" x="285" y="349.5967">setupcallback()</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="283" x="169" y="430.8291"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="179" y="451.9678">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="238" x="204" y="451.9678">urtCoreStopNodes(URT_STATUS_ERROR)</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="124,382.4268,497,382.4268,509,394.4268,497,406.4268,124,406.4268,112,394.4268,124,382.4268" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="314.5" y="416.6372">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="124" y="398.2349">Event mask returned by</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="264" y="398.2349">setupcallback()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="373" y="398.2349">redefines core event?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="509" y="391.8325">no</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="310.5,484.7979,322.5,496.7979,310.5,508.7979,298.5,496.7979,310.5,484.7979" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="541" y="328.458"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="551" y="349.5967">act as if</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="605" y="349.5967">stupcallback</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="693" y="349.5967">returned 0xF..F</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="490,514.7979,502,526.7979,490,538.7979,478,526.7979,490,514.7979" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="361" y="607.2002"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="238" x="371" y="628.3389">suspend all child threads (recursively)</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="341" x="319.5" y="661.1689"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="329.5" y="682.3076">synchronize by calling</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="182" x="468.5" y="682.3076">urtCoreSynchronizeNodes(1)</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="364.5" y="715.1377"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="374.5" y="736.2764">resume all child threads (recursively)</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="399,558.7979,581,558.7979,593,570.7979,581,582.7979,399,582.7979,387,570.7979,399,558.7979" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="494" y="593.0083">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="81" x="399" y="574.606">Core status is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="484" y="574.606">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="575" y="574.606">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="593" y="568.2036">no</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="490,769.1064,502,781.1064,490,793.1064,478,781.1064,490,769.1064" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FFFFFF" filter="url(#f18z385qfrf5hk)" height="467.7183" style="stroke: #000000; stroke-width: 2.0;" width="581" x="169" y="815.9082"/><path d="M209,816.9082 L209,825.2051 L199,835.2051 L169,835.2051 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="172" y="829.9033">loop</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="240" x="370" y="907.9155"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="380" y="929.0542">Wait for a specified or a core event</text><path d="M213,1014.7046 L213,1039.8374 A0,0 0 0 0 213,1039.8374 L384,1039.8374 A0,0 0 0 0 384,1039.8374 L384,1032.7046 L404,1027.271 L384,1024.7046 L384,1024.7046 L374,1014.7046 L213,1014.7046 A0,0 0 0 0 213,1014.7046 " fill="#FBFB77" filter="url(#f18z385qfrf5hk)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M374,1014.7046 L374,1024.7046 L384,1024.7046 L374,1014.7046 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="219" y="1031.7715">Callback must not loop.</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="172" x="404" y="1010.2866"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="414" y="1031.4253">execute</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="468" y="1031.4253">loopcallback()</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="283" x="348.5" y="1127.6577"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="358.5" y="1148.7964">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="238" x="383.5" y="1148.7964">urtCoreStopNodes(URT_STATUS_ERROR)</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="307,1079.2554,673,1079.2554,685,1091.2554,673,1103.2554,307,1103.2554,295,1091.2554,307,1079.2554" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="494" y="1113.4658">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="307" y="1095.0635">Event mask returned by</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="447" y="1095.0635">loopcallback()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="549" y="1095.0635">redefines core event?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="685" y="1088.6611">no</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="490,1181.6265,502,1193.6265,490,1205.6265,478,1193.6265,490,1181.6265" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="430,961.8843,550,961.8843,562,973.8843,550,985.8843,430,985.8843,418,973.8843,430,961.8843" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="494" y="996.0947">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="430" y="977.6924">Core event received?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="562" y="971.29">yes</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="490,1225.6265,502,1237.6265,490,1249.6265,478,1237.6265,490,1225.6265" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="401.5,852.2051,578.5,852.2051,590.5,864.2051,578.5,876.2051,401.5,876.2051,389.5,864.2051,401.5,852.2051" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="494" y="886.4155">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="177" x="401.5" y="868.0132">Thread termination requested?</text><rect fill="#FFFFFF" filter="url(#f18z385qfrf5hk)" height="282.6055" style="stroke: #000000; stroke-width: 2.0;" width="451" x="270.5" y="1294.4282"/><path d="M317.5,1295.4282 L317.5,1303.7251 L307.5,1313.7251 L270.5,1313.7251 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="37" x="273.5" y="1308.4233">outro</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="399" x="290.5" y="1379.1274"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="300.5" y="1400.2661">execute</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="354.5" y="1400.2661">shutdowncallback()</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="484.5" y="1400.2661">with core's status as argument</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="391.5,1330.7251,588.5,1330.7251,600.5,1342.7251,588.5,1354.7251,391.5,1354.7251,379.5,1342.7251,391.5,1330.7251" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="494" y="1364.9355">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="391.5" y="1346.5332">Node's</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="434.5" y="1346.5332">shutdowncallback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="550.5" y="1346.5332">is set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="600.5" y="1340.1309">no</text><polygon fill="#FEFECE" filter="url(#f18z385qfrf5hk)" points="490,1433.0962,502,1445.0962,490,1457.0962,478,1445.0962,490,1433.0962" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="396" y="1477.0962"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="406" y="1498.2349">unregister from core event</text><rect fill="#FEFECE" filter="url(#f18z385qfrf5hk)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="305" x="337.5" y="1531.0649"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="285" x="347.5" y="1552.2036">terminate node thread (and all child threads)</text><ellipse cx="490" cy="1608.0337" fill="#FFFFFF" filter="url(#f18z385qfrf5hk)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="490" cy="1608.0337" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="486,163.3906,490,173.3906,494,163.3906,490,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="406.4268" y2="430.8291"/><polygon fill="#A80036" points="306.5,420.8291,310.5,430.8291,314.5,420.8291,310.5,424.8291" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="509" x2="521" y1="394.4268" y2="394.4268"/><polygon fill="#A80036" points="517,437.8135,521,447.8135,525,437.8135,521,441.8135" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="521" x2="521" y1="394.4268" y2="496.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="521" x2="322.5" y1="496.7979" y2="496.7979"/><polygon fill="#A80036" points="332.5,492.7979,322.5,496.7979,332.5,500.7979,328.5,496.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="464.7979" y2="484.7979"/><polygon fill="#A80036" points="306.5,474.7979,310.5,484.7979,314.5,474.7979,310.5,478.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="362.4268" y2="382.4268"/><polygon fill="#A80036" points="306.5,372.4268,310.5,382.4268,314.5,372.4268,310.5,376.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="390" x2="310.5" y1="306.458" y2="306.458"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="306.458" y2="328.458"/><polygon fill="#A80036" points="306.5,318.458,310.5,328.458,314.5,318.458,310.5,322.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="590" x2="669.5" y1="306.458" y2="306.458"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="669.5" x2="669.5" y1="306.458" y2="328.458"/><polygon fill="#A80036" points="665.5,318.458,669.5,328.458,673.5,318.458,669.5,322.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="508.7979" y2="526.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="478" y1="526.7979" y2="526.7979"/><polygon fill="#A80036" points="468,522.7979,478,526.7979,468,530.7979,472,526.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="669.5" x2="669.5" y1="362.4268" y2="526.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="669.5" x2="502" y1="526.7979" y2="526.7979"/><polygon fill="#A80036" points="512,522.7979,502,526.7979,512,530.7979,508,526.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="274.458" y2="294.458"/><polygon fill="#A80036" points="486,284.458,490,294.458,494,284.458,490,288.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="641.1689" y2="661.1689"/><polygon fill="#A80036" points="486,651.1689,490,661.1689,494,651.1689,490,655.1689" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="695.1377" y2="715.1377"/><polygon fill="#A80036" points="486,705.1377,490,715.1377,494,705.1377,490,709.1377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="582.7979" y2="607.2002"/><polygon fill="#A80036" points="486,597.2002,490,607.2002,494,597.2002,490,601.2002" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="593" x2="670.5" y1="570.7979" y2="570.7979"/><polygon fill="#A80036" points="666.5,668.1533,670.5,678.1533,674.5,668.1533,670.5,672.1533" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="670.5" x2="670.5" y1="570.7979" y2="781.1064"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="670.5" x2="502" y1="781.1064" y2="781.1064"/><polygon fill="#A80036" points="512,777.1064,502,781.1064,512,785.1064,508,781.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="749.1064" y2="769.1064"/><polygon fill="#A80036" points="486,759.1064,490,769.1064,494,759.1064,490,763.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="538.7979" y2="558.7979"/><polygon fill="#A80036" points="486,548.7979,490,558.7979,494,548.7979,490,552.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="193.3906" y2="240.4893"/><polygon fill="#A80036" points="486,230.4893,490,240.4893,494,230.4893,490,234.4893" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1103.2554" y2="1127.6577"/><polygon fill="#A80036" points="486,1117.6577,490,1127.6577,494,1117.6577,490,1121.6577" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="685" x2="697" y1="1091.2554" y2="1091.2554"/><polygon fill="#A80036" points="693,1134.6421,697,1144.6421,701,1134.6421,697,1138.6421" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697" x2="697" y1="1091.2554" y2="1193.6265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697" x2="502" y1="1193.6265" y2="1193.6265"/><polygon fill="#A80036" points="512,1189.6265,502,1193.6265,512,1197.6265,508,1193.6265" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1161.6265" y2="1181.6265"/><polygon fill="#A80036" points="486,1171.6265,490,1181.6265,494,1171.6265,490,1175.6265" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1044.2554" y2="1079.2554"/><polygon fill="#A80036" points="486,1069.2554,490,1079.2554,494,1069.2554,490,1073.2554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="985.8843" y2="1010.2866"/><polygon fill="#A80036" points="486,1000.2866,490,1010.2866,494,1000.2866,490,1004.2866" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="562" x2="707" y1="973.8843" y2="973.8843"/><polygon fill="#A80036" points="703,1100.1577,707,1110.1577,711,1100.1577,707,1104.1577" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="707" x2="707" y1="973.8843" y2="1237.6265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="707" x2="502" y1="1237.6265" y2="1237.6265"/><polygon fill="#A80036" points="512,1233.6265,502,1237.6265,512,1241.6265,508,1237.6265" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1205.6265" y2="1225.6265"/><polygon fill="#A80036" points="486,1215.6265,490,1225.6265,494,1215.6265,490,1219.6265" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="941.8843" y2="961.8843"/><polygon fill="#A80036" points="486,951.8843,490,961.8843,494,951.8843,490,955.8843" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="876.2051" y2="907.9155"/><polygon fill="#A80036" points="486,897.9155,490,907.9155,494,897.9155,490,901.9155" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1249.6265" y2="1259.6265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="731" y1="1259.6265" y2="1259.6265"/><polygon fill="#A80036" points="727,1067.271,731,1057.271,735,1067.271,731,1063.271" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="731" x2="731" y1="864.2051" y2="1259.6265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="731" x2="590.5" y1="864.2051" y2="864.2051"/><polygon fill="#A80036" points="600.5,860.2051,590.5,864.2051,600.5,868.2051,596.5,864.2051" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="389.5" x2="191" y1="864.2051" y2="864.2051"/><polygon fill="#A80036" points="187,1053.271,191,1063.271,195,1053.271,191,1057.271" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="191" x2="191" y1="864.2051" y2="1271.6265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="191" x2="490" y1="1271.6265" y2="1271.6265"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1271.6265" y2="1330.7251"/><polygon fill="#A80036" points="486,1320.7251,490,1330.7251,494,1320.7251,490,1324.7251" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="793.1064" y2="852.2051"/><polygon fill="#A80036" points="486,842.2051,490,852.2051,494,842.2051,490,846.2051" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1354.7251" y2="1379.1274"/><polygon fill="#A80036" points="486,1369.1274,490,1379.1274,494,1369.1274,490,1373.1274" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="600.5" x2="699.5" y1="1342.7251" y2="1342.7251"/><polygon fill="#A80036" points="695.5,1386.1118,699.5,1396.1118,703.5,1386.1118,699.5,1390.1118" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="699.5" x2="699.5" y1="1342.7251" y2="1445.0962"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="699.5" x2="502" y1="1445.0962" y2="1445.0962"/><polygon fill="#A80036" points="512,1441.0962,502,1445.0962,512,1449.0962,508,1445.0962" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1413.0962" y2="1433.0962"/><polygon fill="#A80036" points="486,1423.0962,490,1433.0962,494,1423.0962,490,1427.0962" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1457.0962" y2="1477.0962"/><polygon fill="#A80036" points="486,1467.0962,490,1477.0962,494,1467.0962,490,1471.0962" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1511.0649" y2="1531.0649"/><polygon fill="#A80036" points="486,1521.0649,490,1531.0649,494,1521.0649,490,1525.0649" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="490" x2="490" y1="1565.0337" y2="1597.0337"/><polygon fill="#A80036" points="486,1587.0337,490,1597.0337,494,1587.0337,490,1591.0337" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[76359ecbe44076e6df4d6c6175398633]
+<?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="1693px" preserveAspectRatio="none" style="width:828px;height:1693px;" version="1.1" viewBox="0 0 828 1693" width="828px" zoomAndPan="magnify"><defs><filter height="300%" id="f1p8hd1hubp91s" 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="368.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="66" x="380" y="47.6611">_main()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="416" y="68.6143"/><path d="M220.75,72.8594 L220.75,153.3906 L762.75,153.3906 L762.75,82.8594 L752.75,72.8594 L220.75,72.8594 " fill="#FBFB77" filter="url(#f1p8hd1hubp91s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M752.75,72.8594 L752.75,82.8594 L762.75,82.8594 L752.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220.75" x2="452.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="456.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="25" x="456.75" y="89.4263">arg</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="485.75" y="89.4263">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="530.75" x2="762.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="332" x="226.75" y="105.0591">Optional Argument to the thread main function (see</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="562.75" y="105.0591">urt_osThreadFunction_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="9" x="738.75" y="105.0591">).</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="226.75" y="120.1919">This function expects</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="364.75" y="120.1919">arg</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="392.75" y="120.1919">to be of type</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="88" x="477.75" y="120.1919">urt_node_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="565.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="220.75" x2="762.75" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220.75" x2="762.75" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="220.75" x2="446.25" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="450.25" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="450.25" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="499.25" y="144.8247">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="537.25" x2="762.75" y1="140.8242" y2="140.8242"/><ellipse cx="491.75" cy="183.3906" fill="#000000" filter="url(#f1p8hd1hubp91s)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1p8hd1hubp91s)" height="600.9141" style="stroke: #000000; stroke-width: 2.0;" width="807" x="10" y="204.1924"/><path d="M60,205.1924 L60,213.4893 L50,223.4893 L10,223.4893 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="40" x="13" y="218.1875">setup</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="413.25" y="240.4893"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="423.25" y="261.6279">register to core event</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="403.75,294.458,579.75,294.458,591.75,306.458,579.75,318.458,403.75,318.458,391.75,306.458,403.75,294.458" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="403.75" y="310.2661">Node's</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="446.75" y="310.2661">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="541.75" y="310.2661">is set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="371.75" y="303.8638">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="591.75" y="303.8638">no</text><path d="M30,332.876 L30,358.0088 A0,0 0 0 0 30,358.0088 L201,358.0088 A0,0 0 0 0 201,358.0088 L201,350.876 L221,345.4424 L201,342.876 L201,342.876 L191,332.876 L30,332.876 A0,0 0 0 0 30,332.876 " fill="#FBFB77" filter="url(#f1p8hd1hubp91s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M191,332.876 L191,342.876 L201,342.876 L191,332.876 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="36" y="349.9429">Callback must not loop.</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="221" y="328.458"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="231" y="349.5967">execute</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="105" x="285" y="349.5967">setupcallback()</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="367" x="127" y="430.8291"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="137" y="451.9678">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="322" x="162" y="451.9678">urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK)</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="124,382.4268,497,382.4268,509,394.4268,497,406.4268,124,406.4268,112,394.4268,124,382.4268" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="314.5" y="416.6372">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="124" y="398.2349">Event mask returned by</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="264" y="398.2349">setupcallback()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="373" y="398.2349">redefines core event?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="509" y="391.8325">no</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="310.5,484.7979,322.5,496.7979,310.5,508.7979,298.5,496.7979,310.5,484.7979" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="264" x="541" y="328.458"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="551" y="349.5967">act as if</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="91" x="605" y="349.5967">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="700" y="349.5967">returned 0xF..F</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="491.75,514.7979,503.75,526.7979,491.75,538.7979,479.75,526.7979,491.75,514.7979" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="362.75" y="607.2002"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="238" x="372.75" y="628.3389">suspend all child threads (recursively)</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="341" x="321.25" y="661.1689"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="331.25" y="682.3076">synchronize by calling</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="182" x="470.25" y="682.3076">urtCoreSynchronizeNodes(1)</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="366.25" y="715.1377"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="376.25" y="736.2764">resume all child threads (recursively)</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="400.75,558.7979,582.75,558.7979,594.75,570.7979,582.75,582.7979,400.75,582.7979,388.75,570.7979,400.75,558.7979" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="495.75" y="593.0083">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="81" x="400.75" y="574.606">Core status is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="485.75" y="574.606">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="576.75" y="574.606">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="594.75" y="568.2036">no</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="491.75,769.1064,503.75,781.1064,491.75,793.1064,479.75,781.1064,491.75,769.1064" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FFFFFF" filter="url(#f1p8hd1hubp91s)" height="531.2222" style="stroke: #000000; stroke-width: 2.0;" width="606" x="170.75" y="815.9082"/><path d="M210.75,816.9082 L210.75,825.2051 L200.75,835.2051 L170.75,835.2051 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="173.75" y="829.9033">loop</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="240" x="371.75" y="907.9155"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="381.75" y="929.0542">Wait for a specified or a core event</text><path d="M214.75,1014.7046 L214.75,1039.8374 A0,0 0 0 0 214.75,1039.8374 L385.75,1039.8374 A0,0 0 0 0 385.75,1039.8374 L385.75,1032.7046 L405.75,1027.271 L385.75,1024.7046 L385.75,1024.7046 L375.75,1014.7046 L214.75,1014.7046 A0,0 0 0 0 214.75,1014.7046 " fill="#FBFB77" filter="url(#f1p8hd1hubp91s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M375.75,1014.7046 L375.75,1024.7046 L385.75,1024.7046 L375.75,1014.7046 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="150" x="220.75" y="1031.7715">Callback must not loop.</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="172" x="405.75" y="1010.2866"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="415.75" y="1031.4253">execute</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="469.75" y="1031.4253">loopcallback()</text><rect fill="#EEEEEE" filter="url(#f1p8hd1hubp91s)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="464" x="259.75" y="1064.2554"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="259.75" x2="269.75" y1="1081.2397" y2="1081.2397"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="444" x="269.75" y="1084.894">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="713.75" x2="723.75" y1="1081.2397" y2="1081.2397"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="269.75" y="1099.3628">increment loop counter</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="367" x="308.25" y="1191.1616"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="318.25" y="1212.3003">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="322" x="343.25" y="1212.3003">urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK)</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="308.75,1142.7593,674.75,1142.7593,686.75,1154.7593,674.75,1166.7593,308.75,1166.7593,296.75,1154.7593,308.75,1142.7593" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="495.75" y="1176.9697">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="308.75" y="1158.5674">Event mask returned by</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="448.75" y="1158.5674">loopcallback()</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="550.75" y="1158.5674">redefines core event?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="686.75" y="1152.165">no</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="491.75,1245.1304,503.75,1257.1304,491.75,1269.1304,479.75,1257.1304,491.75,1245.1304" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="431.75,961.8843,551.75,961.8843,563.75,973.8843,551.75,985.8843,431.75,985.8843,419.75,973.8843,431.75,961.8843" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="495.75" y="996.0947">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="120" x="431.75" y="977.6924">Core event received?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="563.75" y="971.29">yes</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="491.75,1289.1304,503.75,1301.1304,491.75,1313.1304,479.75,1301.1304,491.75,1289.1304" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="379.75,852.2051,603.75,852.2051,615.75,864.2051,603.75,876.2051,379.75,876.2051,367.75,864.2051,379.75,852.2051" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="495.75" y="886.4155">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="224" x="379.75" y="868.0132">Termination of node thread requested?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="347.75" y="861.6108">yes</text><rect fill="#FFFFFF" filter="url(#f1p8hd1hubp91s)" height="282.6055" style="stroke: #000000; stroke-width: 2.0;" width="653" x="70.25" y="1357.9321"/><path d="M117.25,1358.9321 L117.25,1367.229 L107.25,1377.229 L70.25,1377.229 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="37" x="73.25" y="1371.9272">outro</text><path d="M90.25,1447.0493 L90.25,1472.1821 A0,0 0 0 0 90.25,1472.1821 L272.25,1472.1821 A0,0 0 0 0 272.25,1472.1821 L272.25,1465.0493 L292.25,1459.6157 L272.25,1457.0493 L272.25,1457.0493 L262.25,1447.0493 L90.25,1447.0493 A0,0 0 0 0 90.25,1447.0493 " fill="#FBFB77" filter="url(#f1p8hd1hubp91s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M262.25,1447.0493 L262.25,1457.0493 L272.25,1457.0493 L262.25,1447.0493 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="96.25" y="1464.1162">Callback must terminate.</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="399" x="292.25" y="1442.6313"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="50" x="302.25" y="1463.77">execute</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="356.25" y="1463.77">shutdowncallback()</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="486.25" y="1463.77">with core's status as argument</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="393.25,1394.229,590.25,1394.229,602.25,1406.229,590.25,1418.229,393.25,1418.229,381.25,1406.229,393.25,1394.229" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="495.75" y="1428.4395">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="393.25" y="1410.0371">Node's</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="112" x="436.25" y="1410.0371">shutdowncallback</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="38" x="552.25" y="1410.0371">is set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="602.25" y="1403.6348">no</text><polygon fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" points="491.75,1496.6001,503.75,1508.6001,491.75,1520.6001,479.75,1508.6001,491.75,1496.6001" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="397.75" y="1540.6001"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="407.75" y="1561.7388">unregister from core event</text><rect fill="#FEFECE" filter="url(#f1p8hd1hubp91s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="305" x="339.25" y="1594.5688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="285" x="349.25" y="1615.7075">terminate node thread (and all child threads)</text><ellipse cx="491.75" cy="1671.5376" fill="#FFFFFF" filter="url(#f1p8hd1hubp91s)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="491.75" cy="1671.5376" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="487.75,163.3906,491.75,173.3906,495.75,163.3906,491.75,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="406.4268" y2="430.8291"/><polygon fill="#A80036" points="306.5,420.8291,310.5,430.8291,314.5,420.8291,310.5,424.8291" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="509" x2="521" y1="394.4268" y2="394.4268"/><polygon fill="#A80036" points="517,437.8135,521,447.8135,525,437.8135,521,441.8135" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="521" x2="521" y1="394.4268" y2="496.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="521" x2="322.5" y1="496.7979" y2="496.7979"/><polygon fill="#A80036" points="332.5,492.7979,322.5,496.7979,332.5,500.7979,328.5,496.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="464.7979" y2="484.7979"/><polygon fill="#A80036" points="306.5,474.7979,310.5,484.7979,314.5,474.7979,310.5,478.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="362.4268" y2="382.4268"/><polygon fill="#A80036" points="306.5,372.4268,310.5,382.4268,314.5,372.4268,310.5,376.4268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="391.75" x2="310.5" y1="306.458" y2="306.458"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="306.458" y2="328.458"/><polygon fill="#A80036" points="306.5,318.458,310.5,328.458,314.5,318.458,310.5,322.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="591.75" x2="673" y1="306.458" y2="306.458"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="673" x2="673" y1="306.458" y2="328.458"/><polygon fill="#A80036" points="669,318.458,673,328.458,677,318.458,673,322.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="508.7979" y2="526.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="479.75" y1="526.7979" y2="526.7979"/><polygon fill="#A80036" points="469.75,522.7979,479.75,526.7979,469.75,530.7979,473.75,526.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="673" x2="673" y1="362.4268" y2="526.7979"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="673" x2="503.75" y1="526.7979" y2="526.7979"/><polygon fill="#A80036" points="513.75,522.7979,503.75,526.7979,513.75,530.7979,509.75,526.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="274.458" y2="294.458"/><polygon fill="#A80036" points="487.75,284.458,491.75,294.458,495.75,284.458,491.75,288.458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="641.1689" y2="661.1689"/><polygon fill="#A80036" points="487.75,651.1689,491.75,661.1689,495.75,651.1689,491.75,655.1689" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="695.1377" y2="715.1377"/><polygon fill="#A80036" points="487.75,705.1377,491.75,715.1377,495.75,705.1377,491.75,709.1377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="582.7979" y2="607.2002"/><polygon fill="#A80036" points="487.75,597.2002,491.75,607.2002,495.75,597.2002,491.75,601.2002" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594.75" x2="672.25" y1="570.7979" y2="570.7979"/><polygon fill="#A80036" points="668.25,668.1533,672.25,678.1533,676.25,668.1533,672.25,672.1533" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="672.25" x2="672.25" y1="570.7979" y2="781.1064"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="672.25" x2="503.75" y1="781.1064" y2="781.1064"/><polygon fill="#A80036" points="513.75,777.1064,503.75,781.1064,513.75,785.1064,509.75,781.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="749.1064" y2="769.1064"/><polygon fill="#A80036" points="487.75,759.1064,491.75,769.1064,495.75,759.1064,491.75,763.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="538.7979" y2="558.7979"/><polygon fill="#A80036" points="487.75,548.7979,491.75,558.7979,495.75,548.7979,491.75,552.7979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="193.3906" y2="240.4893"/><polygon fill="#A80036" points="487.75,230.4893,491.75,240.4893,495.75,230.4893,491.75,234.4893" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1044.2554" y2="1064.2554"/><polygon fill="#A80036" points="487.75,1054.2554,491.75,1064.2554,495.75,1054.2554,491.75,1058.2554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1166.7593" y2="1191.1616"/><polygon fill="#A80036" points="487.75,1181.1616,491.75,1191.1616,495.75,1181.1616,491.75,1185.1616" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="686.75" x2="698.75" y1="1154.7593" y2="1154.7593"/><polygon fill="#A80036" points="694.75,1198.146,698.75,1208.146,702.75,1198.146,698.75,1202.146" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="698.75" x2="698.75" y1="1154.7593" y2="1257.1304"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="698.75" x2="503.75" y1="1257.1304" y2="1257.1304"/><polygon fill="#A80036" points="513.75,1253.1304,503.75,1257.1304,513.75,1261.1304,509.75,1257.1304" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1225.1304" y2="1245.1304"/><polygon fill="#A80036" points="487.75,1235.1304,491.75,1245.1304,495.75,1235.1304,491.75,1239.1304" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1112.1929" y2="1142.7593"/><polygon fill="#A80036" points="487.75,1132.7593,491.75,1142.7593,495.75,1132.7593,491.75,1136.7593" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="985.8843" y2="1010.2866"/><polygon fill="#A80036" points="487.75,1000.2866,491.75,1010.2866,495.75,1000.2866,491.75,1004.2866" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="563.75" x2="733.75" y1="973.8843" y2="973.8843"/><polygon fill="#A80036" points="729.75,1122.1929,733.75,1132.1929,737.75,1122.1929,733.75,1126.1929" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="733.75" x2="733.75" y1="973.8843" y2="1301.1304"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="733.75" x2="503.75" y1="1301.1304" y2="1301.1304"/><polygon fill="#A80036" points="513.75,1297.1304,503.75,1301.1304,513.75,1305.1304,509.75,1301.1304" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1269.1304" y2="1289.1304"/><polygon fill="#A80036" points="487.75,1279.1304,491.75,1289.1304,495.75,1279.1304,491.75,1283.1304" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="941.8843" y2="961.8843"/><polygon fill="#A80036" points="487.75,951.8843,491.75,961.8843,495.75,951.8843,491.75,955.8843" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="876.2051" y2="907.9155"/><polygon fill="#A80036" points="487.75,897.9155,491.75,907.9155,495.75,897.9155,491.75,901.9155" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1313.1304" y2="1323.1304"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="757.75" y1="1323.1304" y2="1323.1304"/><polygon fill="#A80036" points="753.75,1093.7397,757.75,1083.7397,761.75,1093.7397,757.75,1089.7397" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="757.75" x2="757.75" y1="864.2051" y2="1323.1304"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="757.75" x2="615.75" y1="864.2051" y2="864.2051"/><polygon fill="#A80036" points="625.75,860.2051,615.75,864.2051,625.75,868.2051,621.75,864.2051" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="367.75" x2="192.75" y1="864.2051" y2="864.2051"/><polygon fill="#A80036" points="188.75,1079.7397,192.75,1089.7397,196.75,1079.7397,192.75,1083.7397" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="192.75" x2="192.75" y1="864.2051" y2="1335.1304"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="192.75" x2="491.75" y1="1335.1304" y2="1335.1304"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1335.1304" y2="1394.229"/><polygon fill="#A80036" points="487.75,1384.229,491.75,1394.229,495.75,1384.229,491.75,1388.229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="793.1064" y2="852.2051"/><polygon fill="#A80036" points="487.75,842.2051,491.75,852.2051,495.75,842.2051,491.75,846.2051" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1418.229" y2="1442.6313"/><polygon fill="#A80036" points="487.75,1432.6313,491.75,1442.6313,495.75,1432.6313,491.75,1436.6313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="602.25" x2="701.25" y1="1406.229" y2="1406.229"/><polygon fill="#A80036" points="697.25,1449.6157,701.25,1459.6157,705.25,1449.6157,701.25,1453.6157" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="701.25" x2="701.25" y1="1406.229" y2="1508.6001"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="701.25" x2="503.75" y1="1508.6001" y2="1508.6001"/><polygon fill="#A80036" points="513.75,1504.6001,503.75,1508.6001,513.75,1512.6001,509.75,1508.6001" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1476.6001" y2="1496.6001"/><polygon fill="#A80036" points="487.75,1486.6001,491.75,1496.6001,495.75,1486.6001,491.75,1490.6001" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1520.6001" y2="1540.6001"/><polygon fill="#A80036" points="487.75,1530.6001,491.75,1540.6001,495.75,1530.6001,491.75,1534.6001" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1574.5688" y2="1594.5688"/><polygon fill="#A80036" points="487.75,1584.5688,491.75,1594.5688,495.75,1584.5688,491.75,1588.5688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.75" x2="491.75" y1="1628.5376" y2="1660.5376"/><polygon fill="#A80036" points="487.75,1650.5376,491.75,1660.5376,495.75,1650.5376,491.75,1654.5376" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[755282de1820a8b3b359aedce59a2083]
 @startuml
 
 title **µRtWare**\n_main()\n
@@ -7,7 +7,7 @@ title **µRtWare**\n_main()\n
 note
   - - **arg** : void* - -
   Optional Argument to the thread main function (see ""urt_osThreadFunction_t"").
-  This functions expects no arguments.
+  This function expects ""arg"" to be of type ""urt_node_t*"".
   ====
   - - **return** : void - -
 endnote
@@ -22,11 +22,11 @@ partition "setup" {
       Callback must not loop.
     endnote
     if (Event mask returned by ""setupcallback()"" redefines core event?) then (yes)
-      :call ""urtCoreStopNodes(URT_STATUS_ERROR)"";
+      :call ""urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK)"";
     else (no)
     endif
   else (no)
-    :act as if ""stupcallback"" returned 0xF..F;
+    :act as if ""setupcallback"" returned 0xF..F;
   endif
   if (Core status is ""URT_STATUS_OK""?) then (yes)
     :suspend all child threads (recursively);
@@ -36,7 +36,7 @@ partition "setup" {
   endif
 }
 partition "loop" {
-  while (Thread termination requested?) is (no)
+  while (Termination of node thread requested?) is (no)
     :Wait for a specified or a core event;
     if (Core event received?) then (yes)
     else (no)
@@ -44,16 +44,20 @@ partition "loop" {
       note
         Callback must not loop.
       endnote
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true//..\nincrement loop counter;
       if (Event mask returned by ""loopcallback()"" redefines core event?) then (yes)
-        :call ""urtCoreStopNodes(URT_STATUS_ERROR)"";
+        :call ""urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK)"";
       else (no)
       endif
     endif
-  endwhile
+  endwhile (yes)
 }
 partition "outro" {
   if (Node's ""shutdowncallback"" is set?) then (yes)
     :execute ""shutdowncallback()"" with core's status as argument;
+    note
+      Callback must terminate.
+    endnote
   else (no)
   endif
   :unregister from core event;
diff --git a/doc/activitydiagrams/node/_main.uml b/doc/activitydiagrams/node/_main.uml
index 8e8d5b1..a5a9640 100644
--- a/doc/activitydiagrams/node/_main.uml
+++ b/doc/activitydiagrams/node/_main.uml
@@ -30,7 +30,7 @@ title **µRtWare**\n_main()\n
 note
   -- **arg** : void* --
   Optional Argument to the thread main function (see ""urt_osThreadFunction_t"").
-  This functions expects no arguments.
+  This function expects ""arg"" to be of type ""urt_node_t*"".
   ====
   -- **return** : void --
 endnote
@@ -46,11 +46,11 @@ partition "setup" {
       Callback must not loop.
     endnote
     if (Event mask returned by ""setupcallback()"" redefines core event?) then (yes)
-      :call ""urtCoreStopNodes(URT_STATUS_ERROR)"";
+      :call ""urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK)"";
     else (no)
     endif
   else (no)
-    :act as if ""stupcallback"" returned 0xF..F;
+    :act as if ""setupcallback"" returned 0xF..F;
   endif
   if (Core status is ""URT_STATUS_OK""?) then (yes)
     :suspend all child threads (recursively);
@@ -60,7 +60,7 @@ partition "setup" {
   endif
 }
 partition "loop" {
-  while (Thread termination requested?) is (no)
+  while (Termination of node thread requested?) is (no)
     :Wait for a specified or a core event;
     if (Core event received?) then (yes)
     else (no)
@@ -68,16 +68,20 @@ partition "loop" {
       note
         Callback must not loop.
       endnote
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true//..\nincrement loop counter;
       if (Event mask returned by ""loopcallback()"" redefines core event?) then (yes)
-        :call ""urtCoreStopNodes(URT_STATUS_ERROR)"";
+        :call ""urtCoreStopNodes(URT_STATUS_NODE_INVALEVTMASK)"";
       else (no)
       endif
     endif
-  endwhile
+  endwhile (yes)
 }
 partition "outro" {
   if (Node's ""shutdowncallback"" is set?) then (yes)
     :execute ""shutdowncallback()"" with core's status as argument;
+    note
+      Callback must terminate.
+    endnote
   else (no)
   endif
   :unregister from core event;
diff --git a/doc/activitydiagrams/node/urtNodeInit.svg b/doc/activitydiagrams/node/urtNodeInit.svg
index 330973d..12959e2 100644
--- a/doc/activitydiagrams/node/urtNodeInit.svg
+++ b/doc/activitydiagrams/node/urtNodeInit.svg
@@ -1,4 +1,4 @@
-<?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="839px" preserveAspectRatio="none" style="width:831px;height:839px;" version="1.1" viewBox="0 0 831 839" width="831px" zoomAndPan="magnify"><defs><filter height="300%" id="faj7sbp20bnbq" 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="370.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="116" x="356.75" y="47.6611">urtNodeInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="417.75" y="68.6143"/><path d="M375.5,72.8594 L375.5,410.6484 L819.5,410.6484 L819.5,82.8594 L809.5,72.8594 L375.5,72.8594 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M809.5,72.8594 L809.5,82.8594 L819.5,82.8594 L809.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="531" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="535" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="535" y="89.4263">node</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="576" y="89.4263">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="664" x2="819.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="381.5" y="105.0591">The node to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="381.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="461.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="493.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="511.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="515.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="515.5" y="134.8247">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="568.5" y="134.8247">: urt_osThread_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="683.5" x2="819.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="335" x="381.5" y="150.4575">The already initialized, exclusive thread for the node.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="381.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="461.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="493.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="452.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="456.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="456.5" y="180.2231">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="175" x="563.5" y="180.2231">: urt_nodeSetupCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="742.5" x2="819.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="296" x="381.5" y="195.856">Callback function to be executed during setup.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="381.5" y="210.9888">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="431.5" y="210.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="142" x="467.5" y="210.9888">if no setup is required.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="522" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="530" y="225.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="530" y="225.6216">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="632" y="225.6216">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="673" x2="819.5" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="332" x="381.5" y="241.2544">Optional parameters for the setup callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="381.5" y="256.3872">Must be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="436.5" y="256.3872">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="160" x="472.5" y="256.3872">if no callback is specified.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="381.5" y="271.52">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="431.5" y="271.52">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="467.5" y="271.52">if the specified callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="461" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="465" y="286.1528"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="465" y="286.1528">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="562" y="286.1528">: urt_nodeLoopCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="734" x2="819.5" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="270" x="381.5" y="301.7856">Callback function to be executed in a loop.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="381.5" y="316.9185">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="461.5" y="316.9185">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="493.5" y="316.9185">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="527" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="531" y="331.5513"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="531" y="331.5513">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="623" y="331.5513">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="668" x2="819.5" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="323" x="381.5" y="347.1841">Optional parameters for the loop callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="381.5" y="362.3169">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="431.5" y="362.3169">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="467.5" y="362.3169">if the specified callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="819.5" y1="370.3828" y2="370.3828"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="819.5" y1="372.3828" y2="372.3828"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="526.5" y1="382.9492" y2="382.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="530.5" y="386.9497"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="530.5" y="386.9497">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="579.5" y="386.9497">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="668.5" x2="819.5" y1="382.9492" y2="382.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="381.5" y="402.5825">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="478.5" y="402.5825">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="582.5" y="402.5825">.</text><ellipse cx="597.5" cy="440.6484" fill="#000000" filter="url(#faj7sbp20bnbq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,460.6484 L10,621.9766 A0,0 0 0 0 10,621.9766 L512,621.9766 A0,0 0 0 0 512,621.9766 L512,545.3125 L532,541.3125 L512,537.3125 L512,470.6484 L502,460.6484 L10,460.6484 A0,0 0 0 0 10,460.6484 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M502,460.6484 L502,470.6484 L512,470.6484 L502,460.6484 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="16" y="477.7153">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="52" y="477.7153">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="67" y="477.7153">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="492.8481">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="57" x="69" y="492.8481">← thread</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="16" y="507.981">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="123" y="507.981">← setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="16" y="523.1138">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="100" x="118" y="523.1138">← setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="538.2466">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="113" y="538.2466">← loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="553.3794">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="108" y="553.3794">← loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="42" x="16" y="568.5122">stage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="62" y="568.5122">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="16" y="583.645">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="55" x="145" y="583.645">listener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="200" y="583.645">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="594.2773" y2="594.2773"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="473" x="24.5" y="598.2778">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="501.5" x2="512" y1="594.2773" y2="594.2773"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="16" y="613.9106">loops</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="60" y="613.9106">← 0</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="532" y="524.3281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="542" y="545.4668">initialize members</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="559" y="641.9766"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="569" y="663.1152">lock core</text><path d="M318,700.3633 L318,725.4961 A0,0 0 0 0 318,725.4961 L458,725.4961 A0,0 0 0 0 458,725.4961 L458,718.3633 L478,712.9297 L458,710.3633 L458,710.3633 L448,700.3633 L318,700.3633 A0,0 0 0 0 318,700.3633 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M448,700.3633 L448,710.3633 L458,710.3633 L448,700.3633 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="119" x="324" y="717.4302">List is not ordered.</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="239" x="478" y="695.9453"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="219" x="488" y="717.084">prepend self to core's list of nodes</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="551" y="749.9141"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="561" y="771.0527">unlock core</text><path d="M384.5,802.3164 L384.5,827.4492 A0,0 0 0 0 384.5,827.4492 L566.5,827.4492 A0,0 0 0 0 566.5,827.4492 L566.5,820.3164 L586.5,814.8828 L566.5,812.3164 L566.5,812.3164 L556.5,802.3164 L384.5,802.3164 A0,0 0 0 0 384.5,802.3164 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M556.5,802.3164 L556.5,812.3164 L566.5,812.3164 L556.5,802.3164 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="390.5" y="819.3833">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="443.5" y="819.3833">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="547.5" y="819.3833">.</text><ellipse cx="597.5" cy="814.8828" fill="#FFFFFF" filter="url(#faj7sbp20bnbq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="597.5" cy="814.8828" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="410.6484" y2="430.6484"/><polygon fill="#A80036" points="593.5,420.6484,597.5,430.6484,601.5,420.6484,597.5,424.6484" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="450.6484" y2="524.3281"/><polygon fill="#A80036" points="593.5,514.3281,597.5,524.3281,601.5,514.3281,597.5,518.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="558.2969" y2="641.9766"/><polygon fill="#A80036" points="593.5,631.9766,597.5,641.9766,601.5,631.9766,597.5,635.9766" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="675.9453" y2="695.9453"/><polygon fill="#A80036" points="593.5,685.9453,597.5,695.9453,601.5,685.9453,597.5,689.9453" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="729.9141" y2="749.9141"/><polygon fill="#A80036" points="593.5,739.9141,597.5,749.9141,601.5,739.9141,597.5,743.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="783.8828" y2="803.8828"/><polygon fill="#A80036" points="593.5,793.8828,597.5,803.8828,601.5,793.8828,597.5,797.8828" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8d68c58f868203b2a905cbd3505bf79d]
+<?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="1049px" preserveAspectRatio="none" style="width:999px;height:1049px;" version="1.1" viewBox="0 0 999 1049" width="999px" zoomAndPan="magnify"><defs><filter height="300%" id="fe99m1kw6ut90" 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="454.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="116" x="440.75" y="47.6611">urtNodeInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="501.75" y="68.6143"/><path d="M343,72.8594 L343,501.4453 L852,501.4453 L852,82.8594 L842,72.8594 L343,72.8594 " fill="#FBFB77" filter="url(#fe99m1kw6ut90)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M842,72.8594 L842,82.8594 L852,82.8594 L842,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="531" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="535" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="535" y="89.4263">node</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="576" y="89.4263">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="664" x2="852" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="349" y="105.0591">The node to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="349" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="429" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="461" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="511.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="515.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="515.5" y="134.8247">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="568.5" y="134.8247">: urt_osThread_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="683.5" x2="852" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="335" x="349" y="150.4575">The already initialized, exclusive thread for the node.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="349" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="429" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="461" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="452.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="456.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="456.5" y="180.2231">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="175" x="563.5" y="180.2231">: urt_nodeSetupCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="742.5" x2="852" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="296" x="349" y="195.856">Callback function to be executed during setup.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="210.9888">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="210.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="194" x="435" y="210.9888">if no custom setup is required.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="522" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="530" y="225.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="530" y="225.6216">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="632" y="225.6216">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="673" x2="852" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="275" x="349" y="241.2544">Parameters for the setup callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="349" y="256.3872">Must be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="404" y="256.3872">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="440" y="256.3872">if no setup callback is specified.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="271.52">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="271.52">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="377" x="435" y="271.52">if the specified setup callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="461" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="465" y="286.1528"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="465" y="286.1528">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="562" y="286.1528">: urt_nodeLoopCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="734" x2="852" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="270" x="349" y="301.7856">Callback function to be executed in a loop.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="349" y="316.9185">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="429" y="316.9185">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="461" y="316.9185">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="527" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="531" y="331.5513"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="531" y="331.5513">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="623" y="331.5513">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="668" x2="852" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="266" x="349" y="347.1841">Parameters for the loop callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="362.3169">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="362.3169">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="368" x="435" y="362.3169">if the specified loop callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="425" y1="372.9492" y2="372.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="429" y="376.9497"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="133" x="429" y="376.9497">shutdowncallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="566" y="376.9497">: urt_nodeShutdownCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="770" x2="852" y1="372.9492" y2="372.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="321" x="349" y="392.5825">Callback function to be executed during shutdown.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="407.7153">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="407.7153">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="435" y="407.7153">if no custom shutdown is required.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="507" y1="418.3477" y2="418.3477"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="511" y="422.3481"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="511" y="422.3481">shutdownparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="643" y="422.3481">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="688" x2="852" y1="418.3477" y2="418.3477"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="266" x="349" y="437.981">Parameters for the loop callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="349" y="453.1138">Must be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="404" y="453.1138">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="440" y="453.1138">if no shutdown callback is specified.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="468.2466">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="468.2466">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="402" x="435" y="468.2466">if the specified shutdown callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="852" y1="476.3125" y2="476.3125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="852" y1="478.3125" y2="478.3125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="552" y1="488.8789" y2="488.8789"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="556" y="492.8794"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="556" y="492.8794">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="605" y="492.8794">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="643" x2="852" y1="488.8789" y2="488.8789"/><ellipse cx="597.5" cy="531.4453" fill="#000000" filter="url(#fe99m1kw6ut90)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,551.4453 L10,743.0391 A0,0 0 0 0 10,743.0391 L512,743.0391 A0,0 0 0 0 512,743.0391 L512,651.2422 L532,647.2422 L512,643.2422 L512,561.4453 L502,551.4453 L10,551.4453 A0,0 0 0 0 10,551.4453 " fill="#FBFB77" filter="url(#fe99m1kw6ut90)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M502,551.4453 L502,561.4453 L512,561.4453 L502,551.4453 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="21.5" cy="564.0781" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="27" y="568.5122">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="63" y="568.5122">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="78" y="568.5122">NULL</text><ellipse cx="21.5" cy="579.2109" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="27" y="583.645">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="57" x="80" y="583.645">← thread</text><ellipse cx="21.5" cy="594.3438" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="27" y="598.7778">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="134" y="598.7778">← setupcallback</text><ellipse cx="21.5" cy="609.4766" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="27" y="613.9106">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="100" x="129" y="613.9106">← setupparams</text><ellipse cx="21.5" cy="624.6094" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="629.0435">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="124" y="629.0435">← loopcallback</text><ellipse cx="21.5" cy="639.7422" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="27" y="644.1763">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="119" y="644.1763">← loopparams</text><ellipse cx="21.5" cy="654.875" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="133" x="27" y="659.3091">shutdowncallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="164" y="659.3091">← loopcallback</text><ellipse cx="21.5" cy="670.0078" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="674.4419">shutdownparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="159" y="674.4419">← loopparams</text><ellipse cx="21.5" cy="685.1406" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="42" x="27" y="689.5747">stage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="73" y="689.5747">← 0</text><ellipse cx="21.5" cy="700.2734" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="27" y="704.7075">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="55" x="156" y="704.7075">listener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="211" y="704.7075">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="715.3398" y2="715.3398"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="473" x="24.5" y="719.3403">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="501.5" x2="512" y1="715.3398" y2="715.3398"/><ellipse cx="21.5" cy="730.5391" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="27" y="734.9731">loops</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="71" y="734.9731">← 0</text><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="532" y="630.2578"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="542" y="651.3965">initialize members</text><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="559" y="763.0391"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="569" y="784.1777">lock core</text><rect fill="#FFFFFF" filter="url(#fe99m1kw6ut90)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="784" x="204.5" y="807.8096"/><path d="M453.5,808.8096 L453.5,817.1064 L443.5,827.1064 L204.5,827.1064 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="239" x="207.5" y="821.8047">prepend self to core's list of nodes</text><rect fill="#000000" filter="url(#fe99m1kw6ut90)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="764" x="214.5" y="844.1064"/><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="463" x="228.5" y="870.1064"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="238.5" y="891.2451">set this node's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="335.5" y="891.2451">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="314" x="367.5" y="891.2451">pointer to the first node in the core's list of nodes</text><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="247" x="719.5" y="870.1064"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="227" x="729.5" y="891.2451">set core's node pointer to this node</text><rect fill="#000000" filter="url(#fe99m1kw6ut90)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="764" x="214.5" y="924.0752"/><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="551" y="962.0752"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="561" y="983.2139">unlock core</text><ellipse cx="597.5" cy="1027.0439" fill="#FFFFFF" filter="url(#fe99m1kw6ut90)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="597.5" cy="1027.0439" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="501.4453" y2="521.4453"/><polygon fill="#A80036" points="593.5,511.4453,597.5,521.4453,601.5,511.4453,597.5,515.4453" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="541.4453" y2="630.2578"/><polygon fill="#A80036" points="593.5,620.2578,597.5,630.2578,601.5,620.2578,597.5,624.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="664.2266" y2="763.0391"/><polygon fill="#A80036" points="593.5,753.0391,597.5,763.0391,601.5,753.0391,597.5,757.0391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="460" x2="460" y1="850.1064" y2="870.1064"/><polygon fill="#A80036" points="456,860.1064,460,870.1064,464,860.1064,460,864.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="843" x2="843" y1="850.1064" y2="870.1064"/><polygon fill="#A80036" points="839,860.1064,843,870.1064,847,860.1064,843,864.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="460" x2="460" y1="904.0752" y2="924.0752"/><polygon fill="#A80036" points="456,914.0752,460,924.0752,464,914.0752,460,918.0752" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="843" x2="843" y1="904.0752" y2="924.0752"/><polygon fill="#A80036" points="839,914.0752,843,924.0752,847,914.0752,843,918.0752" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="797.0078" y2="844.1064"/><polygon fill="#A80036" points="593.5,834.1064,597.5,844.1064,601.5,834.1064,597.5,838.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="930.0752" y2="962.0752"/><polygon fill="#A80036" points="593.5,952.0752,597.5,962.0752,601.5,952.0752,597.5,956.0752" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="996.0439" y2="1016.0439"/><polygon fill="#A80036" points="593.5,1006.0439,597.5,1016.0439,601.5,1006.0439,597.5,1010.0439" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[de16bb9876615d6275991dc35d68a8ce]
 @startuml
 
 title **µRtWare**\nurtNodeInit()\n
@@ -13,47 +13,55 @@ note
   Must not be ""NULL"".
   - - **setupcallback** : urt_nodeSetupCallback_t* - -
   Callback function to be executed during setup.
-  May be ""NULL"" if no setup is required.
+  May be ""NULL"" if no custom setup is required.
   - -  **setupparams** : void*- -
-  Optional parameters for the setup callback function.
-  Must be ""NULL"" if no callback is specified.
-  May be ""NULL"" if the specified callback does not expect parameters.
+  Parameters for the setup callback function.
+  Must be ""NULL"" if no setup callback is specified.
+  May be ""NULL"" if the specified setup callback does not expect parameters.
   - - **loopcallback** : urt_nodeLoopCallback_t* - -
   Callback function to be executed in a loop.
   Must not be ""NULL"".
   - - **loopparams** : void* - -
-  Optional parameters for the loop callback function.
-  May be ""NULL"" if the specified callback does not expect parameters.
+  Parameters for the loop callback function.
+  May be ""NULL"" if the specified loop callback does not expect parameters.
+  - - **shutdowncallback** : urt_nodeShutdownCallback_t* - -
+  Callback function to be executed during shutdown.
+  May be ""NULL"" if no custom shutdown is required.
+  - - **shutdownparams** : void* - -
+  Parameters for the loop callback function.
+  Must be ""NULL"" if no shutdown callback is specified.
+  May be ""NULL"" if the specified shutdown callback does not expect parameters.
   ====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
+  - - **return** : void - -
 endnote
 
 
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **thread** ← thread
-  **setupcallback** ← setupcallback
-  **setupparams** ← setupparams
-  **loopcallback** ← loopcallback
-  **loopparams** ← loopparams
-  **stage** ← 0
-  urtEventListenerInit(**listener**)
+  * **next** ← ""NULL""
+  * **thread** ← thread
+  * **setupcallback** ← setupcallback
+  * **setupparams** ← setupparams
+  * **loopcallback** ← loopcallback
+  * **loopparams** ← loopparams
+  * **shutdowncallback** ← loopcallback
+  * **shutdownparams** ← loopparams
+  * **stage** ← 0
+  * urtEventListenerInit(**listener**)
   .. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true ..
-  **loops** ← 0
+  * **loops** ← 0
 endnote
 :lock core;
-:prepend self to core's list of nodes;
-note
-  List is not ordered.
-endnote
+partition "prepend self to core's list of nodes" {
+  fork
+    :set this node's ""next"" pointer to the first node in the core's list of nodes;
+  fork again
+    :set core's node pointer to this node;
+  endfork
+}
 :unlock core;
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 
 @enduml
diff --git a/doc/activitydiagrams/node/urtNodeInit.uml b/doc/activitydiagrams/node/urtNodeInit.uml
index deeb45e..a7070b9 100644
--- a/doc/activitydiagrams/node/urtNodeInit.uml
+++ b/doc/activitydiagrams/node/urtNodeInit.uml
@@ -36,20 +36,26 @@ note
   Must not be ""NULL"".
   -- **setupcallback** : urt_nodeSetupCallback_t* --
   Callback function to be executed during setup.
-  May be ""NULL"" if no setup is required.
+  May be ""NULL"" if no custom setup is required.
   --  **setupparams** : void*--
-  Optional parameters for the setup callback function.
-  Must be ""NULL"" if no callback is specified.
-  May be ""NULL"" if the specified callback does not expect parameters.
+  Parameters for the setup callback function.
+  Must be ""NULL"" if no setup callback is specified.
+  May be ""NULL"" if the specified setup callback does not expect parameters.
   -- **loopcallback** : urt_nodeLoopCallback_t* --
   Callback function to be executed in a loop.
   Must not be ""NULL"".
   -- **loopparams** : void* --
-  Optional parameters for the loop callback function.
-  May be ""NULL"" if the specified callback does not expect parameters.
+  Parameters for the loop callback function.
+  May be ""NULL"" if the specified loop callback does not expect parameters.
+  -- **shutdowncallback** : urt_nodeShutdownCallback_t* --
+  Callback function to be executed during shutdown.
+  May be ""NULL"" if no custom shutdown is required.
+  -- **shutdownparams** : void* --
+  Parameters for the loop callback function.
+  Must be ""NULL"" if no shutdown callback is specified.
+  May be ""NULL"" if the specified shutdown callback does not expect parameters.
   ====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
+  -- **return** : void --
 endnote
 
 /'### PROCEDURE ##############################################################'/
@@ -57,27 +63,29 @@ endnote
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **thread** ← thread
-  **setupcallback** ← setupcallback
-  **setupparams** ← setupparams
-  **loopcallback** ← loopcallback
-  **loopparams** ← loopparams
-  **stage** ← 0
-  urtEventListenerInit(**listener**)
+  * **next** ← ""NULL""
+  * **thread** ← thread
+  * **setupcallback** ← setupcallback
+  * **setupparams** ← setupparams
+  * **loopcallback** ← loopcallback
+  * **loopparams** ← loopparams
+  * **shutdowncallback** ← loopcallback
+  * **shutdownparams** ← loopparams
+  * **stage** ← 0
+  * urtEventListenerInit(**listener**)
   .. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true ..
-  **loops** ← 0
+  * **loops** ← 0
 endnote
 :lock core;
-:prepend self to core's list of nodes;
-note
-  List is not ordered.
-endnote
+partition "prepend self to core's list of nodes" {
+  fork
+    :set this node's ""next"" pointer to the first node in the core's list of nodes;
+  fork again
+    :set core's node pointer to this node;
+  endfork
+}
 :unlock core;
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 /'### OUTRO ##################################################################'/
 
diff --git a/doc/activitydiagrams/publisher/urtPublisherInit.svg b/doc/activitydiagrams/publisher/urtPublisherInit.svg
index 5cc9d64..a7117ed 100644
--- a/doc/activitydiagrams/publisher/urtPublisherInit.svg
+++ b/doc/activitydiagrams/publisher/urtPublisherInit.svg
@@ -1,4 +1,4 @@
-<?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="811px" preserveAspectRatio="none" style="width:1212px;height:811px;" version="1.1" viewBox="0 0 1212 811" width="1212px" zoomAndPan="magnify"><defs><filter height="300%" id="fp6zrrwdh3uys" 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="560.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="150" x="530" y="47.6611">urtPublisherInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="608" y="68.6143"/><path d="M368.5,72.8594 L368.5,289.5859 L819.5,289.5859 L819.5,82.8594 L809.5,72.8594 L368.5,72.8594 " fill="#FBFB77" filter="url(#fp6zrrwdh3uys)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M809.5,72.8594 L809.5,82.8594 L819.5,82.8594 L809.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="498.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="502.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="502.5" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="575.5" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="689.5" x2="819.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="374.5" y="105.0591">The publisher to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="374.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="454.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="486.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="528" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="532" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="532" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="573" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="660" x2="819.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="259" x="374.5" y="150.4575">The topic, this publisher is associated to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="374.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="454.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="486.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="495" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="499" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="499" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="578" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="693" x2="819.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="374.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="410.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="374.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="374.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="374.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="424.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="460.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="819.5" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="819.5" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="523" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="527" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="527" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="576" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="665" x2="819.5" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="374.5" y="281.52">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="471.5" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="575.5" y="281.52">.</text><ellipse cx="594" cy="319.5859" fill="#000000" filter="url(#fp6zrrwdh3uys)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M230.5,339.5859 L230.5,410.1172 A0,0 0 0 0 230.5,410.1172 L508.5,410.1172 A0,0 0 0 0 508.5,410.1172 L508.5,378.8516 L528.5,374.8516 L508.5,370.8516 L508.5,349.5859 L498.5,339.5859 L230.5,339.5859 A0,0 0 0 0 230.5,339.5859 " fill="#FBFB77" filter="url(#fp6zrrwdh3uys)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M498.5,339.5859 L498.5,349.5859 L508.5,349.5859 L498.5,339.5859 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="236.5" y="356.6528">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="277.5" y="356.6528">← topic</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="230.5" x2="241" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="245" y="371.2856">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="498" x2="508.5" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="123" x="236.5" y="386.9185">publishAttempts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="363.5" y="386.9185">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="236.5" y="402.0513">publishFails</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="328.5" y="402.0513">← 0</text><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="528.5" y="357.8672"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="538.5" y="379.0059">initialize members</text><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="554" y="478.5195"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="564" y="499.6582">lock topic</text><rect fill="#FFFFFF" filter="url(#fp6zrrwdh3uys)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1166" x="10" y="523.29"/><path d="M167,524.29 L167,532.5869 L157,542.5869 L10,542.5869 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="13" y="537.2852">contribute messages</text><rect fill="#000000" filter="url(#fp6zrrwdh3uys)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1146" x="20" y="559.5869"/><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="34" y="585.5869"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="44" y="606.7256">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="536" y="585.5869"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="546" y="606.7256">set next pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#000000" filter="url(#fp6zrrwdh3uys)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1146" x="20" y="639.5557"/><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="546" y="677.5557"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="556" y="698.6943">unlock topic</text><polygon fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" points="524,430.1172,664,430.1172,676,442.1172,664,454.1172,524,454.1172,512,442.1172,524,430.1172" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="598" y="464.3276">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="524" y="445.9253">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="676" y="439.5229">no</text><polygon fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" points="594,731.5244,606,743.5244,594,755.5244,582,743.5244,594,731.5244" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M381,773.958 L381,799.0908 A0,0 0 0 0 381,799.0908 L563,799.0908 A0,0 0 0 0 563,799.0908 L563,791.958 L583,786.5244 L563,783.958 L563,783.958 L553,773.958 L381,773.958 A0,0 0 0 0 381,773.958 " fill="#FBFB77" filter="url(#fp6zrrwdh3uys)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M553,773.958 L553,783.958 L563,783.958 L553,773.958 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="387" y="791.0249">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="440" y="791.0249">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="544" y="791.0249">.</text><ellipse cx="594" cy="786.5244" fill="#FFFFFF" filter="url(#fp6zrrwdh3uys)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="594" cy="786.5244" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="289.5859" y2="309.5859"/><polygon fill="#A80036" points="590,299.5859,594,309.5859,598,299.5859,594,303.5859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="329.5859" y2="357.8672"/><polygon fill="#A80036" points="590,347.8672,594,357.8672,598,347.8672,594,351.8672" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="271" x2="271" y1="565.5869" y2="585.5869"/><polygon fill="#A80036" points="267,575.5869,271,585.5869,275,575.5869,271,579.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="845" x2="845" y1="565.5869" y2="585.5869"/><polygon fill="#A80036" points="841,575.5869,845,585.5869,849,575.5869,845,579.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="271" x2="271" y1="619.5557" y2="639.5557"/><polygon fill="#A80036" points="267,629.5557,271,639.5557,275,629.5557,271,633.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="845" x2="845" y1="619.5557" y2="639.5557"/><polygon fill="#A80036" points="841,629.5557,845,639.5557,849,629.5557,845,633.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="512.4883" y2="559.5869"/><polygon fill="#A80036" points="590,549.5869,594,559.5869,598,549.5869,594,553.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="645.5557" y2="677.5557"/><polygon fill="#A80036" points="590,667.5557,594,677.5557,598,667.5557,594,671.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="454.1172" y2="478.5195"/><polygon fill="#A80036" points="590,468.5195,594,478.5195,598,468.5195,594,472.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="676" x2="1186" y1="442.1172" y2="442.1172"/><polygon fill="#A80036" points="1182,584.4229,1186,594.4229,1190,584.4229,1186,588.4229" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1186" x2="1186" y1="442.1172" y2="743.5244"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1186" x2="606" y1="743.5244" y2="743.5244"/><polygon fill="#A80036" points="616,739.5244,606,743.5244,616,747.5244,612,743.5244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="711.5244" y2="731.5244"/><polygon fill="#A80036" points="590,721.5244,594,731.5244,598,721.5244,594,725.5244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="391.8359" y2="430.1172"/><polygon fill="#A80036" points="590,420.1172,594,430.1172,598,420.1172,594,424.1172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="755.5244" y2="775.5244"/><polygon fill="#A80036" points="590,765.5244,594,775.5244,598,765.5244,594,769.5244" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b5d53b61b9ef34bcf4f73737292c91ed]
+<?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="793px" preserveAspectRatio="none" style="width:1214px;height:793px;" version="1.1" viewBox="0 0 1214 793" width="1214px" zoomAndPan="magnify"><defs><filter height="300%" id="f1cmn83qlc5kyj" 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="561.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="150" x="531" y="47.6611">urtPublisherInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="609" y="68.6143"/><path d="M369.5,72.8594 L369.5,274.4531 L820.5,274.4531 L820.5,82.8594 L810.5,72.8594 L369.5,72.8594 " fill="#FBFB77" filter="url(#f1cmn83qlc5kyj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M810.5,72.8594 L810.5,82.8594 L820.5,82.8594 L810.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="499.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="503.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="503.5" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="576.5" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="690.5" x2="820.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="375.5" y="105.0591">The publisher to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="375.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="455.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="487.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="529" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="533" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="533" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="574" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="661" x2="820.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="259" x="375.5" y="150.4575">The topic, this publisher is associated to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="375.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="455.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="487.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="496" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="500" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="500" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="579" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="694" x2="820.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="375.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="411.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="375.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="375.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="375.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="425.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="461.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="820.5" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="820.5" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="549.5" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="553.5" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="553.5" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="602.5" y="265.8872">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="640.5" x2="820.5" y1="261.8867" y2="261.8867"/><ellipse cx="595" cy="304.4531" fill="#000000" filter="url(#f1cmn83qlc5kyj)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M231.5,324.4531 L231.5,394.9844 A0,0 0 0 0 231.5,394.9844 L509.5,394.9844 A0,0 0 0 0 509.5,394.9844 L509.5,363.7188 L529.5,359.7188 L509.5,355.7188 L509.5,334.4531 L499.5,324.4531 L231.5,324.4531 A0,0 0 0 0 231.5,324.4531 " fill="#FBFB77" filter="url(#f1cmn83qlc5kyj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M499.5,324.4531 L499.5,334.4531 L509.5,334.4531 L499.5,324.4531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="243" cy="337.0859" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="248.5" y="341.52">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="289.5" y="341.52">← topic</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="231.5" x2="242" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="246" y="356.1528">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="499" x2="509.5" y1="352.1523" y2="352.1523"/><ellipse cx="243" cy="367.3516" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="123" x="248.5" y="371.7856">publishAttempts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="375.5" y="371.7856">← 0</text><ellipse cx="243" cy="382.4844" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="248.5" y="386.9185">publishFails</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="340.5" y="386.9185">← 0</text><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="529.5" y="342.7344"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="539.5" y="363.873">initialize members</text><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="555" y="463.3867"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="565" y="484.5254">lock topic</text><rect fill="#FFFFFF" filter="url(#f1cmn83qlc5kyj)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1168" x="10" y="508.1572"/><path d="M167,509.1572 L167,517.4541 L157,527.4541 L10,527.4541 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="13" y="522.1523">contribute messages</text><rect fill="#000000" filter="url(#f1cmn83qlc5kyj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="20" y="544.4541"/><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="619" x="34" y="570.4541"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="44" y="591.5928">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="68" y="591.5928">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="543" x="100" y="591.5928">pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="681" y="570.4541"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="691" y="591.5928">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="715" y="591.5928">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="747" y="591.5928">pointer of topic's latest message to first message to contribute</text><rect fill="#000000" filter="url(#f1cmn83qlc5kyj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="20" y="624.4229"/><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="547" y="662.4229"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="557" y="683.5615">unlock topic</text><polygon fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" points="525,414.9844,665,414.9844,677,426.9844,665,438.9844,525,438.9844,513,426.9844,525,414.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="599" y="449.1948">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="525" y="430.7925">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="677" y="424.3901">no</text><polygon fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" points="595,716.3916,607,728.3916,595,740.3916,583,728.3916,595,716.3916" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="595" cy="771.3916" fill="#FFFFFF" filter="url(#f1cmn83qlc5kyj)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="595" cy="771.3916" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="274.4531" y2="294.4531"/><polygon fill="#A80036" points="591,284.4531,595,294.4531,599,284.4531,595,288.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="314.4531" y2="342.7344"/><polygon fill="#A80036" points="591,332.7344,595,342.7344,599,332.7344,595,336.7344" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="343.5" x2="343.5" y1="550.4541" y2="570.4541"/><polygon fill="#A80036" points="339.5,560.4541,343.5,570.4541,347.5,560.4541,343.5,564.4541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="918.5" x2="918.5" y1="550.4541" y2="570.4541"/><polygon fill="#A80036" points="914.5,560.4541,918.5,570.4541,922.5,560.4541,918.5,564.4541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="343.5" x2="343.5" y1="604.4229" y2="624.4229"/><polygon fill="#A80036" points="339.5,614.4229,343.5,624.4229,347.5,614.4229,343.5,618.4229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="918.5" x2="918.5" y1="604.4229" y2="624.4229"/><polygon fill="#A80036" points="914.5,614.4229,918.5,624.4229,922.5,614.4229,918.5,618.4229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="497.3555" y2="544.4541"/><polygon fill="#A80036" points="591,534.4541,595,544.4541,599,534.4541,595,538.4541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="630.4229" y2="662.4229"/><polygon fill="#A80036" points="591,652.4229,595,662.4229,599,652.4229,595,656.4229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="438.9844" y2="463.3867"/><polygon fill="#A80036" points="591,453.3867,595,463.3867,599,453.3867,595,457.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="677" x2="1188" y1="426.9844" y2="426.9844"/><polygon fill="#A80036" points="1184,569.29,1188,579.29,1192,569.29,1188,573.29" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188" x2="1188" y1="426.9844" y2="728.3916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188" x2="607" y1="728.3916" y2="728.3916"/><polygon fill="#A80036" points="617,724.3916,607,728.3916,617,732.3916,613,728.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="696.3916" y2="716.3916"/><polygon fill="#A80036" points="591,706.3916,595,716.3916,599,706.3916,595,710.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="376.7031" y2="414.9844"/><polygon fill="#A80036" points="591,404.9844,595,414.9844,599,404.9844,595,408.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="740.3916" y2="760.3916"/><polygon fill="#A80036" points="591,750.3916,595,760.3916,599,750.3916,595,754.3916" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cc6adf1d0441bf5c83751fa056e4110e]
 @startuml
 
 title **µRtWare**\nurtPublisherInit()\n
@@ -20,35 +20,31 @@ note
   Once a message has been contributed, it cannot be removed later.
   May be ""NULL"" (no messages to contribute).
   ====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
+  - - **return** : void - -
 endnote
 
 
 start
 :initialize members;
 note
-  **topic** ← topic
+  * **topic** ← topic
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  **publishAttempts** ← 0
-  **publishFails** ← 0
+  * **publishAttempts** ← 0
+  * **publishFails** ← 0
 endnote
 if (Messages to contribute?) then (yes)
   :lock topic;
     partition "contribute messages" {
     fork
-      :set next pointer of topic's latest message to first message to contribute;
+      :set ""next"" pointer of last message to contribute to the message after the topic's latest message;
     fork again
-      :set next pointer of last message to contribute to the message after the topic's latest message;
+      :set ""next"" pointer of topic's latest message to first message to contribute;
     endfork
   }
   :unlock topic;
 else (no)
 endif
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 
 @enduml
diff --git a/doc/activitydiagrams/publisher/urtPublisherInit.uml b/doc/activitydiagrams/publisher/urtPublisherInit.uml
index 6c4c2ec..3ad5160 100644
--- a/doc/activitydiagrams/publisher/urtPublisherInit.uml
+++ b/doc/activitydiagrams/publisher/urtPublisherInit.uml
@@ -42,8 +42,7 @@ note
   Once a message has been contributed, it cannot be removed later.
   May be ""NULL"" (no messages to contribute).
   ====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
+  -- **return** : void --
 endnote
 
 /'### PROCEDURE ##############################################################'/
@@ -51,10 +50,10 @@ endnote
 start
 :initialize members;
 note
-  **topic** ← topic
+  * **topic** ← topic
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  **publishAttempts** ← 0
-  **publishFails** ← 0
+  * **publishAttempts** ← 0
+  * **publishFails** ← 0
 endnote
 if (Messages to contribute?) then (yes)
   :lock topic;
@@ -63,9 +62,6 @@ if (Messages to contribute?) then (yes)
 else (no)
 endif
 stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
 
 /'### OUTRO ##################################################################'/
 
diff --git a/doc/activitydiagrams/publisher/urtPublisherPublish.svg b/doc/activitydiagrams/publisher/urtPublisherPublish.svg
index 111d809..166dfa4 100644
--- a/doc/activitydiagrams/publisher/urtPublisherPublish.svg
+++ b/doc/activitydiagrams/publisher/urtPublisherPublish.svg
@@ -1,4 +1,4 @@
-<?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="1282px" preserveAspectRatio="none" style="width:2473px;height:1282px;" version="1.1" viewBox="0 0 2473 1282" width="2473px" zoomAndPan="magnify"><defs><filter height="300%" id="fgb6zrwdj1tda" 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="1191" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="183" x="1144" y="47.6611">urtPublisherPublish()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1238.5" y="68.6143"/><path d="M1017,72.8594 L1017,319.8516 L1402,319.8516 L1402,82.8594 L1392,72.8594 L1017,72.8594 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1392,72.8594 L1392,82.8594 L1402,82.8594 L1392,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1114" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1118" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="1118" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="1191" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1305" x2="1402" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="1023" y="105.0591">Pointer to the publisher to use.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1023" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1103" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1135" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1153.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1157.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1157.5" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1220.5" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1265.5" x2="1402" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="226" x="1023" y="150.4575">Pointer to the data to be published.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1023" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1073" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1109" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1176.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1180.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="1180.5" y="180.2231">n</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1193.5" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1242.5" x2="1402" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="1023" y="195.856">Size of the payload in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1155" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1159" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="6" x="1159" y="210.4888">t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="1169" y="210.4888">: urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1264" x2="1402" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="246" x="1023" y="226.1216">Timestamp to be set for the message.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1135.5" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1139.5" y="240.7544"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="1139.5" y="240.7544">timeout</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1200.5" y="240.7544">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1283.5" x2="1402" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="364" x="1023" y="256.3872">Timeout delay in case the message cannot be published.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1402" y1="264.4531" y2="264.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1402" y1="266.4531" y2="266.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1138.5" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1142.5" y="281.02"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1142.5" y="281.02">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1191.5" y="281.02">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1280.5" x2="1402" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1023" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1076" y="296.6528">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1184" y="296.6528">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1023" y="311.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1076" y="311.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="74" x="1208" y="311.7856">on timeout.</text><ellipse cx="1209.5" cy="349.8516" fill="#000000" filter="url(#fgb6zrwdj1tda)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1169.5" y="379.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1179.5" y="400.9902">lock topic</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="1109" y="433.8203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="1119" y="454.959">access topic's next message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="524" x="947.5" y="543.4995"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="504" x="957.5" y="564.6382">wait for topic's condition variable (using topic's mutex) to be signaled or timeout</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1156.5,597.4683,1262.5,597.4683,1274.5,609.4683,1262.5,621.4683,1156.5,621.4683,1144.5,609.4683,1156.5,597.4683" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="1156.5" y="613.2764">Timeout occurred?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1124.5" y="606.874">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1274.5" y="606.874">no</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1071" y="631.4683"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1081" y="652.6069">unlock topic</text><path d="M882,700.437 L882,725.5698 A0,0 0 0 0 882,725.5698 L1088,725.5698 A0,0 0 0 0 1088,725.5698 L1088,718.437 L1108,713.0034 L1088,710.437 L1088,710.437 L1078,700.437 L882,700.437 A0,0 0 0 0 882,700.437 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1078,700.437 L1078,710.437 L1088,710.437 L1078,700.437 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="888" y="717.5039">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="941" y="717.5039">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1069" y="717.5039">.</text><ellipse cx="1119" cy="713.0034" fill="#FFFFFF" filter="url(#fgb6zrwdj1tda)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1119" cy="713.0034" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="1199.5" y="679.8706"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="1209.5" y="701.0093">access topic's next message</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1199,631.4683,1401,631.4683,1413,643.4683,1401,655.4683,1199,655.4683,1187,643.4683,1199,631.4683" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1304" y="665.6787">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="202" x="1199" y="647.2764">Message timestamp was modified?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1413" y="640.874">no</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1300,738.2417,1312,750.2417,1300,762.2417,1288,750.2417,1300,738.2417" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1101,487.7891,1318,487.7891,1330,499.7891,1318,511.7891,1101,511.7891,1089,499.7891,1101,487.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1213.5" y="521.9995">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1101" y="503.5972">HRT consumers left for the message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1075" y="497.1948">no</text><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2451" x="10" y="804.2417"/><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="960" x="22" y="924.4365"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="34" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="44" y="971.5752">iterate topic pointer to this message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="295" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="305" y="971.5752">copy payload to message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="485" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="495" y="971.5752">set origin time of message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="682" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="692" y="971.5752">set number of HRT consumers (from topic)</text><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="960" x="22" y="1004.4053"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="398" x="1010" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="378" x="1020" y="971.5752">set QoS rate timer (@topic) wrt. most critical HRT subscriber</text><path d="M1470,938.7725 L1470,963.9053 A0,0 0 0 0 1470,963.9053 L1965,963.9053 A0,0 0 0 0 1965,963.9053 L1965,956.7725 L1985,951.3389 L1965,948.7725 L1965,948.7725 L1955,938.7725 L1470,938.7725 A0,0 0 0 0 1470,938.7725 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1955,938.7725 L1955,948.7725 L1965,948.7725 L1955,938.7725 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="474" x="1476" y="955.8394">No lock required since this timer is only accessed when the topic is locked.</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="434" x="1985" y="934.3545"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="414" x="1995" y="955.4932">set QoS delay timer (@subscriber) wrt. origin time of the message</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="2072,885.9521,2332,885.9521,2344,897.9521,2332,909.9521,2072,909.9521,2060,897.9521,2072,885.9521" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2206" y="920.1626">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="260" x="2072" y="901.7603">QoS delay timer (@subscriber) is not armed?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2344" y="895.3579">no</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="2202,992.7256,2214,1004.7256,2202,1016.7256,2190,1004.7256,2202,992.7256" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="2098" y="1036.7256"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="188" x="2108" y="1057.8643">iterate to next HRT subscriber</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="2141,830.2417,2263,830.2417,2275,842.2417,2263,854.2417,2141,854.2417,2129,842.2417,2141,830.2417" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2206" y="864.4521">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="2141" y="846.0498">HRT subscribers left?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2115" y="839.6475">no</text><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2451" x="10" y="1112.6943"/><path d="M814,1143.1123 L814,1168.2451 A0,0 0 0 0 814,1168.2451 L1150,1168.2451 A0,0 0 0 0 1150,1168.2451 L1150,1161.1123 L1170,1155.6787 L1150,1153.1123 L1150,1153.1123 L1140,1143.1123 L814,1143.1123 A0,0 0 0 0 814,1143.1123 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1140,1143.1123 L1140,1153.1123 L1150,1153.1123 L1140,1143.1123 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="315" x="820" y="1160.1792">Msut be within topic lock because of HRT counter.</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="1170" y="1138.6943"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="1180" y="1159.833">fire event</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1161.5" y="1192.6631"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1171.5" y="1213.8018">unlock topic</text><path d="M996.5,1245.0654 L996.5,1270.1982 A0,0 0 0 0 996.5,1270.1982 L1178.5,1270.1982 A0,0 0 0 0 1178.5,1270.1982 L1178.5,1263.0654 L1198.5,1257.6318 L1178.5,1255.0654 L1178.5,1255.0654 L1168.5,1245.0654 L996.5,1245.0654 A0,0 0 0 0 996.5,1245.0654 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1168.5,1245.0654 L1168.5,1255.0654 L1178.5,1255.0654 L1168.5,1245.0654 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1002.5" y="1262.1323">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1055.5" y="1262.1323">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1159.5" y="1262.1323">.</text><ellipse cx="1209.5" cy="1257.6318" fill="#FFFFFF" filter="url(#fgb6zrwdj1tda)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1209.5" cy="1257.6318" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="1205.5,329.8516,1209.5,339.8516,1213.5,329.8516,1209.5,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="1205.5,369.8516,1209.5,379.8516,1213.5,369.8516,1209.5,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="413.8203" y2="433.8203"/><polygon fill="#A80036" points="1205.5,423.8203,1209.5,433.8203,1213.5,423.8203,1209.5,427.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1119" x2="1119" y1="665.437" y2="702.0034"/><polygon fill="#A80036" points="1115,692.0034,1119,702.0034,1123,692.0034,1119,696.0034" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="655.4683" y2="679.8706"/><polygon fill="#A80036" points="1296,669.8706,1300,679.8706,1304,669.8706,1300,673.8706" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1413" x2="1425" y1="643.4683" y2="643.4683"/><polygon fill="#A80036" points="1421,686.855,1425,696.855,1429,686.855,1425,690.855" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1425" x2="1425" y1="643.4683" y2="750.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1425" x2="1312" y1="750.2417" y2="750.2417"/><polygon fill="#A80036" points="1322,746.2417,1312,750.2417,1322,754.2417,1318,750.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="713.8394" y2="738.2417"/><polygon fill="#A80036" points="1296,728.2417,1300,738.2417,1304,728.2417,1300,732.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1144.5" x2="1119" y1="609.4683" y2="609.4683"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1119" x2="1119" y1="609.4683" y2="631.4683"/><polygon fill="#A80036" points="1115,621.4683,1119,631.4683,1123,621.4683,1119,625.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1274.5" x2="1300" y1="609.4683" y2="609.4683"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="609.4683" y2="631.4683"/><polygon fill="#A80036" points="1296,621.4683,1300,631.4683,1304,621.4683,1300,625.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="762.2417" y2="772.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1483.5" y1="772.2417" y2="772.2417"/><polygon fill="#A80036" points="1479.5,639.9683,1483.5,629.9683,1487.5,639.9683,1483.5,635.9683" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1483.5" x2="1483.5" y1="499.7891" y2="772.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1483.5" x2="1330" y1="499.7891" y2="499.7891"/><polygon fill="#A80036" points="1340,495.7891,1330,499.7891,1340,503.7891,1336,499.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="577.4683" y2="597.4683"/><polygon fill="#A80036" points="1205.5,587.4683,1209.5,597.4683,1213.5,587.4683,1209.5,591.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="511.7891" y2="543.4995"/><polygon fill="#A80036" points="1205.5,533.4995,1209.5,543.4995,1213.5,533.4995,1209.5,537.4995" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1089" x2="860" y1="499.7891" y2="499.7891"/><polygon fill="#A80036" points="856,625.9683,860,635.9683,864,625.9683,860,629.9683" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="860" y1="499.7891" y2="784.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="1209.5" y1="784.2417" y2="784.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="784.2417" y2="804.2417"/><polygon fill="#A80036" points="1205.5,794.2417,1209.5,804.2417,1213.5,794.2417,1209.5,798.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="467.7891" y2="487.7891"/><polygon fill="#A80036" points="1205.5,477.7891,1209.5,487.7891,1213.5,477.7891,1209.5,481.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="159.5" x2="159.5" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="155.5,940.4365,159.5,950.4365,163.5,940.4365,159.5,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385" x2="385" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="381,940.4365,385,950.4365,389,940.4365,385,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578.5" x2="578.5" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="574.5,940.4365,578.5,950.4365,582.5,940.4365,578.5,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825" x2="825" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="821,940.4365,825,950.4365,829,940.4365,825,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="159.5" x2="159.5" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="155.5,994.4053,159.5,1004.4053,163.5,994.4053,159.5,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385" x2="385" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="381,994.4053,385,1004.4053,389,994.4053,385,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578.5" x2="578.5" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="574.5,994.4053,578.5,1004.4053,582.5,994.4053,578.5,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825" x2="825" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="821,994.4053,825,1004.4053,829,994.4053,825,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="909.9521" y2="934.3545"/><polygon fill="#A80036" points="2198,924.3545,2202,934.3545,2206,924.3545,2202,928.3545" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2344" x2="2429" y1="897.9521" y2="897.9521"/><polygon fill="#A80036" points="2425,941.3389,2429,951.3389,2433,941.3389,2429,945.3389" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2429" x2="2429" y1="897.9521" y2="1004.7256"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2429" x2="2214" y1="1004.7256" y2="1004.7256"/><polygon fill="#A80036" points="2224,1000.7256,2214,1004.7256,2224,1008.7256,2220,1004.7256" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="968.3232" y2="992.7256"/><polygon fill="#A80036" points="2198,982.7256,2202,992.7256,2206,982.7256,2202,986.7256" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="1016.7256" y2="1036.7256"/><polygon fill="#A80036" points="2198,1026.7256,2202,1036.7256,2206,1026.7256,2202,1030.7256" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="854.2417" y2="885.9521"/><polygon fill="#A80036" points="2198,875.9521,2202,885.9521,2206,875.9521,2202,879.9521" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="1070.6943" y2="1080.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2447" y1="1080.6943" y2="1080.6943"/><polygon fill="#A80036" points="2443,977.4209,2447,967.4209,2451,977.4209,2447,973.4209" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2447" x2="2447" y1="842.2417" y2="1080.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2447" x2="2275" y1="842.2417" y2="842.2417"/><polygon fill="#A80036" points="2285,838.2417,2275,842.2417,2285,846.2417,2281,842.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2129" x2="1448" y1="842.2417" y2="842.2417"/><polygon fill="#A80036" points="1444,963.4209,1448,973.4209,1452,963.4209,1448,967.4209" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1448" x2="1448" y1="842.2417" y2="1092.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1448" x2="2202" y1="1092.6943" y2="1092.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="1092.6943" y2="1112.6943"/><polygon fill="#A80036" points="2198,1102.6943,2202,1112.6943,2206,1102.6943,2202,1106.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="492" x2="492" y1="810.2417" y2="924.4365"/><polygon fill="#A80036" points="488,914.4365,492,924.4365,496,914.4365,492,918.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209" x2="1209" y1="810.2417" y2="950.4365"/><polygon fill="#A80036" points="1205,940.4365,1209,950.4365,1213,940.4365,1209,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="810.2417" y2="830.2417"/><polygon fill="#A80036" points="2198,820.2417,2202,830.2417,2206,820.2417,2202,824.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="492" x2="492" y1="1010.4053" y2="1112.6943"/><polygon fill="#A80036" points="488,1102.6943,492,1112.6943,496,1102.6943,492,1106.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209" x2="1209" y1="984.4053" y2="1112.6943"/><polygon fill="#A80036" points="1205,1102.6943,1209,1112.6943,1213,1102.6943,1209,1106.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="1118.6943" y2="1138.6943"/><polygon fill="#A80036" points="1205.5,1128.6943,1209.5,1138.6943,1213.5,1128.6943,1209.5,1132.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="1172.6631" y2="1192.6631"/><polygon fill="#A80036" points="1205.5,1182.6631,1209.5,1192.6631,1213.5,1182.6631,1209.5,1186.6631" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="1226.6318" y2="1246.6318"/><polygon fill="#A80036" points="1205.5,1236.6318,1209.5,1246.6318,1213.5,1236.6318,1209.5,1240.6318" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[197988ab9e282192e01c61c5b164982b]
+<?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="1776px" preserveAspectRatio="none" style="width:3008px;height:1776px;" version="1.1" viewBox="0 0 3008 1776" width="3008px" zoomAndPan="magnify"><defs><filter height="300%" id="fjrexx23r0l7p" 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="1458.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="183" x="1411.5" y="47.6611">urtPublisherPublish()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1506" y="68.6143"/><path d="M1294.5,72.8594 L1294.5,319.8516 L1679.5,319.8516 L1679.5,82.8594 L1669.5,72.8594 L1294.5,72.8594 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1669.5,72.8594 L1669.5,82.8594 L1679.5,82.8594 L1669.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1391.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1395.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="1395.5" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="1468.5" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1582.5" x2="1679.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="1300.5" y="105.0591">Pointer to the publisher to use.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1300.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1380.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1412.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1431" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1435" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1435" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1498" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1543" x2="1679.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="226" x="1300.5" y="150.4575">Pointer to the data to be published.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1300.5" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1350.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1386.5" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1438" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1442" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1442" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1487" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1536" x2="1679.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="1300.5" y="195.856">Size of the payload in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1432.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1436.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="6" x="1436.5" y="210.4888">t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="1446.5" y="210.4888">: urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1541.5" x2="1679.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="246" x="1300.5" y="226.1216">Timestamp to be set for the message.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1413" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1417" y="240.7544"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="1417" y="240.7544">timeout</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1478" y="240.7544">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1561" x2="1679.5" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="364" x="1300.5" y="256.3872">Timeout delay in case the message cannot be published.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1679.5" y1="264.4531" y2="264.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1679.5" y1="266.4531" y2="266.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1416" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1420" y="281.02"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1420" y="281.02">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1469" y="281.02">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1558" x2="1679.5" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1300.5" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1353.5" y="296.6528">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1461.5" y="296.6528">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1300.5" y="311.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1353.5" y="311.7856">URT_STATUS_PUBLISH_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="74" x="1565.5" y="311.7856">on timeout.</text><ellipse cx="1487" cy="349.8516" fill="#000000" filter="url(#fjrexx23r0l7p)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1447" y="379.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1457" y="400.9902">lock topic</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="519" x="1227.5" y="433.8203"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="1241.5" y="466.8047"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="1251.5" y="487.9434">access topic's next message</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="262" x="1470.5" y="459.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1470.5" x2="1485.5" y1="476.8047" y2="476.8047"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1485.5" y="480.459">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1717.5" x2="1732.5" y1="476.8047" y2="476.8047"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="242" x="1480.5" y="494.9277">increment counter of publish attempts</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="519" x="1227.5" y="527.7578"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="524" x="1225" y="609.4683"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="504" x="1235" y="630.6069">wait for topic's condition variable (using topic's mutex) to be signaled or timeout</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1434,663.437,1540,663.437,1552,675.437,1540,687.437,1434,687.437,1422,675.437,1434,663.437" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="1434" y="679.2451">Timeout occurred?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1402" y="672.8428">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1552" y="672.8428">no</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1205" y="697.437"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1205" x2="1215" y1="714.4214" y2="714.4214"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1215" y="718.0757">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1447" x2="1457" y1="714.4214" y2="714.4214"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="210" x="1215" y="732.5444">increment counter of publish fails</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1283" y="780.3745"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1293" y="801.5132">unlock topic</text><path d="M1014,849.3433 L1014,874.4761 A0,0 0 0 0 1014,874.4761 L1300,874.4761 A0,0 0 0 0 1300,874.4761 L1300,867.3433 L1320,861.9097 L1300,859.3433 L1300,859.3433 L1290,849.3433 L1014,849.3433 A0,0 0 0 0 1014,849.3433 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1290,849.3433 L1290,859.3433 L1300,859.3433 L1290,849.3433 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1020" y="866.4102">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1073" y="866.4102">URT_STATUS_PUBLISH_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1281" y="866.4102">.</text><ellipse cx="1331" cy="861.9097" fill="#FFFFFF" filter="url(#fjrexx23r0l7p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1331" cy="861.9097" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1552.5" y="817.8394"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="1562.5" y="838.978">proceed to next message</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1643,745.8394,1655,757.8394,1643,769.8394,1631,757.8394,1643,745.8394" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1499,894.4761,1787,894.4761,1799,906.4761,1787,918.4761,1499,918.4761,1487,906.4761,1499,894.4761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="288" x="1499" y="910.2842">Timestamp is younger than of previous message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1799" y="903.8818">yes</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1542,697.437,1744,697.437,1756,709.437,1744,721.437,1542,721.437,1530,709.437,1542,697.437" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1647" y="731.6475">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="202" x="1542" y="713.2451">Message timestamp was modified?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1756" y="706.8428">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1643,942.375,1655,954.375,1643,966.375,1631,954.375,1643,942.375" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1649" y="939.7808">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1378.5,553.7578,1595.5,553.7578,1607.5,565.7578,1595.5,577.7578,1378.5,577.7578,1366.5,565.7578,1378.5,553.7578" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1491" y="587.9683">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1378.5" y="569.5659">HRT consumers left for the message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1352.5" y="563.1636">no</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="174.668" style="stroke: #000000; stroke-width: 2.0;" width="396" x="1295" y="999.1768"/><path d="M1576,1000.1768 L1576,1008.4736 L1566,1018.4736 L1295,1018.4736 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="1298" y="1013.1719">URT_CFG_PUBSUB_PROFILING == true</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="344" x="1315" y="1083.876"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="324" x="1325" y="1105.0146">increment counter of discarded messages (@topic)</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1389,1035.4736,1585,1035.4736,1597,1047.4736,1585,1059.4736,1389,1059.4736,1377,1047.4736,1389,1035.4736" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1491" y="1069.6841">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1389" y="1051.2817">Consumers left for this message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1597" y="1044.8794">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1487,1137.8447,1499,1149.8447,1487,1161.8447,1475,1149.8447,1487,1137.8447" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2987" x="10" y="1193.8447"/><rect fill="#FFFFFF" filter="url(#fjrexx23r0l7p)" height="156.2344" style="stroke: #000000; stroke-width: 2.0;" width="1268" x="22" y="1325.584"/><path d="M140,1326.584 L140,1334.8809 L130,1344.8809 L22,1344.8809 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="25" y="1339.5791">setup message</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1248" x="32" y="1361.8809"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="261" x="46" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="241" x="56" y="1416.0039">iterate topic's pointer to this message</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="317" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="327" y="1416.0039">copy payload to message</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="507" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="517" y="1416.0039">set origin time of message</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="704" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="714" y="1416.0039">set number of HRT consumers (from topic)</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="254" x="1012" y="1387.8809"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1012" x2="1023" y1="1404.8652" y2="1404.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1023" y="1408.5195">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1255" x2="1266" y1="1404.8652" y2="1404.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="230" x="1026" y="1422.9883">set numer of consumers (from topic)</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1248" x="32" y="1455.8184"/><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="398" x="1318" y="1379.7324"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1318" x2="1377.5" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="279" x="1377.5" y="1400.3711">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1656.5" x2="1716" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="378" x="1328" y="1414.8398">set QoS rate timer (@topic) wrt. most critical HRT subscriber</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="376.1094" style="stroke: #000000; stroke-width: 2.0;" width="888" x="1744" y="1210.6465"/><path d="M2119,1211.6465 L2119,1219.9434 L2109,1229.9434 L1744,1229.9434 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="365" x="1747" y="1224.6416">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="241" x="2240" y="1246.9434"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="221" x="2250" y="1268.082">access first HRT subscriber of topic</text><path d="M1788,1410.1191 L1788,1450.3848 A0,0 0 0 0 1788,1450.3848 L2113,1450.3848 A0,0 0 0 0 2113,1450.3848 L2113,1434.252 L2133,1430.252 L2113,1426.252 L2113,1420.1191 L2103,1410.1191 L1788,1410.1191 A0,0 0 0 0 1788,1410.1191 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2103,1410.1191 L2103,1420.1191 L2113,1420.1191 L2103,1410.1191 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="1794" y="1427.186">No lock required.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="304" x="1794" y="1442.3188">This timer is only accessed while topic is locked.</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="455" x="2133" y="1413.2676"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="435" x="2143" y="1434.4063">set QoS deadline timer (@subscriber) wrt. origin time of the message</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="2221.5,1361.7168,2499.5,1361.7168,2511.5,1373.7168,2499.5,1385.7168,2221.5,1385.7168,2209.5,1373.7168,2221.5,1361.7168" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2364.5" y="1395.9272">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="2221.5" y="1377.5249">QoS deadline timer (@subscriber) is not armed?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2511.5" y="1371.1226">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="2360.5,1474.7871,2372.5,1486.7871,2360.5,1498.7871,2348.5,1486.7871,2360.5,1474.7871" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="218" x="2251.5" y="1518.7871"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="198" x="2261.5" y="1539.9258">proceed to next HRT subscriber</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="2280,1300.9121,2441,1300.9121,2453,1312.9121,2441,1324.9121,2280,1324.9121,2268,1312.9121,2280,1300.9121" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2364.5" y="1335.1226">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="2280" y="1316.7202">HRT subscriber is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="2407" y="1316.7202">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="2435" y="1316.7202">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2254" y="1310.3179">no</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="343" x="2642" y="1379.7324"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2642" x2="2697.5" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="2697.5" y="1400.3711">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2929.5" x2="2985" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="323" x="2652" y="1414.8398">increment counter of published messages (@topic)</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2987" x="10" y="1606.7559"/><path d="M1091.5,1637.1738 L1091.5,1662.3066 A0,0 0 0 0 1091.5,1662.3066 L1427.5,1662.3066 A0,0 0 0 0 1427.5,1662.3066 L1427.5,1655.1738 L1447.5,1649.7402 L1427.5,1647.1738 L1427.5,1647.1738 L1417.5,1637.1738 L1091.5,1637.1738 A0,0 0 0 0 1091.5,1637.1738 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1417.5,1637.1738 L1417.5,1647.1738 L1427.5,1647.1738 L1417.5,1637.1738 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="315" x="1097.5" y="1654.2407">Msut be within topic lock because of HRT counter.</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="1447.5" y="1632.7559"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="1457.5" y="1653.8945">fire event</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1439" y="1686.7246"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1449" y="1707.8633">unlock topic</text><path d="M1274,1739.127 L1274,1764.2598 A0,0 0 0 0 1274,1764.2598 L1456,1764.2598 A0,0 0 0 0 1456,1764.2598 L1456,1757.127 L1476,1751.6934 L1456,1749.127 L1456,1749.127 L1446,1739.127 L1274,1739.127 A0,0 0 0 0 1274,1739.127 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1446,1739.127 L1446,1749.127 L1456,1749.127 L1446,1739.127 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1280" y="1756.1938">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1333" y="1756.1938">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1437" y="1756.1938">.</text><ellipse cx="1487" cy="1751.6934" fill="#FFFFFF" filter="url(#fjrexx23r0l7p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1487" cy="1751.6934" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="1483,329.8516,1487,339.8516,1491,329.8516,1487,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="1483,369.8516,1487,379.8516,1491,369.8516,1487,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1342" x2="1342" y1="439.8203" y2="466.8047"/><polygon fill="#A80036" points="1338,456.8047,1342,466.8047,1346,456.8047,1342,460.8047" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1601.5" x2="1601.5" y1="439.8203" y2="459.8203"/><polygon fill="#A80036" points="1597.5,449.8203,1601.5,459.8203,1605.5,449.8203,1601.5,453.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1342" x2="1342" y1="500.7734" y2="527.7578"/><polygon fill="#A80036" points="1338,517.7578,1342,527.7578,1346,517.7578,1342,521.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1601.5" x2="1601.5" y1="507.7578" y2="527.7578"/><polygon fill="#A80036" points="1597.5,517.7578,1601.5,527.7578,1605.5,517.7578,1601.5,521.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="413.8203" y2="433.8203"/><polygon fill="#A80036" points="1483,423.8203,1487,433.8203,1491,423.8203,1487,427.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1331" x2="1331" y1="745.3745" y2="780.3745"/><polygon fill="#A80036" points="1327,770.3745,1331,780.3745,1335,770.3745,1331,774.3745" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1331" x2="1331" y1="814.3433" y2="850.9097"/><polygon fill="#A80036" points="1327,840.9097,1331,850.9097,1335,840.9097,1331,844.9097" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="769.8394" y2="817.8394"/><polygon fill="#A80036" points="1639,807.8394,1643,817.8394,1647,807.8394,1643,811.8394" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1799" x2="1811" y1="906.4761" y2="906.4761"/><polygon fill="#A80036" points="1807,844.8237,1811,834.8237,1815,844.8237,1811,840.8237" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1811" x2="1811" y1="757.8394" y2="906.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1811" x2="1655" y1="757.8394" y2="757.8394"/><polygon fill="#A80036" points="1665,753.8394,1655,757.8394,1665,761.8394,1661,757.8394" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="851.8081" y2="894.4761"/><polygon fill="#A80036" points="1639,884.4761,1643,894.4761,1647,884.4761,1643,888.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="721.437" y2="745.8394"/><polygon fill="#A80036" points="1639,735.8394,1643,745.8394,1647,735.8394,1643,739.8394" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1756" x2="1833" y1="709.437" y2="709.437"/><polygon fill="#A80036" points="1829,831.2261,1833,841.2261,1837,831.2261,1833,835.2261" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1833" x2="1833" y1="709.437" y2="954.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1833" x2="1655" y1="954.375" y2="954.375"/><polygon fill="#A80036" points="1665,950.375,1655,954.375,1665,958.375,1661,954.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="918.4761" y2="942.375"/><polygon fill="#A80036" points="1639,932.375,1643,942.375,1647,932.375,1643,936.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1422" x2="1331" y1="675.437" y2="675.437"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1331" x2="1331" y1="675.437" y2="697.437"/><polygon fill="#A80036" points="1327,687.437,1331,697.437,1335,687.437,1331,691.437" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1552" x2="1643" y1="675.437" y2="675.437"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="675.437" y2="697.437"/><polygon fill="#A80036" points="1639,687.437,1643,697.437,1647,687.437,1643,691.437" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="966.375" y2="976.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1867" y1="976.375" y2="976.375"/><polygon fill="#A80036" points="1863,784.3394,1867,774.3394,1871,784.3394,1867,780.3394" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1867" x2="1867" y1="565.7578" y2="976.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1867" x2="1607.5" y1="565.7578" y2="565.7578"/><polygon fill="#A80036" points="1617.5,561.7578,1607.5,565.7578,1617.5,569.7578,1613.5,565.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="643.437" y2="663.437"/><polygon fill="#A80036" points="1483,653.437,1487,663.437,1491,653.437,1487,657.437" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="577.7578" y2="609.4683"/><polygon fill="#A80036" points="1483,599.4683,1487,609.4683,1491,599.4683,1487,603.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1366.5" x2="998" y1="565.7578" y2="565.7578"/><polygon fill="#A80036" points="994,770.3394,998,780.3394,1002,770.3394,998,774.3394" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="998" x2="998" y1="565.7578" y2="988.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="998" x2="1487" y1="988.375" y2="988.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="988.375" y2="1035.4736"/><polygon fill="#A80036" points="1483,1025.4736,1487,1035.4736,1491,1025.4736,1487,1029.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="533.7578" y2="553.7578"/><polygon fill="#A80036" points="1483,543.7578,1487,553.7578,1491,543.7578,1487,547.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1059.4736" y2="1083.876"/><polygon fill="#A80036" points="1483,1073.876,1487,1083.876,1491,1073.876,1487,1077.876" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1597" x2="1669" y1="1047.4736" y2="1047.4736"/><polygon fill="#A80036" points="1665,1090.8604,1669,1100.8604,1673,1090.8604,1669,1094.8604" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1669" x2="1669" y1="1047.4736" y2="1149.8447"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1669" x2="1499" y1="1149.8447" y2="1149.8447"/><polygon fill="#A80036" points="1509,1145.8447,1499,1149.8447,1509,1153.8447,1505,1149.8447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1117.8447" y2="1137.8447"/><polygon fill="#A80036" points="1483,1127.8447,1487,1137.8447,1491,1127.8447,1487,1131.8447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176.5" x2="176.5" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="172.5,1384.8652,176.5,1394.8652,180.5,1384.8652,176.5,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="407" x2="407" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="403,1384.8652,407,1394.8652,411,1384.8652,407,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="600.5" x2="600.5" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="596.5,1384.8652,600.5,1394.8652,604.5,1384.8652,600.5,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="847" x2="847" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="843,1384.8652,847,1394.8652,851,1384.8652,847,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1139" x2="1139" y1="1367.8809" y2="1387.8809"/><polygon fill="#A80036" points="1135,1377.8809,1139,1387.8809,1143,1377.8809,1139,1381.8809" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176.5" x2="176.5" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="172.5,1445.8184,176.5,1455.8184,180.5,1445.8184,176.5,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="407" x2="407" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="403,1445.8184,407,1455.8184,411,1445.8184,407,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="600.5" x2="600.5" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="596.5,1445.8184,600.5,1455.8184,604.5,1445.8184,600.5,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="847" x2="847" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="843,1445.8184,847,1455.8184,851,1445.8184,847,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1139" x2="1139" y1="1435.8184" y2="1455.8184"/><polygon fill="#A80036" points="1135,1445.8184,1139,1455.8184,1143,1445.8184,1139,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1385.7168" y2="1413.2676"/><polygon fill="#A80036" points="2356.5,1403.2676,2360.5,1413.2676,2364.5,1403.2676,2360.5,1407.2676" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2511.5" x2="2598" y1="1373.7168" y2="1373.7168"/><polygon fill="#A80036" points="2594,1420.252,2598,1430.252,2602,1420.252,2598,1424.252" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2598" x2="2598" y1="1373.7168" y2="1486.7871"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2598" x2="2372.5" y1="1486.7871" y2="1486.7871"/><polygon fill="#A80036" points="2382.5,1482.7871,2372.5,1486.7871,2382.5,1490.7871,2378.5,1486.7871" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1447.2363" y2="1474.7871"/><polygon fill="#A80036" points="2356.5,1464.7871,2360.5,1474.7871,2364.5,1464.7871,2360.5,1468.7871" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1498.7871" y2="1518.7871"/><polygon fill="#A80036" points="2356.5,1508.7871,2360.5,1518.7871,2364.5,1508.7871,2360.5,1512.7871" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1324.9121" y2="1361.7168"/><polygon fill="#A80036" points="2356.5,1351.7168,2360.5,1361.7168,2364.5,1351.7168,2360.5,1355.7168" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1552.7559" y2="1562.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2616" y1="1562.7559" y2="1562.7559"/><polygon fill="#A80036" points="2612,1456.334,2616,1446.334,2620,1456.334,2616,1452.334" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2616" x2="2616" y1="1312.9121" y2="1562.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2616" x2="2453" y1="1312.9121" y2="1312.9121"/><polygon fill="#A80036" points="2463,1308.9121,2453,1312.9121,2463,1316.9121,2459,1312.9121" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2268" x2="1766" y1="1312.9121" y2="1312.9121"/><polygon fill="#A80036" points="1762,1442.334,1766,1452.334,1770,1442.334,1766,1446.334" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1766" x2="1766" y1="1312.9121" y2="1574.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1766" x2="2360.5" y1="1574.7559" y2="1574.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1574.7559" y2="1606.7559"/><polygon fill="#A80036" points="2356.5,1596.7559,2360.5,1606.7559,2364.5,1596.7559,2360.5,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1280.9121" y2="1300.9121"/><polygon fill="#A80036" points="2356.5,1290.9121,2360.5,1300.9121,2364.5,1290.9121,2360.5,1294.9121" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="650" x2="650" y1="1199.8447" y2="1361.8809"/><polygon fill="#A80036" points="646,1351.8809,650,1361.8809,654,1351.8809,650,1355.8809" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1517" x2="1517" y1="1199.8447" y2="1379.7324"/><polygon fill="#A80036" points="1513,1369.7324,1517,1379.7324,1521,1369.7324,1517,1373.7324" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1199.8447" y2="1246.9434"/><polygon fill="#A80036" points="2356.5,1236.9434,2360.5,1246.9434,2364.5,1236.9434,2360.5,1240.9434" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2813.5" x2="2813.5" y1="1199.8447" y2="1379.7324"/><polygon fill="#A80036" points="2809.5,1369.7324,2813.5,1379.7324,2817.5,1369.7324,2813.5,1373.7324" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="650" x2="650" y1="1461.8184" y2="1606.7559"/><polygon fill="#A80036" points="646,1596.7559,650,1606.7559,654,1596.7559,650,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1517" x2="1517" y1="1427.6699" y2="1606.7559"/><polygon fill="#A80036" points="1513,1596.7559,1517,1606.7559,1521,1596.7559,1517,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2813.5" x2="2813.5" y1="1427.6699" y2="1606.7559"/><polygon fill="#A80036" points="2809.5,1596.7559,2813.5,1606.7559,2817.5,1596.7559,2813.5,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1161.8447" y2="1193.8447"/><polygon fill="#A80036" points="1483,1183.8447,1487,1193.8447,1491,1183.8447,1487,1187.8447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1612.7559" y2="1632.7559"/><polygon fill="#A80036" points="1483,1622.7559,1487,1632.7559,1491,1622.7559,1487,1626.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1666.7246" y2="1686.7246"/><polygon fill="#A80036" points="1483,1676.7246,1487,1686.7246,1491,1676.7246,1487,1680.7246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1720.6934" y2="1740.6934"/><polygon fill="#A80036" points="1483,1730.6934,1487,1740.6934,1491,1730.6934,1487,1734.6934" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7a15d687b809606f6c1047ce89f2f656]
 @startuml
 
 title **µRtWare**\nurtPublisherPublish()\n
@@ -11,7 +11,7 @@ note
   - - **payload** : void* - -
   Pointer to the data to be published.
   May be ""NULL"" for messages without payload.
-  - - **n** : size_t - -
+  - - **bytes** : size_t - -
   Size of the payload in bytes.
   - - **t** : urt_osTime_t - -
   Timestamp to be set for the message.
@@ -20,49 +20,76 @@ note
   ====
   - - **return** : urt_status_t - -
   Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" on timeout.
+  Returns ""URT_STATUS_PUBLISH_TIMEOUT"" on timeout.
 endnote
 
 
 start
 :lock topic;
-:access topic's next message;
+fork
+  :access topic's next message;
+fork again
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of publish attempts;
+endfork
 while (HRT consumers left for the message?) is (yes)
   :wait for topic's condition variable (using topic's mutex) to be signaled or timeout;
   if (Timeout occurred?) then (yes)
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of publish fails;
     :unlock topic;
     stop
     note
-      Returns ""URT_STATUS_ERROR"".
+      Returns ""URT_STATUS_PUBLISH_TIMEOUT"".
     endnote
   else (no)
     if (Message timestamp was modified?) then (yes)
-      :access topic's next message;
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp is younger than of previous message?) is (yes)
+      ->no;
     else (no)
     endif
   endif
 endwhile (no)
+partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+  if (Consumers left for this message?) then (yes)
+    #EEEEEE:increment counter of discarded messages (@topic);
+  else (no)
+  endif
+}
 fork
-  fork
-    :iterate topic pointer to this message;
-  fork again
-    :copy payload to message;
-  fork again
-    :set origin time of message;
-  fork again
-    :set number of HRT consumers (from topic);
-  endfork
+  partition "setup message" {
+    fork
+      :iterate topic's pointer to this message;
+    fork again
+      :copy payload to message;
+    fork again
+      :set origin time of message;
+    fork again
+      :set number of HRT consumers (from topic);
+    fork again
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..
+       set numer of consumers (from topic);
+    endfork
+  }
 fork again
-  :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
+  #EEEEEE:..//URT_CFG_PUBSUB_QOS_RATECHECKS == true//..\nset QoS rate timer (@topic) wrt. most critical HRT subscriber;
 fork again
-  while (HRT subscribers left?) is (yes)
-    if (QoS delay timer (@subscriber) is not armed?) then (yes)
-      :set QoS delay timer (@subscriber) wrt. origin time of the message;
-      note: No lock required since this timer is only accessed when the topic is locked.
-    else (no)
-    endif
-    :iterate to next HRT subscriber;
-  endwhile (no)
+  partition "//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//" #EEEEEE {
+    #EEEEEE:access first HRT subscriber of topic;
+    while (HRT subscriber is not ""NULL""?) is (yes)
+      if (QoS deadline timer (@subscriber) is not armed?) then (yes)
+        #EEEEEE:set QoS deadline timer (@subscriber) wrt. origin time of the message;
+        note
+          No lock required.
+          This timer is only accessed while topic is locked.
+        endnote
+      else (no)
+      endif
+      #EEEEEE:proceed to next HRT subscriber;
+    endwhile (no)
+  }
+fork again
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of published messages (@topic);
 endfork
 :fire event;
 note: Msut be within topic lock because of HRT counter.
diff --git a/doc/activitydiagrams/publisher/urtPublisherPublish.uml b/doc/activitydiagrams/publisher/urtPublisherPublish.uml
index 3b5aaab..87d1a0d 100644
--- a/doc/activitydiagrams/publisher/urtPublisherPublish.uml
+++ b/doc/activitydiagrams/publisher/urtPublisherPublish.uml
@@ -34,7 +34,7 @@ note
   -- **payload** : void* --
   Pointer to the data to be published.
   May be ""NULL"" for messages without payload.
-  -- **n** : size_t --
+  -- **bytes** : size_t --
   Size of the payload in bytes.
   -- **t** : urt_osTime_t --
   Timestamp to be set for the message.
@@ -43,50 +43,77 @@ note
   ====
   -- **return** : urt_status_t --
   Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" on timeout.
+  Returns ""URT_STATUS_PUBLISH_TIMEOUT"" on timeout.
 endnote
 
 /'### PROCEDURE ##############################################################'/
 
 start
 :lock topic;
-:access topic's next message;
+fork
+  :access topic's next message;
+fork again
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of publish attempts;
+endfork
 while (HRT consumers left for the message?) is (yes)
   :wait for topic's condition variable (using topic's mutex) to be signaled or timeout;
   if (Timeout occurred?) then (yes)
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of publish fails;
     :unlock topic;
     stop
     note
-      Returns ""URT_STATUS_ERROR"".
+      Returns ""URT_STATUS_PUBLISH_TIMEOUT"".
     endnote
   else (no)
     if (Message timestamp was modified?) then (yes)
-      :access topic's next message;
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp is younger than of previous message?) is (yes)
+      ->no;
     else (no)
     endif
   endif
 endwhile (no)
+partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+  if (Consumers left for this message?) then (yes)
+    #EEEEEE:increment counter of discarded messages (@topic);
+  else (no)
+  endif
+}
 fork
-  fork
-    :iterate topic pointer to this message;
-  fork again
-    :copy payload to message;
-  fork again
-    :set origin time of message;
-  fork again
-    :set number of HRT consumers (from topic);
-  endfork
+  partition "setup message" {
+    fork
+      :iterate topic's pointer to this message;
+    fork again
+      :copy payload to message;
+    fork again
+      :set origin time of message;
+    fork again
+      :set number of HRT consumers (from topic);
+    fork again
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..
+       set numer of consumers (from topic);
+    endfork
+  }
 fork again
-  :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
+  #EEEEEE:..//URT_CFG_PUBSUB_QOS_RATECHECKS == true//..\nset QoS rate timer (@topic) wrt. most critical HRT subscriber;
 fork again
-  while (HRT subscribers left?) is (yes)
-    if (QoS delay timer (@subscriber) is not armed?) then (yes)
-      :set QoS delay timer (@subscriber) wrt. origin time of the message;
-      note: No lock required since this timer is only accessed when the topic is locked.
-    else (no)
-    endif
-    :iterate to next HRT subscriber;
-  endwhile (no)
+  partition "//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//" #EEEEEE {
+    #EEEEEE:access first HRT subscriber of topic;
+    while (HRT subscriber is not ""NULL""?) is (yes)
+      if (QoS deadline timer (@subscriber) is not armed?) then (yes)
+        #EEEEEE:set QoS deadline timer (@subscriber) wrt. origin time of the message;
+        note
+          No lock required.
+          This timer is only accessed while topic is locked.
+        endnote
+      else (no)
+      endif
+      #EEEEEE:proceed to next HRT subscriber;
+    endwhile (no)
+  }
+fork again
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of published messages (@topic);
 endfork
 :fire event;
 note: Msut be within topic lock because of HRT counter.
diff --git a/doc/activitydiagrams/service/urtServiceCall.svg b/doc/activitydiagrams/service/urtServiceCall.svg
index c4c1361..02b82c6 100644
--- a/doc/activitydiagrams/service/urtServiceCall.svg
+++ b/doc/activitydiagrams/service/urtServiceCall.svg
@@ -1,4 +1,4 @@
-<?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="454px" preserveAspectRatio="none" style="width:546px;height:454px;" version="1.1" viewBox="0 0 546 454" width="546px" zoomAndPan="magnify"><defs><filter height="300%" id="f16q4gx290h24v" 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="227.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="139" x="202.5" y="47.6611">urtServiceCall()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="275" y="68.6143"/><path d="M100,72.8594 L100,304.7188 L534,304.7188 L534,82.8594 L524,72.8594 L100,72.8594 " fill="#FBFB77" filter="url(#f16q4gx290h24v)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M524,72.8594 L524,82.8594 L534,82.8594 L524,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="236.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="240.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="240.5" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="296.5" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="397.5" x2="534" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="106" y="105.0591">The service to call.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="106" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="186" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="218" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="278" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="282" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="25" x="282" y="134.8247">arg</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="311" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="356" x2="534" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="106" y="150.4575">Optional argument for the service call.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="106" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="156" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="233" x="192" y="165.5903">if the service expects no arguments.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="280" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="284" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="21" x="284" y="180.2231">ret</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="309" y="180.2231">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="354" x2="534" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="222" x="106" y="195.856">Pointer to an optional return value.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="106" y="210.9888">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="156" y="210.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="188" y="210.9888">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="243" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="247" y="225.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="247" y="225.6216">timeout</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="308" y="225.6216">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="391" x2="534" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="361" x="106" y="241.2544">Timeout delay to be propagated to the callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="413" x="106" y="256.3872">Whether timeout is considered depends on the callback function.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="534" y1="264.4531" y2="264.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="534" y1="266.4531" y2="266.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="100" x2="246" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="250" y="281.02"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="250" y="281.02">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="299" y="281.02">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="388" x2="534" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="322" x="106" y="296.6528">Returns the exact output status of the service call.</text><ellipse cx="317" cy="334.7188" fill="#000000" filter="url(#f16q4gx290h24v)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f16q4gx290h24v)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="188" y="364.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="198" y="385.8574">execute the service</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="325" y="385.8574">callback</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="385" y="385.8574">function</text><path d="M10,417.1211 L10,442.2539 A0,0 0 0 0 10,442.2539 L286,442.2539 A0,0 0 0 0 286,442.2539 L286,435.1211 L306,429.6875 L286,427.1211 L286,427.1211 L276,417.1211 L10,417.1211 A0,0 0 0 0 10,417.1211 " fill="#FBFB77" filter="url(#f16q4gx290h24v)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M276,417.1211 L276,427.1211 L286,427.1211 L276,417.1211 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="255" x="16" y="434.188">Returns the return value of the callback.</text><ellipse cx="317" cy="429.6875" fill="#FFFFFF" filter="url(#f16q4gx290h24v)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="317" cy="429.6875" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="313,314.7188,317,324.7188,321,314.7188,317,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="313,354.7188,317,364.7188,321,354.7188,317,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="398.6875" y2="418.6875"/><polygon fill="#A80036" points="313,408.6875,317,418.6875,321,408.6875,317,412.6875" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[94e5d863c1a936c9a03c45d8e869c617]
+<?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="788px" preserveAspectRatio="none" style="width:1219px;height:788px;" version="1.1" viewBox="0 0 1219 788" width="1219px" zoomAndPan="magnify"><defs><filter height="300%" id="f15pkoa3awclp5" 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="564" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="139" x="539" y="47.6611">urtServiceCall()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="611.5" y="68.6143"/><path d="M402,72.8594 L402,304.7188 L836,304.7188 L836,82.8594 L826,72.8594 L402,72.8594 " fill="#FBFB77" filter="url(#f15pkoa3awclp5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M826,72.8594 L826,82.8594 L836,82.8594 L826,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="538.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="542.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="542.5" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="598.5" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="699.5" x2="836" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="408" y="105.0591">The service to call.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="408" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="488" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="520" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="580" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="584" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="25" x="584" y="134.8247">arg</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="613" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="658" x2="836" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="408" y="150.4575">Optional argument for the service call.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="408" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="458" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="233" x="494" y="165.5903">if the service expects no arguments.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="582" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="586" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="21" x="586" y="180.2231">ret</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="611" y="180.2231">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656" x2="836" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="408" y="195.856">Pointer to an optional output value.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="408" y="210.9888">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="458" y="210.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="490" y="210.9888">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="545" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="549" y="225.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="549" y="225.6216">timeout</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="610" y="225.6216">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="693" x2="836" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="361" x="408" y="241.2544">Timeout delay to be propagated to the callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="413" x="408" y="256.3872">Whether timeout is considered depends on the callback function.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="836" y1="264.4531" y2="264.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="836" y1="266.4531" y2="266.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="548" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="552" y="281.02"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="552" y="281.02">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="601" y="281.02">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="690" x2="836" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="322" x="408" y="296.6528">Returns the exact output status of the service call.</text><ellipse cx="619" cy="334.7188" fill="#000000" filter="url(#f15pkoa3awclp5)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="506" y="364.7188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="506" x2="516" y1="381.7031" y2="381.7031"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="206" x="516" y="385.3574">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="722" x2="732" y1="381.7031" y2="381.7031"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="516" y="399.8262">increment call counter</text><rect fill="#FEFECE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="490" y="432.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="500" y="453.7949">execute the service</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="627" y="453.7949">callback</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="687" y="453.7949">function</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="255.0703" style="stroke: #000000; stroke-width: 2.0;" width="1198" x="10" y="477.4268"/><path d="M262,478.4268 L262,486.7236 L252,496.7236 L10,496.7236 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="242" x="13" y="491.4219">URT_CFG_RPC_PROFILING == true</text><rect fill="#000000" filter="url(#f15pkoa3awclp5)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1178" x="20" y="513.7236"/><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="203" x="34" y="593.126"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="183" x="44" y="614.2646">accumulate sum of durations</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="327.5" y="593.126"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="337.5" y="614.2646">increment timeout counter</text><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="277,544.7236,566,544.7236,578,556.7236,566,568.7236,277,568.7236,265,556.7236,277,544.7236" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="425.5" y="578.9341">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="277" y="560.5317">Calback returned</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="378" y="560.5317">URT_STATUS_SERVICE_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="560" y="560.5317">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="578" y="554.1294">no</text><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="421.5,650.4971,433.5,662.4971,421.5,674.4971,409.5,662.4971,421.5,650.4971" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="630,539.7236,867,539.7236,879,551.7236,867,563.7236,630,563.7236,618,551.7236,630,539.7236" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="752.5" y="573.9341">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="630" y="555.5317">Duration was shorter than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="784" y="555.5317">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="861" y="555.5317">?</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="657" y="596.5283"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="667" y="617.667">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="716" y="617.667">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="797" y="617.667">value</text><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="911,539.7236,1142,539.7236,1154,551.7236,1142,563.7236,911,563.7236,899,551.7236,911,539.7236" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1030.5" y="573.9341">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="911" y="555.5317">Duration was longer than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="1059" y="555.5317">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1136" y="555.5317">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1154" y="549.1294">no</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="935" y="596.5283"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="945" y="617.667">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="994" y="617.667">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1075" y="617.667">value</text><rect fill="#000000" filter="url(#f15pkoa3awclp5)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1178" x="20" y="714.4971"/><path d="M312,750.9307 L312,776.0635 A0,0 0 0 0 312,776.0635 L588,776.0635 A0,0 0 0 0 588,776.0635 L588,768.9307 L608,763.4971 L588,760.9307 L588,760.9307 L578,750.9307 L312,750.9307 A0,0 0 0 0 312,750.9307 " fill="#FBFB77" filter="url(#f15pkoa3awclp5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M578,750.9307 L578,760.9307 L588,760.9307 L578,750.9307 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="255" x="318" y="767.9976">Returns the return value of the callback.</text><ellipse cx="619" cy="763.4971" fill="#FFFFFF" filter="url(#f15pkoa3awclp5)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="619" cy="763.4971" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="615,314.7188,619,324.7188,623,314.7188,619,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="615,354.7188,619,364.7188,623,354.7188,619,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="412.6563" y2="432.6563"/><polygon fill="#A80036" points="615,422.6563,619,432.6563,623,422.6563,619,426.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="568.7236" y2="593.126"/><polygon fill="#A80036" points="417.5,583.126,421.5,593.126,425.5,583.126,421.5,587.126" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578" x2="590" y1="556.7236" y2="556.7236"/><polygon fill="#A80036" points="586,600.1104,590,610.1104,594,600.1104,590,604.1104" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="590" x2="590" y1="556.7236" y2="662.4971"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="590" x2="433.5" y1="662.4971" y2="662.4971"/><polygon fill="#A80036" points="443.5,658.4971,433.5,662.4971,443.5,666.4971,439.5,662.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="627.0947" y2="650.4971"/><polygon fill="#A80036" points="417.5,640.4971,421.5,650.4971,425.5,640.4971,421.5,644.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="748.5" y1="563.7236" y2="596.5283"/><polygon fill="#A80036" points="744.5,586.5283,748.5,596.5283,752.5,586.5283,748.5,590.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="748.5" y1="630.4971" y2="694.4971"/><polygon fill="#A80036" points="744.5,684.4971,748.5,694.4971,752.5,684.4971,748.5,688.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1026.5" x2="1026.5" y1="563.7236" y2="596.5283"/><polygon fill="#A80036" points="1022.5,586.5283,1026.5,596.5283,1030.5,586.5283,1026.5,590.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1026.5" x2="1026.5" y1="630.4971" y2="694.4971"/><polygon fill="#A80036" points="1022.5,684.4971,1026.5,694.4971,1030.5,684.4971,1026.5,688.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="879" x2="899" y1="551.7236" y2="551.7236"/><polygon fill="#A80036" points="889,547.7236,899,551.7236,889,555.7236,893,551.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911" x2="911" y1="519.7236" y2="524.7236"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911" x2="748.5" y1="524.7236" y2="524.7236"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="748.5" y1="524.7236" y2="539.7236"/><polygon fill="#A80036" points="744.5,529.7236,748.5,539.7236,752.5,529.7236,748.5,533.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1154" x2="1182" y1="551.7236" y2="551.7236"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1182" x2="1182" y1="551.7236" y2="694.4971"/><polygon fill="#A80036" points="1178,684.4971,1182,694.4971,1186,684.4971,1182,688.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="1182" y1="694.4971" y2="694.4971"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="135.5" x2="135.5" y1="519.7236" y2="593.126"/><polygon fill="#A80036" points="131.5,583.126,135.5,593.126,139.5,583.126,135.5,587.126" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="519.7236" y2="544.7236"/><polygon fill="#A80036" points="417.5,534.7236,421.5,544.7236,425.5,534.7236,421.5,538.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="135.5" x2="135.5" y1="627.0947" y2="714.4971"/><polygon fill="#A80036" points="131.5,704.4971,135.5,714.4971,139.5,704.4971,135.5,708.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="674.4971" y2="714.4971"/><polygon fill="#A80036" points="417.5,704.4971,421.5,714.4971,425.5,704.4971,421.5,708.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911" x2="911" y1="694.4971" y2="714.4971"/><polygon fill="#A80036" points="907,704.4971,911,714.4971,915,704.4971,911,708.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="466.625" y2="513.7236"/><polygon fill="#A80036" points="615,503.7236,619,513.7236,623,503.7236,619,507.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="720.4971" y2="752.4971"/><polygon fill="#A80036" points="615,742.4971,619,752.4971,623,742.4971,619,746.4971" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9abbf63e143f272cc34ce6b0745131bf]
 @startuml
 
 title **µRtWare**\nurtServiceCall()\n
@@ -12,7 +12,7 @@ note
   Optional argument for the service call.
   May be ""NULL"" if the service expects no arguments.
   - - **ret** : void* - -
-  Pointer to an optional return value.
+  Pointer to an optional output value.
   May be ""NULL"".
   - - **timeout** : urt_delay_t - -
   Timeout delay to be propagated to the callback function.
@@ -24,7 +24,25 @@ endnote
 
 
 start
+#EEEEEE:..//URT_CFG_RPC_PROFILING == true//..\nincrement call counter;
 :execute the service ""callback"" function;
+partition "//URT_CFG_RPC_PROFILING == true//" #EEEEEE {
+  fork
+    #EEEEEE:accumulate sum of durations;
+  fork again
+    if (Calback returned ""URT_STATUS_SERVICE_TIMEOUT""?) then (yes)
+      #EEEEEE:increment timeout counter;
+    else (no)
+    endif
+  fork again
+    if (Duration was shorter than ""minDuration""?) then (yes)
+      #EEEEEE:update ""minDuration"" value;
+    elseif (Duration was longer than ""maxDuration""?) then (yes)
+      #EEEEEE:update ""maxDuration"" value;
+    else (no)
+    endif
+  endfork
+}
 stop
 note
   Returns the return value of the callback.
diff --git a/doc/activitydiagrams/service/urtServiceCall.uml b/doc/activitydiagrams/service/urtServiceCall.uml
index 1cc7e8e..faa9e5c 100644
--- a/doc/activitydiagrams/service/urtServiceCall.uml
+++ b/doc/activitydiagrams/service/urtServiceCall.uml
@@ -35,7 +35,7 @@ note
   Optional argument for the service call.
   May be ""NULL"" if the service expects no arguments.
   -- **ret** : void* --
-  Pointer to an optional return value.
+  Pointer to an optional output value.
   May be ""NULL"".
   -- **timeout** : urt_delay_t --
   Timeout delay to be propagated to the callback function.
@@ -48,7 +48,25 @@ endnote
 /'### PROCEDURE ##############################################################'/
 
 start
+#EEEEEE:..//URT_CFG_RPC_PROFILING == true//..\nincrement call counter;
 :execute the service ""callback"" function;
+partition "//URT_CFG_RPC_PROFILING == true//" #EEEEEE {
+  fork
+    #EEEEEE:accumulate sum of durations;
+  fork again
+    if (Calback returned ""URT_STATUS_SERVICE_TIMEOUT""?) then (yes)
+      #EEEEEE:increment timeout counter;
+    else (no)
+    endif
+  fork again
+    if (Duration was shorter than ""minDuration""?) then (yes)
+      #EEEEEE:update ""minDuration"" value;
+    elseif (Duration was longer than ""maxDuration""?) then (yes)
+      #EEEEEE:update ""maxDuration"" value;
+    else (no)
+    endif
+  endfork
+}
 stop
 note
   Returns the return value of the callback.
diff --git a/doc/activitydiagrams/service/urtServiceInit.svg b/doc/activitydiagrams/service/urtServiceInit.svg
index 52812ee..42466ab 100644
--- a/doc/activitydiagrams/service/urtServiceInit.svg
+++ b/doc/activitydiagrams/service/urtServiceInit.svg
@@ -1,4 +1,4 @@
-<?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="977px" preserveAspectRatio="none" style="width:1146px;height:977px;" version="1.1" viewBox="0 0 1146 977" width="1146px" zoomAndPan="magnify"><defs><filter height="300%" id="f1snfj7r7itc1b" 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="527.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="135" x="504.5" y="47.6611">urtServiceInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="575" y="68.6143"/><path d="M355,72.8594 L355,259.3203 L920,259.3203 L920,82.8594 L910,72.8594 L355,72.8594 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M910,72.8594 L910,82.8594 L920,82.8594 L910,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="557" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="561" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="561" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="617" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="718" x2="920" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="361" y="105.0591">The service to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="361" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="441" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="473" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="574" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="578" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="578" y="134.8247">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="596" y="134.8247">: urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="701" x2="920" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="258" x="361" y="150.4575">Unique, numeric identifier of the service.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="539" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="543" y="165.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="543" y="165.0903">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="124" x="608" y="165.0903">: urt_servicefunc_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="736" x2="920" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="307" x="361" y="180.7231">Callabck function to be executed by this service.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="361" y="195.856">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="441" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="473" y="195.856">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="920" y1="203.9219" y2="203.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="920" y1="205.9219" y2="205.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="566.5" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="570.5" y="220.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="570.5" y="220.4888">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="619.5" y="220.4888">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="708.5" x2="920" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="361" y="236.1216">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="414" y="236.1216">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="522" y="236.1216">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="361" y="251.2544">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="414" y="251.2544">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="359" x="546" y="251.2544">if another service with the same identifier already exists.</text><ellipse cx="637.5" cy="289.3203" fill="#000000" filter="url(#f1snfj7r7itc1b)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,309.3203 L10,485.7813 A0,0 0 0 0 10,485.7813 L552,485.7813 A0,0 0 0 0 552,485.7813 L552,401.5508 L572,397.5508 L552,393.5508 L552,319.3203 L542,309.3203 L10,309.3203 A0,0 0 0 0 10,309.3203 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M542,309.3203 L542,319.3203 L552,319.3203 L542,309.3203 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="16" y="326.3872">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="52" y="326.3872">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="67" y="326.3872">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="16" y="341.52">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="34" y="341.52">← id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="16" y="356.6528">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="97" y="356.6528">lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="127" y="356.6528">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="16" y="371.7856">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="81" y="371.7856">← callback</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="513" x="24.5" y="386.4185">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="541.5" x2="552" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="90" x="16" y="402.0513">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="110" y="402.0513">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="94" x="16" y="417.1841">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="114" y="417.1841">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="167.5" y1="427.8164" y2="427.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="171.5" y="431.8169">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="394.5" x2="552" y1="427.8164" y2="427.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="102" x="16" y="447.4497">sumDurations</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="122" y="447.4497">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="16" y="462.5825">numCalls</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="87" y="462.5825">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="99" x="16" y="477.7153">numTimeouts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="119" y="477.7153">← 0</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="572" y="380.5664"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="582" y="401.7051">initialize members</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="599" y="505.7813"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="609" y="526.9199">lock core</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="567.5" y="559.75"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="577.5" y="580.8887">access first service</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="553.5" y="671.0386"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="563.5" y="692.1772">proceed to next service</text><polygon fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" points="569.5,613.7188,705.5,613.7188,717.5,626.5234,705.5,639.3281,569.5,639.3281,557.5,626.5234,569.5,613.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="641.5" y="649.5386">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="569.5" y="623.9292">Service is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="651.5" y="623.9292">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="569.5" y="636.7339">and service ID is lower?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="543.5" y="623.9292">no</text><polygon fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" points="283,747.0073,423,747.0073,435,759.0073,423,771.0073,283,771.0073,271,759.0073,283,747.0073" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="357" y="781.2178">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="283" y="762.8154">Current service is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="389" y="762.8154">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="417" y="762.8154">?</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="230" y="802.7178"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="226" x="240" y="823.8564">append self to core's list of services</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="306.5" y="871.6865"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="316.5" y="892.8252">unlock core</text><path d="M140,940.6553 L140,965.7881 A0,0 0 0 0 140,965.7881 L322,965.7881 A0,0 0 0 0 322,965.7881 L322,958.6553 L342,953.2217 L322,950.6553 L322,950.6553 L312,940.6553 L140,940.6553 A0,0 0 0 0 140,940.6553 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M312,940.6553 L312,950.6553 L322,950.6553 L312,940.6553 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="146" y="957.7222">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="199" y="957.7222">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="303" y="957.7222">:</text><ellipse cx="353" cy="953.2217" fill="#FFFFFF" filter="url(#f1snfj7r7itc1b)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="353" cy="953.2217" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" points="624.5,747.0073,793.5,747.0073,805.5,759.0073,793.5,771.0073,624.5,771.0073,612.5,759.0073,624.5,747.0073" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="713" y="781.2178">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="624.5" y="762.8154">Current service ID is greater?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="805.5" y="756.4131">no</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="586.5" y="802.7178"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="225" x="596.5" y="823.8564">insert self in front of current service</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="662.5" y="871.6865"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="672.5" y="892.8252">unlock core</text><path d="M496,940.6553 L496,965.7881 A0,0 0 0 0 496,965.7881 L678,965.7881 A0,0 0 0 0 678,965.7881 L678,958.6553 L698,953.2217 L678,950.6553 L678,950.6553 L668,940.6553 L496,940.6553 A0,0 0 0 0 496,940.6553 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M668,940.6553 L668,950.6553 L678,950.6553 L668,940.6553 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="502" y="957.7222">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="555" y="957.7222">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="659" y="957.7222">:</text><ellipse cx="709" cy="953.2217" fill="#FFFFFF" filter="url(#f1snfj7r7itc1b)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="709" cy="953.2217" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="1042" y="833.7998"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1052" y="854.9385">unlock core</text><path d="M851.5,902.7686 L851.5,927.9014 A0,0 0 0 0 851.5,927.9014 L1057.5,927.9014 A0,0 0 0 0 1057.5,927.9014 L1057.5,920.7686 L1077.5,915.335 L1057.5,912.7686 L1057.5,912.7686 L1047.5,902.7686 L851.5,902.7686 A0,0 0 0 0 851.5,902.7686 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1047.5,902.7686 L1047.5,912.7686 L1057.5,912.7686 L1047.5,902.7686 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="857.5" y="919.8354">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="910.5" y="919.8354">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1038.5" y="919.8354">:</text><ellipse cx="1088.5" cy="915.335" fill="#FFFFFF" filter="url(#f1snfj7r7itc1b)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1088.5" cy="915.335" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="259.3203" y2="279.3203"/><polygon fill="#A80036" points="633.5,269.3203,637.5,279.3203,641.5,269.3203,637.5,273.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="299.3203" y2="380.5664"/><polygon fill="#A80036" points="633.5,370.5664,637.5,380.5664,641.5,370.5664,637.5,374.5664" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="414.5352" y2="505.7813"/><polygon fill="#A80036" points="633.5,495.7813,637.5,505.7813,641.5,495.7813,637.5,499.7813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="539.75" y2="559.75"/><polygon fill="#A80036" points="633.5,549.75,637.5,559.75,641.5,549.75,637.5,553.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="639.3281" y2="671.0386"/><polygon fill="#A80036" points="633.5,661.0386,637.5,671.0386,641.5,661.0386,637.5,665.0386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="705.0073" y2="715.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="733.5" y1="715.0073" y2="715.0073"/><polygon fill="#A80036" points="729.5,679.2183,733.5,669.2183,737.5,679.2183,733.5,675.2183" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="733.5" x2="733.5" y1="626.5234" y2="715.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="733.5" x2="717.5" y1="626.5234" y2="626.5234"/><polygon fill="#A80036" points="727.5,622.5234,717.5,626.5234,727.5,630.5234,723.5,626.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="557.5" x2="541.5" y1="626.5234" y2="626.5234"/><polygon fill="#A80036" points="537.5,665.2183,541.5,675.2183,545.5,665.2183,541.5,669.2183" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541.5" x2="541.5" y1="626.5234" y2="727.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541.5" x2="637.5" y1="727.0073" y2="727.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="727.0073" y2="732.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="593.7188" y2="613.7188"/><polygon fill="#A80036" points="633.5,603.7188,637.5,613.7188,641.5,603.7188,637.5,607.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="836.6865" y2="871.6865"/><polygon fill="#A80036" points="349,861.6865,353,871.6865,357,861.6865,353,865.6865" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="905.6553" y2="942.2217"/><polygon fill="#A80036" points="349,932.2217,353,942.2217,357,932.2217,353,936.2217" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="709" x2="709" y1="836.6865" y2="871.6865"/><polygon fill="#A80036" points="705,861.6865,709,871.6865,713,861.6865,709,865.6865" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="709" x2="709" y1="905.6553" y2="942.2217"/><polygon fill="#A80036" points="705,932.2217,709,942.2217,713,932.2217,709,936.2217" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1088.5" x2="1088.5" y1="867.7686" y2="904.335"/><polygon fill="#A80036" points="1084.5,894.335,1088.5,904.335,1092.5,894.335,1088.5,898.335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="771.0073" y2="802.7178"/><polygon fill="#A80036" points="349,792.7178,353,802.7178,357,792.7178,353,796.7178" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="709" x2="709" y1="771.0073" y2="802.7178"/><polygon fill="#A80036" points="705,792.7178,709,802.7178,713,792.7178,709,796.7178" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="435" x2="612.5" y1="759.0073" y2="759.0073"/><polygon fill="#A80036" points="602.5,755.0073,612.5,759.0073,602.5,763.0073,606.5,759.0073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="353" y1="732.0073" y2="732.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="732.0073" y2="747.0073"/><polygon fill="#A80036" points="349,737.0073,353,747.0073,357,737.0073,353,741.0073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="805.5" x2="1088.5" y1="759.0073" y2="759.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1088.5" x2="1088.5" y1="759.0073" y2="833.7998"/><polygon fill="#A80036" points="1084.5,823.7998,1088.5,833.7998,1092.5,823.7998,1088.5,827.7998" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e97c440ea6d6ffb95ba2bae466cee68a]
+<?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="962px" preserveAspectRatio="none" style="width:1112px;height:962px;" version="1.1" viewBox="0 0 1112 962" width="1112px" zoomAndPan="magnify"><defs><filter height="300%" id="f10ia0x871a6j9" 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="510.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="135" x="487.5" y="47.6611">urtServiceInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="558" y="68.6143"/><path d="M225,72.8594 L225,259.3203 L886,259.3203 L886,82.8594 L876,72.8594 L225,72.8594 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M876,72.8594 L876,82.8594 L886,82.8594 L876,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="475" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="479" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="479" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="535" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="636" x2="886" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="231" y="105.0591">The service to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="231" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="311" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="343" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="492" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="496" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="496" y="134.8247">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="514" y="134.8247">: urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="619" x2="886" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="258" x="231" y="150.4575">Unique, numeric identifier of the service.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="457" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="461" y="165.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="461" y="165.0903">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="124" x="526" y="165.0903">: urt_servicefunc_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="654" x2="886" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="307" x="231" y="180.7231">Callabck function to be executed by this service.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="231" y="195.856">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="311" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="343" y="195.856">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="886" y1="203.9219" y2="203.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="886" y1="205.9219" y2="205.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="484.5" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="488.5" y="220.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="488.5" y="220.4888">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="537.5" y="220.4888">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="626.5" x2="886" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="231" y="236.1216">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="284" y="236.1216">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="392" y="236.1216">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="231" y="251.2544">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="224" x="284" y="251.2544">URT_STATUS_SERVICE_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="359" x="512" y="251.2544">if another service with the same identifier already exists.</text><ellipse cx="555.5" cy="289.3203" fill="#000000" filter="url(#f10ia0x871a6j9)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M222,309.3203 L222,470.6484 A0,0 0 0 0 222,470.6484 L470,470.6484 A0,0 0 0 0 470,470.6484 L470,393.9844 L490,389.9844 L470,385.9844 L470,319.3203 L460,309.3203 L222,309.3203 A0,0 0 0 0 222,309.3203 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M460,309.3203 L460,319.3203 L470,319.3203 L460,309.3203 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="233.5" cy="321.9531" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="239" y="326.3872">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="275" y="326.3872">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="290" y="326.3872">NULL</text><ellipse cx="233.5" cy="337.0859" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="239" y="341.52">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="257" y="341.52">← id</text><ellipse cx="233.5" cy="352.2188" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="239" y="356.6528">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="320" y="356.6528">lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="350" y="356.6528">)</text><ellipse cx="233.5" cy="367.3516" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="239" y="371.7856">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="304" y="371.7856">← callback</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="222" x2="232.5" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="236.5" y="386.4185">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="459.5" x2="470" y1="382.418" y2="382.418"/><ellipse cx="233.5" cy="397.6172" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="90" x="239" y="402.0513">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="333" y="402.0513">← 0xF..F</text><ellipse cx="233.5" cy="412.75" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="94" x="239" y="417.1841">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="337" y="417.1841">← 0</text><ellipse cx="233.5" cy="427.8828" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="102" x="239" y="432.3169">sumDurations</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="345" y="432.3169">← 0</text><ellipse cx="233.5" cy="443.0156" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="239" y="447.4497">numCalls</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="310" y="447.4497">← 0</text><ellipse cx="233.5" cy="458.1484" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="99" x="239" y="462.5825">numTimeouts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="342" y="462.5825">← 0</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="490" y="373"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="500" y="394.1387">initialize members</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="517" y="490.6484"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="527" y="511.7871">lock core</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="485.5" y="544.6172"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="495.5" y="565.7559">access first service</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="471.5" y="655.9058"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="481.5" y="677.0444">proceed to next service</text><polygon fill="#FEFECE" filter="url(#f10ia0x871a6j9)" points="487.5,598.5859,623.5,598.5859,635.5,611.3906,623.5,624.1953,487.5,624.1953,475.5,611.3906,487.5,598.5859" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="559.5" y="634.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="487.5" y="608.7964">Service is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="569.5" y="608.7964">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="487.5" y="621.6011">and service ID is lower?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="461.5" y="608.7964">no</text><polygon fill="#FEFECE" filter="url(#f10ia0x871a6j9)" points="153,731.8745,293,731.8745,305,743.8745,293,755.8745,153,755.8745,141,743.8745,153,731.8745" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="766.085">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="153" y="747.6826">Current service is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="259" y="747.6826">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="287" y="747.6826">?</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="100" y="787.585"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="226" x="110" y="808.7236">append self to core's list of services</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="856.5537"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="877.6924">unlock core</text><path d="M10,925.5225 L10,950.6553 A0,0 0 0 0 10,950.6553 L192,950.6553 A0,0 0 0 0 192,950.6553 L192,943.5225 L212,938.0889 L192,935.5225 L192,935.5225 L182,925.5225 L10,925.5225 A0,0 0 0 0 10,925.5225 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,925.5225 L182,935.5225 L192,935.5225 L182,925.5225 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="942.5894">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="942.5894">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="942.5894">:</text><ellipse cx="223" cy="938.0889" fill="#FFFFFF" filter="url(#f10ia0x871a6j9)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="938.0889" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f10ia0x871a6j9)" points="494.5,731.8745,663.5,731.8745,675.5,743.8745,663.5,755.8745,494.5,755.8745,482.5,743.8745,494.5,731.8745" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="583" y="766.085">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="494.5" y="747.6826">Current service ID is greater?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="675.5" y="741.2803">no</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="456.5" y="787.585"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="225" x="466.5" y="808.7236">insert self in front of current service</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="532.5" y="856.5537"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="542.5" y="877.6924">unlock core</text><path d="M366,925.5225 L366,950.6553 A0,0 0 0 0 366,950.6553 L548,950.6553 A0,0 0 0 0 548,950.6553 L548,943.5225 L568,938.0889 L548,935.5225 L548,935.5225 L538,925.5225 L366,925.5225 A0,0 0 0 0 366,925.5225 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M538,925.5225 L538,935.5225 L548,935.5225 L538,925.5225 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="372" y="942.5894">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="425" y="942.5894">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="529" y="942.5894">:</text><ellipse cx="579" cy="938.0889" fill="#FFFFFF" filter="url(#f10ia0x871a6j9)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="579" cy="938.0889" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="1008" y="818.667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1018" y="839.8057">unlock core</text><path d="M721.5,887.6357 L721.5,912.7686 A0,0 0 0 0 721.5,912.7686 L1023.5,912.7686 A0,0 0 0 0 1023.5,912.7686 L1023.5,905.6357 L1043.5,900.2021 L1023.5,897.6357 L1023.5,897.6357 L1013.5,887.6357 L721.5,887.6357 A0,0 0 0 0 721.5,887.6357 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1013.5,887.6357 L1013.5,897.6357 L1023.5,897.6357 L1013.5,887.6357 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="727.5" y="904.7026">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="224" x="780.5" y="904.7026">URT_STATUS_SERVICE_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1004.5" y="904.7026">:</text><ellipse cx="1054.5" cy="900.2021" fill="#FFFFFF" filter="url(#f10ia0x871a6j9)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1054.5" cy="900.2021" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="259.3203" y2="279.3203"/><polygon fill="#A80036" points="551.5,269.3203,555.5,279.3203,559.5,269.3203,555.5,273.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="299.3203" y2="373"/><polygon fill="#A80036" points="551.5,363,555.5,373,559.5,363,555.5,367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="406.9688" y2="490.6484"/><polygon fill="#A80036" points="551.5,480.6484,555.5,490.6484,559.5,480.6484,555.5,484.6484" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="524.6172" y2="544.6172"/><polygon fill="#A80036" points="551.5,534.6172,555.5,544.6172,559.5,534.6172,555.5,538.6172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="624.1953" y2="655.9058"/><polygon fill="#A80036" points="551.5,645.9058,555.5,655.9058,559.5,645.9058,555.5,649.9058" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="689.8745" y2="699.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="651.5" y1="699.8745" y2="699.8745"/><polygon fill="#A80036" points="647.5,664.0854,651.5,654.0854,655.5,664.0854,651.5,660.0854" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="651.5" y1="611.3906" y2="699.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="635.5" y1="611.3906" y2="611.3906"/><polygon fill="#A80036" points="645.5,607.3906,635.5,611.3906,645.5,615.3906,641.5,611.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="475.5" x2="459.5" y1="611.3906" y2="611.3906"/><polygon fill="#A80036" points="455.5,650.0854,459.5,660.0854,463.5,650.0854,459.5,654.0854" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="459.5" x2="459.5" y1="611.3906" y2="711.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="459.5" x2="555.5" y1="711.8745" y2="711.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="711.8745" y2="716.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="578.5859" y2="598.5859"/><polygon fill="#A80036" points="551.5,588.5859,555.5,598.5859,559.5,588.5859,555.5,592.5859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="821.5537" y2="856.5537"/><polygon fill="#A80036" points="219,846.5537,223,856.5537,227,846.5537,223,850.5537" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="890.5225" y2="927.0889"/><polygon fill="#A80036" points="219,917.0889,223,927.0889,227,917.0889,223,921.0889" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579" x2="579" y1="821.5537" y2="856.5537"/><polygon fill="#A80036" points="575,846.5537,579,856.5537,583,846.5537,579,850.5537" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579" x2="579" y1="890.5225" y2="927.0889"/><polygon fill="#A80036" points="575,917.0889,579,927.0889,583,917.0889,579,921.0889" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1054.5" x2="1054.5" y1="852.6357" y2="889.2021"/><polygon fill="#A80036" points="1050.5,879.2021,1054.5,889.2021,1058.5,879.2021,1054.5,883.2021" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="755.8745" y2="787.585"/><polygon fill="#A80036" points="219,777.585,223,787.585,227,777.585,223,781.585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579" x2="579" y1="755.8745" y2="787.585"/><polygon fill="#A80036" points="575,777.585,579,787.585,583,777.585,579,781.585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="305" x2="482.5" y1="743.8745" y2="743.8745"/><polygon fill="#A80036" points="472.5,739.8745,482.5,743.8745,472.5,747.8745,476.5,743.8745" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="223" y1="716.8745" y2="716.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="716.8745" y2="731.8745"/><polygon fill="#A80036" points="219,721.8745,223,731.8745,227,721.8745,223,725.8745" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="675.5" x2="1054.5" y1="743.8745" y2="743.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1054.5" x2="1054.5" y1="743.8745" y2="818.667"/><polygon fill="#A80036" points="1050.5,808.667,1054.5,818.667,1058.5,808.667,1054.5,812.667" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b9741ce88a09e48af554c13bb1f6aa1c]
 @startuml
 
 title **µRtWare**\nurtServiceInit()\n
@@ -16,24 +16,23 @@ note
   ====
   - - **return** : urt_status_t - -
   Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if another service with the same identifier already exists.
+  Returns ""URT_STATUS_SERVICE_DUPLICATE"" if another service with the same identifier already exists.
 endnote
 
 
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **id** ← id
-  urtMutexInit(**lock**)
-  **callback** ← callback
-  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true ..
-  **minDuration** ← 0xF..F
-  **maxDuration** ← 0
+  * **next** ← ""NULL""
+  * **id** ← id
+  * urtMutexInit(**lock**)
+  * **callback** ← callback
   .. URT_CFG_RPC_PROFILING == true ..
-  **sumDurations** ← 0
-  **numCalls** ← 0
-  **numTimeouts** ← 0
+  * **minDuration** ← 0xF..F
+  * **maxDuration** ← 0
+  * **sumDurations** ← 0
+  * **numCalls** ← 0
+  * **numTimeouts** ← 0
 endnote
 :lock core;
 :access first service;
@@ -58,7 +57,7 @@ else (no)
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_ERROR"":
+    Returns ""URT_STATUS_SERVICE_DUPLICATE"":
   endnote
 endif
 
diff --git a/doc/activitydiagrams/service/urtServiceInit.uml b/doc/activitydiagrams/service/urtServiceInit.uml
index b695023..838e291 100644
--- a/doc/activitydiagrams/service/urtServiceInit.uml
+++ b/doc/activitydiagrams/service/urtServiceInit.uml
@@ -39,7 +39,7 @@ note
   ====
   -- **return** : urt_status_t --
   Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if another service with the same identifier already exists.
+  Returns ""URT_STATUS_SERVICE_DUPLICATE"" if another service with the same identifier already exists.
 endnote
 
 /'### PROCEDURE ##############################################################'/
@@ -47,17 +47,16 @@ endnote
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **id** ← id
-  urtMutexInit(**lock**)
-  **callback** ← callback
-  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true ..
-  **minDuration** ← 0xF..F
-  **maxDuration** ← 0
+  * **next** ← ""NULL""
+  * **id** ← id
+  * urtMutexInit(**lock**)
+  * **callback** ← callback
   .. URT_CFG_RPC_PROFILING == true ..
-  **sumDurations** ← 0
-  **numCalls** ← 0
-  **numTimeouts** ← 0
+  * **minDuration** ← 0xF..F
+  * **maxDuration** ← 0
+  * **sumDurations** ← 0
+  * **numCalls** ← 0
+  * **numTimeouts** ← 0
 endnote
 :lock core;
 :access first service;
@@ -82,7 +81,7 @@ else (no)
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_ERROR"":
+    Returns ""URT_STATUS_SERVICE_DUPLICATE"":
   endnote
 endif
 
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberCalculateValidity.svg b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberCalculateValidity.svg
new file mode 100644
index 0000000..993e5fd
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberCalculateValidity.svg
@@ -0,0 +1,44 @@
+<?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="329px" preserveAspectRatio="none" style="width:598px;height:329px;" version="1.1" viewBox="0 0 598 329" width="598px" zoomAndPan="magnify"><defs><filter height="300%" id="flqx6fh6bygnd" 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="253.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="305" x="145.5" y="47.6611">urtFrtSubscriberCalculateValidity()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="301" y="68.6143"/><path d="M167.5,72.8594 L167.5,198.7891 L555.5,198.7891 L555.5,82.8594 L545.5,72.8594 L167.5,72.8594 " fill="#FBFB77" filter="url(#flqx6fh6bygnd)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M545.5,72.8594 L545.5,82.8594 L555.5,82.8594 L545.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="250.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="254.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="254.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="336.5" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="472.5" x2="555.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="173.5" y="105.0591">The FRT subscriber to calculate a validity for.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="173.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="253.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="285.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="289.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="293.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="293.5" y="134.8247">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="350.5" y="134.8247">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="433.5" x2="555.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="367" x="173.5" y="150.4575">Latency (of a message) as argument to calculate validity.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="555.5" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="555.5" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="315.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="319.5" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="319.5" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="368.5" y="175.0903">: bool</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="555.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="350" x="173.5" y="190.7231">Returns a boolean indicator whether the latency is fine.</text><ellipse cx="361.5" cy="228.7891" fill="#000000" filter="url(#flqx6fh6bygnd)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#flqx6fh6bygnd)" points="173,258.7891,550,258.7891,562,270.7891,550,282.7891,173,282.7891,161,270.7891,173,258.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="377" x="173" y="274.5972">Latency is lower than the deadline offset and within allowed jitter?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="141" y="268.1948">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="562" y="268.1948">no</text><path d="M10,292.7891 L10,317.9219 A0,0 0 0 0 10,317.9219 L120,317.9219 A0,0 0 0 0 120,317.9219 L120,310.7891 L140,305.3555 L120,302.7891 L120,302.7891 L110,292.7891 L10,292.7891 A0,0 0 0 0 10,292.7891 " fill="#FBFB77" filter="url(#flqx6fh6bygnd)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M110,292.7891 L110,302.7891 L120,302.7891 L110,292.7891 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="309.856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="69" y="309.856">true</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="101" y="309.856">.</text><ellipse cx="151" cy="305.3555" fill="#FFFFFF" filter="url(#flqx6fh6bygnd)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="151" cy="305.3555" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M423,292.7891 L423,317.9219 A0,0 0 0 0 423,317.9219 L541,317.9219 A0,0 0 0 0 541,317.9219 L541,310.7891 L561,305.3555 L541,302.7891 L541,302.7891 L531,292.7891 L423,292.7891 A0,0 0 0 0 423,292.7891 " fill="#FBFB77" filter="url(#flqx6fh6bygnd)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M531,292.7891 L531,302.7891 L541,302.7891 L531,292.7891 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="429" y="309.856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="40" x="482" y="309.856">false</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="522" y="309.856">.</text><ellipse cx="572" cy="305.3555" fill="#FFFFFF" filter="url(#flqx6fh6bygnd)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="572" cy="305.3555" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="361.5" x2="361.5" y1="198.7891" y2="218.7891"/><polygon fill="#A80036" points="357.5,208.7891,361.5,218.7891,365.5,208.7891,361.5,212.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="161" x2="151" y1="270.7891" y2="270.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="151" x2="151" y1="270.7891" y2="294.3555"/><polygon fill="#A80036" points="147,284.3555,151,294.3555,155,284.3555,151,288.3555" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="562" x2="572" y1="270.7891" y2="270.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="572" x2="572" y1="270.7891" y2="294.3555"/><polygon fill="#A80036" points="568,284.3555,572,294.3555,576,284.3555,572,288.3555" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="361.5" x2="361.5" y1="238.7891" y2="258.7891"/><polygon fill="#A80036" points="357.5,248.7891,361.5,258.7891,365.5,248.7891,361.5,252.7891" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f3d4ce71676cac760cc8d6c755b3d358]
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberCalculateValidity()\n
+
+
+note
+  - - **subscriber** : urt_frtsubscriber_t* - -
+  The FRT subscriber to calculate a validity for.
+  Must not be ""NULL"".
+  - - **latency** : urt_delay_t - -
+  Latency (of a message) as argument to calculate validity.
+  ====
+  - - **return** : bool - -
+  Returns a boolean indicator whether the latency is fine.
+endnote
+
+
+start
+if (Latency is lower than the deadline offset and within allowed jitter?) then (yes)
+  stop
+  note
+    Returns ""true"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""false"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberCalculateValidity.uml b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberCalculateValidity.uml
new file mode 100644
index 0000000..5620773
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberCalculateValidity.uml
@@ -0,0 +1,58 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberCalculateValidity()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_frtsubscriber_t* --
+  The FRT subscriber to calculate a validity for.
+  Must not be ""NULL"".
+  -- **latency** : urt_delay_t --
+  Latency (of a message) as argument to calculate validity.
+  ====
+  -- **return** : bool --
+  Returns a boolean indicator whether the latency is fine.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Latency is lower than the deadline offset and within allowed jitter?) then (yes)
+  stop
+  note
+    Returns ""true"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""false"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchLatestMessage.svg
new file mode 100644
index 0000000..3bfde4e
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchLatestMessage.svg
@@ -0,0 +1,113 @@
+<?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="1370px" preserveAspectRatio="none" style="width:2922px;height:1370px;" version="1.1" viewBox="0 0 2922 1370" width="2922px" zoomAndPan="magnify"><defs><filter height="300%" id="f12n62kzuquswy" 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="1415.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="334" x="1293" y="47.6611">urtFrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1463" y="68.6143"/><path d="M1570.75,72.8594 L1570.75,334.9844 L2259.75,334.9844 L2259.75,82.8594 L2249.75,72.8594 L1570.75,72.8594 " fill="#FBFB77" filter="url(#f12n62kzuquswy)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2249.75,72.8594 L2249.75,82.8594 L2259.75,82.8594 L2249.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1570.75" x2="1804.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1808.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1808.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="1890.25" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2026.25" x2="2259.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="350" x="1576.75" y="105.0591">The FRT subscriber that shall fetch the latest message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1576.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1656.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1688.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1570.75" x2="1859.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1863.25" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1863.25" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1926.25" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1971.25" x2="2259.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1576.75" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1576.75" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1626.75" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1662.75" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1570.75" x2="1866.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1870.25" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1870.25" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1915.25" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1964.25" x2="2259.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1576.75" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1570.75" x2="1839.75" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1843.75" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1843.75" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1900.75" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1990.75" x2="2259.75" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1576.75" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1576.75" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1626.75" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1658.75" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1570.75" x2="2259.75" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1570.75" x2="2259.75" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1570.75" x2="1844.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1848.25" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1848.25" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1897.25" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1986.25" x2="2259.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1576.75" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1629.75" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1737.75" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1576.75" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1629.75" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1825.75" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1576.75" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1629.75" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="1841.75" y="311.7856">if there is no new message to fetch.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1576.75" y="326.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1629.75" y="326.9185">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="403" x="1841.75" y="326.9185">if the message's latency violated the maximum expected jitter.</text><ellipse cx="1915.25" cy="364.9844" fill="#000000" filter="url(#f12n62kzuquswy)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f12n62kzuquswy)" points="1852.75,394.9844,1977.75,394.9844,1989.75,406.9844,1977.75,418.9844,1852.75,418.9844,1840.75,406.9844,1852.75,394.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1852.75" y="410.7925">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1820.75" y="404.3901">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1989.75" y="404.3901">no</text><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="862.5" y="428.9844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="872.5" y="450.123">lock topic</text><rect fill="#FFFFFF" filter="url(#f12n62kzuquswy)" height="348.8823" style="stroke: #000000; stroke-width: 2.0;" width="736" x="533" y="473.7549"/><path d="M678,474.7549 L678,483.0518 L668,493.0518 L533,493.0518 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="536" y="487.75">find latest message</text><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="830" y="510.0518"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="44" x="840" y="531.1904">access</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="888" y="531.1904">lastMessage</text><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="567" y="619.731"/><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="659.5" y="645.731"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="669.5" y="666.8696">proceed to next message</text><rect fill="#EEEEEE" filter="url(#f12n62kzuquswy)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="581" y="714.6997"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="581" x2="634" y1="731.6841" y2="731.6841"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="634" y="735.3384">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="866" x2="919" y1="731.6841" y2="731.6841"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="318" x="591" y="749.8071">decrement counter of consumers left (@message)</text><rect fill="#EEEEEE" filter="url(#f12n62kzuquswy)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="947" y="680.2153"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="947" x2="969.5" y1="697.1997" y2="697.1997"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="969.5" y="700.854">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1201.5" x2="1224" y1="697.1997" y2="697.1997"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="957" y="715.3228">increment counter of received messages</text><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="567" y="782.6372"/><polygon fill="#FEFECE" filter="url(#f12n62kzuquswy)" points="785.5,564.0205,1019.5,564.0205,1031.5,576.0205,1019.5,588.0205,785.5,588.0205,773.5,576.0205,785.5,564.0205" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="906.5" y="598.231">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="785.5" y="579.8286">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="759.5" y="573.4263">no</text><polygon fill="#FEFECE" filter="url(#f12n62kzuquswy)" points="816.5,842.6372,988.5,842.6372,1000.5,854.6372,988.5,866.6372,816.5,866.6372,804.5,854.6372,816.5,842.6372" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="816.5" y="858.4453">Timestamp equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="784.5" y="852.043">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1000.5" y="852.043">no</text><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="279" y="876.6372"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="289" y="897.7759">unlock topic</text><path d="M10,945.606 L10,970.7388 A0,0 0 0 0 10,970.7388 L296,970.7388 A0,0 0 0 0 296,970.7388 L296,963.606 L316,958.1724 L296,955.606 L296,955.606 L286,945.606 L10,945.606 A0,0 0 0 0 10,945.606 " fill="#FBFB77" filter="url(#f12n62kzuquswy)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M286,945.606 L286,955.606 L296,955.606 L286,945.606 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="962.6729">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="69" y="962.6729">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="277" y="962.6729">.</text><ellipse cx="327" cy="958.1724" fill="#FFFFFF" filter="url(#f12n62kzuquswy)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="327" cy="958.1724" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2200" x="385" y="876.6372"/><rect fill="#FFFFFF" filter="url(#f12n62kzuquswy)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="622" x="397" y="1006.3257"/><path d="M510,1007.3257 L510,1015.6226 L500,1025.6226 L397,1025.6226 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="400" y="1020.3208">fetch message</text><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="407" y="1042.6226"/><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="421" y="1068.6226"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="431" y="1089.7612">update message pointer</text><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="624" y="1068.6226"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="634" y="1089.7612">copy message origin time</text><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="832" y="1068.6226"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="842" y="1089.7612">copy message payload</text><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="407" y="1122.5913"/><path d="M1381.5,907.0552 L1381.5,932.188 A0,0 0 0 0 1381.5,932.188 L1701.5,932.188 A0,0 0 0 0 1701.5,932.188 L1701.5,925.0552 L1721.5,919.6216 L1701.5,917.0552 L1701.5,917.0552 L1691.5,907.0552 L1381.5,907.0552 A0,0 0 0 0 1381.5,907.0552 " fill="#FBFB77" filter="url(#f12n62kzuquswy)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1691.5,907.0552 L1691.5,917.0552 L1701.5,917.0552 L1691.5,907.0552 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="1387.5" y="924.1221">Can be optimized in case all flags are disabled.</text><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="1721.5" y="902.6372"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="1731.5" y="923.7759">calculate message latency</text><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1526" x="1047" y="971.606"/><rect fill="#EEEEEE" filter="url(#f12n62kzuquswy)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1061" y="1087.9741"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1061" x2="1071" y1="1104.9585" y2="1104.9585"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1071" y="1108.6128">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1303" x2="1313" y1="1104.9585" y2="1104.9585"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1071" y="1123.0815">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="1148" y="1123.0815">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1236" y="1123.0815">value</text><rect fill="#EEEEEE" filter="url(#f12n62kzuquswy)" height="220.9219" style="stroke: #000000; stroke-width: 2.0;" width="897" x="1341" y="988.4077"/><path d="M1977,989.4077 L1977,997.7046 L1967,1007.7046 L1341,1007.7046 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="626" x="1344" y="1002.4028">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f12n62kzuquswy)" points="1363,1049.7046,1737,1049.7046,1749,1061.7046,1737,1073.7046,1363,1073.7046,1351,1061.7046,1363,1049.7046" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1554" y="1083.915">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="1363" y="1065.5127">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1488" y="1065.5127">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="1562" y="1065.5127">but within allowed jitter range?</text><rect fill="#EEEEEE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1462" y="1106.5093"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1472" y="1127.6479">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1521" y="1127.6479">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1595" y="1127.6479">value</text><polygon fill="#FEFECE" filter="url(#f12n62kzuquswy)" points="1781,1049.7046,2166,1049.7046,2178,1061.7046,2166,1073.7046,1781,1073.7046,1769,1061.7046,1781,1049.7046" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1977.5" y="1083.915">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="1781" y="1065.5127">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1917" y="1065.5127">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="1991" y="1065.5127">but within allowed jitter range?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2178" y="1059.1104">no</text><rect fill="#EEEEEE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1885.5" y="1106.5093"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1895.5" y="1127.6479">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1944.5" y="1127.6479">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="2018.5" y="1127.6479">value</text><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="2332.5" y="1094.9585"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="2342.5" y="1116.0972">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="2366.5" y="1116.0972">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="2419.5" y="1116.0972">value</text><polygon fill="#FEFECE" filter="url(#f12n62kzuquswy)" points="2278,1046.5562,2517,1046.5562,2529,1058.5562,2517,1070.5562,2278,1070.5562,2266,1058.5562,2278,1046.5562" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2401.5" y="1080.7666">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="2278" y="1062.3643">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="2329" y="1062.3643">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="2382" y="1062.3643">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2529" y="1055.9619">no</text><polygon fill="#FEFECE" filter="url(#f12n62kzuquswy)" points="2397.5,1153.3296,2409.5,1165.3296,2397.5,1177.3296,2385.5,1165.3296,2397.5,1153.3296" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1526" x="1047" y="1229.3296"/><rect fill="#000000" filter="url(#f12n62kzuquswy)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2200" x="385" y="1255.3296"/><rect fill="#FEFECE" filter="url(#f12n62kzuquswy)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1442" y="1281.3296"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1452" y="1302.4683">unlock topic</text><path d="M1048,1333.7319 L1048,1358.8647 A0,0 0 0 0 1048,1358.8647 L1459,1358.8647 A0,0 0 0 0 1459,1358.8647 L1459,1351.7319 L1479,1346.2983 L1459,1343.7319 L1459,1343.7319 L1449,1333.7319 L1048,1333.7319 A0,0 0 0 0 1048,1333.7319 " fill="#FBFB77" filter="url(#f12n62kzuquswy)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1449,1333.7319 L1449,1343.7319 L1459,1343.7319 L1449,1333.7319 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1054" y="1350.7988">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1107" y="1350.7988">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="1215" y="1350.7988">or</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1232" y="1350.7988">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1440" y="1350.7988">.</text><ellipse cx="1490" cy="1346.2983" fill="#FFFFFF" filter="url(#f12n62kzuquswy)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1490" cy="1346.2983" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M2595,428.9844 L2595,454.1172 A0,0 0 0 0 2595,454.1172 L2865,454.1172 A0,0 0 0 0 2865,454.1172 L2865,446.9844 L2885,441.5508 L2865,438.9844 L2865,438.9844 L2855,428.9844 L2595,428.9844 A0,0 0 0 0 2595,428.9844 " fill="#FBFB77" filter="url(#f12n62kzuquswy)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2855,428.9844 L2855,438.9844 L2865,438.9844 L2855,428.9844 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2601" y="446.0513">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="2654" y="446.0513">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2846" y="446.0513">.</text><ellipse cx="2896" cy="441.5508" fill="#FFFFFF" filter="url(#f12n62kzuquswy)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2896" cy="441.5508" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1915.25" x2="1915.25" y1="334.9844" y2="354.9844"/><polygon fill="#A80036" points="1911.25,344.9844,1915.25,354.9844,1919.25,344.9844,1915.25,348.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="750" x2="750" y1="679.6997" y2="714.6997"/><polygon fill="#A80036" points="746,704.6997,750,714.6997,754,704.6997,750,708.6997" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="750" x2="750" y1="625.731" y2="645.731"/><polygon fill="#A80036" points="746,635.731,750,645.731,754,635.731,750,639.731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1085.5" x2="1085.5" y1="625.731" y2="680.2153"/><polygon fill="#A80036" points="1081.5,670.2153,1085.5,680.2153,1089.5,670.2153,1085.5,674.2153" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="750" x2="750" y1="762.6372" y2="782.6372"/><polygon fill="#A80036" points="746,772.6372,750,782.6372,754,772.6372,750,776.6372" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1085.5" x2="1085.5" y1="728.1528" y2="782.6372"/><polygon fill="#A80036" points="1081.5,772.6372,1085.5,782.6372,1089.5,772.6372,1085.5,776.6372" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.5" x2="902.5" y1="588.0205" y2="619.731"/><polygon fill="#A80036" points="898.5,609.731,902.5,619.731,906.5,609.731,902.5,613.731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.5" x2="902.5" y1="788.6372" y2="798.6372"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.5" x2="1250" y1="798.6372" y2="798.6372"/><polygon fill="#A80036" points="1246,695.7817,1250,685.7817,1254,695.7817,1250,691.7817" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1250" x2="1250" y1="576.0205" y2="798.6372"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1250" x2="1031.5" y1="576.0205" y2="576.0205"/><polygon fill="#A80036" points="1041.5,572.0205,1031.5,576.0205,1041.5,580.0205,1037.5,576.0205" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="773.5" x2="555" y1="576.0205" y2="576.0205"/><polygon fill="#A80036" points="551,681.7817,555,691.7817,559,681.7817,555,685.7817" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555" x2="555" y1="576.0205" y2="810.6372"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555" x2="902.5" y1="810.6372" y2="810.6372"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.5" x2="902.5" y1="810.6372" y2="842.6372"/><polygon fill="#A80036" points="898.5,832.6372,902.5,842.6372,906.5,832.6372,902.5,836.6372" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.5" x2="902.5" y1="544.0205" y2="564.0205"/><polygon fill="#A80036" points="898.5,554.0205,902.5,564.0205,906.5,554.0205,902.5,558.0205" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.5" x2="902.5" y1="462.9531" y2="510.0518"/><polygon fill="#A80036" points="898.5,500.0518,902.5,510.0518,906.5,500.0518,902.5,504.0518" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="327" x2="327" y1="910.606" y2="947.1724"/><polygon fill="#A80036" points="323,937.1724,327,947.1724,331,937.1724,327,941.1724" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508.5" x2="508.5" y1="1048.6226" y2="1068.6226"/><polygon fill="#A80036" points="504.5,1058.6226,508.5,1068.6226,512.5,1058.6226,508.5,1062.6226" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="714" x2="714" y1="1048.6226" y2="1068.6226"/><polygon fill="#A80036" points="710,1058.6226,714,1068.6226,718,1058.6226,714,1062.6226" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="913.5" x2="913.5" y1="1048.6226" y2="1068.6226"/><polygon fill="#A80036" points="909.5,1058.6226,913.5,1068.6226,917.5,1058.6226,913.5,1062.6226" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508.5" x2="508.5" y1="1102.5913" y2="1122.5913"/><polygon fill="#A80036" points="504.5,1112.5913,508.5,1122.5913,512.5,1112.5913,508.5,1116.5913" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="714" x2="714" y1="1102.5913" y2="1122.5913"/><polygon fill="#A80036" points="710,1112.5913,714,1122.5913,718,1112.5913,714,1116.5913" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="913.5" x2="913.5" y1="1102.5913" y2="1122.5913"/><polygon fill="#A80036" points="909.5,1112.5913,913.5,1122.5913,917.5,1112.5913,913.5,1116.5913" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1550" x2="1550" y1="1073.7046" y2="1106.5093"/><polygon fill="#A80036" points="1546,1096.5093,1550,1106.5093,1554,1096.5093,1550,1100.5093" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1550" x2="1550" y1="1140.478" y2="1197.3296"/><polygon fill="#A80036" points="1546,1187.3296,1550,1197.3296,1554,1187.3296,1550,1191.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1973.5" x2="1973.5" y1="1073.7046" y2="1106.5093"/><polygon fill="#A80036" points="1969.5,1096.5093,1973.5,1106.5093,1977.5,1096.5093,1973.5,1100.5093" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1973.5" x2="1973.5" y1="1140.478" y2="1197.3296"/><polygon fill="#A80036" points="1969.5,1187.3296,1973.5,1197.3296,1977.5,1187.3296,1973.5,1191.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1749" x2="1769" y1="1061.7046" y2="1061.7046"/><polygon fill="#A80036" points="1759,1057.7046,1769,1061.7046,1759,1065.7046,1763,1061.7046" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1789.5" x2="1789.5" y1="977.606" y2="1024.7046"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1789.5" x2="1550" y1="1024.7046" y2="1024.7046"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1550" x2="1550" y1="1024.7046" y2="1049.7046"/><polygon fill="#A80036" points="1546,1039.7046,1550,1049.7046,1554,1039.7046,1550,1043.7046" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2178" x2="2213" y1="1061.7046" y2="1061.7046"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2213" x2="2213" y1="1061.7046" y2="1197.3296"/><polygon fill="#A80036" points="2209,1187.3296,2213,1197.3296,2217,1187.3296,2213,1191.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1550" x2="2213" y1="1197.3296" y2="1197.3296"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2397.5" x2="2397.5" y1="1070.5562" y2="1094.9585"/><polygon fill="#A80036" points="2393.5,1084.9585,2397.5,1094.9585,2401.5,1084.9585,2397.5,1088.9585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2529" x2="2541" y1="1058.5562" y2="1058.5562"/><polygon fill="#A80036" points="2537,1101.9429,2541,1111.9429,2545,1101.9429,2541,1105.9429" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2541" x2="2541" y1="1058.5562" y2="1165.3296"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2541" x2="2409.5" y1="1165.3296" y2="1165.3296"/><polygon fill="#A80036" points="2419.5,1161.3296,2409.5,1165.3296,2419.5,1169.3296,2415.5,1165.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2397.5" x2="2397.5" y1="1128.9272" y2="1153.3296"/><polygon fill="#A80036" points="2393.5,1143.3296,2397.5,1153.3296,2401.5,1143.3296,2397.5,1147.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1187" x2="1187" y1="977.606" y2="1087.9741"/><polygon fill="#A80036" points="1183,1077.9741,1187,1087.9741,1191,1077.9741,1187,1081.9741" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2397.5" x2="2397.5" y1="977.606" y2="1046.5562"/><polygon fill="#A80036" points="2393.5,1036.5562,2397.5,1046.5562,2401.5,1036.5562,2397.5,1040.5562" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2559" x2="2559" y1="977.606" y2="1229.3296"/><polygon fill="#A80036" points="2555,1219.3296,2559,1229.3296,2563,1219.3296,2559,1223.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1187" x2="1187" y1="1135.9116" y2="1229.3296"/><polygon fill="#A80036" points="1183,1219.3296,1187,1229.3296,1191,1219.3296,1187,1223.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1789.5" x2="1789.5" y1="1197.3296" y2="1229.3296"/><polygon fill="#A80036" points="1785.5,1219.3296,1789.5,1229.3296,1793.5,1219.3296,1789.5,1223.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2397.5" x2="2397.5" y1="1177.3296" y2="1229.3296"/><polygon fill="#A80036" points="2393.5,1219.3296,2397.5,1229.3296,2401.5,1219.3296,2397.5,1223.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1815" x2="1815" y1="936.606" y2="971.606"/><polygon fill="#A80036" points="1811,961.606,1815,971.606,1819,961.606,1815,965.606" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708" x2="708" y1="882.6372" y2="1042.6226"/><polygon fill="#A80036" points="704,1032.6226,708,1042.6226,712,1032.6226,708,1036.6226" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1815" x2="1815" y1="882.6372" y2="902.6372"/><polygon fill="#A80036" points="1811,892.6372,1815,902.6372,1819,892.6372,1815,896.6372" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708" x2="708" y1="1128.5913" y2="1255.3296"/><polygon fill="#A80036" points="704,1245.3296,708,1255.3296,712,1245.3296,708,1249.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1815" x2="1815" y1="1235.3296" y2="1255.3296"/><polygon fill="#A80036" points="1811,1245.3296,1815,1255.3296,1819,1245.3296,1815,1249.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1490" x2="1490" y1="1261.3296" y2="1281.3296"/><polygon fill="#A80036" points="1486,1271.3296,1490,1281.3296,1494,1271.3296,1490,1275.3296" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1490" x2="1490" y1="1315.2983" y2="1335.2983"/><polygon fill="#A80036" points="1486,1325.2983,1490,1335.2983,1494,1325.2983,1490,1329.2983" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="804.5" x2="327" y1="854.6372" y2="854.6372"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="327" x2="327" y1="854.6372" y2="876.6372"/><polygon fill="#A80036" points="323,866.6372,327,876.6372,331,866.6372,327,870.6372" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1000.5" x2="1490" y1="854.6372" y2="854.6372"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1490" x2="1490" y1="854.6372" y2="876.6372"/><polygon fill="#A80036" points="1486,866.6372,1490,876.6372,1494,866.6372,1490,870.6372" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1840.75" x2="902.5" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.5" x2="902.5" y1="406.9844" y2="428.9844"/><polygon fill="#A80036" points="898.5,418.9844,902.5,428.9844,906.5,418.9844,902.5,422.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1989.75" x2="2896" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2896" x2="2896" y1="406.9844" y2="430.5508"/><polygon fill="#A80036" points="2892,420.5508,2896,430.5508,2900,420.5508,2896,424.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1915.25" x2="1915.25" y1="374.9844" y2="394.9844"/><polygon fill="#A80036" points="1911.25,384.9844,1915.25,394.9844,1919.25,384.9844,1915.25,388.9844" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8f5ca97c7ccc4f111f2f032596b6c8c5]
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberFetchLatestMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_frtsubscriber_t* - -
+  The FRT subscriber that shall fetch the latest message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+    partition "find latest message" {
+    :access ""lastMessage"";
+    while (Timestamp of next message is younger?) is (yes)
+      fork
+        :proceed to next message;
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of received messages;
+      endfork
+    endwhile (no)
+  }
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    fork
+        partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+    fork again
+      :calculate message latency;
+      note
+        Can be optimized in case all flags are disabled.
+      endnote
+      fork
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+      fork again
+        partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+          if (Latency is lower than ""minLatency"" but within allowed jitter range?) then (yes)
+            #EEEEEE:update ""minLatency"" value;
+          elseif (Latency is greater than ""maxLatency"" but within allowed jitter range?) then (yes)
+            #EEEEEE:update ""maxLatency"" value;
+          else (no)
+          endif
+        }
+      fork again
+        if (Optional ""latency"" output argument given?) then (yes)
+          :set ""latency"" value;
+        else (no)
+        endif
+      fork again
+      endfork
+    endfork
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_OK"" or ""URT_STATUS_JITTERVIOLATION"".
+    endnote
+  endif
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchLatestMessage.uml
new file mode 100644
index 0000000..b88b67c
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchLatestMessage.uml
@@ -0,0 +1,106 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberFetchLatestMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_frtsubscriber_t* --
+  The FRT subscriber that shall fetch the latest message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  $find_latest_message()
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    fork
+      $fetch_message()
+    fork again
+      :calculate message latency;
+      note
+        Can be optimized in case all flags are disabled.
+      endnote
+      fork
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+      fork again
+        partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+          if (Latency is lower than ""minLatency"" but within allowed jitter range?) then (yes)
+            #EEEEEE:update ""minLatency"" value;
+          elseif (Latency is greater than ""maxLatency"" but within allowed jitter range?) then (yes)
+            #EEEEEE:update ""maxLatency"" value;
+          else (no)
+          endif
+        }
+      fork again
+        if (Optional ""latency"" output argument given?) then (yes)
+          :set ""latency"" value;
+        else (no)
+        endif
+      fork again
+      endfork
+    endfork
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_OK"" or ""URT_STATUS_JITTERVIOLATION"".
+    endnote
+  endif
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchNextMessage.svg
new file mode 100644
index 0000000..5de2fdf
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchNextMessage.svg
@@ -0,0 +1,118 @@
+<?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="1227px" preserveAspectRatio="none" style="width:3161px;height:1227px;" version="1.1" viewBox="0 0 3161 1227" width="3161px" zoomAndPan="magnify"><defs><filter height="300%" id="f16b2sm6ci0efs" 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="1535" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="324" x="1417.5" y="47.6611">urtFrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1582.5" y="68.6143"/><path d="M1917.75,72.8594 L1917.75,334.9844 L2606.75,334.9844 L2606.75,82.8594 L2596.75,72.8594 L1917.75,72.8594 " fill="#FBFB77" filter="url(#f16b2sm6ci0efs)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2596.75,72.8594 L2596.75,82.8594 L2606.75,82.8594 L2596.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1917.75" x2="2151.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2155.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="2155.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="2237.25" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2373.25" x2="2606.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="310" x="1923.75" y="105.0591">The FRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1923.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="2003.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2035.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1917.75" x2="2206.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2210.25" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="2210.25" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="2273.25" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2318.25" x2="2606.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1923.75" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1923.75" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1973.75" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="2009.75" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1917.75" x2="2213.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2217.25" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="2217.25" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="2262.25" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2311.25" x2="2606.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1923.75" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1917.75" x2="2186.75" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2190.75" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="2190.75" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="2247.75" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2337.75" x2="2606.75" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1923.75" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1923.75" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1973.75" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2005.75" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1917.75" x2="2606.75" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1917.75" x2="2606.75" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1917.75" x2="2191.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="2195.25" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="2195.25" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="2244.25" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2333.25" x2="2606.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1923.75" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1976.75" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="2084.75" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1923.75" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1976.75" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="2172.75" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1923.75" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1976.75" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="2188.75" y="311.7856">if there is no new message to fetch.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1923.75" y="326.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1976.75" y="326.9185">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="403" x="2188.75" y="326.9185">if the message's latency violated the maximum expected jitter.</text><ellipse cx="2262.25" cy="364.9844" fill="#000000" filter="url(#f16b2sm6ci0efs)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="2199.75,394.9844,2324.75,394.9844,2336.75,406.9844,2324.75,418.9844,2199.75,418.9844,2187.75,406.9844,2199.75,394.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="2199.75" y="410.7925">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2167.75" y="404.3901">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2336.75" y="404.3901">no</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1362.5" y="428.9844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1372.5" y="450.123">lock topic</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1253,482.9531,1552,482.9531,1564,494.9531,1552,506.9531,1253,506.9531,1241,494.9531,1253,482.9531" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="1253" y="498.7612">Timestamp of last read message equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1221" y="492.3589">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1564" y="492.3589">no</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1111.125,516.9531,1263.125,516.9531,1275.125,528.9531,1263.125,540.9531,1111.125,540.9531,1099.125,528.9531,1111.125,516.9531" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="152" x="1111.125" y="532.7612">Next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1079.125" y="526.3589">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1275.125" y="526.3589">no</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="882.875" y="550.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="892.875" y="572.0918">proceed to next message</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1352.875" y="550.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1362.875" y="572.0918">unlock topic</text><path d="M1083.875,603.3555 L1083.875,628.4883 A0,0 0 0 0 1083.875,628.4883 L1369.875,628.4883 A0,0 0 0 0 1369.875,628.4883 L1369.875,621.3555 L1389.875,615.9219 L1369.875,613.3555 L1369.875,613.3555 L1359.875,603.3555 L1083.875,603.3555 A0,0 0 0 0 1083.875,603.3555 " fill="#FBFB77" filter="url(#f16b2sm6ci0efs)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1359.875,603.3555 L1359.875,613.3555 L1369.875,613.3555 L1359.875,603.3555 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1089.875" y="620.4224">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1142.875" y="620.4224">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1350.875" y="620.4224">.</text><ellipse cx="1400.875" cy="615.9219" fill="#FFFFFF" filter="url(#f16b2sm6ci0efs)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1400.875" cy="615.9219" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f16b2sm6ci0efs)" height="181.6992" style="stroke: #000000; stroke-width: 2.0;" width="302" x="1478.875" y="516.9531"/><path d="M1628.875,517.9531 L1628.875,526.25 L1618.875,536.25 L1478.875,536.25 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="140" x="1481.875" y="530.9482">find oldest message</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1527.375" y="608.6836"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="1537.375" y="629.8223">proceed to next message</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1617.875,553.25,1629.875,565.25,1617.875,577.25,1605.875,565.25,1617.875,553.25" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1500.875,662.6523,1734.875,662.6523,1746.875,674.6523,1734.875,686.6523,1500.875,686.6523,1488.875,674.6523,1500.875,662.6523" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="1500.875" y="678.4604">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1746.875" y="672.0581">yes</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1402.5,704.6523,1414.5,716.6523,1402.5,728.6523,1390.5,716.6523,1402.5,704.6523" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2814" x="10" y="748.6523"/><rect fill="#FFFFFF" filter="url(#f16b2sm6ci0efs)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="584" x="22" y="863.3408"/><path d="M135,864.3408 L135,872.6377 L125,882.6377 L22,882.6377 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="25" y="877.3359">fetch message</text><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="32" y="899.6377"/><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="46" y="925.6377"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="56" y="946.7764">update message pointer</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="231" y="925.6377"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="241" y="946.7764">copy message origin time</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="421" y="925.6377"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="431" y="946.7764">copy message payload</text><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="32" y="979.6064"/><path d="M934.5,779.0703 L934.5,804.2031 A0,0 0 0 0 934.5,804.2031 L1254.5,804.2031 A0,0 0 0 0 1254.5,804.2031 L1254.5,797.0703 L1274.5,791.6367 L1254.5,789.0703 L1254.5,789.0703 L1244.5,779.0703 L934.5,779.0703 A0,0 0 0 0 934.5,779.0703 " fill="#FBFB77" filter="url(#f16b2sm6ci0efs)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1244.5,779.0703 L1244.5,789.0703 L1254.5,789.0703 L1244.5,779.0703 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="940.5" y="796.1372">Can be optimized in case all flags are disabled.</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="1274.5" y="774.6523"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="1284.5" y="795.791">calculate message latency</text><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1479" x="616" y="828.6211"/><rect fill="#EEEEEE" filter="url(#f16b2sm6ci0efs)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="628" y="944.9893"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="628" x2="638" y1="961.9736" y2="961.9736"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="638" y="965.6279">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="870" x2="880" y1="961.9736" y2="961.9736"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="638" y="980.0967">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="715" y="980.0967">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="803" y="980.0967">value</text><rect fill="#EEEEEE" filter="url(#f16b2sm6ci0efs)" height="220.9219" style="stroke: #000000; stroke-width: 2.0;" width="888" x="908" y="845.4229"/><path d="M1544,846.4229 L1544,854.7197 L1534,864.7197 L908,864.7197 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="626" x="911" y="859.418">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="930,906.7197,1304,906.7197,1316,918.7197,1304,930.7197,930,930.7197,918,918.7197,930,906.7197" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1121" y="940.9302">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="930" y="922.5278">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1055" y="922.5278">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="1129" y="922.5278">but within allowed jitter range?</text><rect fill="#EEEEEE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1029" y="963.5244"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1039" y="984.6631">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1088" y="984.6631">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1162" y="984.6631">value</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1348,906.7197,1733,906.7197,1745,918.7197,1733,930.7197,1348,930.7197,1336,918.7197,1348,906.7197" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1544.5" y="940.9302">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="1348" y="922.5278">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1484" y="922.5278">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="1558" y="922.5278">but within allowed jitter range?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1745" y="916.1255">no</text><rect fill="#EEEEEE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1452.5" y="963.5244"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1462.5" y="984.6631">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1511.5" y="984.6631">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1585.5" y="984.6631">value</text><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1872.5" y="951.9736"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1882.5" y="973.1123">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="1906.5" y="973.1123">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1959.5" y="973.1123">value</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1818,903.5713,2057,903.5713,2069,915.5713,2057,927.5713,1818,927.5713,1806,915.5713,1818,903.5713" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1941.5" y="937.7817">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="1818" y="919.3794">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="1869" y="919.3794">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1922" y="919.3794">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2069" y="912.9771">no</text><polygon fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" points="1937.5,1010.3447,1949.5,1022.3447,1937.5,1034.3447,1925.5,1022.3447,1937.5,1010.3447" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1479" x="616" y="1086.3447"/><rect fill="#EEEEEE" filter="url(#f16b2sm6ci0efs)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="689" x="2123" y="863.3408"/><path d="M2404,864.3408 L2404,872.6377 L2394,882.6377 L2123,882.6377 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="2126" y="877.3359">URT_CFG_PUBSUB_PROFILING == true</text><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="669" x="2133" y="899.6377"/><rect fill="#EEEEEE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="2147" y="925.6377"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="318" x="2157" y="946.7764">decrement counter of consumers left (@message)</text><rect fill="#EEEEEE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="2513" y="925.6377"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="2523" y="946.7764">increment counter of received messages</text><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="669" x="2133" y="979.6064"/><rect fill="#000000" filter="url(#f16b2sm6ci0efs)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2814" x="10" y="1112.3447"/><rect fill="#FEFECE" filter="url(#f16b2sm6ci0efs)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1354.5" y="1138.3447"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1364.5" y="1159.4834">unlock topic</text><path d="M960.5,1190.7471 L960.5,1215.8799 A0,0 0 0 0 960.5,1215.8799 L1371.5,1215.8799 A0,0 0 0 0 1371.5,1215.8799 L1371.5,1208.7471 L1391.5,1203.3135 L1371.5,1200.7471 L1371.5,1200.7471 L1361.5,1190.7471 L960.5,1190.7471 A0,0 0 0 0 960.5,1190.7471 " fill="#FBFB77" filter="url(#f16b2sm6ci0efs)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1361.5,1190.7471 L1361.5,1200.7471 L1371.5,1200.7471 L1361.5,1190.7471 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="966.5" y="1207.814">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1019.5" y="1207.814">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="13" x="1127.5" y="1207.814">or</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1144.5" y="1207.814">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1352.5" y="1207.814">.</text><ellipse cx="1402.5" cy="1203.3135" fill="#FFFFFF" filter="url(#f16b2sm6ci0efs)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1402.5" cy="1203.3135" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M2834,428.9844 L2834,454.1172 A0,0 0 0 0 2834,454.1172 L3104,454.1172 A0,0 0 0 0 3104,454.1172 L3104,446.9844 L3124,441.5508 L3104,438.9844 L3104,438.9844 L3094,428.9844 L2834,428.9844 A0,0 0 0 0 2834,428.9844 " fill="#FBFB77" filter="url(#f16b2sm6ci0efs)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3094,428.9844 L3094,438.9844 L3104,438.9844 L3094,428.9844 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2840" y="446.0513">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="2893" y="446.0513">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="3085" y="446.0513">.</text><ellipse cx="3135" cy="441.5508" fill="#FFFFFF" filter="url(#f16b2sm6ci0efs)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="3135" cy="441.5508" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2262.25" x2="2262.25" y1="334.9844" y2="354.9844"/><polygon fill="#A80036" points="2258.25,344.9844,2262.25,354.9844,2266.25,344.9844,2262.25,348.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1400.875" x2="1400.875" y1="584.9219" y2="604.9219"/><polygon fill="#A80036" points="1396.875,594.9219,1400.875,604.9219,1404.875,594.9219,1400.875,598.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1099.125" x2="973.375" y1="528.9531" y2="528.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="973.375" x2="973.375" y1="528.9531" y2="550.9531"/><polygon fill="#A80036" points="969.375,540.9531,973.375,550.9531,977.375,540.9531,973.375,544.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1275.125" x2="1400.875" y1="528.9531" y2="528.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1400.875" x2="1400.875" y1="528.9531" y2="550.9531"/><polygon fill="#A80036" points="1396.875,540.9531,1400.875,550.9531,1404.875,540.9531,1400.875,544.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="973.375" x2="973.375" y1="584.9219" y2="716.6523"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="973.375" x2="1390.5" y1="716.6523" y2="716.6523"/><polygon fill="#A80036" points="1380.5,712.6523,1390.5,716.6523,1380.5,720.6523,1384.5,716.6523" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1617.875" x2="1617.875" y1="577.25" y2="608.6836"/><polygon fill="#A80036" points="1613.875,598.6836,1617.875,608.6836,1621.875,598.6836,1617.875,602.6836" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1746.875" x2="1758.875" y1="674.6523" y2="674.6523"/><polygon fill="#A80036" points="1754.875,635.668,1758.875,625.668,1762.875,635.668,1758.875,631.668" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1758.875" x2="1758.875" y1="565.25" y2="674.6523"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1758.875" x2="1629.875" y1="565.25" y2="565.25"/><polygon fill="#A80036" points="1639.875,561.25,1629.875,565.25,1639.875,569.25,1635.875,565.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1617.875" x2="1617.875" y1="642.6523" y2="662.6523"/><polygon fill="#A80036" points="1613.875,652.6523,1617.875,662.6523,1621.875,652.6523,1617.875,656.6523" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241" x2="1187.125" y1="494.9531" y2="494.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1187.125" x2="1187.125" y1="494.9531" y2="516.9531"/><polygon fill="#A80036" points="1183.125,506.9531,1187.125,516.9531,1191.125,506.9531,1187.125,510.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="1617.875" y1="494.9531" y2="494.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1617.875" x2="1617.875" y1="494.9531" y2="553.25"/><polygon fill="#A80036" points="1613.875,543.25,1617.875,553.25,1621.875,543.25,1617.875,547.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1617.875" x2="1617.875" y1="686.6523" y2="716.6523"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1617.875" x2="1414.5" y1="716.6523" y2="716.6523"/><polygon fill="#A80036" points="1424.5,712.6523,1414.5,716.6523,1424.5,720.6523,1420.5,716.6523" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1402.5" x2="1402.5" y1="462.9531" y2="482.9531"/><polygon fill="#A80036" points="1398.5,472.9531,1402.5,482.9531,1406.5,472.9531,1402.5,476.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="905.6377" y2="925.6377"/><polygon fill="#A80036" points="129.5,915.6377,133.5,925.6377,137.5,915.6377,133.5,919.6377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="321" y1="905.6377" y2="925.6377"/><polygon fill="#A80036" points="317,915.6377,321,925.6377,325,915.6377,321,919.6377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="502.5" y1="905.6377" y2="925.6377"/><polygon fill="#A80036" points="498.5,915.6377,502.5,925.6377,506.5,915.6377,502.5,919.6377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="959.6064" y2="979.6064"/><polygon fill="#A80036" points="129.5,969.6064,133.5,979.6064,137.5,969.6064,133.5,973.6064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="321" y1="959.6064" y2="979.6064"/><polygon fill="#A80036" points="317,969.6064,321,979.6064,325,969.6064,321,973.6064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="502.5" y1="959.6064" y2="979.6064"/><polygon fill="#A80036" points="498.5,969.6064,502.5,979.6064,506.5,969.6064,502.5,973.6064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1117" x2="1117" y1="930.7197" y2="963.5244"/><polygon fill="#A80036" points="1113,953.5244,1117,963.5244,1121,953.5244,1117,957.5244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1117" x2="1117" y1="997.4932" y2="1054.3447"/><polygon fill="#A80036" points="1113,1044.3447,1117,1054.3447,1121,1044.3447,1117,1048.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1540.5" x2="1540.5" y1="930.7197" y2="963.5244"/><polygon fill="#A80036" points="1536.5,953.5244,1540.5,963.5244,1544.5,953.5244,1540.5,957.5244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1540.5" x2="1540.5" y1="997.4932" y2="1054.3447"/><polygon fill="#A80036" points="1536.5,1044.3447,1540.5,1054.3447,1544.5,1044.3447,1540.5,1048.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1316" x2="1336" y1="918.7197" y2="918.7197"/><polygon fill="#A80036" points="1326,914.7197,1336,918.7197,1326,922.7197,1330,918.7197" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1356.5" x2="1356.5" y1="834.6211" y2="881.7197"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1356.5" x2="1117" y1="881.7197" y2="881.7197"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1117" x2="1117" y1="881.7197" y2="906.7197"/><polygon fill="#A80036" points="1113,896.7197,1117,906.7197,1121,896.7197,1117,900.7197" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1745" x2="1780" y1="918.7197" y2="918.7197"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1780" x2="1780" y1="918.7197" y2="1054.3447"/><polygon fill="#A80036" points="1776,1044.3447,1780,1054.3447,1784,1044.3447,1780,1048.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1117" x2="1780" y1="1054.3447" y2="1054.3447"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937.5" x2="1937.5" y1="927.5713" y2="951.9736"/><polygon fill="#A80036" points="1933.5,941.9736,1937.5,951.9736,1941.5,941.9736,1937.5,945.9736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2069" x2="2081" y1="915.5713" y2="915.5713"/><polygon fill="#A80036" points="2077,958.958,2081,968.958,2085,958.958,2081,962.958" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2081" x2="2081" y1="915.5713" y2="1022.3447"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2081" x2="1949.5" y1="1022.3447" y2="1022.3447"/><polygon fill="#A80036" points="1959.5,1018.3447,1949.5,1022.3447,1959.5,1026.3447,1955.5,1022.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937.5" x2="1937.5" y1="985.9424" y2="1010.3447"/><polygon fill="#A80036" points="1933.5,1000.3447,1937.5,1010.3447,1941.5,1000.3447,1937.5,1004.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="754" y1="834.6211" y2="944.9893"/><polygon fill="#A80036" points="750,934.9893,754,944.9893,758,934.9893,754,938.9893" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937.5" x2="1937.5" y1="834.6211" y2="903.5713"/><polygon fill="#A80036" points="1933.5,893.5713,1937.5,903.5713,1941.5,893.5713,1937.5,897.5713" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="754" y1="992.9268" y2="1086.3447"/><polygon fill="#A80036" points="750,1076.3447,754,1086.3447,758,1076.3447,754,1080.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1356.5" x2="1356.5" y1="1054.3447" y2="1086.3447"/><polygon fill="#A80036" points="1352.5,1076.3447,1356.5,1086.3447,1360.5,1076.3447,1356.5,1080.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937.5" x2="1937.5" y1="1034.3447" y2="1086.3447"/><polygon fill="#A80036" points="1933.5,1076.3447,1937.5,1086.3447,1941.5,1076.3447,1937.5,1080.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1368" x2="1368" y1="808.6211" y2="828.6211"/><polygon fill="#A80036" points="1364,818.6211,1368,828.6211,1372,818.6211,1368,822.6211" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2316" x2="2316" y1="905.6377" y2="925.6377"/><polygon fill="#A80036" points="2312,915.6377,2316,925.6377,2320,915.6377,2316,919.6377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2651.5" x2="2651.5" y1="905.6377" y2="925.6377"/><polygon fill="#A80036" points="2647.5,915.6377,2651.5,925.6377,2655.5,915.6377,2651.5,919.6377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2316" x2="2316" y1="959.6064" y2="979.6064"/><polygon fill="#A80036" points="2312,969.6064,2316,979.6064,2320,969.6064,2316,973.6064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2651.5" x2="2651.5" y1="959.6064" y2="979.6064"/><polygon fill="#A80036" points="2647.5,969.6064,2651.5,979.6064,2655.5,969.6064,2651.5,973.6064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="315" x2="315" y1="754.6523" y2="899.6377"/><polygon fill="#A80036" points="311,889.6377,315,899.6377,319,889.6377,315,893.6377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1368" x2="1368" y1="754.6523" y2="774.6523"/><polygon fill="#A80036" points="1364,764.6523,1368,774.6523,1372,764.6523,1368,768.6523" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2468.5" x2="2468.5" y1="754.6523" y2="899.6377"/><polygon fill="#A80036" points="2464.5,889.6377,2468.5,899.6377,2472.5,889.6377,2468.5,893.6377" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="315" x2="315" y1="985.6064" y2="1112.3447"/><polygon fill="#A80036" points="311,1102.3447,315,1112.3447,319,1102.3447,315,1106.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1368" x2="1368" y1="1092.3447" y2="1112.3447"/><polygon fill="#A80036" points="1364,1102.3447,1368,1112.3447,1372,1102.3447,1368,1106.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2468.5" x2="2468.5" y1="985.6064" y2="1112.3447"/><polygon fill="#A80036" points="2464.5,1102.3447,2468.5,1112.3447,2472.5,1102.3447,2468.5,1106.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1402.5" x2="1402.5" y1="728.6523" y2="748.6523"/><polygon fill="#A80036" points="1398.5,738.6523,1402.5,748.6523,1406.5,738.6523,1402.5,742.6523" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1402.5" x2="1402.5" y1="1118.3447" y2="1138.3447"/><polygon fill="#A80036" points="1398.5,1128.3447,1402.5,1138.3447,1406.5,1128.3447,1402.5,1132.3447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1402.5" x2="1402.5" y1="1172.3135" y2="1192.3135"/><polygon fill="#A80036" points="1398.5,1182.3135,1402.5,1192.3135,1406.5,1182.3135,1402.5,1186.3135" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2187.75" x2="1402.5" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1402.5" x2="1402.5" y1="406.9844" y2="428.9844"/><polygon fill="#A80036" points="1398.5,418.9844,1402.5,428.9844,1406.5,418.9844,1402.5,422.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2336.75" x2="3135" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3135" x2="3135" y1="406.9844" y2="430.5508"/><polygon fill="#A80036" points="3131,420.5508,3135,430.5508,3139,420.5508,3135,424.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2262.25" x2="2262.25" y1="374.9844" y2="394.9844"/><polygon fill="#A80036" points="2258.25,384.9844,2262.25,394.9844,2266.25,384.9844,2262.25,388.9844" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[aad02c8d55b891c9c7569fff1a2241cc]
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberFetchNextMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_frtsubscriber_t* - -
+  The FRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Timestamp of last read message equals local copy?) then (yes)
+    if (Next message is younger?) then (yes)
+      :proceed to next message;
+    else (no)
+      :unlock topic;
+      stop
+      note
+        Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+      endnote
+    endif
+  else (no)
+    partition "find oldest message" {
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp of next message is younger?) is (yes)
+    }
+  endif
+  fork
+      partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+  fork again
+    :calculate message latency;
+    note
+      Can be optimized in case all flags are disabled.
+    endnote
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+        if (Latency is lower than ""minLatency"" but within allowed jitter range?) then (yes)
+          #EEEEEE:update ""minLatency"" value;
+        elseif (Latency is greater than ""maxLatency"" but within allowed jitter range?) then (yes)
+          #EEEEEE:update ""maxLatency"" value;
+        else (no)
+        endif
+      }
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"" or ""URT_STATUS_JITTERVIOLATION"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchNextMessage.uml
new file mode 100644
index 0000000..6a88ed0
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberFetchNextMessage.uml
@@ -0,0 +1,121 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberFetchNextMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_frtsubscriber_t* --
+  The FRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Timestamp of last read message equals local copy?) then (yes)
+    if (Next message is younger?) then (yes)
+      :proceed to next message;
+    else (no)
+      :unlock topic;
+      stop
+      note
+        Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+      endnote
+    endif
+  else (no)
+    partition "find oldest message" {
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp of next message is younger?) is (yes)
+    }
+  endif
+  fork
+    $fetch_message()
+  fork again
+    :calculate message latency;
+    note
+      Can be optimized in case all flags are disabled.
+    endnote
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+        if (Latency is lower than ""minLatency"" but within allowed jitter range?) then (yes)
+          #EEEEEE:update ""minLatency"" value;
+        elseif (Latency is greater than ""maxLatency"" but within allowed jitter range?) then (yes)
+          #EEEEEE:update ""maxLatency"" value;
+        else (no)
+        endif
+      }
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"" or ""URT_STATUS_JITTERVIOLATION"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberInit.svg
new file mode 100644
index 0000000..2993502
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberInit.svg
@@ -0,0 +1,50 @@
+<?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="508px" preserveAspectRatio="none" style="width:831px;height:508px;" version="1.1" viewBox="0 0 831 508" width="831px" zoomAndPan="magnify"><defs><filter height="300%" id="f1b9wbya4d2xit" 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="370" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="187" x="321" y="47.6611">urtFrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="417.5" y="68.6143"/><path d="M576,72.8594 L576,153.3906 L819,153.3906 L819,82.8594 L809,72.8594 L576,72.8594 " fill="#FBFB77" filter="url(#f1b9wbya4d2xit)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M809,72.8594 L809,82.8594 L819,82.8594 L809,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="586.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="590.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="590.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="672.5" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="808.5" x2="819" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="582" y="105.0591">The FRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="582" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="662" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="694" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="819" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="819" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="652" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="656" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="656" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="705" y="144.8247">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="743" x2="819" y1="140.8242" y2="140.8242"/><ellipse cx="697.5" cy="183.3906" fill="#000000" filter="url(#f1b9wbya4d2xit)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,203.3906 L10,455.5156 A0,0 0 0 0 10,455.5156 L612,455.5156 A0,0 0 0 0 612,455.5156 L612,333.4531 L632,329.4531 L612,325.4531 L612,213.3906 L602,203.3906 L10,203.3906 A0,0 0 0 0 10,203.3906 " fill="#FBFB77" filter="url(#f1b9wbya4d2xit)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M602,203.3906 L602,213.3906 L612,213.3906 L602,203.3906 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="240" y1="215.957" y2="215.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="244" y="219.9575">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="382" x2="612" y1="215.957" y2="215.957"/><ellipse cx="21.5" cy="231.1563" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="27" y="235.5903">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="68" y="235.5903">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="83" y="235.5903">NULL</text><ellipse cx="21.5" cy="246.2891" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="27" y="250.7231">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="156" y="250.7231">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="238" y="250.7231">)</text><ellipse cx="21.5" cy="261.4219" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="265.856">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="124" y="265.856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="139" y="265.856">NULL</text><ellipse cx="21.5" cy="276.5547" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="280.9888">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="159" y="280.9888">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="182.5" y1="291.6211" y2="291.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="186.5" y="295.6216">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="439.5" x2="612" y1="291.6211" y2="291.6211"/><ellipse cx="21.5" cy="306.8203" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="27" y="311.2544">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="132" y="311.2544">← 0</text><ellipse cx="21.5" cy="321.9531" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="27" y="326.3872">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="204" y="326.3872">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="248.5" y1="337.0195" y2="337.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="252.5" y="341.02">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="373.5" x2="612" y1="337.0195" y2="337.0195"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="138.5" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="142.5" y="356.1528">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="483.5" x2="612" y1="352.1523" y2="352.1523"/><ellipse cx="21.5" cy="367.3516" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="27" y="371.7856">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="141" y="371.7856">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="157.5" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="161.5" y="386.4185">URT_CFG_PUBSUB_QOS_JITTERCHECK == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="464.5" x2="612" y1="382.418" y2="382.418"/><ellipse cx="21.5" cy="397.6172" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="27" y="402.0513">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="97" y="402.0513">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="412.6836" y2="412.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="24.5" y="416.6841">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="601.5" x2="612" y1="412.6836" y2="412.6836"/><ellipse cx="21.5" cy="427.8828" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="27" y="432.3169">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="115" y="432.3169">← 0xF..F</text><ellipse cx="21.5" cy="443.0156" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="27" y="447.4497">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="119" y="447.4497">← 0</text><rect fill="#FEFECE" filter="url(#f1b9wbya4d2xit)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="632" y="312.4688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="642" y="333.6074">initialize members</text><ellipse cx="697.5" cy="486.5156" fill="#FFFFFF" filter="url(#f1b9wbya4d2xit)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="697.5" cy="486.5156" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="693.5,163.3906,697.5,173.3906,701.5,163.3906,697.5,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="193.3906" y2="312.4688"/><polygon fill="#A80036" points="693.5,302.4688,697.5,312.4688,701.5,302.4688,697.5,306.4688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="346.4375" y2="475.5156"/><polygon fill="#A80036" points="693.5,465.5156,697.5,475.5156,701.5,465.5156,697.5,469.5156" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[27b8b72cdb90fe1afe651269ad3b26f3]
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberInit()\n
+
+
+note
+  - - **subscriber** : urt_frtsubscriber_t* - -
+  The FRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  - - **return** : void - -
+endnote
+
+
+start
+:initialize members;
+note
+  - - urt_basesubscriber_t - -
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  - - urt_frtsubscriber_t - -
+  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+  * **deadlineOffset** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
+  * **maxJitter** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberInit.uml
new file mode 100644
index 0000000..bf899fa
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberInit.uml
@@ -0,0 +1,64 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberInit()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_frtsubscriber_t* --
+  The FRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  -- **return** : void --
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+:initialize members;
+note
+  -- urt_basesubscriber_t --
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  -- urt_frtsubscriber_t --
+  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+  * **deadlineOffset** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
+  * **maxJitter** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberSubscribe.svg
new file mode 100644
index 0000000..d116009
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberSubscribe.svg
@@ -0,0 +1,103 @@
+<?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="1193px" preserveAspectRatio="none" style="width:2815px;height:1193px;" version="1.1" viewBox="0 0 2815 1193" width="2815px" zoomAndPan="magnify"><defs><filter height="300%" id="f1act1r141fzz6" 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="1362" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="243" x="1285" y="47.6611">urtFrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1409.5" y="68.6143"/><path d="M615.5,72.8594 L615.5,395.5156 L1315.5,395.5156 L1315.5,82.8594 L1305.5,72.8594 L615.5,72.8594 " fill="#FBFB77" filter="url(#f1act1r141fzz6)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1305.5,72.8594 L1305.5,82.8594 L1315.5,82.8594 L1305.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="854.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="858.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="858.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="940.5" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1076.5" x2="1315.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="324" x="621.5" y="105.0591">The FRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="621.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="701.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="733.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="899.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="903.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="903.5" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="944.5" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1031.5" x2="1315.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="621.5" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="621.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="701.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="733.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="866.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="870.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="870.5" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="949.5" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1064.5" x2="1315.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="621.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="657.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="621.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="621.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="621.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="671.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="707.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="888" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="892" y="255.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="892" y="255.8872">deadline</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="960" y="255.8872">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1043" x2="1315.5" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="621.5" y="271.52">Maximum latency to consume messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="325" x="621.5" y="286.6528">A value of 0 indicates that latency is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="902.5" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="906.5" y="301.2856"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="35" x="906.5" y="301.2856">jitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="945.5" y="301.2856">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.5" x2="1315.5" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="679" x="621.5" y="316.9185">Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="621.5" y="332.0513">A value of 0 indicates that jitter is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="1315.5" y1="340.1172" y2="340.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="1315.5" y1="342.1172" y2="342.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="615.5" x2="894.5" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="898.5" y="356.6841"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="898.5" y="356.6841">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="947.5" y="356.6841">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1036.5" x2="1315.5" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="621.5" y="372.3169">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="674.5" y="372.3169">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="782.5" y="372.3169">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="621.5" y="387.4497">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="674.5" y="387.4497">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="910.5" y="387.4497">if the subscriber is already associated to a topic.</text><ellipse cx="965.5" cy="425.5156" fill="#000000" filter="url(#f1act1r141fzz6)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1act1r141fzz6)" points="908,455.5156,1023,455.5156,1035,467.5156,1023,479.5156,908,479.5156,896,467.5156,908,455.5156" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="908" y="471.3237">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="876" y="464.9214">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1035" y="464.9214">no</text><path d="M10,489.5156 L10,514.6484 A0,0 0 0 0 10,514.6484 L320,514.6484 A0,0 0 0 0 320,514.6484 L320,507.5156 L340,502.082 L320,499.5156 L320,499.5156 L310,489.5156 L10,489.5156 A0,0 0 0 0 10,489.5156 " fill="#FBFB77" filter="url(#f1act1r141fzz6)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M310,489.5156 L310,499.5156 L320,499.5156 L310,489.5156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="506.5825">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="69" y="506.5825">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="301" y="506.5825">.</text><ellipse cx="351" cy="502.082" fill="#FFFFFF" filter="url(#f1act1r141fzz6)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="351" cy="502.082" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="884" x="1160" y="489.5156"/><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1174" y="594.3281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1184" y="615.4668">set topic</text><path d="M1277,515.5156 L1277,707.1094 A0,0 0 0 0 1277,707.1094 L1879,707.1094 A0,0 0 0 0 1879,707.1094 L1879,615.3125 L1899,611.3125 L1879,607.3125 L1879,525.5156 L1869,515.5156 L1277,515.5156 A0,0 0 0 0 1277,515.5156 " fill="#EEEEEE" filter="url(#f1act1r141fzz6)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1869,515.5156 L1869,525.5156 L1879,525.5156 L1869,515.5156 " fill="#EEEEEE" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1277" x2="1507" y1="528.082" y2="528.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="1511" y="532.0825">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1649" x2="1879" y1="528.082" y2="528.082"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1277" x2="1449.5" y1="543.2148" y2="543.2148"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="1453.5" y="547.2153">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1706.5" x2="1879" y1="543.2148" y2="543.2148"/><ellipse cx="1288.5" cy="558.4141" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="1294" y="562.8481">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1399" y="562.8481">← 0</text><ellipse cx="1288.5" cy="573.5469" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="1294" y="577.981">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1471" y="577.981">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1277" x2="1515.5" y1="588.6133" y2="588.6133"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="1519.5" y="592.6138">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1640.5" x2="1879" y1="588.6133" y2="588.6133"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1277" x2="1405.5" y1="603.7461" y2="603.7461"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="1409.5" y="607.7466">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1750.5" x2="1879" y1="603.7461" y2="603.7461"/><ellipse cx="1288.5" cy="618.9453" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="1294" y="623.3794">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1408" y="623.3794">← deadline</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1277" x2="1420" y1="634.0117" y2="634.0117"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="1424" y="638.0122">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1736" x2="1879" y1="634.0117" y2="634.0117"/><ellipse cx="1288.5" cy="649.2109" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="1294" y="653.645">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="44" x="1364" y="653.645">← jitter</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1277" x2="1287.5" y1="664.2773" y2="664.2773"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="1291.5" y="668.2778">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="1868.5" x2="1879" y1="664.2773" y2="664.2773"/><ellipse cx="1288.5" cy="679.4766" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="1294" y="683.9106">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="1382" y="683.9106">← 0xF..F</text><ellipse cx="1288.5" cy="694.6094" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="1294" y="699.0435">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1386" y="699.0435">← 0</text><rect fill="#EEEEEE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="1899" y="594.3281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="1909" y="615.4668">initialize members</text><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="884" x="1160" y="727.1094"/><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1562" y="753.1094"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1572" y="774.248">lock topic</text><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2432" x="372" y="807.0781"/><rect fill="#FFFFFF" filter="url(#f1act1r141fzz6)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1170" x="384" y="879.5903"/><path d="M541,880.5903 L541,888.8872 L531,898.8872 L384,898.8872 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="387" y="893.5854">contribute messages</text><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="915.8872"/><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="619" x="408" y="941.8872"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="418" y="963.0259">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="442" y="963.0259">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="543" x="474" y="963.0259">pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="1055" y="941.8872"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1065" y="963.0259">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1089" y="963.0259">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="1121" y="963.0259">pointer of topic's latest message to first message to contribute</text><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="995.856"/><polygon fill="#FEFECE" filter="url(#f1act1r141fzz6)" points="899,833.0781,1039,833.0781,1051,845.0781,1039,857.0781,899,857.0781,887,845.0781,899,833.0781" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="973" y="867.2886">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="899" y="848.8862">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1051" y="842.4839">no</text><polygon fill="#FEFECE" filter="url(#f1act1r141fzz6)" points="969,1033.856,981,1045.856,969,1057.856,957,1045.856,969,1033.856" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1604" y="907.7388"/><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1618" y="933.7388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1628" y="954.8774">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1959" y="933.7388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1969" y="954.8774">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1604" y="987.7075"/><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2278" y="933.7388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2288" y="954.8774">register to topic's event source</text><rect fill="#EEEEEE" filter="url(#f1act1r141fzz6)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="2505" y="926.7544"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2505" x2="2532.5" y1="943.7388" y2="943.7388"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="2532.5" y="947.3931">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2764.5" x2="2792" y1="943.7388" y2="943.7388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="267" x="2515" y="961.8618">increment counter of subscribers (@topic)</text><rect fill="#000000" filter="url(#f1act1r141fzz6)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2432" x="372" y="1077.856"/><rect fill="#FEFECE" filter="url(#f1act1r141fzz6)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1554" y="1103.856"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1564" y="1124.9946">unlock topic</text><path d="M1389,1156.2583 L1389,1181.3911 A0,0 0 0 0 1389,1181.3911 L1571,1181.3911 A0,0 0 0 0 1571,1181.3911 L1571,1174.2583 L1591,1168.8247 L1571,1166.2583 L1571,1166.2583 L1561,1156.2583 L1389,1156.2583 A0,0 0 0 0 1389,1156.2583 " fill="#FBFB77" filter="url(#f1act1r141fzz6)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1561,1156.2583 L1561,1166.2583 L1571,1166.2583 L1561,1156.2583 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1395" y="1173.3252">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1448" y="1173.3252">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1552" y="1173.3252">.</text><ellipse cx="1602" cy="1168.8247" fill="#FFFFFF" filter="url(#f1act1r141fzz6)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1602" cy="1168.8247" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="965.5" x2="965.5" y1="395.5156" y2="415.5156"/><polygon fill="#A80036" points="961.5,405.5156,965.5,415.5156,969.5,405.5156,965.5,409.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.5" x2="1211.5" y1="495.5156" y2="594.3281"/><polygon fill="#A80036" points="1207.5,584.3281,1211.5,594.3281,1215.5,584.3281,1211.5,588.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1964.5" x2="1964.5" y1="495.5156" y2="594.3281"/><polygon fill="#A80036" points="1960.5,584.3281,1964.5,594.3281,1968.5,584.3281,1964.5,588.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.5" x2="1211.5" y1="628.2969" y2="727.1094"/><polygon fill="#A80036" points="1207.5,717.1094,1211.5,727.1094,1215.5,717.1094,1211.5,721.1094" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1964.5" x2="1964.5" y1="628.2969" y2="727.1094"/><polygon fill="#A80036" points="1960.5,717.1094,1964.5,727.1094,1968.5,717.1094,1964.5,721.1094" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="733.1094" y2="753.1094"/><polygon fill="#A80036" points="1598,743.1094,1602,753.1094,1606,743.1094,1602,747.1094" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="921.8872" y2="941.8872"/><polygon fill="#A80036" points="713.5,931.8872,717.5,941.8872,721.5,931.8872,717.5,935.8872" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="921.8872" y2="941.8872"/><polygon fill="#A80036" points="1288.5,931.8872,1292.5,941.8872,1296.5,931.8872,1292.5,935.8872" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="975.856" y2="995.856"/><polygon fill="#A80036" points="713.5,985.856,717.5,995.856,721.5,985.856,717.5,989.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="975.856" y2="995.856"/><polygon fill="#A80036" points="1288.5,985.856,1292.5,995.856,1296.5,985.856,1292.5,989.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="857.0781" y2="915.8872"/><polygon fill="#A80036" points="965,905.8872,969,915.8872,973,905.8872,969,909.8872" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1051" x2="1564" y1="845.0781" y2="845.0781"/><polygon fill="#A80036" points="1560,940.7231,1564,950.7231,1568,940.7231,1564,944.7231" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="1564" y1="845.0781" y2="1045.856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="981" y1="1045.856" y2="1045.856"/><polygon fill="#A80036" points="991,1041.856,981,1045.856,991,1049.856,987,1045.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="1001.856" y2="1033.856"/><polygon fill="#A80036" points="965,1023.856,969,1033.856,973,1023.856,969,1027.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1774.5" x2="1774.5" y1="913.7388" y2="933.7388"/><polygon fill="#A80036" points="1770.5,923.7388,1774.5,933.7388,1778.5,923.7388,1774.5,927.7388" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2107.5" x2="2107.5" y1="913.7388" y2="933.7388"/><polygon fill="#A80036" points="2103.5,923.7388,2107.5,933.7388,2111.5,923.7388,2107.5,927.7388" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1774.5" x2="1774.5" y1="967.7075" y2="987.7075"/><polygon fill="#A80036" points="1770.5,977.7075,1774.5,987.7075,1778.5,977.7075,1774.5,981.7075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2107.5" x2="2107.5" y1="967.7075" y2="987.7075"/><polygon fill="#A80036" points="2103.5,977.7075,2107.5,987.7075,2111.5,977.7075,2107.5,981.7075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="813.0781" y2="833.0781"/><polygon fill="#A80036" points="965,823.0781,969,833.0781,973,823.0781,969,827.0781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937" x2="1937" y1="813.0781" y2="907.7388"/><polygon fill="#A80036" points="1933,897.7388,1937,907.7388,1941,897.7388,1937,901.7388" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2386.5" x2="2386.5" y1="813.0781" y2="933.7388"/><polygon fill="#A80036" points="2382.5,923.7388,2386.5,933.7388,2390.5,923.7388,2386.5,927.7388" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2648.5" x2="2648.5" y1="813.0781" y2="926.7544"/><polygon fill="#A80036" points="2644.5,916.7544,2648.5,926.7544,2652.5,916.7544,2648.5,920.7544" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="1057.856" y2="1077.856"/><polygon fill="#A80036" points="965,1067.856,969,1077.856,973,1067.856,969,1071.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937" x2="1937" y1="993.7075" y2="1077.856"/><polygon fill="#A80036" points="1933,1067.856,1937,1077.856,1941,1067.856,1937,1071.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2386.5" x2="2386.5" y1="967.7075" y2="1077.856"/><polygon fill="#A80036" points="2382.5,1067.856,2386.5,1077.856,2390.5,1067.856,2386.5,1071.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2648.5" x2="2648.5" y1="974.6919" y2="1077.856"/><polygon fill="#A80036" points="2644.5,1067.856,2648.5,1077.856,2652.5,1067.856,2648.5,1071.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="787.0781" y2="807.0781"/><polygon fill="#A80036" points="1598,797.0781,1602,807.0781,1606,797.0781,1602,801.0781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="1083.856" y2="1103.856"/><polygon fill="#A80036" points="1598,1093.856,1602,1103.856,1606,1093.856,1602,1097.856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="1137.8247" y2="1157.8247"/><polygon fill="#A80036" points="1598,1147.8247,1602,1157.8247,1606,1147.8247,1602,1151.8247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="896" x2="351" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="351" y1="467.5156" y2="491.082"/><polygon fill="#A80036" points="347,481.082,351,491.082,355,481.082,351,485.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1035" x2="1602" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="467.5156" y2="489.5156"/><polygon fill="#A80036" points="1598,479.5156,1602,489.5156,1606,479.5156,1602,483.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="965.5" x2="965.5" y1="435.5156" y2="455.5156"/><polygon fill="#A80036" points="961.5,445.5156,965.5,455.5156,969.5,445.5156,965.5,449.5156" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[478578674f58ebebf66a2fbf0e98c357]
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberSubscribe()\n
+
+
+
+
+
+note
+  - - **subscriber** : urt_frtsubscriber_t* - -
+  The FRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  - - **topic** : urt_topic_t* - -
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  - - **messages** : urt_message_t* - -
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  - - **deadline** : urt_delay_t - -
+  Maximum latency to consume messages.
+  A value of 0 indicates that latency is of no concern.
+  - - **jitter** : urt_delay_t - -
+  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
+  A value of 0 indicates that jitter is of no concern.
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      - - urt_basesubscriber_t - -
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      - - urt_frtsubscriber_t - -
+      .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+      * **deadlineOffset** ← deadline
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
+      * **maxJitter** ← jitter
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+        partition "contribute messages" {
+    fork
+      :set ""next"" pointer of last message to contribute to the message after the topic's latest message;
+    fork again
+      :set ""next"" pointer of topic's latest message to first message to contribute;
+    endfork
+  }
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberSubscribe.uml
new file mode 100644
index 0000000..ad77191
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberSubscribe.uml
@@ -0,0 +1,110 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberSubscribe()\n
+
+!include ../../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_frtsubscriber_t* --
+  The FRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  -- **topic** : urt_topic_t* --
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  -- **messages** : urt_message_t* --
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  -- **deadline** : urt_delay_t --
+  Maximum latency to consume messages.
+  A value of 0 indicates that latency is of no concern.
+  -- **jitter** : urt_delay_t --
+  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
+  A value of 0 indicates that jitter is of no concern.
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      -- urt_basesubscriber_t --
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      -- urt_frtsubscriber_t --
+      .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+      * **deadlineOffset** ← deadline
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
+      * **maxJitter** ← jitter
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+      $contribute_messages()
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberUnsubscribe.svg
new file mode 100644
index 0000000..2d99b8c
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberUnsubscribe.svg
@@ -0,0 +1,57 @@
+<?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="649px" preserveAspectRatio="none" style="width:905px;height:649px;" version="1.1" viewBox="0 0 905 649" width="905px" zoomAndPan="magnify"><defs><filter height="300%" id="f1vgh45bcwcz1j" 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="407.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="265" x="319.25" y="47.6611">urtFrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="454.75" y="68.6143"/><path d="M277,72.8594 L277,183.6563 L877,183.6563 L877,82.8594 L867,72.8594 L277,72.8594 " fill="#FBFB77" filter="url(#f1vgh45bcwcz1j)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M867,72.8594 L867,82.8594 L877,82.8594 L867,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="466" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="470" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="470" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="552" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="688" x2="877" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="283" y="105.0591">The FRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="283" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="363" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="395" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="877" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="877" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="506" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="510" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="510" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="559" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="648" x2="877" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="283" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="336" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="444" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="283" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="336" y="175.5903">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="580" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="577" cy="213.6563" fill="#000000" filter="url(#f1vgh45bcwcz1j)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1vgh45bcwcz1j)" points="514.5,243.6563,639.5,243.6563,651.5,255.6563,639.5,267.6563,514.5,267.6563,502.5,255.6563,514.5,243.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="514.5" y="259.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="482.5" y="253.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="651.5" y="253.062">no</text><rect fill="#EEEEEE" filter="url(#f1vgh45bcwcz1j)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="148.5" y="277.6563"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="148.5" x2="158.5" y1="294.6406" y2="294.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="158.5" y="298.2949">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="390.5" x2="400.5" y1="294.6406" y2="294.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="158.5" y="312.7637">lock topic</text><rect fill="#000000" filter="url(#f1vgh45bcwcz1j)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="472" x="38.5" y="345.5938"/><rect fill="#FEFECE" filter="url(#f1vgh45bcwcz1j)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="52.5" y="378.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="62.5" y="399.7168">unregister event</text><rect fill="#EEEEEE" filter="url(#f1vgh45bcwcz1j)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="292" x="204.5" y="371.5938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="204.5" x2="234.5" y1="388.5781" y2="388.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="234.5" y="392.2324">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="466.5" x2="496.5" y1="388.5781" y2="388.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="272" x="214.5" y="406.7012">decrement counter of subscribers (@topic)</text><rect fill="#000000" filter="url(#f1vgh45bcwcz1j)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="472" x="38.5" y="439.5313"/><rect fill="#EEEEEE" filter="url(#f1vgh45bcwcz1j)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="148.5" y="465.5313"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="148.5" x2="158.5" y1="482.5156" y2="482.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="158.5" y="486.1699">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="390.5" x2="400.5" y1="482.5156" y2="482.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="158.5" y="500.6387">unlock topic</text><path d="M10,523.4688 L10,594 A0,0 0 0 0 10,594 L197,594 A0,0 0 0 0 197,594 L197,562.7344 L217,558.7344 L197,554.7344 L197,533.4688 L187,523.4688 L10,523.4688 A0,0 0 0 0 10,523.4688 " fill="#FBFB77" filter="url(#f1vgh45bcwcz1j)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M187,523.4688 L187,533.4688 L197,533.4688 L187,523.4688 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="32.5" y1="536.0352" y2="536.0352"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="36.5" y="540.0356">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="174.5" x2="197" y1="536.0352" y2="536.0352"/><ellipse cx="21.5" cy="551.2344" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="27" y="555.6685">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="68" y="555.6685">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="83" y="555.6685">NULL</text><ellipse cx="21.5" cy="566.3672" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="570.8013">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="124" y="570.8013">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="139" y="570.8013">NULL</text><ellipse cx="21.5" cy="581.5" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="585.9341">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="159" y="585.9341">← 0</text><rect fill="#FEFECE" filter="url(#f1vgh45bcwcz1j)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="217" y="541.75"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="227" y="562.8887">reset members</text><path d="M61.5,612.4336 L61.5,637.5664 A0,0 0 0 0 61.5,637.5664 L243.5,637.5664 A0,0 0 0 0 243.5,637.5664 L243.5,630.4336 L263.5,625 L243.5,622.4336 L243.5,622.4336 L233.5,612.4336 L61.5,612.4336 A0,0 0 0 0 61.5,612.4336 " fill="#FBFB77" filter="url(#f1vgh45bcwcz1j)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M233.5,612.4336 L233.5,622.4336 L243.5,622.4336 L233.5,612.4336 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="67.5" y="629.5005">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="120.5" y="629.5005">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="224.5" y="629.5005">.</text><ellipse cx="274.5" cy="625" fill="#FFFFFF" filter="url(#f1vgh45bcwcz1j)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="274.5" cy="625" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M530.5,277.6563 L530.5,302.7891 A0,0 0 0 0 530.5,302.7891 L848.5,302.7891 A0,0 0 0 0 848.5,302.7891 L848.5,295.6563 L868.5,290.2227 L848.5,287.6563 L848.5,287.6563 L838.5,277.6563 L530.5,277.6563 A0,0 0 0 0 530.5,277.6563 " fill="#FBFB77" filter="url(#f1vgh45bcwcz1j)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M838.5,277.6563 L838.5,287.6563 L848.5,287.6563 L838.5,277.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="536.5" y="294.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="589.5" y="294.7231">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="829.5" y="294.7231">.</text><ellipse cx="879.5" cy="290.2227" fill="#FFFFFF" filter="url(#f1vgh45bcwcz1j)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="879.5" cy="290.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577" x2="577" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="573,193.6563,577,203.6563,581,193.6563,577,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="114.5" x2="114.5" y1="351.5938" y2="378.5781"/><polygon fill="#A80036" points="110.5,368.5781,114.5,378.5781,118.5,368.5781,114.5,372.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="351.5938" y2="371.5938"/><polygon fill="#A80036" points="346.5,361.5938,350.5,371.5938,354.5,361.5938,350.5,365.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="114.5" x2="114.5" y1="412.5469" y2="439.5313"/><polygon fill="#A80036" points="110.5,429.5313,114.5,439.5313,118.5,429.5313,114.5,433.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="419.5313" y2="439.5313"/><polygon fill="#A80036" points="346.5,429.5313,350.5,439.5313,354.5,429.5313,350.5,433.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="325.5938" y2="345.5938"/><polygon fill="#A80036" points="270.5,335.5938,274.5,345.5938,278.5,335.5938,274.5,339.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="445.5313" y2="465.5313"/><polygon fill="#A80036" points="270.5,455.5313,274.5,465.5313,278.5,455.5313,274.5,459.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="513.4688" y2="541.75"/><polygon fill="#A80036" points="270.5,531.75,274.5,541.75,278.5,531.75,274.5,535.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="575.7188" y2="614"/><polygon fill="#A80036" points="270.5,604,274.5,614,278.5,604,274.5,608" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="274.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="255.6563" y2="277.6563"/><polygon fill="#A80036" points="270.5,267.6563,274.5,277.6563,278.5,267.6563,274.5,271.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="879.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="879.5" x2="879.5" y1="255.6563" y2="279.2227"/><polygon fill="#A80036" points="875.5,269.2227,879.5,279.2227,883.5,269.2227,879.5,273.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577" x2="577" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="573,233.6563,577,243.6563,581,233.6563,577,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6e64788445fd46961a4bb2c272afebca]
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberUnsubscribe()\n
+
+
+note
+  - - **subscriber** : urt_frtsubscriber_t* - -
+  The FRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nlock topic;
+  fork
+    :unregister event;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  endfork
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nunlock topic;
+  :reset members;
+  note
+    - - urt_basesubscriber_t - -
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberUnsubscribe.uml
new file mode 100644
index 0000000..e87d9f3
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/frtsubscriber/urtFrtSubscriberUnsubscribe.uml
@@ -0,0 +1,71 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtFrtSubscriberUnsubscribe()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_frtsubscriber_t* --
+  The FRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nlock topic;
+  fork
+    :unregister event;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  endfork
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nunlock topic;
+  :reset members;
+  note
+    -- urt_basesubscriber_t --
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/functions.iuml b/doc/activitydiagrams/subscriber/functions.iuml
index f26360d..4882b1d 100644
--- a/doc/activitydiagrams/subscriber/functions.iuml
+++ b/doc/activitydiagrams/subscriber/functions.iuml
@@ -25,14 +25,9 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     fork
       :update message pointer;
     fork again
-        :copy timestamp of message;
+      :copy message origin time;
     fork again
       :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
     endfork
   }
 !endfunction
@@ -40,9 +35,14 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /' Find the latest message in the circular message buffer. '/
 !function $find_latest_message()
   partition "find latest message" {
-    :access last read message;
+    :access ""lastMessage"";
     while (Timestamp of next message is younger?) is (yes)
-      :proceed to next message;
+      fork
+        :proceed to next message;
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of received messages;
+      endfork
     endwhile (no)
   }
 !endfunction
@@ -53,9 +53,11 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
     if (Timestamp of last read message euqals local copy?) then (yes)
     else (no)
       while (Timestamp of next message is younger?) is (yes)
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message);
         :proceed to next message;
       endwhile (no)
     endif
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message);
     :proceed to next message;
   }
 !endfunction
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.svg
new file mode 100644
index 0000000..46519ca
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.svg
@@ -0,0 +1,130 @@
+<?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="1899px" preserveAspectRatio="none" style="width:1735px;height:1899px;" version="1.1" viewBox="0 0 1735 1899" width="1735px" zoomAndPan="magnify"><defs><filter height="300%" id="fw8r9eje3asw" 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="822" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="338" x="697.5" y="47.6611">urtHrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="869.5" y="68.6143"/><path d="M876.25,72.8594 L876.25,334.9844 L1565.25,334.9844 L1565.25,82.8594 L1555.25,72.8594 L876.25,72.8594 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1555.25,72.8594 L1555.25,82.8594 L1565.25,82.8594 L1555.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1107.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1111.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1111.75" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1193.75" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1333.75" x2="1565.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="882.25" y="105.0591">The HRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="882.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="962.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="994.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1164.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1168.75" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1168.75" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1231.75" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1276.75" x2="1565.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="882.25" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="882.25" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="932.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="968.25" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1171.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1175.75" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1175.75" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1220.75" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1269.75" x2="1565.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="882.25" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1145.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1149.25" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1149.25" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1206.25" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1296.25" x2="1565.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="882.25" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="882.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="932.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="964.25" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1565.25" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1565.25" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1149.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1153.75" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1153.75" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1202.75" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1291.75" x2="1565.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="935.25" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1043.25" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="935.25" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1131.25" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="935.25" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="1147.25" y="311.7856">if there is no new message to fetch.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="326.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="935.25" y="326.9185">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="403" x="1147.25" y="326.9185">if the message's latency violated the maximum expected jitter.</text><ellipse cx="1220.75" cy="364.9844" fill="#000000" filter="url(#fw8r9eje3asw)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="1158.25,394.9844,1283.25,394.9844,1295.25,406.9844,1283.25,418.9844,1158.25,418.9844,1146.25,406.9844,1158.25,394.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1158.25" y="410.7925">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1126.25" y="404.3901">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1295.25" y="404.3901">no</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="692.5" y="428.9844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="702.5" y="450.123">lock topic</text><rect fill="#FFFFFF" filter="url(#fw8r9eje3asw)" height="540.7378" style="stroke: #000000; stroke-width: 2.0;" width="1442" x="10" y="473.7549"/><path d="M155,474.7549 L155,483.0518 L145,493.0518 L10,493.0518 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="13" y="487.75">find latest message</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="660" y="510.0518"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="44" x="670" y="531.1904">access</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="718" y="531.1904">lastMessage</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1377" x="44" y="619.731"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="489.5" y="645.731"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="499.5" y="666.8696">proceed to next message</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1044" x="58" y="708.1841"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="329" x="72" y="741.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="309" x="82" y="762.3071">decrement message's counter of HRT consumers</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="301" x="429" y="734.1841"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="429" x2="463.5" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="463.5" y="754.8228">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="695.5" x2="730" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="281" x="439" y="769.2915">decrement message's counter of consumers</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="330" x="758" y="734.1841"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="758" x2="768" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="310" x="768" y="754.8228">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1078" x2="1088" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="768" y="769.2915">reset QoS deadline timer</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1044" x="58" y="802.1216"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="1130" y="699.6997"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1130" x2="1153.5" y1="716.6841" y2="716.6841"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="230" x="1153.5" y="720.3384">URT_CFG:PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1383.5" x2="1407" y1="716.6841" y2="716.6841"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="1140" y="734.8071">increment counter of received messages</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1377" x="44" y="828.1216"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="624" y="902.5239"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="634" y="923.6626">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="623.5,854.1216,841.5,854.1216,853.5,866.1216,841.5,878.1216,623.5,878.1216,611.5,866.1216,623.5,854.1216" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="736.5" y="888.332">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="623.5" y="869.9297">HRT counter of a message became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="853.5" y="863.5273">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="732.5,956.4927,744.5,968.4927,732.5,980.4927,720.5,968.4927,732.5,956.4927" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="615.5,564.0205,849.5,564.0205,861.5,576.0205,849.5,588.0205,615.5,588.0205,603.5,576.0205,615.5,564.0205" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="736.5" y="598.231">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="615.5" y="579.8286">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="589.5" y="573.4263">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="646.5,1034.4927,818.5,1034.4927,830.5,1046.4927,818.5,1058.4927,646.5,1058.4927,634.5,1046.4927,646.5,1034.4927" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="646.5" y="1050.3008">Timestamp equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="614.5" y="1043.8984">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="830.5" y="1043.8984">no</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="505.25" y="1068.4927"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="515.25" y="1089.6313">unlock topic</text><path d="M236.25,1122.4614 L236.25,1147.5942 A0,0 0 0 0 236.25,1147.5942 L522.25,1147.5942 A0,0 0 0 0 522.25,1147.5942 L522.25,1140.4614 L542.25,1135.0278 L522.25,1132.4614 L522.25,1132.4614 L512.25,1122.4614 L236.25,1122.4614 A0,0 0 0 0 236.25,1122.4614 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M512.25,1122.4614 L512.25,1132.4614 L522.25,1132.4614 L512.25,1122.4614 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="242.25" y="1139.5283">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="295.25" y="1139.5283">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="503.25" y="1139.5283">.</text><ellipse cx="553.25" cy="1135.0278" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="553.25" cy="1135.0278" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="818.25" y="1068.4927"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="828.25" y="1089.6313">calculate message latency</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="621.25" y="1122.4614"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="250" x="635.25" y="1189.8794"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="635.25" x2="645.25" y1="1206.8638" y2="1206.8638"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="230" x="645.25" y="1210.5181">URT:CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="875.25" x2="885.25" y1="1206.8638" y2="1206.8638"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="645.25" y="1224.9868">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="722.25" y="1224.9868">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="810.25" y="1224.9868">value</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="979.75" y="1196.8638"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="989.75" y="1218.0024">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="1013.75" y="1218.0024">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1066.75" y="1218.0024">value</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="925.25,1148.4614,1164.25,1148.4614,1176.25,1160.4614,1164.25,1172.4614,925.25,1172.4614,913.25,1160.4614,925.25,1148.4614" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1048.75" y="1182.6719">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="925.25" y="1164.2695">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="976.25" y="1164.2695">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1029.25" y="1164.2695">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1176.25" y="1157.8672">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="1044.75,1255.2349,1056.75,1267.2349,1044.75,1279.2349,1032.75,1267.2349,1044.75,1255.2349" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="621.25" y="1299.2349"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="277.0977" style="stroke: #000000; stroke-width: 2.0;" width="1138.5" x="115.25" y="1316.0366"/><path d="M751.25,1317.0366 L751.25,1325.3335 L741.25,1335.3335 L115.25,1335.3335 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="626" x="118.25" y="1330.0317">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="625.5,1352.3335,839.5,1352.3335,851.5,1364.3335,839.5,1376.3335,625.5,1376.3335,613.5,1364.3335,625.5,1352.3335" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="625.5" y="1368.1416">Latency is within allowed jitter range?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="593.5" y="1361.7393">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="851.5" y="1361.7393">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="147.25,1411.3335,348.25,1411.3335,360.25,1423.3335,348.25,1435.3335,147.25,1435.3335,135.25,1423.3335,147.25,1411.3335" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="251.75" y="1445.5439">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="147.25" y="1427.1416">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="272.25" y="1427.1416">minlatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="342.25" y="1427.1416">?</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="159.75" y="1468.1382"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="169.75" y="1489.2769">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="218.75" y="1489.2769">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="292.75" y="1489.2769">value</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="392.25,1411.3335,638.25,1411.3335,650.25,1423.3335,638.25,1435.3335,392.25,1435.3335,380.25,1423.3335,392.25,1411.3335" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="519.25" y="1445.5439">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="392.25" y="1427.1416">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="528.25" y="1427.1416">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="602.25" y="1427.1416">value?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="650.25" y="1420.7393">no</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="427.25" y="1468.1382"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="437.25" y="1489.2769">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="486.25" y="1489.2769">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="560.25" y="1489.2769">value</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="194.8008" style="stroke: #000000; stroke-width: 2.0;" width="513.5" x="720.25" y="1386.3335"/><path d="M1067.25,1387.3335 L1067.25,1395.6304 L1057.25,1405.6304 L720.25,1405.6304 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="337" x="723.25" y="1400.3286">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="999.25" y="1422.6304"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1009.25" y="1443.769">unlock topic</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="353" x="870.75" y="1491.5991"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="880.75" y="1512.7378">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="308" x="905.75" y="1512.7378">urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)</text><path d="M730.25,1544.0015 L730.25,1569.1343 A0,0 0 0 0 730.25,1569.1343 L1016.25,1569.1343 A0,0 0 0 0 1016.25,1569.1343 L1016.25,1562.0015 L1036.25,1556.5679 L1016.25,1554.0015 L1016.25,1554.0015 L1006.25,1544.0015 L730.25,1544.0015 A0,0 0 0 0 730.25,1544.0015 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1006.25,1544.0015 L1006.25,1554.0015 L1016.25,1554.0015 L1006.25,1544.0015 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="736.25" y="1561.0684">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="789.25" y="1561.0684">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="997.25" y="1561.0684">.</text><ellipse cx="1047.25" cy="1556.5679" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1047.25" cy="1556.5679" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1008" x="228.5" y="1613.1343"/><rect fill="#FFFFFF" filter="url(#fw8r9eje3asw)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="622" x="242.5" y="1629.936"/><path d="M355.5,1630.936 L355.5,1639.2329 L345.5,1649.2329 L242.5,1649.2329 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="245.5" y="1643.9312">fetch message</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="252.5" y="1666.2329"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="266.5" y="1692.2329"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="276.5" y="1713.3716">update message pointer</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="469.5" y="1692.2329"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="479.5" y="1713.3716">copy message origin time</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="677.5" y="1692.2329"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="687.5" y="1713.3716">copy message payload</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="252.5" y="1746.2017"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="330" x="892.5" y="1677.1001"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="892.5" x2="902.5" y1="1694.0845" y2="1694.0845"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="310" x="902.5" y="1697.7388">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1212.5" x2="1222.5" y1="1694.0845" y2="1694.0845"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="902.5" y="1712.2075">reset QoS deadline timer</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1008" x="228.5" y="1784.2017"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="684.5" y="1810.2017"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="694.5" y="1831.3403">unlock topic</text><path d="M519.5,1862.604 L519.5,1887.7368 A0,0 0 0 0 519.5,1887.7368 L701.5,1887.7368 A0,0 0 0 0 701.5,1887.7368 L701.5,1880.604 L721.5,1875.1704 L701.5,1872.604 L701.5,1872.604 L691.5,1862.604 L519.5,1862.604 A0,0 0 0 0 519.5,1862.604 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M691.5,1862.604 L691.5,1872.604 L701.5,1872.604 L691.5,1862.604 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="525.5" y="1879.6709">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="578.5" y="1879.6709">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="682.5" y="1879.6709">.</text><ellipse cx="732.5" cy="1875.1704" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="732.5" cy="1875.1704" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1472,428.9844 L1472,454.1172 A0,0 0 0 0 1472,454.1172 L1678,454.1172 A0,0 0 0 0 1678,454.1172 L1678,446.9844 L1698,441.5508 L1678,438.9844 L1678,438.9844 L1668,428.9844 L1472,428.9844 A0,0 0 0 0 1472,428.9844 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1668,428.9844 L1668,438.9844 L1678,438.9844 L1668,428.9844 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1478" y="446.0513">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1531" y="446.0513">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1659" y="446.0513">.</text><ellipse cx="1709" cy="441.5508" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1709" cy="441.5508" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1220.75" x2="1220.75" y1="334.9844" y2="354.9844"/><polygon fill="#A80036" points="1216.75,344.9844,1220.75,354.9844,1224.75,344.9844,1220.75,348.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="236.5" x2="236.5" y1="714.1841" y2="741.1685"/><polygon fill="#A80036" points="232.5,731.1685,236.5,741.1685,240.5,731.1685,236.5,735.1685" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579.5" x2="579.5" y1="714.1841" y2="734.1841"/><polygon fill="#A80036" points="575.5,724.1841,579.5,734.1841,583.5,724.1841,579.5,728.1841" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="923" x2="923" y1="714.1841" y2="734.1841"/><polygon fill="#A80036" points="919,724.1841,923,734.1841,927,724.1841,923,728.1841" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="236.5" x2="236.5" y1="775.1372" y2="802.1216"/><polygon fill="#A80036" points="232.5,792.1216,236.5,802.1216,240.5,792.1216,236.5,796.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579.5" x2="579.5" y1="782.1216" y2="802.1216"/><polygon fill="#A80036" points="575.5,792.1216,579.5,802.1216,583.5,792.1216,579.5,796.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="923" x2="923" y1="782.1216" y2="802.1216"/><polygon fill="#A80036" points="919,792.1216,923,802.1216,927,792.1216,923,796.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="580" x2="580" y1="679.6997" y2="708.1841"/><polygon fill="#A80036" points="576,698.1841,580,708.1841,584,698.1841,580,702.1841" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="580" x2="580" y1="625.731" y2="645.731"/><polygon fill="#A80036" points="576,635.731,580,645.731,584,635.731,580,639.731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="625.731" y2="699.6997"/><polygon fill="#A80036" points="1264.5,689.6997,1268.5,699.6997,1272.5,689.6997,1268.5,693.6997" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="580" x2="580" y1="808.1216" y2="828.1216"/><polygon fill="#A80036" points="576,818.1216,580,828.1216,584,818.1216,580,822.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="747.6372" y2="828.1216"/><polygon fill="#A80036" points="1264.5,818.1216,1268.5,828.1216,1272.5,818.1216,1268.5,822.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="878.1216" y2="902.5239"/><polygon fill="#A80036" points="728.5,892.5239,732.5,902.5239,736.5,892.5239,732.5,896.5239" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="853.5" x2="865.5" y1="866.1216" y2="866.1216"/><polygon fill="#A80036" points="861.5,909.5083,865.5,919.5083,869.5,909.5083,865.5,913.5083" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="865.5" x2="865.5" y1="866.1216" y2="968.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="865.5" x2="744.5" y1="968.4927" y2="968.4927"/><polygon fill="#A80036" points="754.5,964.4927,744.5,968.4927,754.5,972.4927,750.5,968.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="936.4927" y2="956.4927"/><polygon fill="#A80036" points="728.5,946.4927,732.5,956.4927,736.5,946.4927,732.5,950.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="834.1216" y2="854.1216"/><polygon fill="#A80036" points="728.5,844.1216,732.5,854.1216,736.5,844.1216,732.5,848.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="588.0205" y2="619.731"/><polygon fill="#A80036" points="728.5,609.731,732.5,619.731,736.5,609.731,732.5,613.731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="980.4927" y2="990.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="1433" y1="990.4927" y2="990.4927"/><polygon fill="#A80036" points="1429,798.1528,1433,788.1528,1437,798.1528,1433,794.1528" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1433" x2="1433" y1="576.0205" y2="990.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1433" x2="861.5" y1="576.0205" y2="576.0205"/><polygon fill="#A80036" points="871.5,572.0205,861.5,576.0205,871.5,580.0205,867.5,576.0205" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="603.5" x2="32" y1="576.0205" y2="576.0205"/><polygon fill="#A80036" points="28,784.1528,32,794.1528,36,784.1528,32,788.1528" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="32" y1="576.0205" y2="1002.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="732.5" y1="1002.4927" y2="1002.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1002.4927" y2="1034.4927"/><polygon fill="#A80036" points="728.5,1024.4927,732.5,1034.4927,736.5,1024.4927,732.5,1028.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="544.0205" y2="564.0205"/><polygon fill="#A80036" points="728.5,554.0205,732.5,564.0205,736.5,554.0205,732.5,558.0205" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="462.9531" y2="510.0518"/><polygon fill="#A80036" points="728.5,500.0518,732.5,510.0518,736.5,500.0518,732.5,504.0518" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.25" x2="553.25" y1="1102.4614" y2="1124.0278"/><polygon fill="#A80036" points="549.25,1114.0278,553.25,1124.0278,557.25,1114.0278,553.25,1118.0278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1172.4614" y2="1196.8638"/><polygon fill="#A80036" points="1040.75,1186.8638,1044.75,1196.8638,1048.75,1186.8638,1044.75,1190.8638" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1176.25" x2="1188.25" y1="1160.4614" y2="1160.4614"/><polygon fill="#A80036" points="1184.25,1203.8481,1188.25,1213.8481,1192.25,1203.8481,1188.25,1207.8481" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188.25" x2="1188.25" y1="1160.4614" y2="1267.2349"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188.25" x2="1056.75" y1="1267.2349" y2="1267.2349"/><polygon fill="#A80036" points="1066.75,1263.2349,1056.75,1267.2349,1066.75,1271.2349,1062.75,1267.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1230.8325" y2="1255.2349"/><polygon fill="#A80036" points="1040.75,1245.2349,1044.75,1255.2349,1048.75,1245.2349,1044.75,1249.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="760.25" x2="760.25" y1="1128.4614" y2="1189.8794"/><polygon fill="#A80036" points="756.25,1179.8794,760.25,1189.8794,764.25,1179.8794,760.25,1183.8794" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1128.4614" y2="1148.4614"/><polygon fill="#A80036" points="1040.75,1138.4614,1044.75,1148.4614,1048.75,1138.4614,1044.75,1142.4614" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="760.25" x2="760.25" y1="1237.8169" y2="1299.2349"/><polygon fill="#A80036" points="756.25,1289.2349,760.25,1299.2349,764.25,1289.2349,760.25,1293.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1279.2349" y2="1299.2349"/><polygon fill="#A80036" points="1040.75,1289.2349,1044.75,1299.2349,1048.75,1289.2349,1044.75,1293.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="911.75" y1="1102.4614" y2="1122.4614"/><polygon fill="#A80036" points="907.75,1112.4614,911.75,1122.4614,915.75,1112.4614,911.75,1116.4614" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="634.5" x2="553.25" y1="1046.4927" y2="1046.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.25" x2="553.25" y1="1046.4927" y2="1068.4927"/><polygon fill="#A80036" points="549.25,1058.4927,553.25,1068.4927,557.25,1058.4927,553.25,1062.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.5" x2="911.75" y1="1046.4927" y2="1046.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="911.75" y1="1046.4927" y2="1068.4927"/><polygon fill="#A80036" points="907.75,1058.4927,911.75,1068.4927,915.75,1058.4927,911.75,1062.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="911.75" y1="1305.2349" y2="1310.2349"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="732.5" y1="1310.2349" y2="1310.2349"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1310.2349" y2="1352.3335"/><polygon fill="#A80036" points="728.5,1342.3335,732.5,1352.3335,736.5,1342.3335,732.5,1346.3335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="247.75" y1="1435.3335" y2="1468.1382"/><polygon fill="#A80036" points="243.75,1458.1382,247.75,1468.1382,251.75,1458.1382,247.75,1462.1382" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="247.75" y1="1502.1069" y2="1560.5405"/><polygon fill="#A80036" points="243.75,1550.5405,247.75,1560.5405,251.75,1550.5405,247.75,1554.5405" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="515.25" x2="515.25" y1="1435.3335" y2="1468.1382"/><polygon fill="#A80036" points="511.25,1458.1382,515.25,1468.1382,519.25,1458.1382,515.25,1462.1382" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="515.25" x2="515.25" y1="1502.1069" y2="1560.5405"/><polygon fill="#A80036" points="511.25,1550.5405,515.25,1560.5405,519.25,1550.5405,515.25,1554.5405" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.25" x2="380.25" y1="1423.3335" y2="1423.3335"/><polygon fill="#A80036" points="370.25,1419.3335,380.25,1423.3335,370.25,1427.3335,374.25,1423.3335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="613.5" x2="247.75" y1="1364.3335" y2="1364.3335"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="247.75" y1="1364.3335" y2="1411.3335"/><polygon fill="#A80036" points="243.75,1401.3335,247.75,1411.3335,251.75,1401.3335,247.75,1405.3335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="650.25" x2="685.25" y1="1423.3335" y2="1423.3335"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="685.25" x2="685.25" y1="1423.3335" y2="1560.5405"/><polygon fill="#A80036" points="681.25,1550.5405,685.25,1560.5405,689.25,1550.5405,685.25,1554.5405" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="685.25" y1="1560.5405" y2="1560.5405"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1047.25" x2="1047.25" y1="1456.5991" y2="1491.5991"/><polygon fill="#A80036" points="1043.25,1481.5991,1047.25,1491.5991,1051.25,1481.5991,1047.25,1485.5991" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1047.25" x2="1047.25" y1="1525.5679" y2="1545.5679"/><polygon fill="#A80036" points="1043.25,1535.5679,1047.25,1545.5679,1051.25,1535.5679,1047.25,1539.5679" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="851.5" x2="1047.25" y1="1364.3335" y2="1364.3335"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1047.25" x2="1047.25" y1="1364.3335" y2="1422.6304"/><polygon fill="#A80036" points="1043.25,1412.6304,1047.25,1422.6304,1051.25,1412.6304,1047.25,1416.6304" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="417.75" x2="417.75" y1="1560.5405" y2="1586.1343"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="417.75" x2="732.5" y1="1586.1343" y2="1586.1343"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1586.1343" y2="1613.1343"/><polygon fill="#A80036" points="728.5,1603.1343,732.5,1613.1343,736.5,1603.1343,732.5,1607.1343" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="1672.2329" y2="1692.2329"/><polygon fill="#A80036" points="350,1682.2329,354,1692.2329,358,1682.2329,354,1686.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="559.5" x2="559.5" y1="1672.2329" y2="1692.2329"/><polygon fill="#A80036" points="555.5,1682.2329,559.5,1692.2329,563.5,1682.2329,559.5,1686.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="759" x2="759" y1="1672.2329" y2="1692.2329"/><polygon fill="#A80036" points="755,1682.2329,759,1692.2329,763,1682.2329,759,1686.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="1726.2017" y2="1746.2017"/><polygon fill="#A80036" points="350,1736.2017,354,1746.2017,358,1736.2017,354,1740.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="559.5" x2="559.5" y1="1726.2017" y2="1746.2017"/><polygon fill="#A80036" points="555.5,1736.2017,559.5,1746.2017,563.5,1736.2017,559.5,1740.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="759" x2="759" y1="1726.2017" y2="1746.2017"/><polygon fill="#A80036" points="755,1736.2017,759,1746.2017,763,1736.2017,759,1740.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.5" x2="553.5" y1="1619.1343" y2="1666.2329"/><polygon fill="#A80036" points="549.5,1656.2329,553.5,1666.2329,557.5,1656.2329,553.5,1660.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1057.5" x2="1057.5" y1="1619.1343" y2="1677.1001"/><polygon fill="#A80036" points="1053.5,1667.1001,1057.5,1677.1001,1061.5,1667.1001,1057.5,1671.1001" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.5" x2="553.5" y1="1752.2017" y2="1784.2017"/><polygon fill="#A80036" points="549.5,1774.2017,553.5,1784.2017,557.5,1774.2017,553.5,1778.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1057.5" x2="1057.5" y1="1725.0376" y2="1784.2017"/><polygon fill="#A80036" points="1053.5,1774.2017,1057.5,1784.2017,1061.5,1774.2017,1057.5,1778.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1790.2017" y2="1810.2017"/><polygon fill="#A80036" points="728.5,1800.2017,732.5,1810.2017,736.5,1800.2017,732.5,1804.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1844.1704" y2="1864.1704"/><polygon fill="#A80036" points="728.5,1854.1704,732.5,1864.1704,736.5,1854.1704,732.5,1858.1704" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1146.25" x2="732.5" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="406.9844" y2="428.9844"/><polygon fill="#A80036" points="728.5,418.9844,732.5,428.9844,736.5,418.9844,732.5,422.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1295.25" x2="1709" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1709" x2="1709" y1="406.9844" y2="430.5508"/><polygon fill="#A80036" points="1705,420.5508,1709,430.5508,1713,420.5508,1709,424.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1220.75" x2="1220.75" y1="374.9844" y2="394.9844"/><polygon fill="#A80036" points="1216.75,384.9844,1220.75,394.9844,1224.75,384.9844,1220.75,388.9844" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7fa388a0a4ff9ce15a42193ecc7c22b5]
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberFetchLatestMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_hrtsubscriber_t* - -
+  The HRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  partition "find latest message" {
+    :access ""lastMessage"";
+    while (Timestamp of next message is younger?) is (yes)
+      fork
+        :proceed to next message;
+        fork
+          :decrement message's counter of HRT consumers;
+        fork again
+          #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement message's counter of consumers;
+        fork again
+          #EEEEEE:..//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//..\nreset QoS deadline timer;
+        endfork
+      fork again
+        #EEEEEE:..//URT_CFG:PUBSUB_PROFILING == true//..\nincrement counter of received messages;
+      endfork
+      if (HRT counter of a message became 0?) then (yes)
+        :signal topic's condition variable;
+      else (no)
+      endif
+    endwhile (no)
+  }
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    :calculate message latency;
+    fork
+      #EEEEEE:..//URT:CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  endif
+  partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+    if (Latency is within allowed jitter range?) then (yes)
+      if (Latency is lower than ""minlatency""?) then (yes)
+        #EEEEEE:update ""minLatency"" value;
+      elseif (Latency is greater than ""maxLatency"" value?) then (yes)
+        #EEEEEE:update ""maxLatency"" value;
+      else (no)
+      endif
+    else (no)
+      partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true//" #EEEEEE {
+        #EEEEEE:unlock topic;
+        #EEEEEE:call ""urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)"";
+        stop
+        note
+          Returns ""URT_STATUS_JITTERVIOLATION"".
+        endnote
+      }
+    endif
+  }
+  fork
+      partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//..\nreset QoS deadline timer;
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_ERROR"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.uml
new file mode 100644
index 0000000..b93e0ee
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.uml
@@ -0,0 +1,133 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberFetchLatestMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_hrtsubscriber_t* --
+  The HRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  partition "find latest message" {
+    :access ""lastMessage"";
+    while (Timestamp of next message is younger?) is (yes)
+      fork
+        :proceed to next message;
+        fork
+          :decrement message's counter of HRT consumers;
+        fork again
+          #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement message's counter of consumers;
+        fork again
+          #EEEEEE:..//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//..\nreset QoS deadline timer;
+        endfork
+      fork again
+        #EEEEEE:..//URT_CFG:PUBSUB_PROFILING == true//..\nincrement counter of received messages;
+      endfork
+      if (HRT counter of a message became 0?) then (yes)
+        :signal topic's condition variable;
+      else (no)
+      endif
+    endwhile (no)
+  }
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    :calculate message latency;
+    fork
+      #EEEEEE:..//URT:CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  endif
+  partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+    if (Latency is within allowed jitter range?) then (yes)
+      if (Latency is lower than ""minlatency""?) then (yes)
+        #EEEEEE:update ""minLatency"" value;
+      elseif (Latency is greater than ""maxLatency"" value?) then (yes)
+        #EEEEEE:update ""maxLatency"" value;
+      else (no)
+      endif
+    else (no)
+      partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true//" #EEEEEE {
+        #EEEEEE:unlock topic;
+        #EEEEEE:call ""urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)"";
+        stop
+        note
+          Returns ""URT_STATUS_JITTERVIOLATION"".
+        endnote
+      }
+    endif
+  }
+  fork
+    $fetch_message()
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//..\nreset QoS deadline timer;
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_ERROR"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchNextMessage.svg
new file mode 100644
index 0000000..3634360
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchNextMessage.svg
@@ -0,0 +1,134 @@
+<?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="1530px" preserveAspectRatio="none" style="width:1961px;height:1530px;" version="1.1" viewBox="0 0 1961 1530" width="1961px" zoomAndPan="magnify"><defs><filter height="300%" id="f1r23ceqqutp94" 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="935.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="328" x="815.75" y="47.6611">urtHrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="982.75" y="68.6143"/><path d="M1028.375,72.8594 L1028.375,334.9844 L1717.375,334.9844 L1717.375,82.8594 L1707.375,72.8594 L1028.375,72.8594 " fill="#FBFB77" filter="url(#f1r23ceqqutp94)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1707.375,72.8594 L1707.375,82.8594 L1717.375,82.8594 L1707.375,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.375" x2="1259.875" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1263.875" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1263.875" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1345.875" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1485.875" x2="1717.375" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="1034.375" y="105.0591">The HRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1034.375" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1114.375" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1146.375" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.375" x2="1316.875" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1320.875" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1320.875" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1383.875" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1428.875" x2="1717.375" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1034.375" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1034.375" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1084.375" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1120.375" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.375" x2="1323.875" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1327.875" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1327.875" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1372.875" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1421.875" x2="1717.375" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1034.375" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.375" x2="1297.375" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1301.375" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1301.375" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1358.375" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1448.375" x2="1717.375" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1034.375" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1034.375" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1084.375" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1116.375" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.375" x2="1717.375" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.375" x2="1717.375" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028.375" x2="1301.875" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1305.875" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1305.875" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1354.875" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1443.875" x2="1717.375" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1034.375" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1087.375" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1195.375" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1034.375" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1087.375" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1283.375" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1034.375" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1087.375" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="1299.375" y="311.7856">if there is no new message to fetch.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1034.375" y="326.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1087.375" y="326.9185">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="403" x="1299.375" y="326.9185">if the message's latency violated the maximum expected jitter.</text><ellipse cx="1372.875" cy="364.9844" fill="#000000" filter="url(#f1r23ceqqutp94)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="1310.375,394.9844,1435.375,394.9844,1447.375,406.9844,1435.375,418.9844,1310.375,418.9844,1298.375,406.9844,1310.375,394.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1310.375" y="410.7925">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1278.375" y="404.3901">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1447.375" y="404.3901">no</text><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="770.25" y="428.9844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="780.25" y="450.123">lock topic</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="734.25,482.9531,886.25,482.9531,898.25,494.9531,886.25,506.9531,734.25,506.9531,722.25,494.9531,734.25,482.9531" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="152" x="734.25" y="498.7612">Next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="702.25" y="492.3589">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="898.25" y="492.3589">no</text><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="506" y="516.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="516" y="538.0918">proceed to next message</text><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="976" y="516.9531"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="986" y="538.0918">unlock topic</text><path d="M707,569.3555 L707,594.4883 A0,0 0 0 0 707,594.4883 L993,594.4883 A0,0 0 0 0 993,594.4883 L993,587.3555 L1013,581.9219 L993,579.3555 L993,579.3555 L983,569.3555 L707,569.3555 A0,0 0 0 0 707,569.3555 " fill="#FBFB77" filter="url(#f1r23ceqqutp94)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M983,569.3555 L983,579.3555 L993,579.3555 L983,569.3555 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="713" y="586.4224">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="766" y="586.4224">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="974" y="586.4224">.</text><ellipse cx="1024" cy="581.9219" fill="#FFFFFF" filter="url(#f1r23ceqqutp94)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1024" cy="581.9219" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1604.5" x="10" y="614.4883"/><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="218" y="640.4883"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="228" y="661.627">calculate message latency</text><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="22" y="709.457"/><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="34" y="776.875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="34" x2="44" y1="793.8594" y2="793.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="44" y="797.5137">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="276" x2="286" y1="793.8594" y2="793.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="44" y="811.9824">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="121" y="811.9824">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="209" y="811.9824">value</text><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="380.5" y="783.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="390.5" y="804.998">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="414.5" y="804.998">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="467.5" y="804.998">value</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="326,735.457,565,735.457,577,747.457,565,759.457,326,759.457,314,747.457,326,735.457" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="449.5" y="769.6675">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="326" y="751.2651">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="377" y="751.2651">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="430" y="751.2651">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="577" y="744.8628">no</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="445.5,842.2305,457.5,854.2305,445.5,866.2305,433.5,854.2305,445.5,842.2305" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="22" y="886.2305"/><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="240" x="631" y="666.4883"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="641" y="687.627">decrement message's HRT counter</text><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="642.5" y="783.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="652.5" y="804.998">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="683.5,735.457,818.5,735.457,830.5,747.457,818.5,759.457,683.5,759.457,671.5,747.457,683.5,735.457" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="755" y="769.6675">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="683.5" y="751.2651">HRT counter became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="830.5" y="744.8628">yes</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="751,842.2305,763,854.2305,751,866.2305,739,854.2305,751,842.2305" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="691" x="909.5" y="695.2266"/><path d="M1190.5,696.2266 L1190.5,704.5234 L1180.5,714.5234 L909.5,714.5234 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="912.5" y="709.2217">URT_CFG_PUBSUB_PROFILING == true</text><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="919.5" y="731.5234"/><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="933.5" y="757.5234"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="318" x="943.5" y="778.6621">decrement counter of consumers left (@message)</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="1299.5" y="757.5234"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="1309.5" y="778.6621">increment counter of received messages</text><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="919.5" y="811.4922"/><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1604.5" x="10" y="912.2305"/><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="277.0977" style="stroke: #000000; stroke-width: 2.0;" width="1104.5" x="218.5" y="929.0322"/><path d="M854.5,930.0322 L854.5,938.3291 L844.5,948.3291 L218.5,948.3291 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="626" x="221.5" y="943.0273">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="703.25,965.3291,917.25,965.3291,929.25,977.3291,917.25,989.3291,703.25,989.3291,691.25,977.3291,703.25,965.3291" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="703.25" y="981.1372">Latency is within allowed jitter range?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="671.25" y="974.7349">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="929.25" y="974.7349">no</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="250.5,1024.3291,451.5,1024.3291,463.5,1036.3291,451.5,1048.3291,250.5,1048.3291,238.5,1036.3291,250.5,1024.3291" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="355" y="1058.5396">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="250.5" y="1040.1372">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="375.5" y="1040.1372">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="445.5" y="1040.1372">?</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="263" y="1081.1338"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="273" y="1102.2725">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="322" y="1102.2725">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="396" y="1102.2725">value</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="495.5,1024.3291,707.5,1024.3291,719.5,1036.3291,707.5,1048.3291,495.5,1048.3291,483.5,1036.3291,495.5,1024.3291" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="605.5" y="1058.5396">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="495.5" y="1040.1372">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="631.5" y="1040.1372">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="701.5" y="1040.1372">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="719.5" y="1033.7349">no</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="513.5" y="1081.1338"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="523.5" y="1102.2725">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="572.5" y="1102.2725">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="646.5" y="1102.2725">value</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="194.8008" style="stroke: #000000; stroke-width: 2.0;" width="513.5" x="789.5" y="999.3291"/><path d="M1136.5,1000.3291 L1136.5,1008.626 L1126.5,1018.626 L789.5,1018.626 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="337" x="792.5" y="1013.3242">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1068.5" y="1035.626"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1078.5" y="1056.7646">unlock topic</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="353" x="940" y="1104.5947"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="950" y="1125.7334">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="308" x="975" y="1125.7334">urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)</text><path d="M799.5,1156.9971 L799.5,1182.1299 A0,0 0 0 0 799.5,1182.1299 L1085.5,1182.1299 A0,0 0 0 0 1085.5,1182.1299 L1085.5,1174.9971 L1105.5,1169.5635 L1085.5,1166.9971 L1085.5,1166.9971 L1075.5,1156.9971 L799.5,1156.9971 A0,0 0 0 0 799.5,1156.9971 " fill="#FBFB77" filter="url(#f1r23ceqqutp94)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1075.5,1156.9971 L1075.5,1166.9971 L1085.5,1166.9971 L1075.5,1156.9971 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="805.5" y="1174.064">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="858.5" y="1174.064">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1066.5" y="1174.064">.</text><ellipse cx="1116.5" cy="1169.5635" fill="#FFFFFF" filter="url(#f1r23ceqqutp94)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1116.5" cy="1169.5635" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1237.5" x="191.5" y="1226.1299"/><rect fill="#FFFFFF" filter="url(#f1r23ceqqutp94)" height="140.2656" style="stroke: #000000; stroke-width: 2.0;" width="622" x="205.5" y="1248.9316"/><path d="M318.5,1249.9316 L318.5,1258.2285 L308.5,1268.2285 L205.5,1268.2285 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="208.5" y="1262.9268">fetch message</text><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="215.5" y="1285.2285"/><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="229.5" y="1311.2285"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="239.5" y="1332.3672">update message pointer</text><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="432.5" y="1311.2285"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="442.5" y="1332.3672">copy message origin time</text><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="640.5" y="1311.2285"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="650.5" y="1332.3672">copy message payload</text><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="215.5" y="1365.1973"/><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="152.2656" style="stroke: #000000; stroke-width: 2.0;" width="559.5" x="855.5" y="1242.9316"/><path d="M1230.5,1243.9316 L1230.5,1252.2285 L1220.5,1262.2285 L855.5,1262.2285 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="365" x="858.5" y="1256.9268">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="1051,1279.2285,1285,1279.2285,1297,1291.2285,1285,1303.2285,1051,1303.2285,1039,1291.2285,1051,1279.2285" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="1051" y="1295.0366">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1019" y="1288.6343">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1297" y="1288.6343">no</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="307" x="875.5" y="1313.2285"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="287" x="885.5" y="1334.3672">update QoS deadline timer wrt. next message</text><rect fill="#EEEEEE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1219" y="1313.2285"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="1229" y="1334.3672">reset QoS deadline timer</text><polygon fill="#FEFECE" filter="url(#f1r23ceqqutp94)" points="1168,1353.1973,1180,1365.1973,1168,1377.1973,1156,1365.1973,1168,1353.1973" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1r23ceqqutp94)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1237.5" x="191.5" y="1415.1973"/><rect fill="#FEFECE" filter="url(#f1r23ceqqutp94)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="762.25" y="1441.1973"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="772.25" y="1462.3359">unlock topic</text><path d="M597.25,1493.5996 L597.25,1518.7324 A0,0 0 0 0 597.25,1518.7324 L779.25,1518.7324 A0,0 0 0 0 779.25,1518.7324 L779.25,1511.5996 L799.25,1506.166 L779.25,1503.5996 L779.25,1503.5996 L769.25,1493.5996 L597.25,1493.5996 A0,0 0 0 0 597.25,1493.5996 " fill="#FBFB77" filter="url(#f1r23ceqqutp94)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M769.25,1493.5996 L769.25,1503.5996 L779.25,1503.5996 L769.25,1493.5996 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="603.25" y="1510.6665">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="656.25" y="1510.6665">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="760.25" y="1510.6665">.</text><ellipse cx="810.25" cy="1506.166" fill="#FFFFFF" filter="url(#f1r23ceqqutp94)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="810.25" cy="1506.166" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1634.5,428.9844 L1634.5,454.1172 A0,0 0 0 0 1634.5,454.1172 L1904.5,454.1172 A0,0 0 0 0 1904.5,454.1172 L1904.5,446.9844 L1924.5,441.5508 L1904.5,438.9844 L1904.5,438.9844 L1894.5,428.9844 L1634.5,428.9844 A0,0 0 0 0 1634.5,428.9844 " fill="#FBFB77" filter="url(#f1r23ceqqutp94)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1894.5,428.9844 L1894.5,438.9844 L1904.5,438.9844 L1894.5,428.9844 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1640.5" y="446.0513">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1693.5" y="446.0513">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1885.5" y="446.0513">.</text><ellipse cx="1935.5" cy="441.5508" fill="#FFFFFF" filter="url(#f1r23ceqqutp94)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1935.5" cy="441.5508" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1372.875" x2="1372.875" y1="334.9844" y2="354.9844"/><polygon fill="#A80036" points="1368.875,344.9844,1372.875,354.9844,1376.875,344.9844,1372.875,348.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1024" x2="1024" y1="550.9219" y2="570.9219"/><polygon fill="#A80036" points="1020,560.9219,1024,570.9219,1028,560.9219,1024,564.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="722.25" x2="596.5" y1="494.9531" y2="494.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="596.5" x2="596.5" y1="494.9531" y2="516.9531"/><polygon fill="#A80036" points="592.5,506.9531,596.5,516.9531,600.5,506.9531,596.5,510.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="898.25" x2="1024" y1="494.9531" y2="494.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1024" x2="1024" y1="494.9531" y2="516.9531"/><polygon fill="#A80036" points="1020,506.9531,1024,516.9531,1028,506.9531,1024,510.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="596.5" x2="596.5" y1="550.9219" y2="599.4883"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="596.5" x2="810.25" y1="599.4883" y2="599.4883"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="810.25" x2="810.25" y1="599.4883" y2="614.4883"/><polygon fill="#A80036" points="806.25,604.4883,810.25,614.4883,814.25,604.4883,810.25,608.4883" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="810.25" x2="810.25" y1="462.9531" y2="482.9531"/><polygon fill="#A80036" points="806.25,472.9531,810.25,482.9531,814.25,472.9531,810.25,476.9531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="445.5" x2="445.5" y1="759.457" y2="783.8594"/><polygon fill="#A80036" points="441.5,773.8594,445.5,783.8594,449.5,773.8594,445.5,777.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577" x2="589" y1="747.457" y2="747.457"/><polygon fill="#A80036" points="585,790.8438,589,800.8438,593,790.8438,589,794.8438" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="589" x2="589" y1="747.457" y2="854.2305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="589" x2="457.5" y1="854.2305" y2="854.2305"/><polygon fill="#A80036" points="467.5,850.2305,457.5,854.2305,467.5,858.2305,463.5,854.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="445.5" x2="445.5" y1="817.8281" y2="842.2305"/><polygon fill="#A80036" points="441.5,832.2305,445.5,842.2305,449.5,832.2305,445.5,836.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="160" x2="160" y1="715.457" y2="776.875"/><polygon fill="#A80036" points="156,766.875,160,776.875,164,766.875,160,770.875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="445.5" x2="445.5" y1="715.457" y2="735.457"/><polygon fill="#A80036" points="441.5,725.457,445.5,735.457,449.5,725.457,445.5,729.457" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="160" x2="160" y1="824.8125" y2="886.2305"/><polygon fill="#A80036" points="156,876.2305,160,886.2305,164,876.2305,160,880.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="445.5" x2="445.5" y1="866.2305" y2="886.2305"/><polygon fill="#A80036" points="441.5,876.2305,445.5,886.2305,449.5,876.2305,445.5,880.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="311.5" x2="311.5" y1="674.457" y2="709.457"/><polygon fill="#A80036" points="307.5,699.457,311.5,709.457,315.5,699.457,311.5,703.457" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="751" x2="751" y1="759.457" y2="783.8594"/><polygon fill="#A80036" points="747,773.8594,751,783.8594,755,773.8594,751,777.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.5" x2="869.5" y1="747.457" y2="747.457"/><polygon fill="#A80036" points="865.5,790.8438,869.5,800.8438,873.5,790.8438,869.5,794.8438" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="869.5" x2="869.5" y1="747.457" y2="854.2305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="869.5" x2="763" y1="854.2305" y2="854.2305"/><polygon fill="#A80036" points="773,850.2305,763,854.2305,773,858.2305,769,854.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="751" x2="751" y1="817.8281" y2="842.2305"/><polygon fill="#A80036" points="747,832.2305,751,842.2305,755,832.2305,751,836.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="751" x2="751" y1="700.457" y2="735.457"/><polygon fill="#A80036" points="747,725.457,751,735.457,755,725.457,751,729.457" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1102.5" x2="1102.5" y1="737.5234" y2="757.5234"/><polygon fill="#A80036" points="1098.5,747.5234,1102.5,757.5234,1106.5,747.5234,1102.5,751.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1438" x2="1438" y1="737.5234" y2="757.5234"/><polygon fill="#A80036" points="1434,747.5234,1438,757.5234,1442,747.5234,1438,751.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1102.5" x2="1102.5" y1="791.4922" y2="811.4922"/><polygon fill="#A80036" points="1098.5,801.4922,1102.5,811.4922,1106.5,801.4922,1102.5,805.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1438" x2="1438" y1="791.4922" y2="811.4922"/><polygon fill="#A80036" points="1434,801.4922,1438,811.4922,1442,801.4922,1438,805.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="311.5" x2="311.5" y1="620.4883" y2="640.4883"/><polygon fill="#A80036" points="307.5,630.4883,311.5,640.4883,315.5,630.4883,311.5,634.4883" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="751" x2="751" y1="620.4883" y2="666.4883"/><polygon fill="#A80036" points="747,656.4883,751,666.4883,755,656.4883,751,660.4883" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="620.4883" y2="731.5234"/><polygon fill="#A80036" points="1251,721.5234,1255,731.5234,1259,721.5234,1255,725.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="311.5" x2="311.5" y1="892.2305" y2="912.2305"/><polygon fill="#A80036" points="307.5,902.2305,311.5,912.2305,315.5,902.2305,311.5,906.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="751" x2="751" y1="866.2305" y2="912.2305"/><polygon fill="#A80036" points="747,902.2305,751,912.2305,755,902.2305,751,906.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="817.4922" y2="912.2305"/><polygon fill="#A80036" points="1251,902.2305,1255,912.2305,1259,902.2305,1255,906.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="351" y1="1048.3291" y2="1081.1338"/><polygon fill="#A80036" points="347,1071.1338,351,1081.1338,355,1071.1338,351,1075.1338" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="351" y1="1115.1025" y2="1173.5361"/><polygon fill="#A80036" points="347,1163.5361,351,1173.5361,355,1163.5361,351,1167.5361" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="601.5" x2="601.5" y1="1048.3291" y2="1081.1338"/><polygon fill="#A80036" points="597.5,1071.1338,601.5,1081.1338,605.5,1071.1338,601.5,1075.1338" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="601.5" x2="601.5" y1="1115.1025" y2="1173.5361"/><polygon fill="#A80036" points="597.5,1163.5361,601.5,1173.5361,605.5,1163.5361,601.5,1167.5361" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="463.5" x2="483.5" y1="1036.3291" y2="1036.3291"/><polygon fill="#A80036" points="473.5,1032.3291,483.5,1036.3291,473.5,1040.3291,477.5,1036.3291" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="691.25" x2="351" y1="977.3291" y2="977.3291"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="351" y1="977.3291" y2="1024.3291"/><polygon fill="#A80036" points="347,1014.3291,351,1024.3291,355,1014.3291,351,1018.3291" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="719.5" x2="754.5" y1="1036.3291" y2="1036.3291"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754.5" x2="754.5" y1="1036.3291" y2="1173.5361"/><polygon fill="#A80036" points="750.5,1163.5361,754.5,1173.5361,758.5,1163.5361,754.5,1167.5361" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="754.5" y1="1173.5361" y2="1173.5361"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1116.5" x2="1116.5" y1="1069.5947" y2="1104.5947"/><polygon fill="#A80036" points="1112.5,1094.5947,1116.5,1104.5947,1120.5,1094.5947,1116.5,1098.5947" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1116.5" x2="1116.5" y1="1138.5635" y2="1158.5635"/><polygon fill="#A80036" points="1112.5,1148.5635,1116.5,1158.5635,1120.5,1148.5635,1116.5,1152.5635" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.25" x2="1116.5" y1="977.3291" y2="977.3291"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1116.5" x2="1116.5" y1="977.3291" y2="1035.626"/><polygon fill="#A80036" points="1112.5,1025.626,1116.5,1035.626,1120.5,1025.626,1116.5,1029.626" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="504" x2="504" y1="1173.5361" y2="1199.1299"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="504" x2="810.25" y1="1199.1299" y2="1199.1299"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="810.25" x2="810.25" y1="1199.1299" y2="1226.1299"/><polygon fill="#A80036" points="806.25,1216.1299,810.25,1226.1299,814.25,1216.1299,810.25,1220.1299" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="810.25" x2="810.25" y1="918.2305" y2="965.3291"/><polygon fill="#A80036" points="806.25,955.3291,810.25,965.3291,814.25,955.3291,810.25,959.3291" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="1291.2285" y2="1311.2285"/><polygon fill="#A80036" points="313,1301.2285,317,1311.2285,321,1301.2285,317,1305.2285" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="522.5" x2="522.5" y1="1291.2285" y2="1311.2285"/><polygon fill="#A80036" points="518.5,1301.2285,522.5,1311.2285,526.5,1301.2285,522.5,1305.2285" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="722" x2="722" y1="1291.2285" y2="1311.2285"/><polygon fill="#A80036" points="718,1301.2285,722,1311.2285,726,1301.2285,722,1305.2285" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="1345.1973" y2="1365.1973"/><polygon fill="#A80036" points="313,1355.1973,317,1365.1973,321,1355.1973,317,1359.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="522.5" x2="522.5" y1="1345.1973" y2="1365.1973"/><polygon fill="#A80036" points="518.5,1355.1973,522.5,1365.1973,526.5,1355.1973,522.5,1359.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="722" x2="722" y1="1345.1973" y2="1365.1973"/><polygon fill="#A80036" points="718,1355.1973,722,1365.1973,726,1355.1973,722,1359.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1039" x2="1029" y1="1291.2285" y2="1291.2285"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1029" x2="1029" y1="1291.2285" y2="1313.2285"/><polygon fill="#A80036" points="1025,1303.2285,1029,1313.2285,1033,1303.2285,1029,1307.2285" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1297" x2="1307" y1="1291.2285" y2="1291.2285"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1307" x2="1307" y1="1291.2285" y2="1313.2285"/><polygon fill="#A80036" points="1303,1303.2285,1307,1313.2285,1311,1303.2285,1307,1307.2285" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1029" x2="1029" y1="1347.1973" y2="1365.1973"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1029" x2="1156" y1="1365.1973" y2="1365.1973"/><polygon fill="#A80036" points="1146,1361.1973,1156,1365.1973,1146,1369.1973,1150,1365.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1307" x2="1307" y1="1347.1973" y2="1365.1973"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1307" x2="1180" y1="1365.1973" y2="1365.1973"/><polygon fill="#A80036" points="1190,1361.1973,1180,1365.1973,1190,1369.1973,1186,1365.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="516.5" x2="516.5" y1="1232.1299" y2="1285.2285"/><polygon fill="#A80036" points="512.5,1275.2285,516.5,1285.2285,520.5,1275.2285,516.5,1279.2285" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1168" x2="1168" y1="1232.1299" y2="1279.2285"/><polygon fill="#A80036" points="1164,1269.2285,1168,1279.2285,1172,1269.2285,1168,1273.2285" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="516.5" x2="516.5" y1="1371.1973" y2="1415.1973"/><polygon fill="#A80036" points="512.5,1405.1973,516.5,1415.1973,520.5,1405.1973,516.5,1409.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1168" x2="1168" y1="1377.1973" y2="1415.1973"/><polygon fill="#A80036" points="1164,1405.1973,1168,1415.1973,1172,1405.1973,1168,1409.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="810.25" x2="810.25" y1="1421.1973" y2="1441.1973"/><polygon fill="#A80036" points="806.25,1431.1973,810.25,1441.1973,814.25,1431.1973,810.25,1435.1973" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="810.25" x2="810.25" y1="1475.166" y2="1495.166"/><polygon fill="#A80036" points="806.25,1485.166,810.25,1495.166,814.25,1485.166,810.25,1489.166" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1298.375" x2="810.25" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="810.25" x2="810.25" y1="406.9844" y2="428.9844"/><polygon fill="#A80036" points="806.25,418.9844,810.25,428.9844,814.25,418.9844,810.25,422.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1447.375" x2="1935.5" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1935.5" x2="1935.5" y1="406.9844" y2="430.5508"/><polygon fill="#A80036" points="1931.5,420.5508,1935.5,430.5508,1939.5,420.5508,1935.5,424.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1372.875" x2="1372.875" y1="374.9844" y2="394.9844"/><polygon fill="#A80036" points="1368.875,384.9844,1372.875,394.9844,1376.875,384.9844,1372.875,388.9844" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[184318e914d90ce6ee8993539fc9c408]
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberFetchNextMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_hrtsubscriber_t* - -
+  The HRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Next message is younger?) then (yes)
+    :proceed to next message;
+  else (no)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  endif
+  fork
+    :calculate message latency;
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    :decrement message's HRT counter;
+    if (HRT counter became 0?) then (yes)
+    else (no)
+      :signal topic's condition variable;
+    endif
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+    if (Latency is within allowed jitter range?) then (yes)
+      if (Latency is lower than ""minLatency""?) then (yes)
+        #EEEEEE:update ""minLatency"" value;
+      elseif (Latency is greater than ""maxLatency""?) then (yes)
+        #EEEEEE:update ""maxLatency"" value;
+      else (no)
+      endif
+    else (no)
+      partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true//" #EEEEEE {
+        #EEEEEE:unlock topic;
+        #EEEEEE:call ""urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)"";
+        stop
+        note
+          Returns ""URT_STATUS_JITTERVIOLATION"".
+        endnote
+      }
+    endif
+  }
+  fork
+      partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+  fork again
+    partition "//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//" #EEEEEE {
+      if (Timestamp of next message is younger?) then (yes)
+        #EEEEEE:update QoS deadline timer wrt. next message;
+      else (no)
+        #EEEEEE:reset QoS deadline timer;
+      endif
+    }
+  endfork
+
+
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchNextMessage.uml
new file mode 100644
index 0000000..9e9d327
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchNextMessage.uml
@@ -0,0 +1,191 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberFetchNextMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_hrtsubscriber_t* --
+  The HRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Next message is younger?) then (yes)
+    :proceed to next message;
+  else (no)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  endif
+  fork
+    :calculate message latency;
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    :decrement message's HRT counter;
+    if (HRT counter became 0?) then (yes)
+    else (no)
+      :signal topic's condition variable;
+    endif
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+    if (Latency is within allowed jitter range?) then (yes)
+      if (Latency is lower than ""minLatency""?) then (yes)
+        #EEEEEE:update ""minLatency"" value;
+      elseif (Latency is greater than ""maxLatency""?) then (yes)
+        #EEEEEE:update ""maxLatency"" value;
+      else (no)
+      endif
+    else (no)
+      partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true//" #EEEEEE {
+        #EEEEEE:unlock topic;
+        #EEEEEE:call ""urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)"";
+        stop
+        note
+          Returns ""URT_STATUS_JITTERVIOLATION"".
+        endnote
+      }
+    endif
+  }
+  fork
+    $fetch_message()
+  fork again
+    partition "//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//" #EEEEEE {
+      if (Timestamp of next message is younger?) then (yes)
+        #EEEEEE:update QoS deadline timer wrt. next message;
+      else (no)
+        #EEEEEE:reset QoS deadline timer;
+      endif
+    }
+  endfork
+
+/'
+  fork
+    $fetch_message()
+  fork again
+    :calculate message latency;
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+    partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      if (Latency is within allowed jitter range?) then (yes)
+        if (Latency is lower than ""minLatency""?) then (yes)
+          #EEEEEE:update ""minLatency"" value;
+        elseif (Latency is greater than ""maxLatency""?) then (yes)
+          #EEEEEE:update ""maxLatency"" value;
+        else (no)
+        endif
+      else (no)
+        :unlock topic;
+        :call ""urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)"";
+        stop
+        note
+          Returns ""URT_STATUS_JITTERVIOLATION"".
+        endnote
+      endif
+    }
+  fork again
+    :decrement message's HRT counter;
+    if (HRT counter became 0?) then (yes)
+    else (no)
+      :signal topic's condition variable;
+    endif
+  fork again
+    partition "//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//" #EEEEEE {
+      if (Timestamp of next message is younger?) then (yes)
+        #EEEEEE:update QoS deadline timer wrt. next message;
+      else (no)
+        #EEEEEE:reset QoS deadline timer;
+      endif
+    }
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+'/
+
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberInit.svg
new file mode 100644
index 0000000..24e0731
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberInit.svg
@@ -0,0 +1,54 @@
+<?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="569px" preserveAspectRatio="none" style="width:856px;height:569px;" version="1.1" viewBox="0 0 856 569" width="856px" zoomAndPan="magnify"><defs><filter height="300%" id="fp1i2o36tl4eh" 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="382.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="191" x="331.5" y="47.6611">urtHrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="430" y="68.6143"/><path d="M551,72.8594 L551,153.3906 L844,153.3906 L844,82.8594 L834,72.8594 L551,72.8594 " fill="#FBFB77" filter="url(#fp1i2o36tl4eh)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M834,72.8594 L834,82.8594 L844,82.8594 L834,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551" x2="561.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="565.5" y="89.4263"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="565.5" y="89.4263">subscriber</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="653.5" y="89.4263">: urt_hrtsubscriber_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="833.5" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="833.5" x2="844" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="198" x="557" y="105.0591">The HRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="557" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="637" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="669" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="551" x2="844" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551" x2="844" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551" x2="652" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="656" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="656" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="705" y="144.8247">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="743" x2="844" y1="140.8242" y2="140.8242"/><ellipse cx="697.5" cy="183.3906" fill="#000000" filter="url(#fp1i2o36tl4eh)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,203.3906 L10,516.0469 A0,0 0 0 0 10,516.0469 L612,516.0469 A0,0 0 0 0 612,516.0469 L612,363.7188 L632,359.7188 L612,355.7188 L612,213.3906 L602,203.3906 L10,203.3906 A0,0 0 0 0 10,203.3906 " fill="#FBFB77" filter="url(#fp1i2o36tl4eh)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M602,203.3906 L602,213.3906 L612,213.3906 L602,203.3906 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="240" y1="215.957" y2="215.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="244" y="219.9575">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="382" x2="612" y1="215.957" y2="215.957"/><ellipse cx="21.5" cy="231.1563" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="27" y="235.5903">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="68" y="235.5903">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="83" y="235.5903">NULL</text><ellipse cx="21.5" cy="246.2891" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="27" y="250.7231">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="156" y="250.7231">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="238" y="250.7231">)</text><ellipse cx="21.5" cy="261.4219" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="265.856">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="124" y="265.856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="139" y="265.856">NULL</text><ellipse cx="21.5" cy="276.5547" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="280.9888">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="159" y="280.9888">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="182.5" y1="291.6211" y2="291.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="186.5" y="295.6216">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="439.5" x2="612" y1="291.6211" y2="291.6211"/><ellipse cx="21.5" cy="306.8203" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="27" y="311.2544">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="132" y="311.2544">← 0</text><ellipse cx="21.5" cy="321.9531" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="27" y="326.3872">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="204" y="326.3872">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="246.5" y1="337.0195" y2="337.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="250.5" y="341.02">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="612" y1="337.0195" y2="337.0195"/><ellipse cx="21.5" cy="352.2188" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="27" y="356.6528">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="63" y="356.6528">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="78" y="356.6528">NULL</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="138.5" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="142.5" y="371.2856">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="483.5" x2="612" y1="367.2852" y2="367.2852"/><ellipse cx="21.5" cy="382.4844" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="27" y="386.9185">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="141" y="386.9185">← 0</text><ellipse cx="21.5" cy="397.6172" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="27" y="402.0513">urtTimerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="133" x="105" y="402.0513">qosDeadlineTimer</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="238" y="402.0513">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="159.5" y1="412.6836" y2="412.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="295" x="163.5" y="416.6841">URT_CFG_PUBSUB_QOS_RATECHECK == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="462.5" x2="612" y1="412.6836" y2="412.6836"/><ellipse cx="21.5" cy="427.8828" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="27" y="432.3169">expectedRate</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="134" y="432.3169">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="157.5" y1="442.9492" y2="442.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="161.5" y="446.9497">URT_CFG_PUBSUB_QOS_JITTERCHECK == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="464.5" x2="612" y1="442.9492" y2="442.9492"/><ellipse cx="21.5" cy="458.1484" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="27" y="462.5825">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="97" y="462.5825">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="473.2148" y2="473.2148"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="24.5" y="477.2153">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="601.5" x2="612" y1="473.2148" y2="473.2148"/><ellipse cx="21.5" cy="488.4141" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="27" y="492.8481">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="115" y="492.8481">← 0xF..F</text><ellipse cx="21.5" cy="503.5469" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="27" y="507.981">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="119" y="507.981">← 0</text><rect fill="#FEFECE" filter="url(#fp1i2o36tl4eh)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="632" y="342.7344"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="642" y="363.873">initialize members</text><ellipse cx="697.5" cy="547.0469" fill="#FFFFFF" filter="url(#fp1i2o36tl4eh)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="697.5" cy="547.0469" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="693.5,163.3906,697.5,173.3906,701.5,163.3906,697.5,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="193.3906" y2="342.7344"/><polygon fill="#A80036" points="693.5,332.7344,697.5,342.7344,701.5,332.7344,697.5,336.7344" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="376.7031" y2="536.0469"/><polygon fill="#A80036" points="693.5,526.0469,697.5,536.0469,701.5,526.0469,697.5,530.0469" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7b6e5bb3ce065e6556a14577cd0b214a]
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberInit()\n
+
+
+note
+  - - ""**subscriber** : urt_hrtsubscriber_t*"" - -
+  The HRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  - - **return** : void - -
+endnote
+
+
+start
+:initialize members;
+note
+  - - urt_basesubscriber_t - -
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  - - urt_hrtsubscriber_t - -
+  * **next** ← ""NULL""
+  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+  * **deadlineOffset** ← 0
+  * urtTimerInit(**qosDeadlineTimer**)
+  .. URT_CFG_PUBSUB_QOS_RATECHECK == true ..
+  * **expectedRate** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
+  * **maxJitter** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberInit.uml
new file mode 100644
index 0000000..ad16fed
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberInit.uml
@@ -0,0 +1,68 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberInit()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- ""**subscriber** : urt_hrtsubscriber_t*"" --
+  The HRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  -- **return** : void --
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+:initialize members;
+note
+  -- urt_basesubscriber_t --
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  -- urt_hrtsubscriber_t --
+  * **next** ← ""NULL""
+  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+  * **deadlineOffset** ← 0
+  * urtTimerInit(**qosDeadlineTimer**)
+  .. URT_CFG_PUBSUB_QOS_RATECHECK == true ..
+  * **expectedRate** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
+  * **maxJitter** ← 0
+  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberSubscribe.svg
new file mode 100644
index 0000000..7d68202
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberSubscribe.svg
@@ -0,0 +1,124 @@
+<?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="1457px" preserveAspectRatio="none" style="width:3820px;height:1457px;" version="1.1" viewBox="0 0 3820 1457" width="3820px" zoomAndPan="magnify"><defs><filter height="300%" id="foup6micmf7s7" 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="1864.625" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="247" x="1785.625" y="47.6611">urtHrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1912.125" y="68.6143"/><path d="M874.25,72.8594 L874.25,440.9141 L1574.25,440.9141 L1574.25,82.8594 L1564.25,72.8594 L874.25,72.8594 " fill="#FBFB77" filter="url(#foup6micmf7s7)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1564.25,72.8594 L1564.25,82.8594 L1574.25,82.8594 L1564.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1111.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1115.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1115.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1197.25" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1337.25" x2="1574.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="327" x="880.25" y="105.0591">The HRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="880.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="960.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="992.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1158.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1162.25" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="1162.25" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="1203.25" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1290.25" x2="1574.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="880.25" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="880.25" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="960.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="992.25" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1125.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1129.25" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="1129.25" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="1208.25" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1323.25" x2="1574.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="880.25" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="916.25" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="880.25" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="880.25" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="880.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="930.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="966.25" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1146.75" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1150.75" y="255.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="1150.75" y="255.8872">deadline</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1218.75" y="255.8872">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1301.75" x2="1574.25" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="880.25" y="271.52">Maximum latency to consume messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="325" x="880.25" y="286.6528">A value of 0 indicates that latency is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1161.25" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1165.25" y="301.2856"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="35" x="1165.25" y="301.2856">jitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1204.25" y="301.2856">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1287.25" x2="1574.25" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="679" x="880.25" y="316.9185">Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="880.25" y="332.0513">A value of 0 indicates that jitter is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1163.75" y1="342.6836" y2="342.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1167.75" y="346.6841"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="1167.75" y="346.6841">rate</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1201.75" y="346.6841">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1284.75" x2="1574.25" y1="342.6836" y2="342.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="621" x="880.25" y="362.3169">Expected minimum rate of new messages (= mamximum time between consecutive messages).</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="309" x="880.25" y="377.4497">A value of 0 indicates, that rate is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1574.25" y1="385.5156" y2="385.5156"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1574.25" y1="387.5156" y2="387.5156"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="874.25" x2="1153.25" y1="398.082" y2="398.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1157.25" y="402.0825"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1157.25" y="402.0825">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1206.25" y="402.0825">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1295.25" x2="1574.25" y1="398.082" y2="398.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="880.25" y="417.7153">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="933.25" y="417.7153">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1041.25" y="417.7153">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="880.25" y="432.8481">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="933.25" y="432.8481">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="1169.25" y="432.8481">if the subscriber is already associated to a topic.</text><ellipse cx="1224.25" cy="470.9141" fill="#000000" filter="url(#foup6micmf7s7)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#foup6micmf7s7)" points="1166.75,500.9141,1281.75,500.9141,1293.75,512.9141,1281.75,524.9141,1166.75,524.9141,1154.75,512.9141,1166.75,500.9141" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="1166.75" y="516.7222">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1134.75" y="510.3198">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1293.75" y="510.3198">no</text><path d="M10,534.9141 L10,560.0469 A0,0 0 0 0 10,560.0469 L320,560.0469 A0,0 0 0 0 320,560.0469 L320,552.9141 L340,547.4805 L320,544.9141 L320,544.9141 L310,534.9141 L10,534.9141 A0,0 0 0 0 10,534.9141 " fill="#FBFB77" filter="url(#foup6micmf7s7)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M310,534.9141 L310,544.9141 L320,544.9141 L310,534.9141 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="551.981">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="69" y="551.981">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="301" y="551.981">.</text><ellipse cx="351" cy="547.4805" fill="#FFFFFF" filter="url(#foup6micmf7s7)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="351" cy="547.4805" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="884" x="1655.75" y="534.9141"/><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1669.75" y="654.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1679.75" y="675.998">set topic</text><path d="M1772.75,560.9141 L1772.75,782.7734 A0,0 0 0 0 1772.75,782.7734 L2374.75,782.7734 A0,0 0 0 0 2374.75,782.7734 L2374.75,675.8438 L2394.75,671.8438 L2374.75,667.8438 L2374.75,570.9141 L2364.75,560.9141 L1772.75,560.9141 A0,0 0 0 0 1772.75,560.9141 " fill="#EEEEEE" filter="url(#foup6micmf7s7)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2364.75,560.9141 L2364.75,570.9141 L2374.75,570.9141 L2364.75,560.9141 " fill="#EEEEEE" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1772.75" x2="2002.75" y1="573.4805" y2="573.4805"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="2006.75" y="577.481">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2144.75" x2="2374.75" y1="573.4805" y2="573.4805"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1772.75" x2="1945.25" y1="588.6133" y2="588.6133"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="1949.25" y="592.6138">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2202.25" x2="2374.75" y1="588.6133" y2="588.6133"/><ellipse cx="1784.25" cy="603.8125" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="1789.75" y="608.2466">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1894.75" y="608.2466">← 0</text><ellipse cx="1784.25" cy="618.9453" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="1789.75" y="623.3794">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1966.75" y="623.3794">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1772.75" x2="2009.25" y1="634.0117" y2="634.0117"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="2013.25" y="638.0122">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2138.25" x2="2374.75" y1="634.0117" y2="634.0117"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1772.75" x2="1901.25" y1="649.1445" y2="649.1445"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="1905.25" y="653.145">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2246.25" x2="2374.75" y1="649.1445" y2="649.1445"/><ellipse cx="1784.25" cy="664.3438" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="1789.75" y="668.7778">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1903.75" y="668.7778">← deadline</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1772.75" x2="1915.75" y1="679.4102" y2="679.4102"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="1919.75" y="683.4106">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2231.75" x2="2374.75" y1="679.4102" y2="679.4102"/><ellipse cx="1784.25" cy="694.6094" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="1789.75" y="699.0435">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="44" x="1859.75" y="699.0435">← jitter</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1772.75" x2="1783.25" y1="709.6758" y2="709.6758"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="1787.25" y="713.6763">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="2364.25" x2="2374.75" y1="709.6758" y2="709.6758"/><ellipse cx="1784.25" cy="724.875" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="1789.75" y="729.3091">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="1877.75" y="729.3091">← 0xF..F</text><ellipse cx="1784.25" cy="740.0078" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="1789.75" y="744.4419">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1881.75" y="744.4419">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1772.75" x2="1917.75" y1="755.0742" y2="755.0742"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="304" x="1921.75" y="759.0747">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2229.75" x2="2374.75" y1="755.0742" y2="755.0742"/><ellipse cx="1784.25" cy="770.2734" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="1789.75" y="774.7075">expectedRate</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1896.75" y="774.7075">← rate</text><rect fill="#EEEEEE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="2394.75" y="654.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="2404.75" y="675.998">initialize members</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="884" x="1655.75" y="802.7734"/><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="2057.75" y="828.7734"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="2067.75" y="849.9121">lock topic</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="3437.25" x="372" y="882.7422"/><rect fill="#FFFFFF" filter="url(#foup6micmf7s7)" height="142.0586" style="stroke: #000000; stroke-width: 2.0;" width="1170" x="384" y="1043.7197"/><path d="M541,1044.7197 L541,1053.0166 L531,1063.0166 L384,1063.0166 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="387" y="1057.7148">contribute messages</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="1080.0166"/><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="619" x="408" y="1106.0166"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="418" y="1127.1553">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="442" y="1127.1553">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="543" x="474" y="1127.1553">pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="1055" y="1106.0166"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1065" y="1127.1553">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1089" y="1127.1553">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="1121" y="1127.1553">pointer of topic's latest message to first message to contribute</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="1159.9854"/><polygon fill="#FEFECE" filter="url(#foup6micmf7s7)" points="899,995.3174,1039,995.3174,1051,1007.3174,1039,1019.3174,899,1019.3174,887,1007.3174,899,995.3174" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="973" y="1029.5278">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="899" y="1011.1255">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1051" y="1004.7231">no</text><polygon fill="#FEFECE" filter="url(#foup6micmf7s7)" points="969,1210.1807,981,1222.1807,969,1234.1807,957,1222.1807,969,1210.1807" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1584.25" y="1071.8682"/><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1596.25" y="1097.8682"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1606.25" y="1119.0068">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1937.25" y="1097.8682"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1947.25" y="1119.0068">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1584.25" y="1151.8369"/><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2276.25" y="1097.8682"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2286.25" y="1119.0068">register to topic's event source</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="979" x="2521.25" y="908.7422"/><rect fill="#EEEEEE" filter="url(#foup6micmf7s7)" height="370.4102" style="stroke: #000000; stroke-width: 2.0;" width="641" x="2535.25" y="925.5439"/><path d="M2863.25,926.5439 L2863.25,934.8408 L2853.25,944.8408 L2535.25,944.8408 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="318" x="2538.25" y="939.5391">URT_CFG_PUBSUB_QOS_RATECHECKS = true</text><rect fill="#EEEEEE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="351" x="2686.5" y="961.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="331" x="2696.5" y="982.9795">access first element of topic's list of HRT subscribers</text><rect fill="#EEEEEE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="190" x="2767" y="1093.2236"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="170" x="2777" y="1114.3623">proceed to next subscriber</text><polygon fill="#FEFECE" filter="url(#foup6micmf7s7)" points="2771,1030.8096,2953,1030.8096,2965,1043.6143,2953,1056.4189,2771,1056.4189,2759,1043.6143,2771,1030.8096" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2866" y="1066.6294">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="2771" y="1041.02">Subscriber is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="2873" y="1041.02">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="39" x="2771" y="1053.8247">and its</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="2814" y="1053.8247">expectedRate</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="51" x="2902" y="1053.8247">is lower?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2745" y="1041.02">no</text><polygon fill="#FEFECE" filter="url(#foup6micmf7s7)" points="2782,1185.9854,2942,1185.9854,2954,1197.9854,2942,1209.9854,2782,1209.9854,2770,1197.9854,2782,1185.9854" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="2782" y="1201.7935">Current subscriber is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="2908" y="1201.7935">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="2936" y="1201.7935">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2750" y="1195.3911">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2954" y="1195.3911">no</text><rect fill="#EEEEEE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="299" x="2555.25" y="1219.9854"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="279" x="2565.25" y="1241.124">append self to topic's list of HRT subscribers</text><rect fill="#EEEEEE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="290" x="2874.25" y="1219.9854"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="270" x="2884.25" y="1241.124">insert self in fron of current HRT subscriber</text><polygon fill="#FEFECE" filter="url(#foup6micmf7s7)" points="2862,1259.9541,2874,1271.9541,2862,1283.9541,2850,1271.9541,2862,1259.9541" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="302" x="3186.25" y="1097.8682"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="282" x="3196.25" y="1119.0068">increment topic's counter of HRT subscribers</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="979" x="2521.25" y="1315.9541"/><rect fill="#EEEEEE" filter="url(#foup6micmf7s7)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="3510.25" y="1090.8838"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3510.25" x2="3537.75" y1="1107.8682" y2="1107.8682"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="3537.75" y="1111.5225">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3769.75" x2="3797.25" y1="1107.8682" y2="1107.8682"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="267" x="3520.25" y="1125.9912">increment counter of subscribers (@topic)</text><rect fill="#000000" filter="url(#foup6micmf7s7)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="3437.25" x="372" y="1341.9541"/><rect fill="#FEFECE" filter="url(#foup6micmf7s7)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="2049.75" y="1367.9541"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="2059.75" y="1389.0928">unlock topic</text><path d="M1884.75,1420.3564 L1884.75,1445.4893 A0,0 0 0 0 1884.75,1445.4893 L2066.75,1445.4893 A0,0 0 0 0 2066.75,1445.4893 L2066.75,1438.3564 L2086.75,1432.9229 L2066.75,1430.3564 L2066.75,1430.3564 L2056.75,1420.3564 L1884.75,1420.3564 A0,0 0 0 0 1884.75,1420.3564 " fill="#FBFB77" filter="url(#foup6micmf7s7)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2056.75,1420.3564 L2056.75,1430.3564 L2066.75,1430.3564 L2056.75,1420.3564 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1890.75" y="1437.4233">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1943.75" y="1437.4233">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2047.75" y="1437.4233">.</text><ellipse cx="2097.75" cy="1432.9229" fill="#FFFFFF" filter="url(#foup6micmf7s7)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2097.75" cy="1432.9229" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1224.25" x2="1224.25" y1="440.9141" y2="460.9141"/><polygon fill="#A80036" points="1220.25,450.9141,1224.25,460.9141,1228.25,450.9141,1224.25,454.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1707.25" x2="1707.25" y1="540.9141" y2="654.8594"/><polygon fill="#A80036" points="1703.25,644.8594,1707.25,654.8594,1711.25,644.8594,1707.25,648.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2460.25" x2="2460.25" y1="540.9141" y2="654.8594"/><polygon fill="#A80036" points="2456.25,644.8594,2460.25,654.8594,2464.25,644.8594,2460.25,648.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1707.25" x2="1707.25" y1="688.8281" y2="802.7734"/><polygon fill="#A80036" points="1703.25,792.7734,1707.25,802.7734,1711.25,792.7734,1707.25,796.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2460.25" x2="2460.25" y1="688.8281" y2="802.7734"/><polygon fill="#A80036" points="2456.25,792.7734,2460.25,802.7734,2464.25,792.7734,2460.25,796.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2097.75" x2="2097.75" y1="808.7734" y2="828.7734"/><polygon fill="#A80036" points="2093.75,818.7734,2097.75,828.7734,2101.75,818.7734,2097.75,822.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="1086.0166" y2="1106.0166"/><polygon fill="#A80036" points="713.5,1096.0166,717.5,1106.0166,721.5,1096.0166,717.5,1100.0166" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="1086.0166" y2="1106.0166"/><polygon fill="#A80036" points="1288.5,1096.0166,1292.5,1106.0166,1296.5,1096.0166,1292.5,1100.0166" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="1139.9854" y2="1159.9854"/><polygon fill="#A80036" points="713.5,1149.9854,717.5,1159.9854,721.5,1149.9854,717.5,1153.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="1139.9854" y2="1159.9854"/><polygon fill="#A80036" points="1288.5,1149.9854,1292.5,1159.9854,1296.5,1149.9854,1292.5,1153.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="1019.3174" y2="1080.0166"/><polygon fill="#A80036" points="965,1070.0166,969,1080.0166,973,1070.0166,969,1074.0166" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1051" x2="1564" y1="1007.3174" y2="1007.3174"/><polygon fill="#A80036" points="1560,1104.8525,1564,1114.8525,1568,1104.8525,1564,1108.8525" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="1564" y1="1007.3174" y2="1222.1807"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="981" y1="1222.1807" y2="1222.1807"/><polygon fill="#A80036" points="991,1218.1807,981,1222.1807,991,1226.1807,987,1222.1807" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="1165.9854" y2="1210.1807"/><polygon fill="#A80036" points="965,1200.1807,969,1210.1807,973,1200.1807,969,1204.1807" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1752.75" x2="1752.75" y1="1077.8682" y2="1097.8682"/><polygon fill="#A80036" points="1748.75,1087.8682,1752.75,1097.8682,1756.75,1087.8682,1752.75,1091.8682" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2085.75" x2="2085.75" y1="1077.8682" y2="1097.8682"/><polygon fill="#A80036" points="2081.75,1087.8682,2085.75,1097.8682,2089.75,1087.8682,2085.75,1091.8682" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1752.75" x2="1752.75" y1="1131.8369" y2="1151.8369"/><polygon fill="#A80036" points="1748.75,1141.8369,1752.75,1151.8369,1756.75,1141.8369,1752.75,1145.8369" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2085.75" x2="2085.75" y1="1131.8369" y2="1151.8369"/><polygon fill="#A80036" points="2081.75,1141.8369,2085.75,1151.8369,2089.75,1141.8369,2085.75,1145.8369" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2862" x2="2862" y1="1056.4189" y2="1093.2236"/><polygon fill="#A80036" points="2858,1083.2236,2862,1093.2236,2866,1083.2236,2862,1087.2236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2862" x2="2862" y1="1127.1924" y2="1139.1924"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2862" x2="2977" y1="1139.1924" y2="1139.1924"/><polygon fill="#A80036" points="2973,1101.4033,2977,1091.4033,2981,1101.4033,2977,1097.4033" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2977" x2="2977" y1="1043.6143" y2="1139.1924"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2977" x2="2965" y1="1043.6143" y2="1043.6143"/><polygon fill="#A80036" points="2975,1039.6143,2965,1043.6143,2975,1047.6143,2971,1043.6143" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2759" x2="2747" y1="1043.6143" y2="1043.6143"/><polygon fill="#A80036" points="2743,1087.4033,2747,1097.4033,2751,1087.4033,2747,1091.4033" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2747" x2="2747" y1="1043.6143" y2="1151.1924"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2747" x2="2862" y1="1151.1924" y2="1151.1924"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2862" x2="2862" y1="1151.1924" y2="1185.9854"/><polygon fill="#A80036" points="2858,1175.9854,2862,1185.9854,2866,1175.9854,2862,1179.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2862" x2="2862" y1="995.8096" y2="1030.8096"/><polygon fill="#A80036" points="2858,1020.8096,2862,1030.8096,2866,1020.8096,2862,1024.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2770" x2="2704.75" y1="1197.9854" y2="1197.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2704.75" x2="2704.75" y1="1197.9854" y2="1219.9854"/><polygon fill="#A80036" points="2700.75,1209.9854,2704.75,1219.9854,2708.75,1209.9854,2704.75,1213.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2954" x2="3019.25" y1="1197.9854" y2="1197.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3019.25" x2="3019.25" y1="1197.9854" y2="1219.9854"/><polygon fill="#A80036" points="3015.25,1209.9854,3019.25,1219.9854,3023.25,1209.9854,3019.25,1213.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2704.75" x2="2704.75" y1="1253.9541" y2="1271.9541"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2704.75" x2="2850" y1="1271.9541" y2="1271.9541"/><polygon fill="#A80036" points="2840,1267.9541,2850,1271.9541,2840,1275.9541,2844,1271.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3019.25" x2="3019.25" y1="1253.9541" y2="1271.9541"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3019.25" x2="2874" y1="1271.9541" y2="1271.9541"/><polygon fill="#A80036" points="2884,1267.9541,2874,1271.9541,2884,1275.9541,2880,1271.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2862" x2="2862" y1="914.7422" y2="961.8408"/><polygon fill="#A80036" points="2858,951.8408,2862,961.8408,2866,951.8408,2862,955.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3337.25" x2="3337.25" y1="914.7422" y2="1097.8682"/><polygon fill="#A80036" points="3333.25,1087.8682,3337.25,1097.8682,3341.25,1087.8682,3337.25,1091.8682" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2862" x2="2862" y1="1283.9541" y2="1315.9541"/><polygon fill="#A80036" points="2858,1305.9541,2862,1315.9541,2866,1305.9541,2862,1309.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3337.25" x2="3337.25" y1="1131.8369" y2="1315.9541"/><polygon fill="#A80036" points="3333.25,1305.9541,3337.25,1315.9541,3341.25,1305.9541,3337.25,1309.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="888.7422" y2="995.3174"/><polygon fill="#A80036" points="965,985.3174,969,995.3174,973,985.3174,969,989.3174" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1915.25" x2="1915.25" y1="888.7422" y2="1071.8682"/><polygon fill="#A80036" points="1911.25,1061.8682,1915.25,1071.8682,1919.25,1061.8682,1915.25,1065.8682" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2384.75" x2="2384.75" y1="888.7422" y2="1097.8682"/><polygon fill="#A80036" points="2380.75,1087.8682,2384.75,1097.8682,2388.75,1087.8682,2384.75,1091.8682" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3024.75" x2="3024.75" y1="888.7422" y2="908.7422"/><polygon fill="#A80036" points="3020.75,898.7422,3024.75,908.7422,3028.75,898.7422,3024.75,902.7422" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3653.75" x2="3653.75" y1="888.7422" y2="1090.8838"/><polygon fill="#A80036" points="3649.75,1080.8838,3653.75,1090.8838,3657.75,1080.8838,3653.75,1084.8838" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="1234.1807" y2="1341.9541"/><polygon fill="#A80036" points="965,1331.9541,969,1341.9541,973,1331.9541,969,1335.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1915.25" x2="1915.25" y1="1157.8369" y2="1341.9541"/><polygon fill="#A80036" points="1911.25,1331.9541,1915.25,1341.9541,1919.25,1331.9541,1915.25,1335.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2384.75" x2="2384.75" y1="1131.8369" y2="1341.9541"/><polygon fill="#A80036" points="2380.75,1331.9541,2384.75,1341.9541,2388.75,1331.9541,2384.75,1335.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3024.75" x2="3024.75" y1="1321.9541" y2="1341.9541"/><polygon fill="#A80036" points="3020.75,1331.9541,3024.75,1341.9541,3028.75,1331.9541,3024.75,1335.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3653.75" x2="3653.75" y1="1138.8213" y2="1341.9541"/><polygon fill="#A80036" points="3649.75,1331.9541,3653.75,1341.9541,3657.75,1331.9541,3653.75,1335.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2097.75" x2="2097.75" y1="862.7422" y2="882.7422"/><polygon fill="#A80036" points="2093.75,872.7422,2097.75,882.7422,2101.75,872.7422,2097.75,876.7422" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2097.75" x2="2097.75" y1="1347.9541" y2="1367.9541"/><polygon fill="#A80036" points="2093.75,1357.9541,2097.75,1367.9541,2101.75,1357.9541,2097.75,1361.9541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2097.75" x2="2097.75" y1="1401.9229" y2="1421.9229"/><polygon fill="#A80036" points="2093.75,1411.9229,2097.75,1421.9229,2101.75,1411.9229,2097.75,1415.9229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1154.75" x2="351" y1="512.9141" y2="512.9141"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="351" y1="512.9141" y2="536.4805"/><polygon fill="#A80036" points="347,526.4805,351,536.4805,355,526.4805,351,530.4805" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1293.75" x2="2097.75" y1="512.9141" y2="512.9141"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2097.75" x2="2097.75" y1="512.9141" y2="534.9141"/><polygon fill="#A80036" points="2093.75,524.9141,2097.75,534.9141,2101.75,524.9141,2097.75,528.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1224.25" x2="1224.25" y1="480.9141" y2="500.9141"/><polygon fill="#A80036" points="1220.25,490.9141,1224.25,500.9141,1228.25,490.9141,1224.25,494.9141" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6ecaf98ec9628ddd784ede02e09e88d8]
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberSubscribe()\n
+
+
+
+
+
+note
+  - - **subscriber** : urt_hrtsubscriber_t* - -
+  The HRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  - - **topic** : urt_topic_t* - -
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  - - **messages** : urt_message_t* - -
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  - - **deadline** : urt_delay_t - -
+  Maximum latency to consume messages.
+  A value of 0 indicates that latency is of no concern.
+  - - **jitter** : urt_delay_t - -
+  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
+  A value of 0 indicates that jitter is of no concern.
+  - - **rate** : urt_delay_t - -
+  Expected minimum rate of new messages (= mamximum time between consecutive messages).
+  A value of 0 indicates, that rate is of no concern.
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      - - urt_basesubscriber_t - -
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      - - urt_hrtsubscriber_t - -
+      .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+      * **deadlineOffset** ← deadline
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
+      * **maxJitter** ← jitter
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+      .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
+      * **expectedRate** ← rate
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+        partition "contribute messages" {
+    fork
+      :set ""next"" pointer of last message to contribute to the message after the topic's latest message;
+    fork again
+      :set ""next"" pointer of topic's latest message to first message to contribute;
+    endfork
+  }
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    fork
+      partition "//URT_CFG_PUBSUB_QOS_RATECHECKS = true//" #EEEEEE {
+        #EEEEEE:access first element of topic's list of HRT subscribers;
+        while (Subscriber is not ""NULL""\nand its ""expectedRate"" is lower?) is (yes)
+          #EEEEEE:proceed to next subscriber;
+        endwhile (no)
+        if (Current subscriber is ""NULL""?) then (yes)
+          #EEEEEE:append self to topic's list of HRT subscribers;
+        else (no)
+          #EEEEEE:insert self in fron of current HRT subscriber;
+        endif
+      }
+    fork again
+      :increment topic's counter of HRT subscribers;
+    endfork
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberSubscribe.uml
new file mode 100644
index 0000000..987f5e0
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberSubscribe.uml
@@ -0,0 +1,131 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberSubscribe()\n
+
+!include ../../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_hrtsubscriber_t* --
+  The HRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  -- **topic** : urt_topic_t* --
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  -- **messages** : urt_message_t* --
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  -- **deadline** : urt_delay_t --
+  Maximum latency to consume messages.
+  A value of 0 indicates that latency is of no concern.
+  -- **jitter** : urt_delay_t --
+  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
+  A value of 0 indicates that jitter is of no concern.
+  -- **rate** : urt_delay_t --
+  Expected minimum rate of new messages (= mamximum time between consecutive messages).
+  A value of 0 indicates, that rate is of no concern.
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      -- urt_basesubscriber_t --
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      -- urt_hrtsubscriber_t --
+      .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
+      * **deadlineOffset** ← deadline
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
+      * **maxJitter** ← jitter
+      .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+      .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
+      * **expectedRate** ← rate
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+      $contribute_messages()
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    fork
+      partition "//URT_CFG_PUBSUB_QOS_RATECHECKS = true//" #EEEEEE {
+        #EEEEEE:access first element of topic's list of HRT subscribers;
+        while (Subscriber is not ""NULL""\nand its ""expectedRate"" is lower?) is (yes)
+          #EEEEEE:proceed to next subscriber;
+        endwhile (no)
+        if (Current subscriber is ""NULL""?) then (yes)
+          #EEEEEE:append self to topic's list of HRT subscribers;
+        else (no)
+          #EEEEEE:insert self in fron of current HRT subscriber;
+        endif
+      }
+    fork again
+      :increment topic's counter of HRT subscribers;
+    endfork
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberUnsubscribe.svg
new file mode 100644
index 0000000..716387e
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberUnsubscribe.svg
@@ -0,0 +1,86 @@
+<?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="1080px" preserveAspectRatio="none" style="width:2541px;height:1080px;" version="1.1" viewBox="0 0 2541 1080" width="2541px" zoomAndPan="magnify"><defs><filter height="300%" id="f124mp41ppij04" 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="1225" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="269" x="1135" y="47.6611">urtHrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1272.5" y="68.6143"/><path d="M1498.25,72.8594 L1498.25,183.6563 L2098.25,183.6563 L2098.25,82.8594 L2088.25,72.8594 L1498.25,72.8594 " fill="#FBFB77" filter="url(#f124mp41ppij04)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2088.25,72.8594 L2088.25,82.8594 L2098.25,82.8594 L2088.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1498.25" x2="1685.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1689.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1689.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1771.25" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1911.25" x2="2098.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="252" x="1504.25" y="105.0591">The HRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1504.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1584.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1616.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1498.25" x2="2098.25" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1498.25" x2="2098.25" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1498.25" x2="1727.25" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1731.25" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1731.25" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1780.25" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1869.25" x2="2098.25" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1504.25" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1557.25" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="1665.25" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1504.25" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="1557.25" y="175.5903">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1801.25" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="1798.25" cy="213.6563" fill="#000000" filter="url(#f124mp41ppij04)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f124mp41ppij04)" points="1735.75,243.6563,1860.75,243.6563,1872.75,255.6563,1860.75,267.6563,1735.75,267.6563,1723.75,255.6563,1735.75,243.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1735.75" y="259.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1703.75" y="253.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1872.75" y="253.062">no</text><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1030.5" y="277.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1040.5" y="298.7949">lock topic</text><rect fill="#000000" filter="url(#f124mp41ppij04)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2146" x="10" y="331.625"/><path d="M22,592.8174 L22,617.9502 A0,0 0 0 0 22,617.9502 L323,617.9502 A0,0 0 0 0 323,617.9502 L323,610.8174 L343,605.3838 L323,602.8174 L323,602.8174 L313,592.8174 L22,592.8174 A0,0 0 0 0 22,592.8174 " fill="#FBFB77" filter="url(#f124mp41ppij04)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M313,592.8174 L313,602.8174 L323,602.8174 L313,592.8174 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="280" x="28" y="609.8843">Must be within lock because of HRT counter.</text><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="343" y="588.3994"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="353" y="609.5381">unregister event</text><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="214" x="477" y="588.3994"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="194" x="487" y="609.5381">decrement topic's HRT counter</text><rect fill="#EEEEEE" filter="url(#f124mp41ppij04)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="292" x="701" y="581.415"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="701" x2="731" y1="598.3994" y2="598.3994"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="731" y="602.0537">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="963" x2="993" y1="598.3994" y2="598.3994"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="272" x="711" y="616.5225">decrement counter of subscribers (@topic)</text><rect fill="#EEEEEE" filter="url(#f124mp41ppij04)" height="254.2031" style="stroke: #000000; stroke-width: 2.0;" width="469" x="1021" y="477.7822"/><path d="M1361,478.7822 L1361,487.0791 L1351,497.0791 L1021,497.0791 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="330" x="1024" y="491.7773">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><rect fill="#EEEEEE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="312" x="1096.5" y="514.0791"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="292" x="1106.5" y="535.2178">remove self from topic's list of HRT subscribers</text><rect fill="#EEEEEE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="423" x="1041" y="631.0322"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="403" x="1051" y="652.1709">update QoS rate timer (@topic) wrt. most critical HRT subscriber</text><polygon fill="#FEFECE" filter="url(#f124mp41ppij04)" points="1157.5,582.6299,1347.5,582.6299,1359.5,594.6299,1347.5,606.6299,1157.5,606.6299,1145.5,594.6299,1157.5,582.6299" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1256.5" y="616.8403">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="1157.5" y="598.438">Was the most critical subscriber?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1359.5" y="592.0356">no</text><polygon fill="#FEFECE" filter="url(#f124mp41ppij04)" points="1252.5,687.9854,1264.5,699.9854,1252.5,711.9854,1240.5,699.9854,1252.5,687.9854" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FFFFFF" filter="url(#f124mp41ppij04)" height="515.5117" style="stroke: #000000; stroke-width: 2.0;" width="626" x="1518" y="348.4268"/><path d="M1700,349.4268 L1700,357.7236 L1690,367.7236 L1518,367.7236 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="172" x="1521" y="362.4219">fetch pending messages</text><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="185" x="1742.5" y="384.7236"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="165" x="1752.5" y="405.8623">access last read message</text><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1744.5" y="499.4971"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="1754.5" y="520.6357">proceed to next message</text><rect fill="#000000" filter="url(#f124mp41ppij04)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="1552" y="568.0479"/><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="240" x="1566" y="601.0322"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="1576" y="622.1709">decrement message's HRT counter</text><rect fill="#EEEEEE" filter="url(#f124mp41ppij04)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="1834" y="594.0479"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1834" x2="1853" y1="611.0322" y2="611.0322"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1853" y="614.6865">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2085" x2="2104" y1="611.0322" y2="611.0322"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="250" x="1844" y="629.1553">decremnt message's consumer counter</text><rect fill="#000000" filter="url(#f124mp41ppij04)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="1552" y="661.9854"/><polygon fill="#FEFECE" filter="url(#f124mp41ppij04)" points="1718,438.6924,1952,438.6924,1964,450.6924,1952,462.6924,1718,462.6924,1706,450.6924,1718,438.6924" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1839" y="472.9028">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="1718" y="454.5005">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1692" y="448.0981">no</text><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="1726.5" y="773.9697"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="1736.5" y="795.1084">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#f124mp41ppij04)" points="1707,725.5674,1963,725.5674,1975,737.5674,1963,749.5674,1707,749.5674,1695,737.5674,1707,725.5674" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1839" y="759.7778">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="1707" y="741.3755">The HRT counter of any message became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1975" y="734.9731">no</text><polygon fill="#FEFECE" filter="url(#f124mp41ppij04)" points="1835,827.9385,1847,839.9385,1835,851.9385,1823,839.9385,1835,827.9385" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f124mp41ppij04)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2146" x="10" y="883.9385"/><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1022.5" y="909.9385"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1032.5" y="931.0771">unlock topic</text><path d="M806,953.9072 L806,1024.4385 A0,0 0 0 0 806,1024.4385 L993,1024.4385 A0,0 0 0 0 993,1024.4385 L993,993.1729 L1013,989.1729 L993,985.1729 L993,963.9072 L983,953.9072 L806,953.9072 A0,0 0 0 0 806,953.9072 " fill="#FBFB77" filter="url(#f124mp41ppij04)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M983,953.9072 L983,963.9072 L993,963.9072 L983,953.9072 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="806" x2="828.5" y1="966.4736" y2="966.4736"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="832.5" y="970.4741">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="970.5" x2="993" y1="966.4736" y2="966.4736"/><ellipse cx="817.5" cy="981.6729" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="823" y="986.1069">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="864" y="986.1069">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="879" y="986.1069">NULL</text><ellipse cx="817.5" cy="996.8057" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="823" y="1001.2397">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="920" y="1001.2397">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="935" y="1001.2397">NULL</text><ellipse cx="817.5" cy="1011.9385" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="823" y="1016.3726">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="955" y="1016.3726">← 0</text><rect fill="#FEFECE" filter="url(#f124mp41ppij04)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="1013" y="972.1885"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="1023" y="993.3271">reset members</text><path d="M857.5,1042.8721 L857.5,1068.0049 A0,0 0 0 0 857.5,1068.0049 L1039.5,1068.0049 A0,0 0 0 0 1039.5,1068.0049 L1039.5,1060.8721 L1059.5,1055.4385 L1039.5,1052.8721 L1039.5,1052.8721 L1029.5,1042.8721 L857.5,1042.8721 A0,0 0 0 0 857.5,1042.8721 " fill="#FBFB77" filter="url(#f124mp41ppij04)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1029.5,1042.8721 L1029.5,1052.8721 L1039.5,1052.8721 L1029.5,1042.8721 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="863.5" y="1059.939">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="916.5" y="1059.939">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1020.5" y="1059.939">.</text><ellipse cx="1070.5" cy="1055.4385" fill="#FFFFFF" filter="url(#f124mp41ppij04)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1070.5" cy="1055.4385" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M2166,277.6563 L2166,302.7891 A0,0 0 0 0 2166,302.7891 L2484,302.7891 A0,0 0 0 0 2484,302.7891 L2484,295.6563 L2504,290.2227 L2484,287.6563 L2484,287.6563 L2474,277.6563 L2166,277.6563 A0,0 0 0 0 2166,277.6563 " fill="#FBFB77" filter="url(#f124mp41ppij04)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2474,277.6563 L2474,287.6563 L2484,287.6563 L2474,277.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2172" y="294.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="2225" y="294.7231">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2465" y="294.7231">.</text><ellipse cx="2515" cy="290.2227" fill="#FFFFFF" filter="url(#f124mp41ppij04)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2515" cy="290.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1798.25" x2="1798.25" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="1794.25,193.6563,1798.25,203.6563,1802.25,193.6563,1798.25,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1252.5" x2="1252.5" y1="606.6299" y2="631.0322"/><polygon fill="#A80036" points="1248.5,621.0322,1252.5,631.0322,1256.5,621.0322,1252.5,625.0322" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1359.5" x2="1474" y1="594.6299" y2="594.6299"/><polygon fill="#A80036" points="1470,638.0166,1474,648.0166,1478,638.0166,1474,642.0166" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1474" x2="1474" y1="594.6299" y2="699.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1474" x2="1264.5" y1="699.9854" y2="699.9854"/><polygon fill="#A80036" points="1274.5,695.9854,1264.5,699.9854,1274.5,703.9854,1270.5,699.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1252.5" x2="1252.5" y1="665.001" y2="687.9854"/><polygon fill="#A80036" points="1248.5,677.9854,1252.5,687.9854,1256.5,677.9854,1252.5,681.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1252.5" x2="1252.5" y1="548.0479" y2="582.6299"/><polygon fill="#A80036" points="1248.5,572.6299,1252.5,582.6299,1256.5,572.6299,1252.5,576.6299" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1686" x2="1686" y1="574.0479" y2="601.0322"/><polygon fill="#A80036" points="1682,591.0322,1686,601.0322,1690,591.0322,1686,595.0322" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1969" x2="1969" y1="574.0479" y2="594.0479"/><polygon fill="#A80036" points="1965,584.0479,1969,594.0479,1973,584.0479,1969,588.0479" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1686" x2="1686" y1="635.001" y2="661.9854"/><polygon fill="#A80036" points="1682,651.9854,1686,661.9854,1690,651.9854,1686,655.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1969" x2="1969" y1="641.9854" y2="661.9854"/><polygon fill="#A80036" points="1965,651.9854,1969,661.9854,1973,651.9854,1969,655.9854" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="533.4658" y2="568.0479"/><polygon fill="#A80036" points="1831,558.0479,1835,568.0479,1839,558.0479,1835,562.0479" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="462.6924" y2="499.4971"/><polygon fill="#A80036" points="1831,489.4971,1835,499.4971,1839,489.4971,1835,493.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="667.9854" y2="678.5674"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="2128" y1="678.5674" y2="678.5674"/><polygon fill="#A80036" points="2124,575.1299,2128,565.1299,2132,575.1299,2128,571.1299" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2128" x2="2128" y1="450.6924" y2="678.5674"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2128" x2="1964" y1="450.6924" y2="450.6924"/><polygon fill="#A80036" points="1974,446.6924,1964,450.6924,1974,454.6924,1970,450.6924" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1706" x2="1540" y1="450.6924" y2="450.6924"/><polygon fill="#A80036" points="1536,561.1299,1540,571.1299,1544,561.1299,1540,565.1299" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1540" x2="1540" y1="450.6924" y2="690.5674"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1540" x2="1835" y1="690.5674" y2="690.5674"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="690.5674" y2="725.5674"/><polygon fill="#A80036" points="1831,715.5674,1835,725.5674,1839,715.5674,1835,719.5674" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="418.6924" y2="438.6924"/><polygon fill="#A80036" points="1831,428.6924,1835,438.6924,1839,428.6924,1835,432.6924" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="749.5674" y2="773.9697"/><polygon fill="#A80036" points="1831,763.9697,1835,773.9697,1839,763.9697,1835,767.9697" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1975" x2="1987" y1="737.5674" y2="737.5674"/><polygon fill="#A80036" points="1983,780.9541,1987,790.9541,1991,780.9541,1987,784.9541" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1987" x2="1987" y1="737.5674" y2="839.9385"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1987" x2="1847" y1="839.9385" y2="839.9385"/><polygon fill="#A80036" points="1857,835.9385,1847,839.9385,1857,843.9385,1853,839.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="807.9385" y2="827.9385"/><polygon fill="#A80036" points="1831,817.9385,1835,827.9385,1839,817.9385,1835,821.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405" x2="405" y1="337.625" y2="588.3994"/><polygon fill="#A80036" points="401,578.3994,405,588.3994,409,578.3994,405,582.3994" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="584" x2="584" y1="337.625" y2="588.3994"/><polygon fill="#A80036" points="580,578.3994,584,588.3994,588,578.3994,584,582.3994" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="847" x2="847" y1="337.625" y2="581.415"/><polygon fill="#A80036" points="843,571.415,847,581.415,851,571.415,847,575.415" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1252.5" x2="1252.5" y1="337.625" y2="514.0791"/><polygon fill="#A80036" points="1248.5,504.0791,1252.5,514.0791,1256.5,504.0791,1252.5,508.0791" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="337.625" y2="384.7236"/><polygon fill="#A80036" points="1831,374.7236,1835,384.7236,1839,374.7236,1835,378.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405" x2="405" y1="622.3682" y2="883.9385"/><polygon fill="#A80036" points="401,873.9385,405,883.9385,409,873.9385,405,877.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="584" x2="584" y1="622.3682" y2="883.9385"/><polygon fill="#A80036" points="580,873.9385,584,883.9385,588,873.9385,584,877.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="847" x2="847" y1="629.3525" y2="883.9385"/><polygon fill="#A80036" points="843,873.9385,847,883.9385,851,873.9385,847,877.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1252.5" x2="1252.5" y1="711.9854" y2="883.9385"/><polygon fill="#A80036" points="1248.5,873.9385,1252.5,883.9385,1256.5,873.9385,1252.5,877.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1835" x2="1835" y1="851.9385" y2="883.9385"/><polygon fill="#A80036" points="1831,873.9385,1835,883.9385,1839,873.9385,1835,877.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1070.5" x2="1070.5" y1="311.625" y2="331.625"/><polygon fill="#A80036" points="1066.5,321.625,1070.5,331.625,1074.5,321.625,1070.5,325.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1070.5" x2="1070.5" y1="889.9385" y2="909.9385"/><polygon fill="#A80036" points="1066.5,899.9385,1070.5,909.9385,1074.5,899.9385,1070.5,903.9385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1070.5" x2="1070.5" y1="943.9072" y2="972.1885"/><polygon fill="#A80036" points="1066.5,962.1885,1070.5,972.1885,1074.5,962.1885,1070.5,966.1885" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1070.5" x2="1070.5" y1="1006.1572" y2="1044.4385"/><polygon fill="#A80036" points="1066.5,1034.4385,1070.5,1044.4385,1074.5,1034.4385,1070.5,1038.4385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1723.75" x2="1070.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1070.5" x2="1070.5" y1="255.6563" y2="277.6563"/><polygon fill="#A80036" points="1066.5,267.6563,1070.5,277.6563,1074.5,267.6563,1070.5,271.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1872.75" x2="2515" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2515" x2="2515" y1="255.6563" y2="279.2227"/><polygon fill="#A80036" points="2511,269.2227,2515,279.2227,2519,269.2227,2515,273.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1798.25" x2="1798.25" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="1794.25,233.6563,1798.25,243.6563,1802.25,233.6563,1798.25,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[332728729f56a8e79287ddb3f5f8a86e]
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberUnsubscribe()\n
+
+
+note
+  - - **subscriber** : urt_hrtsubscriber_t* - -
+  The HRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  fork
+    :unregister event;
+    note
+      Must be within lock because of HRT counter.
+    endnote
+  fork again
+    :decrement topic's HRT counter;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  fork again
+    partition "//URT_CFG_PUBSUB_QOS_RATECHECKS == true//" #EEEEEE {
+      #EEEEEE:remove self from topic's list of HRT subscribers;
+      if (Was the most critical subscriber?) then (yes)
+        #EEEEEE:update QoS rate timer (@topic) wrt. most critical HRT subscriber;
+      else (no)
+      endif
+    }
+  fork again
+    partition "fetch pending messages" {
+      :access last read message;
+      while (Timestamp of next message is younger?) is (yes)
+        :proceed to next message;
+        fork
+          :decrement message's HRT counter;
+        fork again
+          #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecremnt message's consumer counter;
+        endfork
+      endwhile (no)
+      if (The HRT counter of any message became 0?) then (yes)
+        :signal topic's condition variable;
+      else (no)
+      endif
+    }
+  endfork
+  :unlock topic;
+  :reset members;
+  note
+    - - urt_basesubscriber_t - -
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberUnsubscribe.uml
new file mode 100644
index 0000000..a7d0d8b
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberUnsubscribe.uml
@@ -0,0 +1,100 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtHrtSubscriberUnsubscribe()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_hrtsubscriber_t* --
+  The HRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  fork
+    :unregister event;
+    note
+      Must be within lock because of HRT counter.
+    endnote
+  fork again
+    :decrement topic's HRT counter;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  fork again
+    partition "//URT_CFG_PUBSUB_QOS_RATECHECKS == true//" #EEEEEE {
+      #EEEEEE:remove self from topic's list of HRT subscribers;
+      if (Was the most critical subscriber?) then (yes)
+        #EEEEEE:update QoS rate timer (@topic) wrt. most critical HRT subscriber;
+      else (no)
+      endif
+    }
+  fork again
+    partition "fetch pending messages" {
+      :access last read message;
+      while (Timestamp of next message is younger?) is (yes)
+        :proceed to next message;
+        fork
+          :decrement message's HRT counter;
+        fork again
+          #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecremnt message's consumer counter;
+        endfork
+      endwhile (no)
+      if (The HRT counter of any message became 0?) then (yes)
+        :signal topic's condition variable;
+      else (no)
+      endif
+    }
+  endfork
+  :unlock topic;
+  :reset members;
+  note
+    -- urt_basesubscriber_t --
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchLatestMessage.svg
new file mode 100644
index 0000000..29ed2e0
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchLatestMessage.svg
@@ -0,0 +1,112 @@
+<?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="1355px" preserveAspectRatio="none" style="width:2576px;height:1355px;" version="1.1" viewBox="0 0 2576 1355" width="2576px" zoomAndPan="magnify"><defs><filter height="300%" id="f1cocy9zwa303s" 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="1242.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="338" x="1118" y="47.6611">urtNrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1290" y="68.6143"/><path d="M1423,72.8594 L1423,319.8516 L1975,319.8516 L1975,82.8594 L1965,72.8594 L1423,72.8594 " fill="#FBFB77" filter="url(#f1cocy9zwa303s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1965,72.8594 L1965,82.8594 L1975,82.8594 L1965,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1586" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1590" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1590" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1672" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1812" x2="1975" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="1429" y="105.0591">The NRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1429" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1509" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1541" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1643" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1647" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1647" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1710" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1755" x2="1975" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1429" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1429" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1479" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1515" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1650" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1654" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1654" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1699" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1748" x2="1975" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1429" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1623.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1627.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1627.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1684.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1774.5" x2="1975" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1429" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1429" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1479" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1511" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1975" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1975" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1628" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1632" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1632" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1681" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1770" x2="1975" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1429" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1482" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1590" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1429" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1482" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1678" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1429" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1482" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="1694" y="311.7856">if there is no new message to fetch.</text><ellipse cx="1699" cy="349.8516" fill="#000000" filter="url(#f1cocy9zwa303s)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1cocy9zwa303s)" points="1636.5,379.8516,1761.5,379.8516,1773.5,391.8516,1761.5,403.8516,1636.5,403.8516,1624.5,391.8516,1636.5,379.8516" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1636.5" y="395.6597">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1604.5" y="389.2573">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1773.5" y="389.2573">no</text><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="776" y="413.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="786" y="434.9902">lock topic</text><rect fill="#FFFFFF" filter="url(#f1cocy9zwa303s)" height="348.8823" style="stroke: #000000; stroke-width: 2.0;" width="736" x="446.5" y="458.6221"/><path d="M591.5,459.6221 L591.5,467.9189 L581.5,477.9189 L446.5,477.9189 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="449.5" y="472.6172">find latest message</text><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="743.5" y="494.9189"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="44" x="753.5" y="516.0576">access</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="801.5" y="516.0576">lastMessage</text><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="480.5" y="604.5981"/><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="573" y="630.5981"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="583" y="651.7368">proceed to next message</text><rect fill="#EEEEEE" filter="url(#f1cocy9zwa303s)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="494.5" y="699.5669"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="494.5" x2="547.5" y1="716.5513" y2="716.5513"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="547.5" y="720.2056">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="779.5" x2="832.5" y1="716.5513" y2="716.5513"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="318" x="504.5" y="734.6743">decrement counter of consumers left (@message)</text><rect fill="#EEEEEE" filter="url(#f1cocy9zwa303s)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="860.5" y="665.0825"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="860.5" x2="883" y1="682.0669" y2="682.0669"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="883" y="685.7212">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1115" x2="1137.5" y1="682.0669" y2="682.0669"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="870.5" y="700.1899">increment counter of received messages</text><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="480.5" y="767.5044"/><polygon fill="#FEFECE" filter="url(#f1cocy9zwa303s)" points="699,548.8877,933,548.8877,945,560.8877,933,572.8877,699,572.8877,687,560.8877,699,548.8877" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="820" y="583.0981">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="699" y="564.6958">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="673" y="558.2935">no</text><polygon fill="#FEFECE" filter="url(#f1cocy9zwa303s)" points="730,827.5044,902,827.5044,914,839.5044,902,851.5044,730,851.5044,718,839.5044,730,827.5044" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="730" y="843.3125">Timestamp equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="698" y="836.9102">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="914" y="836.9102">no</text><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="279" y="861.5044"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="289" y="882.6431">unlock topic</text><path d="M10,930.4731 L10,955.606 A0,0 0 0 0 10,955.606 L296,955.606 A0,0 0 0 0 296,955.606 L296,948.4731 L316,943.0396 L296,940.4731 L296,940.4731 L286,930.4731 L10,930.4731 A0,0 0 0 0 10,930.4731 " fill="#FBFB77" filter="url(#f1cocy9zwa303s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M286,930.4731 L286,940.4731 L296,940.4731 L286,930.4731 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="947.54">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="69" y="947.54">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="277" y="947.54">.</text><ellipse cx="327" cy="943.0396" fill="#FFFFFF" filter="url(#f1cocy9zwa303s)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="327" cy="943.0396" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1854" x="385" y="861.5044"/><rect fill="#FFFFFF" filter="url(#f1cocy9zwa303s)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="622" x="397" y="991.1929"/><path d="M510,992.1929 L510,1000.4897 L500,1010.4897 L397,1010.4897 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="400" y="1005.188">fetch message</text><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="407" y="1027.4897"/><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="421" y="1053.4897"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="431" y="1074.6284">update message pointer</text><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="624" y="1053.4897"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="634" y="1074.6284">copy message origin time</text><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="832" y="1053.4897"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="842" y="1074.6284">copy message payload</text><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="407" y="1107.4585"/><path d="M1208.5,891.9224 L1208.5,917.0552 A0,0 0 0 0 1208.5,917.0552 L1528.5,917.0552 A0,0 0 0 0 1528.5,917.0552 L1528.5,909.9224 L1548.5,904.4888 L1528.5,901.9224 L1528.5,901.9224 L1518.5,891.9224 L1208.5,891.9224 A0,0 0 0 0 1208.5,891.9224 " fill="#FBFB77" filter="url(#f1cocy9zwa303s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1518.5,891.9224 L1518.5,901.9224 L1528.5,901.9224 L1518.5,891.9224 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="1214.5" y="908.9893">Can be optimized in case all flags are disabled.</text><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="1548.5" y="887.5044"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="1558.5" y="908.6431">calculate message latency</text><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1180" x="1047" y="956.4731"/><rect fill="#EEEEEE" filter="url(#f1cocy9zwa303s)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1061" y="1072.8413"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1061" x2="1071" y1="1089.8257" y2="1089.8257"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1071" y="1093.48">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1303" x2="1313" y1="1089.8257" y2="1089.8257"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1071" y="1107.9487">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="1148" y="1107.9487">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1236" y="1107.9487">value</text><rect fill="#EEEEEE" filter="url(#f1cocy9zwa303s)" height="220.9219" style="stroke: #000000; stroke-width: 2.0;" width="551" x="1341" y="973.2749"/><path d="M1622,974.2749 L1622,982.5718 L1612,992.5718 L1341,992.5718 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="1344" y="987.27">URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f1cocy9zwa303s)" points="1363,1034.5718,1564,1034.5718,1576,1046.5718,1564,1058.5718,1363,1058.5718,1351,1046.5718,1363,1034.5718" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1467.5" y="1068.7822">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="1363" y="1050.3799">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1488" y="1050.3799">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1558" y="1050.3799">?</text><rect fill="#EEEEEE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1375.5" y="1091.3765"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1385.5" y="1112.5151">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1434.5" y="1112.5151">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1508.5" y="1112.5151">value</text><polygon fill="#FEFECE" filter="url(#f1cocy9zwa303s)" points="1608,1034.5718,1820,1034.5718,1832,1046.5718,1820,1058.5718,1608,1058.5718,1596,1046.5718,1608,1034.5718" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1718" y="1068.7822">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="1608" y="1050.3799">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1744" y="1050.3799">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1814" y="1050.3799">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1832" y="1043.9775">no</text><rect fill="#EEEEEE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1626" y="1091.3765"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1636" y="1112.5151">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1685" y="1112.5151">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1759" y="1112.5151">value</text><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1986.5" y="1079.8257"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1996.5" y="1100.9644">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="2020.5" y="1100.9644">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="2073.5" y="1100.9644">value</text><polygon fill="#FEFECE" filter="url(#f1cocy9zwa303s)" points="1932,1031.4233,2171,1031.4233,2183,1043.4233,2171,1055.4233,1932,1055.4233,1920,1043.4233,1932,1031.4233" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2055.5" y="1065.6338">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="1932" y="1047.2314">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="1983" y="1047.2314">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="2036" y="1047.2314">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2183" y="1040.8291">no</text><polygon fill="#FEFECE" filter="url(#f1cocy9zwa303s)" points="2051.5,1138.1968,2063.5,1150.1968,2051.5,1162.1968,2039.5,1150.1968,2051.5,1138.1968" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1180" x="1047" y="1214.1968"/><rect fill="#000000" filter="url(#f1cocy9zwa303s)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1854" x="385" y="1240.1968"/><rect fill="#FEFECE" filter="url(#f1cocy9zwa303s)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1269" y="1266.1968"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1279" y="1287.3354">unlock topic</text><path d="M1104,1318.5991 L1104,1343.7319 A0,0 0 0 0 1104,1343.7319 L1286,1343.7319 A0,0 0 0 0 1286,1343.7319 L1286,1336.5991 L1306,1331.1655 L1286,1328.5991 L1286,1328.5991 L1276,1318.5991 L1104,1318.5991 A0,0 0 0 0 1104,1318.5991 " fill="#FBFB77" filter="url(#f1cocy9zwa303s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1276,1318.5991 L1276,1328.5991 L1286,1328.5991 L1276,1318.5991 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1110" y="1335.666">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1163" y="1335.666">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1267" y="1335.666">.</text><ellipse cx="1317" cy="1331.1655" fill="#FFFFFF" filter="url(#f1cocy9zwa303s)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1317" cy="1331.1655" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M2249,413.8516 L2249,438.9844 A0,0 0 0 0 2249,438.9844 L2519,438.9844 A0,0 0 0 0 2519,438.9844 L2519,431.8516 L2539,426.418 L2519,423.8516 L2519,423.8516 L2509,413.8516 L2249,413.8516 A0,0 0 0 0 2249,413.8516 " fill="#FBFB77" filter="url(#f1cocy9zwa303s)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2509,413.8516 L2509,423.8516 L2519,423.8516 L2509,413.8516 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2255" y="430.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="2308" y="430.9185">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2500" y="430.9185">.</text><ellipse cx="2550" cy="426.418" fill="#FFFFFF" filter="url(#f1cocy9zwa303s)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2550" cy="426.418" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1699" x2="1699" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="1695,329.8516,1699,339.8516,1703,329.8516,1699,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="663.5" x2="663.5" y1="664.5669" y2="699.5669"/><polygon fill="#A80036" points="659.5,689.5669,663.5,699.5669,667.5,689.5669,663.5,693.5669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="663.5" x2="663.5" y1="610.5981" y2="630.5981"/><polygon fill="#A80036" points="659.5,620.5981,663.5,630.5981,667.5,620.5981,663.5,624.5981" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999" x2="999" y1="610.5981" y2="665.0825"/><polygon fill="#A80036" points="995,655.0825,999,665.0825,1003,655.0825,999,659.0825" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="663.5" x2="663.5" y1="747.5044" y2="767.5044"/><polygon fill="#A80036" points="659.5,757.5044,663.5,767.5044,667.5,757.5044,663.5,761.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999" x2="999" y1="713.02" y2="767.5044"/><polygon fill="#A80036" points="995,757.5044,999,767.5044,1003,757.5044,999,761.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="572.8877" y2="604.5981"/><polygon fill="#A80036" points="812,594.5981,816,604.5981,820,594.5981,816,598.5981" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="773.5044" y2="783.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="1163.5" y1="783.5044" y2="783.5044"/><polygon fill="#A80036" points="1159.5,680.6489,1163.5,670.6489,1167.5,680.6489,1163.5,676.6489" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1163.5" x2="1163.5" y1="560.8877" y2="783.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1163.5" x2="945" y1="560.8877" y2="560.8877"/><polygon fill="#A80036" points="955,556.8877,945,560.8877,955,564.8877,951,560.8877" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="687" x2="468.5" y1="560.8877" y2="560.8877"/><polygon fill="#A80036" points="464.5,666.6489,468.5,676.6489,472.5,666.6489,468.5,670.6489" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="468.5" x2="468.5" y1="560.8877" y2="795.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="468.5" x2="816" y1="795.5044" y2="795.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="795.5044" y2="827.5044"/><polygon fill="#A80036" points="812,817.5044,816,827.5044,820,817.5044,816,821.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="528.8877" y2="548.8877"/><polygon fill="#A80036" points="812,538.8877,816,548.8877,820,538.8877,816,542.8877" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="447.8203" y2="494.9189"/><polygon fill="#A80036" points="812,484.9189,816,494.9189,820,484.9189,816,488.9189" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="327" x2="327" y1="895.4731" y2="932.0396"/><polygon fill="#A80036" points="323,922.0396,327,932.0396,331,922.0396,327,926.0396" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508.5" x2="508.5" y1="1033.4897" y2="1053.4897"/><polygon fill="#A80036" points="504.5,1043.4897,508.5,1053.4897,512.5,1043.4897,508.5,1047.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="714" x2="714" y1="1033.4897" y2="1053.4897"/><polygon fill="#A80036" points="710,1043.4897,714,1053.4897,718,1043.4897,714,1047.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="913.5" x2="913.5" y1="1033.4897" y2="1053.4897"/><polygon fill="#A80036" points="909.5,1043.4897,913.5,1053.4897,917.5,1043.4897,913.5,1047.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508.5" x2="508.5" y1="1087.4585" y2="1107.4585"/><polygon fill="#A80036" points="504.5,1097.4585,508.5,1107.4585,512.5,1097.4585,508.5,1101.4585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="714" x2="714" y1="1087.4585" y2="1107.4585"/><polygon fill="#A80036" points="710,1097.4585,714,1107.4585,718,1097.4585,714,1101.4585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="913.5" x2="913.5" y1="1087.4585" y2="1107.4585"/><polygon fill="#A80036" points="909.5,1097.4585,913.5,1107.4585,917.5,1097.4585,913.5,1101.4585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1463.5" y1="1058.5718" y2="1091.3765"/><polygon fill="#A80036" points="1459.5,1081.3765,1463.5,1091.3765,1467.5,1081.3765,1463.5,1085.3765" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1463.5" y1="1125.3452" y2="1182.1968"/><polygon fill="#A80036" points="1459.5,1172.1968,1463.5,1182.1968,1467.5,1172.1968,1463.5,1176.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1714" x2="1714" y1="1058.5718" y2="1091.3765"/><polygon fill="#A80036" points="1710,1081.3765,1714,1091.3765,1718,1081.3765,1714,1085.3765" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1714" x2="1714" y1="1125.3452" y2="1182.1968"/><polygon fill="#A80036" points="1710,1172.1968,1714,1182.1968,1718,1172.1968,1714,1176.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1576" x2="1596" y1="1046.5718" y2="1046.5718"/><polygon fill="#A80036" points="1586,1042.5718,1596,1046.5718,1586,1050.5718,1590,1046.5718" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.5" x2="1616.5" y1="962.4731" y2="1009.5718"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.5" x2="1463.5" y1="1009.5718" y2="1009.5718"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1463.5" y1="1009.5718" y2="1034.5718"/><polygon fill="#A80036" points="1459.5,1024.5718,1463.5,1034.5718,1467.5,1024.5718,1463.5,1028.5718" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1832" x2="1867" y1="1046.5718" y2="1046.5718"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1867" x2="1867" y1="1046.5718" y2="1182.1968"/><polygon fill="#A80036" points="1863,1172.1968,1867,1182.1968,1871,1172.1968,1867,1176.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1867" y1="1182.1968" y2="1182.1968"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="1055.4233" y2="1079.8257"/><polygon fill="#A80036" points="2047.5,1069.8257,2051.5,1079.8257,2055.5,1069.8257,2051.5,1073.8257" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2183" x2="2195" y1="1043.4233" y2="1043.4233"/><polygon fill="#A80036" points="2191,1086.8101,2195,1096.8101,2199,1086.8101,2195,1090.8101" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2195" x2="2195" y1="1043.4233" y2="1150.1968"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2195" x2="2063.5" y1="1150.1968" y2="1150.1968"/><polygon fill="#A80036" points="2073.5,1146.1968,2063.5,1150.1968,2073.5,1154.1968,2069.5,1150.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="1113.7944" y2="1138.1968"/><polygon fill="#A80036" points="2047.5,1128.1968,2051.5,1138.1968,2055.5,1128.1968,2051.5,1132.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1187" x2="1187" y1="962.4731" y2="1072.8413"/><polygon fill="#A80036" points="1183,1062.8413,1187,1072.8413,1191,1062.8413,1187,1066.8413" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="962.4731" y2="1031.4233"/><polygon fill="#A80036" points="2047.5,1021.4233,2051.5,1031.4233,2055.5,1021.4233,2051.5,1025.4233" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2213" x2="2213" y1="962.4731" y2="1214.1968"/><polygon fill="#A80036" points="2209,1204.1968,2213,1214.1968,2217,1204.1968,2213,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1187" x2="1187" y1="1120.7788" y2="1214.1968"/><polygon fill="#A80036" points="1183,1204.1968,1187,1214.1968,1191,1204.1968,1187,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.5" x2="1616.5" y1="1182.1968" y2="1214.1968"/><polygon fill="#A80036" points="1612.5,1204.1968,1616.5,1214.1968,1620.5,1204.1968,1616.5,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="1162.1968" y2="1214.1968"/><polygon fill="#A80036" points="2047.5,1204.1968,2051.5,1214.1968,2055.5,1204.1968,2051.5,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1642" x2="1642" y1="921.4731" y2="956.4731"/><polygon fill="#A80036" points="1638,946.4731,1642,956.4731,1646,946.4731,1642,950.4731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708" x2="708" y1="867.5044" y2="1027.4897"/><polygon fill="#A80036" points="704,1017.4897,708,1027.4897,712,1017.4897,708,1021.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1642" x2="1642" y1="867.5044" y2="887.5044"/><polygon fill="#A80036" points="1638,877.5044,1642,887.5044,1646,877.5044,1642,881.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708" x2="708" y1="1113.4585" y2="1240.1968"/><polygon fill="#A80036" points="704,1230.1968,708,1240.1968,712,1230.1968,708,1234.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1642" x2="1642" y1="1220.1968" y2="1240.1968"/><polygon fill="#A80036" points="1638,1230.1968,1642,1240.1968,1646,1230.1968,1642,1234.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1317" x2="1317" y1="1246.1968" y2="1266.1968"/><polygon fill="#A80036" points="1313,1256.1968,1317,1266.1968,1321,1256.1968,1317,1260.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1317" x2="1317" y1="1300.1655" y2="1320.1655"/><polygon fill="#A80036" points="1313,1310.1655,1317,1320.1655,1321,1310.1655,1317,1314.1655" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="718" x2="327" y1="839.5044" y2="839.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="327" x2="327" y1="839.5044" y2="861.5044"/><polygon fill="#A80036" points="323,851.5044,327,861.5044,331,851.5044,327,855.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="914" x2="1317" y1="839.5044" y2="839.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1317" x2="1317" y1="839.5044" y2="861.5044"/><polygon fill="#A80036" points="1313,851.5044,1317,861.5044,1321,851.5044,1317,855.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1624.5" x2="816" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="391.8516" y2="413.8516"/><polygon fill="#A80036" points="812,403.8516,816,413.8516,820,403.8516,816,407.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1773.5" x2="2550" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2550" x2="2550" y1="391.8516" y2="415.418"/><polygon fill="#A80036" points="2546,405.418,2550,415.418,2554,405.418,2550,409.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1699" x2="1699" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="1695,369.8516,1699,379.8516,1703,369.8516,1699,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f9ce3586fd159911bf94cef60affc625]
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberFetchLatestMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_nrtsubscriber_t* - -
+  The NRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+    partition "find latest message" {
+    :access ""lastMessage"";
+    while (Timestamp of next message is younger?) is (yes)
+      fork
+        :proceed to next message;
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of received messages;
+      endfork
+    endwhile (no)
+  }
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    fork
+        partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+    fork again
+      :calculate message latency;
+      note
+        Can be optimized in case all flags are disabled.
+      endnote
+      fork
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+      fork again
+        partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+          if (Latency is lower than ""minLatency""?) then (yes)
+            #EEEEEE:update ""minLatency"" value;
+          elseif (Latency is greater than ""maxLatency""?) then (yes)
+            #EEEEEE:update ""maxLatency"" value;
+          else (no)
+          endif
+        }
+      fork again
+        if (Optional ""latency"" output argument given?) then (yes)
+          :set ""latency"" value;
+        else (no)
+        endif
+      fork again
+      endfork
+    endfork
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_OK"".
+    endnote
+  endif
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchLatestMessage.uml
new file mode 100644
index 0000000..0f21f12
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchLatestMessage.uml
@@ -0,0 +1,105 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberFetchLatestMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_nrtsubscriber_t* --
+  The NRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  $find_latest_message()
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    fork
+      $fetch_message()
+    fork again
+      :calculate message latency;
+      note
+        Can be optimized in case all flags are disabled.
+      endnote
+      fork
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+      fork again
+        partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+          if (Latency is lower than ""minLatency""?) then (yes)
+            #EEEEEE:update ""minLatency"" value;
+          elseif (Latency is greater than ""maxLatency""?) then (yes)
+            #EEEEEE:update ""maxLatency"" value;
+          else (no)
+          endif
+        }
+      fork again
+        if (Optional ""latency"" output argument given?) then (yes)
+          :set ""latency"" value;
+        else (no)
+        endif
+      fork again
+      endfork
+    endfork
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_OK"".
+    endnote
+  endif
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchNextMessage.svg
new file mode 100644
index 0000000..3edfd56
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchNextMessage.svg
@@ -0,0 +1,117 @@
+<?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="1212px" preserveAspectRatio="none" style="width:2842px;height:1212px;" version="1.1" viewBox="0 0 2842 1212" width="2842px" zoomAndPan="magnify"><defs><filter height="300%" id="f1b2x1rhqosozb" 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="1375.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="328" x="1256" y="47.6611">urtNrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1423" y="68.6143"/><path d="M1753.75,72.8594 L1753.75,319.8516 L2305.75,319.8516 L2305.75,82.8594 L2295.75,72.8594 L1753.75,72.8594 " fill="#FBFB77" filter="url(#f1b2x1rhqosozb)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2295.75,72.8594 L2295.75,82.8594 L2305.75,82.8594 L2295.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1916.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1920.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1920.75" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="2002.75" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2142.75" x2="2305.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="1759.75" y="105.0591">The NRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1759.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1839.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1871.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1973.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1977.75" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1977.75" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="2040.75" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2085.75" x2="2305.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1759.75" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1759.75" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1809.75" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1845.75" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1980.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1984.75" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1984.75" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="2029.75" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2078.75" x2="2305.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1759.75" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1954.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1958.25" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1958.25" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="2015.25" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2105.25" x2="2305.75" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1759.75" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1759.75" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1809.75" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1841.75" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="2305.75" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="2305.75" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1958.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1962.75" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1962.75" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="2011.75" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2100.75" x2="2305.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1759.75" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1812.75" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1920.75" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1759.75" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1812.75" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="2008.75" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1759.75" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1812.75" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="2024.75" y="311.7856">if there is no new message to fetch.</text><ellipse cx="2029.75" cy="349.8516" fill="#000000" filter="url(#f1b2x1rhqosozb)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1967.25,379.8516,2092.25,379.8516,2104.25,391.8516,2092.25,403.8516,1967.25,403.8516,1955.25,391.8516,1967.25,379.8516" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1967.25" y="395.6597">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1935.25" y="389.2573">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2104.25" y="389.2573">no</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1189.5" y="413.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1199.5" y="434.9902">lock topic</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1080,467.8203,1379,467.8203,1391,479.8203,1379,491.8203,1080,491.8203,1068,479.8203,1080,467.8203" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="1080" y="483.6284">Timestamp of last read message equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1048" y="477.2261">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1391" y="477.2261">no</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="938.125,501.8203,1090.125,501.8203,1102.125,513.8203,1090.125,525.8203,938.125,525.8203,926.125,513.8203,938.125,501.8203" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="152" x="938.125" y="517.6284">Next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="906.125" y="511.2261">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1102.125" y="511.2261">no</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="709.875" y="535.8203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="719.875" y="556.959">proceed to next message</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1179.875" y="535.8203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1189.875" y="556.959">unlock topic</text><path d="M910.875,588.2227 L910.875,613.3555 A0,0 0 0 0 910.875,613.3555 L1196.875,613.3555 A0,0 0 0 0 1196.875,613.3555 L1196.875,606.2227 L1216.875,600.7891 L1196.875,598.2227 L1196.875,598.2227 L1186.875,588.2227 L910.875,588.2227 A0,0 0 0 0 910.875,588.2227 " fill="#FBFB77" filter="url(#f1b2x1rhqosozb)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1186.875,588.2227 L1186.875,598.2227 L1196.875,598.2227 L1186.875,588.2227 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="916.875" y="605.2896">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="969.875" y="605.2896">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1177.875" y="605.2896">.</text><ellipse cx="1227.875" cy="600.7891" fill="#FFFFFF" filter="url(#f1b2x1rhqosozb)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1227.875" cy="600.7891" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f1b2x1rhqosozb)" height="181.6992" style="stroke: #000000; stroke-width: 2.0;" width="302" x="1305.875" y="501.8203"/><path d="M1455.875,502.8203 L1455.875,511.1172 L1445.875,521.1172 L1305.875,521.1172 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="140" x="1308.875" y="515.8154">find oldest message</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1354.375" y="593.5508"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="1364.375" y="614.6895">proceed to next message</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1444.875,538.1172,1456.875,550.1172,1444.875,562.1172,1432.875,550.1172,1444.875,538.1172" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1327.875,647.5195,1561.875,647.5195,1573.875,659.5195,1561.875,671.5195,1327.875,671.5195,1315.875,659.5195,1327.875,647.5195" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="1327.875" y="663.3276">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1573.875" y="656.9253">yes</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1229.5,689.5195,1241.5,701.5195,1229.5,713.5195,1217.5,701.5195,1229.5,689.5195" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2495" x="10" y="733.5195"/><rect fill="#FFFFFF" filter="url(#f1b2x1rhqosozb)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="584" x="22" y="848.208"/><path d="M135,849.208 L135,857.5049 L125,867.5049 L22,867.5049 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="25" y="862.2031">fetch message</text><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="32" y="884.5049"/><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="46" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="56" y="931.6436">update message pointer</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="231" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="241" y="931.6436">copy message origin time</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="421" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="431" y="931.6436">copy message payload</text><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="32" y="964.4736"/><path d="M761.5,763.9375 L761.5,789.0703 A0,0 0 0 0 761.5,789.0703 L1081.5,789.0703 A0,0 0 0 0 1081.5,789.0703 L1081.5,781.9375 L1101.5,776.5039 L1081.5,773.9375 L1081.5,773.9375 L1071.5,763.9375 L761.5,763.9375 A0,0 0 0 0 761.5,763.9375 " fill="#FBFB77" filter="url(#f1b2x1rhqosozb)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1071.5,763.9375 L1071.5,773.9375 L1081.5,773.9375 L1071.5,763.9375 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="767.5" y="781.0044">Can be optimized in case all flags are disabled.</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="1101.5" y="759.5195"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="1111.5" y="780.6582">calculate message latency</text><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1160" x="616" y="813.4883"/><rect fill="#EEEEEE" filter="url(#f1b2x1rhqosozb)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="628" y="929.8564"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="628" x2="638" y1="946.8408" y2="946.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="638" y="950.4951">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="870" x2="880" y1="946.8408" y2="946.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="638" y="964.9639">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="715" y="964.9639">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="803" y="964.9639">value</text><rect fill="#EEEEEE" filter="url(#f1b2x1rhqosozb)" height="220.9219" style="stroke: #000000; stroke-width: 2.0;" width="551" x="908" y="830.29"/><path d="M1189,831.29 L1189,839.5869 L1179,849.5869 L908,849.5869 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="911" y="844.2852">URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="930,891.5869,1131,891.5869,1143,903.5869,1131,915.5869,930,915.5869,918,903.5869,930,891.5869" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1034.5" y="925.7974">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="930" y="907.395">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1055" y="907.395">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1125" y="907.395">?</text><rect fill="#EEEEEE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="942.5" y="948.3916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="952.5" y="969.5303">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1001.5" y="969.5303">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1075.5" y="969.5303">value</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1175,891.5869,1387,891.5869,1399,903.5869,1387,915.5869,1175,915.5869,1163,903.5869,1175,891.5869" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1285" y="925.7974">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="1175" y="907.395">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1311" y="907.395">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1381" y="907.395">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1399" y="900.9927">no</text><rect fill="#EEEEEE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1193" y="948.3916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1203" y="969.5303">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1252" y="969.5303">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1326" y="969.5303">value</text><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1553.5" y="936.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1563.5" y="957.9795">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="1587.5" y="957.9795">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1640.5" y="957.9795">value</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1499,888.4385,1738,888.4385,1750,900.4385,1738,912.4385,1499,912.4385,1487,900.4385,1499,888.4385" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1622.5" y="922.6489">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="1499" y="904.2466">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="1550" y="904.2466">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1603" y="904.2466">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1750" y="897.8442">no</text><polygon fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" points="1618.5,995.2119,1630.5,1007.2119,1618.5,1019.2119,1606.5,1007.2119,1618.5,995.2119" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1160" x="616" y="1071.2119"/><rect fill="#EEEEEE" filter="url(#f1b2x1rhqosozb)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="689" x="1804" y="848.208"/><path d="M2085,849.208 L2085,857.5049 L2075,867.5049 L1804,867.5049 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="1807" y="862.2031">URT_CFG_PUBSUB_PROFILING == true</text><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="669" x="1814" y="884.5049"/><rect fill="#EEEEEE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="1828" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="318" x="1838" y="931.6436">decrement counter of consumers left (@message)</text><rect fill="#EEEEEE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="2194" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="2204" y="931.6436">increment counter of received messages</text><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="669" x="1814" y="964.4736"/><rect fill="#000000" filter="url(#f1b2x1rhqosozb)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2495" x="10" y="1097.2119"/><rect fill="#FEFECE" filter="url(#f1b2x1rhqosozb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1181.5" y="1123.2119"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1191.5" y="1144.3506">unlock topic</text><path d="M1016.5,1175.6143 L1016.5,1200.7471 A0,0 0 0 0 1016.5,1200.7471 L1198.5,1200.7471 A0,0 0 0 0 1198.5,1200.7471 L1198.5,1193.6143 L1218.5,1188.1807 L1198.5,1185.6143 L1198.5,1185.6143 L1188.5,1175.6143 L1016.5,1175.6143 A0,0 0 0 0 1016.5,1175.6143 " fill="#FBFB77" filter="url(#f1b2x1rhqosozb)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1188.5,1175.6143 L1188.5,1185.6143 L1198.5,1185.6143 L1188.5,1175.6143 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1022.5" y="1192.6812">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1075.5" y="1192.6812">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1179.5" y="1192.6812">.</text><ellipse cx="1229.5" cy="1188.1807" fill="#FFFFFF" filter="url(#f1b2x1rhqosozb)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1229.5" cy="1188.1807" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M2515,413.8516 L2515,438.9844 A0,0 0 0 0 2515,438.9844 L2785,438.9844 A0,0 0 0 0 2785,438.9844 L2785,431.8516 L2805,426.418 L2785,423.8516 L2785,423.8516 L2775,413.8516 L2515,413.8516 A0,0 0 0 0 2515,413.8516 " fill="#FBFB77" filter="url(#f1b2x1rhqosozb)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2775,413.8516 L2775,423.8516 L2785,423.8516 L2775,413.8516 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2521" y="430.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="2574" y="430.9185">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2766" y="430.9185">.</text><ellipse cx="2816" cy="426.418" fill="#FFFFFF" filter="url(#f1b2x1rhqosozb)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2816" cy="426.418" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2029.75" x2="2029.75" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="2025.75,329.8516,2029.75,339.8516,2033.75,329.8516,2029.75,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1227.875" x2="1227.875" y1="569.7891" y2="589.7891"/><polygon fill="#A80036" points="1223.875,579.7891,1227.875,589.7891,1231.875,579.7891,1227.875,583.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="926.125" x2="800.375" y1="513.8203" y2="513.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.375" x2="800.375" y1="513.8203" y2="535.8203"/><polygon fill="#A80036" points="796.375,525.8203,800.375,535.8203,804.375,525.8203,800.375,529.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1102.125" x2="1227.875" y1="513.8203" y2="513.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1227.875" x2="1227.875" y1="513.8203" y2="535.8203"/><polygon fill="#A80036" points="1223.875,525.8203,1227.875,535.8203,1231.875,525.8203,1227.875,529.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.375" x2="800.375" y1="569.7891" y2="701.5195"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.375" x2="1217.5" y1="701.5195" y2="701.5195"/><polygon fill="#A80036" points="1207.5,697.5195,1217.5,701.5195,1207.5,705.5195,1211.5,701.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="562.1172" y2="593.5508"/><polygon fill="#A80036" points="1440.875,583.5508,1444.875,593.5508,1448.875,583.5508,1444.875,587.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1573.875" x2="1585.875" y1="659.5195" y2="659.5195"/><polygon fill="#A80036" points="1581.875,620.5352,1585.875,610.5352,1589.875,620.5352,1585.875,616.5352" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1585.875" x2="1585.875" y1="550.1172" y2="659.5195"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1585.875" x2="1456.875" y1="550.1172" y2="550.1172"/><polygon fill="#A80036" points="1466.875,546.1172,1456.875,550.1172,1466.875,554.1172,1462.875,550.1172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="627.5195" y2="647.5195"/><polygon fill="#A80036" points="1440.875,637.5195,1444.875,647.5195,1448.875,637.5195,1444.875,641.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1068" x2="1014.125" y1="479.8203" y2="479.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1014.125" x2="1014.125" y1="479.8203" y2="501.8203"/><polygon fill="#A80036" points="1010.125,491.8203,1014.125,501.8203,1018.125,491.8203,1014.125,495.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1391" x2="1444.875" y1="479.8203" y2="479.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="479.8203" y2="538.1172"/><polygon fill="#A80036" points="1440.875,528.1172,1444.875,538.1172,1448.875,528.1172,1444.875,532.1172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="671.5195" y2="701.5195"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1241.5" y1="701.5195" y2="701.5195"/><polygon fill="#A80036" points="1251.5,697.5195,1241.5,701.5195,1251.5,705.5195,1247.5,701.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="447.8203" y2="467.8203"/><polygon fill="#A80036" points="1225.5,457.8203,1229.5,467.8203,1233.5,457.8203,1229.5,461.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="129.5,900.5049,133.5,910.5049,137.5,900.5049,133.5,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="321" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="317,900.5049,321,910.5049,325,900.5049,321,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="502.5" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="498.5,900.5049,502.5,910.5049,506.5,900.5049,502.5,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="129.5,954.4736,133.5,964.4736,137.5,954.4736,133.5,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="321" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="317,954.4736,321,964.4736,325,954.4736,321,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="502.5" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="498.5,954.4736,502.5,964.4736,506.5,954.4736,502.5,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1030.5" y1="915.5869" y2="948.3916"/><polygon fill="#A80036" points="1026.5,938.3916,1030.5,948.3916,1034.5,938.3916,1030.5,942.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1030.5" y1="982.3604" y2="1039.2119"/><polygon fill="#A80036" points="1026.5,1029.2119,1030.5,1039.2119,1034.5,1029.2119,1030.5,1033.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1281" x2="1281" y1="915.5869" y2="948.3916"/><polygon fill="#A80036" points="1277,938.3916,1281,948.3916,1285,938.3916,1281,942.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1281" x2="1281" y1="982.3604" y2="1039.2119"/><polygon fill="#A80036" points="1277,1029.2119,1281,1039.2119,1285,1029.2119,1281,1033.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1143" x2="1163" y1="903.5869" y2="903.5869"/><polygon fill="#A80036" points="1153,899.5869,1163,903.5869,1153,907.5869,1157,903.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1183.5" x2="1183.5" y1="819.4883" y2="866.5869"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1183.5" x2="1030.5" y1="866.5869" y2="866.5869"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1030.5" y1="866.5869" y2="891.5869"/><polygon fill="#A80036" points="1026.5,881.5869,1030.5,891.5869,1034.5,881.5869,1030.5,885.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1399" x2="1434" y1="903.5869" y2="903.5869"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1434" x2="1434" y1="903.5869" y2="1039.2119"/><polygon fill="#A80036" points="1430,1029.2119,1434,1039.2119,1438,1029.2119,1434,1033.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1434" y1="1039.2119" y2="1039.2119"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="912.4385" y2="936.8408"/><polygon fill="#A80036" points="1614.5,926.8408,1618.5,936.8408,1622.5,926.8408,1618.5,930.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1750" x2="1762" y1="900.4385" y2="900.4385"/><polygon fill="#A80036" points="1758,943.8252,1762,953.8252,1766,943.8252,1762,947.8252" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1762" x2="1762" y1="900.4385" y2="1007.2119"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1762" x2="1630.5" y1="1007.2119" y2="1007.2119"/><polygon fill="#A80036" points="1640.5,1003.2119,1630.5,1007.2119,1640.5,1011.2119,1636.5,1007.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="970.8096" y2="995.2119"/><polygon fill="#A80036" points="1614.5,985.2119,1618.5,995.2119,1622.5,985.2119,1618.5,989.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="754" y1="819.4883" y2="929.8564"/><polygon fill="#A80036" points="750,919.8564,754,929.8564,758,919.8564,754,923.8564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="819.4883" y2="888.4385"/><polygon fill="#A80036" points="1614.5,878.4385,1618.5,888.4385,1622.5,878.4385,1618.5,882.4385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="754" y1="977.7939" y2="1071.2119"/><polygon fill="#A80036" points="750,1061.2119,754,1071.2119,758,1061.2119,754,1065.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1183.5" x2="1183.5" y1="1039.2119" y2="1071.2119"/><polygon fill="#A80036" points="1179.5,1061.2119,1183.5,1071.2119,1187.5,1061.2119,1183.5,1065.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="1019.2119" y2="1071.2119"/><polygon fill="#A80036" points="1614.5,1061.2119,1618.5,1071.2119,1622.5,1061.2119,1618.5,1065.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1195" x2="1195" y1="793.4883" y2="813.4883"/><polygon fill="#A80036" points="1191,803.4883,1195,813.4883,1199,803.4883,1195,807.4883" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1997" x2="1997" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="1993,900.5049,1997,910.5049,2001,900.5049,1997,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2332.5" x2="2332.5" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="2328.5,900.5049,2332.5,910.5049,2336.5,900.5049,2332.5,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1997" x2="1997" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="1993,954.4736,1997,964.4736,2001,954.4736,1997,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2332.5" x2="2332.5" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="2328.5,954.4736,2332.5,964.4736,2336.5,954.4736,2332.5,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="315" x2="315" y1="739.5195" y2="884.5049"/><polygon fill="#A80036" points="311,874.5049,315,884.5049,319,874.5049,315,878.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1195" x2="1195" y1="739.5195" y2="759.5195"/><polygon fill="#A80036" points="1191,749.5195,1195,759.5195,1199,749.5195,1195,753.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2149.5" x2="2149.5" y1="739.5195" y2="884.5049"/><polygon fill="#A80036" points="2145.5,874.5049,2149.5,884.5049,2153.5,874.5049,2149.5,878.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="315" x2="315" y1="970.4736" y2="1097.2119"/><polygon fill="#A80036" points="311,1087.2119,315,1097.2119,319,1087.2119,315,1091.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1195" x2="1195" y1="1077.2119" y2="1097.2119"/><polygon fill="#A80036" points="1191,1087.2119,1195,1097.2119,1199,1087.2119,1195,1091.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2149.5" x2="2149.5" y1="970.4736" y2="1097.2119"/><polygon fill="#A80036" points="2145.5,1087.2119,2149.5,1097.2119,2153.5,1087.2119,2149.5,1091.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="713.5195" y2="733.5195"/><polygon fill="#A80036" points="1225.5,723.5195,1229.5,733.5195,1233.5,723.5195,1229.5,727.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="1103.2119" y2="1123.2119"/><polygon fill="#A80036" points="1225.5,1113.2119,1229.5,1123.2119,1233.5,1113.2119,1229.5,1117.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="1157.1807" y2="1177.1807"/><polygon fill="#A80036" points="1225.5,1167.1807,1229.5,1177.1807,1233.5,1167.1807,1229.5,1171.1807" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1955.25" x2="1229.5" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="391.8516" y2="413.8516"/><polygon fill="#A80036" points="1225.5,403.8516,1229.5,413.8516,1233.5,403.8516,1229.5,407.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2104.25" x2="2816" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2816" x2="2816" y1="391.8516" y2="415.418"/><polygon fill="#A80036" points="2812,405.418,2816,415.418,2820,405.418,2816,409.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2029.75" x2="2029.75" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="2025.75,369.8516,2029.75,379.8516,2033.75,369.8516,2029.75,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[61bee09dc1a45490902a126e21658767]
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberFetchNextMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_nrtsubscriber_t* - -
+  The NRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Timestamp of last read message equals local copy?) then (yes)
+    if (Next message is younger?) then (yes)
+      :proceed to next message;
+    else (no)
+      :unlock topic;
+      stop
+      note
+        Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+      endnote
+    endif
+  else (no)
+    partition "find oldest message" {
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp of next message is younger?) is (yes)
+    }
+  endif
+  fork
+      partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+  fork again
+    :calculate message latency;
+    note
+      Can be optimized in case all flags are disabled.
+    endnote
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+        if (Latency is lower than ""minLatency""?) then (yes)
+          #EEEEEE:update ""minLatency"" value;
+        elseif (Latency is greater than ""maxLatency""?) then (yes)
+          #EEEEEE:update ""maxLatency"" value;
+        else (no)
+        endif
+      }
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchNextMessage.uml
new file mode 100644
index 0000000..d5a01d1
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberFetchNextMessage.uml
@@ -0,0 +1,120 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberFetchNextMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_nrtsubscriber_t* --
+  The NRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Timestamp of last read message equals local copy?) then (yes)
+    if (Next message is younger?) then (yes)
+      :proceed to next message;
+    else (no)
+      :unlock topic;
+      stop
+      note
+        Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+      endnote
+    endif
+  else (no)
+    partition "find oldest message" {
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp of next message is younger?) is (yes)
+    }
+  endif
+  fork
+    $fetch_message()
+  fork again
+    :calculate message latency;
+    note
+      Can be optimized in case all flags are disabled.
+    endnote
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+        if (Latency is lower than ""minLatency""?) then (yes)
+          #EEEEEE:update ""minLatency"" value;
+        elseif (Latency is greater than ""maxLatency""?) then (yes)
+          #EEEEEE:update ""maxLatency"" value;
+        else (no)
+        endif
+      }
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberInit.svg
new file mode 100644
index 0000000..9ca721d
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberInit.svg
@@ -0,0 +1,46 @@
+<?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="447px" preserveAspectRatio="none" style="width:509px;height:447px;" version="1.1" viewBox="0 0 509 447" width="509px" zoomAndPan="magnify"><defs><filter height="300%" id="fjzlxkhetuxlz" 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="209" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="191" x="158" y="47.6611">urtNrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="256.5" y="68.6143"/><path d="M250,72.8594 L250,153.3906 L497,153.3906 L497,82.8594 L487,72.8594 L250,72.8594 " fill="#FBFB77" filter="url(#fjzlxkhetuxlz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M487,72.8594 L487,82.8594 L497,82.8594 L487,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="260.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="264.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="264.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="346.5" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="486.5" x2="497" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="198" x="256" y="105.0591">The NRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="256" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="336" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="368" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="497" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="497" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="328" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="332" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="332" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="381" y="144.8247">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="419" x2="497" y1="140.8242" y2="140.8242"/><ellipse cx="373.5" cy="183.3906" fill="#000000" filter="url(#fjzlxkhetuxlz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,203.3906 L10,394.9844 A0,0 0 0 0 10,394.9844 L288,394.9844 A0,0 0 0 0 288,394.9844 L288,303.1875 L308,299.1875 L288,295.1875 L288,213.3906 L278,203.3906 L10,203.3906 A0,0 0 0 0 10,203.3906 " fill="#FBFB77" filter="url(#fjzlxkhetuxlz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,203.3906 L278,213.3906 L288,213.3906 L278,203.3906 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="78" y1="215.957" y2="215.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="82" y="219.9575">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="288" y1="215.957" y2="215.957"/><ellipse cx="21.5" cy="231.1563" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="27" y="235.5903">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="68" y="235.5903">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="83" y="235.5903">NULL</text><ellipse cx="21.5" cy="246.2891" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="27" y="250.7231">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="156" y="250.7231">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="238" y="250.7231">)</text><ellipse cx="21.5" cy="261.4219" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="265.856">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="124" y="265.856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="139" y="265.856">NULL</text><ellipse cx="21.5" cy="276.5547" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="280.9888">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="159" y="280.9888">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="291.6211" y2="291.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="295.6216">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="291.6211" y2="291.6211"/><ellipse cx="21.5" cy="306.8203" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="27" y="311.2544">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="132" y="311.2544">← 0</text><ellipse cx="21.5" cy="321.9531" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="27" y="326.3872">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="204" y="326.3872">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="84.5" y1="337.0195" y2="337.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="88.5" y="341.02">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="213.5" x2="288" y1="337.0195" y2="337.0195"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="356.1528">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="352.1523" y2="352.1523"/><ellipse cx="21.5" cy="367.3516" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="27" y="371.7856">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="115" y="371.7856">← 0xF..F</text><ellipse cx="21.5" cy="382.4844" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="27" y="386.9185">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="119" y="386.9185">← 0</text><rect fill="#FEFECE" filter="url(#fjzlxkhetuxlz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="308" y="282.2031"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="318" y="303.3418">initialize members</text><ellipse cx="373.5" cy="425.9844" fill="#FFFFFF" filter="url(#fjzlxkhetuxlz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="373.5" cy="425.9844" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="369.5,163.3906,373.5,173.3906,377.5,163.3906,373.5,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="193.3906" y2="282.2031"/><polygon fill="#A80036" points="369.5,272.2031,373.5,282.2031,377.5,272.2031,373.5,276.2031" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="316.1719" y2="414.9844"/><polygon fill="#A80036" points="369.5,404.9844,373.5,414.9844,377.5,404.9844,373.5,408.9844" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a9b8761e95f8f1eaf77db2bacfdf1285]
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberInit()\n
+
+
+note
+  - - **subscriber** : urt_nrtsubscriber_t* - -
+  The NRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  - - **return** : void - -
+endnote
+
+
+start
+:initialize members;
+note
+  - - urt_basesubscriber_t - -
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  - - urt_nrtsubscriber_t - -
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberInit.uml
new file mode 100644
index 0000000..06ef255
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberInit.uml
@@ -0,0 +1,60 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberInit()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_nrtsubscriber_t* --
+  The NRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  -- **return** : void --
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+:initialize members;
+note
+  -- urt_basesubscriber_t --
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  -- urt_nrtsubscriber_t --
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberSubscribe.svg
new file mode 100644
index 0000000..04a934d
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberSubscribe.svg
@@ -0,0 +1,93 @@
+<?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="1042px" preserveAspectRatio="none" style="width:2807px;height:1042px;" version="1.1" viewBox="0 0 2807 1042" width="2807px" zoomAndPan="magnify"><defs><filter height="300%" id="fkh7ofrjdg7y2" 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="1358" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="247" x="1279" y="47.6611">urtNrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1405.5" y="68.6143"/><path d="M656.5,72.8594 L656.5,304.7188 L1274.5,304.7188 L1274.5,82.8594 L1264.5,72.8594 L656.5,72.8594 " fill="#FBFB77" filter="url(#fkh7ofrjdg7y2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1264.5,72.8594 L1264.5,82.8594 L1274.5,82.8594 L1264.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="852.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="856.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="856.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="938.5" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1078.5" x2="1274.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="327" x="662.5" y="105.0591">The NRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="662.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="742.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="774.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="899.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="903.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="903.5" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="944.5" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1031.5" x2="1274.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="662.5" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="662.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="742.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="774.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="866.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="870.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="870.5" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="949.5" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1064.5" x2="1274.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="662.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="698.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="662.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="662.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="662.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="712.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="748.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="1274.5" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="1274.5" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="894.5" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="898.5" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="898.5" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="947.5" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1036.5" x2="1274.5" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="662.5" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="715.5" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="823.5" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="662.5" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="715.5" y="296.6528">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="951.5" y="296.6528">if the subscriber is already associated to a topic.</text><ellipse cx="965.5" cy="334.7188" fill="#000000" filter="url(#fkh7ofrjdg7y2)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" points="908,364.7188,1023,364.7188,1035,376.7188,1023,388.7188,908,388.7188,896,376.7188,908,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="908" y="380.5269">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="876" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1035" y="374.1245">no</text><path d="M10,398.7188 L10,423.8516 A0,0 0 0 0 10,423.8516 L320,423.8516 A0,0 0 0 0 320,423.8516 L320,416.7188 L340,411.2852 L320,408.7188 L320,408.7188 L310,398.7188 L10,398.7188 A0,0 0 0 0 10,398.7188 " fill="#FBFB77" filter="url(#fkh7ofrjdg7y2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M310,398.7188 L310,408.7188 L320,408.7188 L310,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="69" y="415.7856">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="301" y="415.7856">.</text><ellipse cx="351" cy="411.2852" fill="#FFFFFF" filter="url(#fkh7ofrjdg7y2)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="351" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="560" x="1322" y="398.7188"/><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1336" y="473.2656"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1346" y="494.4043">set topic</text><path d="M1439,424.7188 L1439,555.7813 A0,0 0 0 0 1439,555.7813 L1717,555.7813 A0,0 0 0 0 1717,555.7813 L1717,494.25 L1737,490.25 L1717,486.25 L1717,434.7188 L1707,424.7188 L1439,424.7188 A0,0 0 0 0 1439,424.7188 " fill="#EEEEEE" filter="url(#fkh7ofrjdg7y2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1707,424.7188 L1707,434.7188 L1717,434.7188 L1707,424.7188 " fill="#EEEEEE" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1439" x2="1507" y1="437.2852" y2="437.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="1511" y="441.2856">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1649" x2="1717" y1="437.2852" y2="437.2852"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1439" x2="1449.5" y1="452.418" y2="452.418"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="1453.5" y="456.4185">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1706.5" x2="1717" y1="452.418" y2="452.418"/><ellipse cx="1450.5" cy="467.6172" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="1456" y="472.0513">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1561" y="472.0513">← 0</text><ellipse cx="1450.5" cy="482.75" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="1456" y="487.1841">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1633" y="487.1841">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1439" x2="1513.5" y1="497.8164" y2="497.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="1517.5" y="501.8169">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1642.5" x2="1717" y1="497.8164" y2="497.8164"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1439" x2="1449.5" y1="512.9492" y2="512.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="1453.5" y="516.9497">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1706.5" x2="1717" y1="512.9492" y2="512.9492"/><ellipse cx="1450.5" cy="528.1484" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="1456" y="532.5825">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="1544" y="532.5825">← 0xF..F</text><ellipse cx="1450.5" cy="543.2813" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="1456" y="547.7153">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1548" y="547.7153">← 0</text><rect fill="#EEEEEE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="1737" y="473.2656"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="1747" y="494.4043">initialize members</text><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="560" x="1322" y="575.7813"/><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1562" y="601.7813"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1572" y="622.9199">lock topic</text><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2424" x="372" y="655.75"/><rect fill="#FFFFFF" filter="url(#fkh7ofrjdg7y2)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1170" x="384" y="728.2622"/><path d="M541,729.2622 L541,737.5591 L531,747.5591 L384,747.5591 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="387" y="742.2573">contribute messages</text><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="764.5591"/><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="619" x="408" y="790.5591"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="418" y="811.6978">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="442" y="811.6978">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="543" x="474" y="811.6978">pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="1055" y="790.5591"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1065" y="811.6978">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1089" y="811.6978">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="1121" y="811.6978">pointer of topic's latest message to first message to contribute</text><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="844.5278"/><polygon fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" points="899,681.75,1039,681.75,1051,693.75,1039,705.75,899,705.75,887,693.75,899,681.75" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="973" y="715.9604">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="899" y="697.5581">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1051" y="691.1558">no</text><polygon fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" points="969,882.5278,981,894.5278,969,906.5278,957,894.5278,969,882.5278" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="656" x="1604" y="756.4106"/><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1618" y="782.4106"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1628" y="803.5493">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1951" y="782.4106"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1961" y="803.5493">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="656" x="1604" y="836.3794"/><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2270" y="782.4106"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2280" y="803.5493">register to topic's event source</text><rect fill="#EEEEEE" filter="url(#fkh7ofrjdg7y2)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="2497" y="775.4263"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2497" x2="2524.5" y1="792.4106" y2="792.4106"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="2524.5" y="796.0649">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2756.5" x2="2784" y1="792.4106" y2="792.4106"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="267" x="2507" y="810.5337">increment counter of subscribers (@topic)</text><rect fill="#000000" filter="url(#fkh7ofrjdg7y2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2424" x="372" y="926.5278"/><rect fill="#FEFECE" filter="url(#fkh7ofrjdg7y2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1554" y="952.5278"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1564" y="973.6665">unlock topic</text><path d="M1389,1004.9302 L1389,1030.063 A0,0 0 0 0 1389,1030.063 L1571,1030.063 A0,0 0 0 0 1571,1030.063 L1571,1022.9302 L1591,1017.4966 L1571,1014.9302 L1571,1014.9302 L1561,1004.9302 L1389,1004.9302 A0,0 0 0 0 1389,1004.9302 " fill="#FBFB77" filter="url(#fkh7ofrjdg7y2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1561,1004.9302 L1561,1014.9302 L1571,1014.9302 L1561,1004.9302 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1395" y="1021.9971">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1448" y="1021.9971">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1552" y="1021.9971">.</text><ellipse cx="1602" cy="1017.4966" fill="#FFFFFF" filter="url(#fkh7ofrjdg7y2)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1602" cy="1017.4966" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="965.5" x2="965.5" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="961.5,314.7188,965.5,324.7188,969.5,314.7188,965.5,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1373.5" x2="1373.5" y1="404.7188" y2="473.2656"/><polygon fill="#A80036" points="1369.5,463.2656,1373.5,473.2656,1377.5,463.2656,1373.5,467.2656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1802.5" x2="1802.5" y1="404.7188" y2="473.2656"/><polygon fill="#A80036" points="1798.5,463.2656,1802.5,473.2656,1806.5,463.2656,1802.5,467.2656" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1373.5" x2="1373.5" y1="507.2344" y2="575.7813"/><polygon fill="#A80036" points="1369.5,565.7813,1373.5,575.7813,1377.5,565.7813,1373.5,569.7813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1802.5" x2="1802.5" y1="507.2344" y2="575.7813"/><polygon fill="#A80036" points="1798.5,565.7813,1802.5,575.7813,1806.5,565.7813,1802.5,569.7813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="581.7813" y2="601.7813"/><polygon fill="#A80036" points="1598,591.7813,1602,601.7813,1606,591.7813,1602,595.7813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="770.5591" y2="790.5591"/><polygon fill="#A80036" points="713.5,780.5591,717.5,790.5591,721.5,780.5591,717.5,784.5591" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="770.5591" y2="790.5591"/><polygon fill="#A80036" points="1288.5,780.5591,1292.5,790.5591,1296.5,780.5591,1292.5,784.5591" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="824.5278" y2="844.5278"/><polygon fill="#A80036" points="713.5,834.5278,717.5,844.5278,721.5,834.5278,717.5,838.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="824.5278" y2="844.5278"/><polygon fill="#A80036" points="1288.5,834.5278,1292.5,844.5278,1296.5,834.5278,1292.5,838.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="705.75" y2="764.5591"/><polygon fill="#A80036" points="965,754.5591,969,764.5591,973,754.5591,969,758.5591" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1051" x2="1564" y1="693.75" y2="693.75"/><polygon fill="#A80036" points="1560,789.395,1564,799.395,1568,789.395,1564,793.395" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="1564" y1="693.75" y2="894.5278"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="981" y1="894.5278" y2="894.5278"/><polygon fill="#A80036" points="991,890.5278,981,894.5278,991,898.5278,987,894.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="850.5278" y2="882.5278"/><polygon fill="#A80036" points="965,872.5278,969,882.5278,973,872.5278,969,876.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1774.5" x2="1774.5" y1="762.4106" y2="782.4106"/><polygon fill="#A80036" points="1770.5,772.4106,1774.5,782.4106,1778.5,772.4106,1774.5,776.4106" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2099.5" x2="2099.5" y1="762.4106" y2="782.4106"/><polygon fill="#A80036" points="2095.5,772.4106,2099.5,782.4106,2103.5,772.4106,2099.5,776.4106" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1774.5" x2="1774.5" y1="816.3794" y2="836.3794"/><polygon fill="#A80036" points="1770.5,826.3794,1774.5,836.3794,1778.5,826.3794,1774.5,830.3794" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2099.5" x2="2099.5" y1="816.3794" y2="836.3794"/><polygon fill="#A80036" points="2095.5,826.3794,2099.5,836.3794,2103.5,826.3794,2099.5,830.3794" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="661.75" y2="681.75"/><polygon fill="#A80036" points="965,671.75,969,681.75,973,671.75,969,675.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937" x2="1937" y1="661.75" y2="756.4106"/><polygon fill="#A80036" points="1933,746.4106,1937,756.4106,1941,746.4106,1937,750.4106" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2378.5" x2="2378.5" y1="661.75" y2="782.4106"/><polygon fill="#A80036" points="2374.5,772.4106,2378.5,782.4106,2382.5,772.4106,2378.5,776.4106" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2640.5" x2="2640.5" y1="661.75" y2="775.4263"/><polygon fill="#A80036" points="2636.5,765.4263,2640.5,775.4263,2644.5,765.4263,2640.5,769.4263" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="906.5278" y2="926.5278"/><polygon fill="#A80036" points="965,916.5278,969,926.5278,973,916.5278,969,920.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937" x2="1937" y1="842.3794" y2="926.5278"/><polygon fill="#A80036" points="1933,916.5278,1937,926.5278,1941,916.5278,1937,920.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2378.5" x2="2378.5" y1="816.3794" y2="926.5278"/><polygon fill="#A80036" points="2374.5,916.5278,2378.5,926.5278,2382.5,916.5278,2378.5,920.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2640.5" x2="2640.5" y1="823.3638" y2="926.5278"/><polygon fill="#A80036" points="2636.5,916.5278,2640.5,926.5278,2644.5,916.5278,2640.5,920.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="635.75" y2="655.75"/><polygon fill="#A80036" points="1598,645.75,1602,655.75,1606,645.75,1602,649.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="932.5278" y2="952.5278"/><polygon fill="#A80036" points="1598,942.5278,1602,952.5278,1606,942.5278,1602,946.5278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="986.4966" y2="1006.4966"/><polygon fill="#A80036" points="1598,996.4966,1602,1006.4966,1606,996.4966,1602,1000.4966" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="896" x2="351" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="351" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="347,390.2852,351,400.2852,355,390.2852,351,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1035" x2="1602" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="1598,388.7188,1602,398.7188,1606,388.7188,1602,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="965.5" x2="965.5" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="961.5,354.7188,965.5,364.7188,969.5,354.7188,965.5,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7a16cf307ab850ab1b80681624de3164]
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberSubscribe()\n
+
+
+
+
+
+note
+  - - **subscriber** : urt_nrtsubscriber_t* - -
+  The NRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  - - **topic** : urt_topic_t* - -
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  - - **messages** : urt_message_t* - -
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      - - urt_basesubscriber_t - -
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      - - urt_nrtsubscriber_t - -
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+        partition "contribute messages" {
+    fork
+      :set ""next"" pointer of last message to contribute to the message after the topic's latest message;
+    fork again
+      :set ""next"" pointer of topic's latest message to first message to contribute;
+    endfork
+  }
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberSubscribe.uml
new file mode 100644
index 0000000..6d55cf5
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberSubscribe.uml
@@ -0,0 +1,100 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberSubscribe()\n
+
+!include ../../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_nrtsubscriber_t* --
+  The NRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  -- **topic** : urt_topic_t* --
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  -- **messages** : urt_message_t* --
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      -- urt_basesubscriber_t --
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      -- urt_nrtsubscriber_t --
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+      $contribute_messages()
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberUnsubscribe.svg
new file mode 100644
index 0000000..bc475b5
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberUnsubscribe.svg
@@ -0,0 +1,57 @@
+<?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="649px" preserveAspectRatio="none" style="width:905px;height:649px;" version="1.1" viewBox="0 0 905 649" width="905px" zoomAndPan="magnify"><defs><filter height="300%" id="fukig3p7ibmn3" 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="407.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="269" x="317.25" y="47.6611">urtNrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="454.75" y="68.6143"/><path d="M277,72.8594 L277,183.6563 L877,183.6563 L877,82.8594 L867,72.8594 L277,72.8594 " fill="#FBFB77" filter="url(#fukig3p7ibmn3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M867,72.8594 L867,82.8594 L877,82.8594 L867,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="464" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="468" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="468" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="550" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="690" x2="877" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="252" x="283" y="105.0591">The NRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="283" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="363" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="395" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="877" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="877" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="506" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="510" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="510" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="559" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="648" x2="877" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="283" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="336" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="444" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="283" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="336" y="175.5903">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="580" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="577" cy="213.6563" fill="#000000" filter="url(#fukig3p7ibmn3)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fukig3p7ibmn3)" points="514.5,243.6563,639.5,243.6563,651.5,255.6563,639.5,267.6563,514.5,267.6563,502.5,255.6563,514.5,243.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="514.5" y="259.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="482.5" y="253.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="651.5" y="253.062">no</text><rect fill="#EEEEEE" filter="url(#fukig3p7ibmn3)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="148.5" y="277.6563"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="148.5" x2="158.5" y1="294.6406" y2="294.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="158.5" y="298.2949">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="390.5" x2="400.5" y1="294.6406" y2="294.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="158.5" y="312.7637">lock topic</text><rect fill="#000000" filter="url(#fukig3p7ibmn3)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="472" x="38.5" y="345.5938"/><rect fill="#FEFECE" filter="url(#fukig3p7ibmn3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="52.5" y="378.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="62.5" y="399.7168">unregister event</text><rect fill="#EEEEEE" filter="url(#fukig3p7ibmn3)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="292" x="204.5" y="371.5938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="204.5" x2="234.5" y1="388.5781" y2="388.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="234.5" y="392.2324">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="466.5" x2="496.5" y1="388.5781" y2="388.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="272" x="214.5" y="406.7012">decrement counter of subscribers (@topic)</text><rect fill="#000000" filter="url(#fukig3p7ibmn3)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="472" x="38.5" y="439.5313"/><rect fill="#EEEEEE" filter="url(#fukig3p7ibmn3)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="148.5" y="465.5313"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="148.5" x2="158.5" y1="482.5156" y2="482.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="158.5" y="486.1699">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="390.5" x2="400.5" y1="482.5156" y2="482.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="158.5" y="500.6387">unlock topic</text><path d="M10,523.4688 L10,594 A0,0 0 0 0 10,594 L197,594 A0,0 0 0 0 197,594 L197,562.7344 L217,558.7344 L197,554.7344 L197,533.4688 L187,523.4688 L10,523.4688 A0,0 0 0 0 10,523.4688 " fill="#FBFB77" filter="url(#fukig3p7ibmn3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M187,523.4688 L187,533.4688 L197,533.4688 L187,523.4688 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="32.5" y1="536.0352" y2="536.0352"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="36.5" y="540.0356">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="174.5" x2="197" y1="536.0352" y2="536.0352"/><ellipse cx="21.5" cy="551.2344" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="27" y="555.6685">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="68" y="555.6685">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="83" y="555.6685">NULL</text><ellipse cx="21.5" cy="566.3672" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="570.8013">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="124" y="570.8013">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="139" y="570.8013">NULL</text><ellipse cx="21.5" cy="581.5" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="585.9341">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="159" y="585.9341">← 0</text><rect fill="#FEFECE" filter="url(#fukig3p7ibmn3)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="217" y="541.75"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="227" y="562.8887">reset members</text><path d="M61.5,612.4336 L61.5,637.5664 A0,0 0 0 0 61.5,637.5664 L243.5,637.5664 A0,0 0 0 0 243.5,637.5664 L243.5,630.4336 L263.5,625 L243.5,622.4336 L243.5,622.4336 L233.5,612.4336 L61.5,612.4336 A0,0 0 0 0 61.5,612.4336 " fill="#FBFB77" filter="url(#fukig3p7ibmn3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M233.5,612.4336 L233.5,622.4336 L243.5,622.4336 L233.5,612.4336 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="67.5" y="629.5005">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="120.5" y="629.5005">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="224.5" y="629.5005">.</text><ellipse cx="274.5" cy="625" fill="#FFFFFF" filter="url(#fukig3p7ibmn3)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="274.5" cy="625" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M530.5,277.6563 L530.5,302.7891 A0,0 0 0 0 530.5,302.7891 L848.5,302.7891 A0,0 0 0 0 848.5,302.7891 L848.5,295.6563 L868.5,290.2227 L848.5,287.6563 L848.5,287.6563 L838.5,277.6563 L530.5,277.6563 A0,0 0 0 0 530.5,277.6563 " fill="#FBFB77" filter="url(#fukig3p7ibmn3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M838.5,277.6563 L838.5,287.6563 L848.5,287.6563 L838.5,277.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="536.5" y="294.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="589.5" y="294.7231">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="829.5" y="294.7231">.</text><ellipse cx="879.5" cy="290.2227" fill="#FFFFFF" filter="url(#fukig3p7ibmn3)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="879.5" cy="290.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577" x2="577" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="573,193.6563,577,203.6563,581,193.6563,577,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="114.5" x2="114.5" y1="351.5938" y2="378.5781"/><polygon fill="#A80036" points="110.5,368.5781,114.5,378.5781,118.5,368.5781,114.5,372.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="351.5938" y2="371.5938"/><polygon fill="#A80036" points="346.5,361.5938,350.5,371.5938,354.5,361.5938,350.5,365.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="114.5" x2="114.5" y1="412.5469" y2="439.5313"/><polygon fill="#A80036" points="110.5,429.5313,114.5,439.5313,118.5,429.5313,114.5,433.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="419.5313" y2="439.5313"/><polygon fill="#A80036" points="346.5,429.5313,350.5,439.5313,354.5,429.5313,350.5,433.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="325.5938" y2="345.5938"/><polygon fill="#A80036" points="270.5,335.5938,274.5,345.5938,278.5,335.5938,274.5,339.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="445.5313" y2="465.5313"/><polygon fill="#A80036" points="270.5,455.5313,274.5,465.5313,278.5,455.5313,274.5,459.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="513.4688" y2="541.75"/><polygon fill="#A80036" points="270.5,531.75,274.5,541.75,278.5,531.75,274.5,535.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="575.7188" y2="614"/><polygon fill="#A80036" points="270.5,604,274.5,614,278.5,604,274.5,608" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="274.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="255.6563" y2="277.6563"/><polygon fill="#A80036" points="270.5,267.6563,274.5,277.6563,278.5,267.6563,274.5,271.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="879.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="879.5" x2="879.5" y1="255.6563" y2="279.2227"/><polygon fill="#A80036" points="875.5,269.2227,879.5,279.2227,883.5,269.2227,879.5,273.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577" x2="577" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="573,233.6563,577,243.6563,581,233.6563,577,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e8574f2d1815e698c075a9031546c9b0]
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberUnsubscribe()\n
+
+
+note
+  - - **subscriber** : urt_nrtsubscriber_t* - -
+  The NRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nlock topic;
+  fork
+    :unregister event;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  endfork
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nunlock topic;
+  :reset members;
+  note
+    - - urt_basesubscriber_t - -
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberUnsubscribe.uml
new file mode 100644
index 0000000..87f0405
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/nrtsubscriber/urtNrtSubscriberUnsubscribe.uml
@@ -0,0 +1,71 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtNrtSubscriberUnsubscribe()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_nrtsubscriber_t* --
+  The NRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nlock topic;
+  fork
+    :unregister event;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  endfork
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nunlock topic;
+  :reset members;
+  note
+    -- urt_basesubscriber_t --
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberCalculateUsefulness.svg b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberCalculateUsefulness.svg
new file mode 100644
index 0000000..8524b23
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberCalculateUsefulness.svg
@@ -0,0 +1,41 @@
+<?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="348px" preserveAspectRatio="none" style="width:957px;height:348px;" version="1.1" viewBox="0 0 957 348" width="957px" zoomAndPan="magnify"><defs><filter height="300%" id="f15wrzz2gus8bc" 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="433" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="333" x="311" y="47.6611">urtSrtSubscriberCalculateUsefulness()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="480.5" y="68.6143"/><path d="M533,72.8594 L533,198.7891 L945,198.7891 L945,82.8594 L935,72.8594 L533,72.8594 " fill="#FBFB77" filter="url(#f15wrzz2gus8bc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M935,72.8594 L935,82.8594 L945,82.8594 L935,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="626.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="630.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="630.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="712.5" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="851.5" x2="945" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="539" y="105.0591">The SRT subscriber to calculate a usefulness for.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="539" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="619" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="651" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="667" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="671" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="671" y="134.8247">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="728" y="134.8247">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="811" x2="945" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="391" x="539" y="150.4575">Latency (of a message) as argument to calculate usefulness.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="945" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="945" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="692.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="696.5" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="696.5" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="36" x="745.5" y="175.0903">: float</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="785.5" x2="945" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="293" x="539" y="190.7231">Returns the usefulness as a value within [0,1].</text><ellipse cx="739" cy="228.7891" fill="#000000" filter="url(#f15wrzz2gus8bc)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,263.207 L10,288.3398 A0,0 0 0 0 10,288.3398 L560,288.3398 A0,0 0 0 0 560,288.3398 L560,281.207 L580,275.7734 L560,273.207 L560,273.207 L550,263.207 L10,263.207 A0,0 0 0 0 10,263.207 " fill="#FBFB77" filter="url(#f15wrzz2gus8bc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M550,263.207 L550,273.207 L560,273.207 L550,263.207 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="529" x="16" y="280.2739">The callback function must never return a negative value or a value greater than 1.</text><rect fill="#FEFECE" filter="url(#f15wrzz2gus8bc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="318" x="580" y="258.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="590" y="279.9277">execute the subscriber's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="749" y="279.9277">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="837" y="279.9277">function</text><path d="M501,311.1914 L501,336.3242 A0,0 0 0 0 501,336.3242 L708,336.3242 A0,0 0 0 0 708,336.3242 L708,329.1914 L728,323.7578 L708,321.1914 L708,321.1914 L698,311.1914 L501,311.1914 A0,0 0 0 0 501,311.1914 " fill="#FBFB77" filter="url(#f15wrzz2gus8bc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M698,311.1914 L698,321.1914 L708,321.1914 L698,311.1914 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="507" y="328.2583">Returns callback result value.</text><ellipse cx="739" cy="323.7578" fill="#FFFFFF" filter="url(#f15wrzz2gus8bc)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="739" cy="323.7578" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739" x2="739" y1="198.7891" y2="218.7891"/><polygon fill="#A80036" points="735,208.7891,739,218.7891,743,208.7891,739,212.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739" x2="739" y1="238.7891" y2="258.7891"/><polygon fill="#A80036" points="735,248.7891,739,258.7891,743,248.7891,739,252.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739" x2="739" y1="292.7578" y2="312.7578"/><polygon fill="#A80036" points="735,302.7578,739,312.7578,743,302.7578,739,306.7578" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a084fe7f835cdb3d14e1a1ea89d81f13]
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberCalculateUsefulness()\n
+
+
+note
+  - - **subscriber** : urt_srtsubscriber_t* - -
+  The SRT subscriber to calculate a usefulness for.
+  Must not be ""NULL"".
+  - - **latency** : urt_delay_t - -
+  Latency (of a message) as argument to calculate usefulness.
+  ====
+  - - **return** : float - -
+  Returns the usefulness as a value within [0,1].
+endnote
+
+
+start
+:execute the subscriber's ""usefulnesscb"" function;
+note
+  The callback function must never return a negative value or a value greater than 1.
+endnote
+stop
+note
+  Returns callback result value.
+endnote
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberCalculateUsefulness.uml b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberCalculateUsefulness.uml
new file mode 100644
index 0000000..55a3dba
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberCalculateUsefulness.uml
@@ -0,0 +1,55 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberCalculateUsefulness()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_srtsubscriber_t* --
+  The SRT subscriber to calculate a usefulness for.
+  Must not be ""NULL"".
+  -- **latency** : urt_delay_t --
+  Latency (of a message) as argument to calculate usefulness.
+  ====
+  -- **return** : float --
+  Returns the usefulness as a value within [0,1].
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+:execute the subscriber's ""usefulnesscb"" function;
+note
+  The callback function must never return a negative value or a value greater than 1.
+endnote
+stop
+note
+  Returns callback result value.
+endnote
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchLatestMessage.svg
new file mode 100644
index 0000000..6a4c685
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchLatestMessage.svg
@@ -0,0 +1,112 @@
+<?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="1355px" preserveAspectRatio="none" style="width:2576px;height:1355px;" version="1.1" viewBox="0 0 2576 1355" width="2576px" zoomAndPan="magnify"><defs><filter height="300%" id="f1t2x7gj32broj" 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="1242.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="335" x="1119.5" y="47.6611">urtSrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1290" y="68.6143"/><path d="M1423,72.8594 L1423,319.8516 L1975,319.8516 L1975,82.8594 L1965,72.8594 L1423,72.8594 " fill="#FBFB77" filter="url(#f1t2x7gj32broj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1965,72.8594 L1965,82.8594 L1975,82.8594 L1965,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1586.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1590.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1590.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="1672.5" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1811.5" x2="1975" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="312" x="1429" y="105.0591">The SRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1429" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1509" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1541" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1643" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1647" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1647" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1710" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1755" x2="1975" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1429" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1429" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1479" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1515" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1650" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1654" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1654" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1699" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1748" x2="1975" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1429" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1623.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1627.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1627.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1684.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1774.5" x2="1975" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1429" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1429" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1479" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1511" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1975" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1975" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1423" x2="1628" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1632" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1632" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1681" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1770" x2="1975" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1429" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1482" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1590" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1429" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1482" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1678" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1429" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1482" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="1694" y="311.7856">if there is no new message to fetch.</text><ellipse cx="1699" cy="349.8516" fill="#000000" filter="url(#f1t2x7gj32broj)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1t2x7gj32broj)" points="1636.5,379.8516,1761.5,379.8516,1773.5,391.8516,1761.5,403.8516,1636.5,403.8516,1624.5,391.8516,1636.5,379.8516" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1636.5" y="395.6597">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1604.5" y="389.2573">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1773.5" y="389.2573">no</text><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="776" y="413.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="786" y="434.9902">lock topic</text><rect fill="#FFFFFF" filter="url(#f1t2x7gj32broj)" height="348.8823" style="stroke: #000000; stroke-width: 2.0;" width="736" x="446.5" y="458.6221"/><path d="M591.5,459.6221 L591.5,467.9189 L581.5,477.9189 L446.5,477.9189 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="449.5" y="472.6172">find latest message</text><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="743.5" y="494.9189"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="44" x="753.5" y="516.0576">access</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="801.5" y="516.0576">lastMessage</text><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="480.5" y="604.5981"/><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="573" y="630.5981"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="583" y="651.7368">proceed to next message</text><rect fill="#EEEEEE" filter="url(#f1t2x7gj32broj)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="494.5" y="699.5669"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="494.5" x2="547.5" y1="716.5513" y2="716.5513"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="547.5" y="720.2056">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="779.5" x2="832.5" y1="716.5513" y2="716.5513"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="318" x="504.5" y="734.6743">decrement counter of consumers left (@message)</text><rect fill="#EEEEEE" filter="url(#f1t2x7gj32broj)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="860.5" y="665.0825"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="860.5" x2="883" y1="682.0669" y2="682.0669"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="883" y="685.7212">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1115" x2="1137.5" y1="682.0669" y2="682.0669"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="870.5" y="700.1899">increment counter of received messages</text><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="671" x="480.5" y="767.5044"/><polygon fill="#FEFECE" filter="url(#f1t2x7gj32broj)" points="699,548.8877,933,548.8877,945,560.8877,933,572.8877,699,572.8877,687,560.8877,699,548.8877" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="820" y="583.0981">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="699" y="564.6958">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="673" y="558.2935">no</text><polygon fill="#FEFECE" filter="url(#f1t2x7gj32broj)" points="730,827.5044,902,827.5044,914,839.5044,902,851.5044,730,851.5044,718,839.5044,730,827.5044" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="730" y="843.3125">Timestamp equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="698" y="836.9102">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="914" y="836.9102">no</text><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="279" y="861.5044"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="289" y="882.6431">unlock topic</text><path d="M10,930.4731 L10,955.606 A0,0 0 0 0 10,955.606 L296,955.606 A0,0 0 0 0 296,955.606 L296,948.4731 L316,943.0396 L296,940.4731 L296,940.4731 L286,930.4731 L10,930.4731 A0,0 0 0 0 10,930.4731 " fill="#FBFB77" filter="url(#f1t2x7gj32broj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M286,930.4731 L286,940.4731 L296,940.4731 L286,930.4731 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="947.54">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="69" y="947.54">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="277" y="947.54">.</text><ellipse cx="327" cy="943.0396" fill="#FFFFFF" filter="url(#f1t2x7gj32broj)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="327" cy="943.0396" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1854" x="385" y="861.5044"/><rect fill="#FFFFFF" filter="url(#f1t2x7gj32broj)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="622" x="397" y="991.1929"/><path d="M510,992.1929 L510,1000.4897 L500,1010.4897 L397,1010.4897 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="400" y="1005.188">fetch message</text><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="407" y="1027.4897"/><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="421" y="1053.4897"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="431" y="1074.6284">update message pointer</text><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="624" y="1053.4897"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="634" y="1074.6284">copy message origin time</text><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="832" y="1053.4897"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="842" y="1074.6284">copy message payload</text><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="407" y="1107.4585"/><path d="M1208.5,891.9224 L1208.5,917.0552 A0,0 0 0 0 1208.5,917.0552 L1528.5,917.0552 A0,0 0 0 0 1528.5,917.0552 L1528.5,909.9224 L1548.5,904.4888 L1528.5,901.9224 L1528.5,901.9224 L1518.5,891.9224 L1208.5,891.9224 A0,0 0 0 0 1208.5,891.9224 " fill="#FBFB77" filter="url(#f1t2x7gj32broj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1518.5,891.9224 L1518.5,901.9224 L1528.5,901.9224 L1518.5,891.9224 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="1214.5" y="908.9893">Can be optimized in case all flags are disabled.</text><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="1548.5" y="887.5044"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="1558.5" y="908.6431">calculate message latency</text><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1180" x="1047" y="956.4731"/><rect fill="#EEEEEE" filter="url(#f1t2x7gj32broj)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1061" y="1072.8413"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1061" x2="1071" y1="1089.8257" y2="1089.8257"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1071" y="1093.48">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1303" x2="1313" y1="1089.8257" y2="1089.8257"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1071" y="1107.9487">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="1148" y="1107.9487">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1236" y="1107.9487">value</text><rect fill="#EEEEEE" filter="url(#f1t2x7gj32broj)" height="220.9219" style="stroke: #000000; stroke-width: 2.0;" width="551" x="1341" y="973.2749"/><path d="M1622,974.2749 L1622,982.5718 L1612,992.5718 L1341,992.5718 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="1344" y="987.27">URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f1t2x7gj32broj)" points="1363,1034.5718,1564,1034.5718,1576,1046.5718,1564,1058.5718,1363,1058.5718,1351,1046.5718,1363,1034.5718" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1467.5" y="1068.7822">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="1363" y="1050.3799">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1488" y="1050.3799">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1558" y="1050.3799">?</text><rect fill="#EEEEEE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1375.5" y="1091.3765"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1385.5" y="1112.5151">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1434.5" y="1112.5151">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1508.5" y="1112.5151">value</text><polygon fill="#FEFECE" filter="url(#f1t2x7gj32broj)" points="1608,1034.5718,1820,1034.5718,1832,1046.5718,1820,1058.5718,1608,1058.5718,1596,1046.5718,1608,1034.5718" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1718" y="1068.7822">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="1608" y="1050.3799">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1744" y="1050.3799">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1814" y="1050.3799">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1832" y="1043.9775">no</text><rect fill="#EEEEEE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1626" y="1091.3765"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1636" y="1112.5151">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1685" y="1112.5151">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1759" y="1112.5151">value</text><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1986.5" y="1079.8257"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1996.5" y="1100.9644">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="2020.5" y="1100.9644">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="2073.5" y="1100.9644">value</text><polygon fill="#FEFECE" filter="url(#f1t2x7gj32broj)" points="1932,1031.4233,2171,1031.4233,2183,1043.4233,2171,1055.4233,1932,1055.4233,1920,1043.4233,1932,1031.4233" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2055.5" y="1065.6338">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="1932" y="1047.2314">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="1983" y="1047.2314">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="2036" y="1047.2314">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2183" y="1040.8291">no</text><polygon fill="#FEFECE" filter="url(#f1t2x7gj32broj)" points="2051.5,1138.1968,2063.5,1150.1968,2051.5,1162.1968,2039.5,1150.1968,2051.5,1138.1968" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1180" x="1047" y="1214.1968"/><rect fill="#000000" filter="url(#f1t2x7gj32broj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1854" x="385" y="1240.1968"/><rect fill="#FEFECE" filter="url(#f1t2x7gj32broj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1269" y="1266.1968"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1279" y="1287.3354">unlock topic</text><path d="M1104,1318.5991 L1104,1343.7319 A0,0 0 0 0 1104,1343.7319 L1286,1343.7319 A0,0 0 0 0 1286,1343.7319 L1286,1336.5991 L1306,1331.1655 L1286,1328.5991 L1286,1328.5991 L1276,1318.5991 L1104,1318.5991 A0,0 0 0 0 1104,1318.5991 " fill="#FBFB77" filter="url(#f1t2x7gj32broj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1276,1318.5991 L1276,1328.5991 L1286,1328.5991 L1276,1318.5991 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1110" y="1335.666">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1163" y="1335.666">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1267" y="1335.666">.</text><ellipse cx="1317" cy="1331.1655" fill="#FFFFFF" filter="url(#f1t2x7gj32broj)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1317" cy="1331.1655" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M2249,413.8516 L2249,438.9844 A0,0 0 0 0 2249,438.9844 L2519,438.9844 A0,0 0 0 0 2519,438.9844 L2519,431.8516 L2539,426.418 L2519,423.8516 L2519,423.8516 L2509,413.8516 L2249,413.8516 A0,0 0 0 0 2249,413.8516 " fill="#FBFB77" filter="url(#f1t2x7gj32broj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2509,413.8516 L2509,423.8516 L2519,423.8516 L2509,413.8516 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2255" y="430.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="2308" y="430.9185">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2500" y="430.9185">.</text><ellipse cx="2550" cy="426.418" fill="#FFFFFF" filter="url(#f1t2x7gj32broj)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2550" cy="426.418" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1699" x2="1699" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="1695,329.8516,1699,339.8516,1703,329.8516,1699,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="663.5" x2="663.5" y1="664.5669" y2="699.5669"/><polygon fill="#A80036" points="659.5,689.5669,663.5,699.5669,667.5,689.5669,663.5,693.5669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="663.5" x2="663.5" y1="610.5981" y2="630.5981"/><polygon fill="#A80036" points="659.5,620.5981,663.5,630.5981,667.5,620.5981,663.5,624.5981" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999" x2="999" y1="610.5981" y2="665.0825"/><polygon fill="#A80036" points="995,655.0825,999,665.0825,1003,655.0825,999,659.0825" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="663.5" x2="663.5" y1="747.5044" y2="767.5044"/><polygon fill="#A80036" points="659.5,757.5044,663.5,767.5044,667.5,757.5044,663.5,761.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999" x2="999" y1="713.02" y2="767.5044"/><polygon fill="#A80036" points="995,757.5044,999,767.5044,1003,757.5044,999,761.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="572.8877" y2="604.5981"/><polygon fill="#A80036" points="812,594.5981,816,604.5981,820,594.5981,816,598.5981" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="773.5044" y2="783.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="1163.5" y1="783.5044" y2="783.5044"/><polygon fill="#A80036" points="1159.5,680.6489,1163.5,670.6489,1167.5,680.6489,1163.5,676.6489" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1163.5" x2="1163.5" y1="560.8877" y2="783.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1163.5" x2="945" y1="560.8877" y2="560.8877"/><polygon fill="#A80036" points="955,556.8877,945,560.8877,955,564.8877,951,560.8877" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="687" x2="468.5" y1="560.8877" y2="560.8877"/><polygon fill="#A80036" points="464.5,666.6489,468.5,676.6489,472.5,666.6489,468.5,670.6489" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="468.5" x2="468.5" y1="560.8877" y2="795.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="468.5" x2="816" y1="795.5044" y2="795.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="795.5044" y2="827.5044"/><polygon fill="#A80036" points="812,817.5044,816,827.5044,820,817.5044,816,821.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="528.8877" y2="548.8877"/><polygon fill="#A80036" points="812,538.8877,816,548.8877,820,538.8877,816,542.8877" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="447.8203" y2="494.9189"/><polygon fill="#A80036" points="812,484.9189,816,494.9189,820,484.9189,816,488.9189" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="327" x2="327" y1="895.4731" y2="932.0396"/><polygon fill="#A80036" points="323,922.0396,327,932.0396,331,922.0396,327,926.0396" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508.5" x2="508.5" y1="1033.4897" y2="1053.4897"/><polygon fill="#A80036" points="504.5,1043.4897,508.5,1053.4897,512.5,1043.4897,508.5,1047.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="714" x2="714" y1="1033.4897" y2="1053.4897"/><polygon fill="#A80036" points="710,1043.4897,714,1053.4897,718,1043.4897,714,1047.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="913.5" x2="913.5" y1="1033.4897" y2="1053.4897"/><polygon fill="#A80036" points="909.5,1043.4897,913.5,1053.4897,917.5,1043.4897,913.5,1047.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508.5" x2="508.5" y1="1087.4585" y2="1107.4585"/><polygon fill="#A80036" points="504.5,1097.4585,508.5,1107.4585,512.5,1097.4585,508.5,1101.4585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="714" x2="714" y1="1087.4585" y2="1107.4585"/><polygon fill="#A80036" points="710,1097.4585,714,1107.4585,718,1097.4585,714,1101.4585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="913.5" x2="913.5" y1="1087.4585" y2="1107.4585"/><polygon fill="#A80036" points="909.5,1097.4585,913.5,1107.4585,917.5,1097.4585,913.5,1101.4585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1463.5" y1="1058.5718" y2="1091.3765"/><polygon fill="#A80036" points="1459.5,1081.3765,1463.5,1091.3765,1467.5,1081.3765,1463.5,1085.3765" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1463.5" y1="1125.3452" y2="1182.1968"/><polygon fill="#A80036" points="1459.5,1172.1968,1463.5,1182.1968,1467.5,1172.1968,1463.5,1176.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1714" x2="1714" y1="1058.5718" y2="1091.3765"/><polygon fill="#A80036" points="1710,1081.3765,1714,1091.3765,1718,1081.3765,1714,1085.3765" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1714" x2="1714" y1="1125.3452" y2="1182.1968"/><polygon fill="#A80036" points="1710,1172.1968,1714,1182.1968,1718,1172.1968,1714,1176.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1576" x2="1596" y1="1046.5718" y2="1046.5718"/><polygon fill="#A80036" points="1586,1042.5718,1596,1046.5718,1586,1050.5718,1590,1046.5718" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.5" x2="1616.5" y1="962.4731" y2="1009.5718"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.5" x2="1463.5" y1="1009.5718" y2="1009.5718"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1463.5" y1="1009.5718" y2="1034.5718"/><polygon fill="#A80036" points="1459.5,1024.5718,1463.5,1034.5718,1467.5,1024.5718,1463.5,1028.5718" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1832" x2="1867" y1="1046.5718" y2="1046.5718"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1867" x2="1867" y1="1046.5718" y2="1182.1968"/><polygon fill="#A80036" points="1863,1172.1968,1867,1182.1968,1871,1172.1968,1867,1176.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1463.5" x2="1867" y1="1182.1968" y2="1182.1968"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="1055.4233" y2="1079.8257"/><polygon fill="#A80036" points="2047.5,1069.8257,2051.5,1079.8257,2055.5,1069.8257,2051.5,1073.8257" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2183" x2="2195" y1="1043.4233" y2="1043.4233"/><polygon fill="#A80036" points="2191,1086.8101,2195,1096.8101,2199,1086.8101,2195,1090.8101" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2195" x2="2195" y1="1043.4233" y2="1150.1968"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2195" x2="2063.5" y1="1150.1968" y2="1150.1968"/><polygon fill="#A80036" points="2073.5,1146.1968,2063.5,1150.1968,2073.5,1154.1968,2069.5,1150.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="1113.7944" y2="1138.1968"/><polygon fill="#A80036" points="2047.5,1128.1968,2051.5,1138.1968,2055.5,1128.1968,2051.5,1132.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1187" x2="1187" y1="962.4731" y2="1072.8413"/><polygon fill="#A80036" points="1183,1062.8413,1187,1072.8413,1191,1062.8413,1187,1066.8413" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="962.4731" y2="1031.4233"/><polygon fill="#A80036" points="2047.5,1021.4233,2051.5,1031.4233,2055.5,1021.4233,2051.5,1025.4233" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2213" x2="2213" y1="962.4731" y2="1214.1968"/><polygon fill="#A80036" points="2209,1204.1968,2213,1214.1968,2217,1204.1968,2213,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1187" x2="1187" y1="1120.7788" y2="1214.1968"/><polygon fill="#A80036" points="1183,1204.1968,1187,1214.1968,1191,1204.1968,1187,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.5" x2="1616.5" y1="1182.1968" y2="1214.1968"/><polygon fill="#A80036" points="1612.5,1204.1968,1616.5,1214.1968,1620.5,1204.1968,1616.5,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2051.5" x2="2051.5" y1="1162.1968" y2="1214.1968"/><polygon fill="#A80036" points="2047.5,1204.1968,2051.5,1214.1968,2055.5,1204.1968,2051.5,1208.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1642" x2="1642" y1="921.4731" y2="956.4731"/><polygon fill="#A80036" points="1638,946.4731,1642,956.4731,1646,946.4731,1642,950.4731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708" x2="708" y1="867.5044" y2="1027.4897"/><polygon fill="#A80036" points="704,1017.4897,708,1027.4897,712,1017.4897,708,1021.4897" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1642" x2="1642" y1="867.5044" y2="887.5044"/><polygon fill="#A80036" points="1638,877.5044,1642,887.5044,1646,877.5044,1642,881.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="708" x2="708" y1="1113.4585" y2="1240.1968"/><polygon fill="#A80036" points="704,1230.1968,708,1240.1968,712,1230.1968,708,1234.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1642" x2="1642" y1="1220.1968" y2="1240.1968"/><polygon fill="#A80036" points="1638,1230.1968,1642,1240.1968,1646,1230.1968,1642,1234.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1317" x2="1317" y1="1246.1968" y2="1266.1968"/><polygon fill="#A80036" points="1313,1256.1968,1317,1266.1968,1321,1256.1968,1317,1260.1968" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1317" x2="1317" y1="1300.1655" y2="1320.1655"/><polygon fill="#A80036" points="1313,1310.1655,1317,1320.1655,1321,1310.1655,1317,1314.1655" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="718" x2="327" y1="839.5044" y2="839.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="327" x2="327" y1="839.5044" y2="861.5044"/><polygon fill="#A80036" points="323,851.5044,327,861.5044,331,851.5044,327,855.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="914" x2="1317" y1="839.5044" y2="839.5044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1317" x2="1317" y1="839.5044" y2="861.5044"/><polygon fill="#A80036" points="1313,851.5044,1317,861.5044,1321,851.5044,1317,855.5044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1624.5" x2="816" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816" x2="816" y1="391.8516" y2="413.8516"/><polygon fill="#A80036" points="812,403.8516,816,413.8516,820,403.8516,816,407.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1773.5" x2="2550" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2550" x2="2550" y1="391.8516" y2="415.418"/><polygon fill="#A80036" points="2546,405.418,2550,415.418,2554,405.418,2550,409.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1699" x2="1699" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="1695,369.8516,1699,379.8516,1703,369.8516,1699,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[571f72b86f830814e9d5c4b32c42daa0]
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberFetchLatestMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_srtsubscriber_t* - -
+  The SRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+    partition "find latest message" {
+    :access ""lastMessage"";
+    while (Timestamp of next message is younger?) is (yes)
+      fork
+        :proceed to next message;
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of received messages;
+      endfork
+    endwhile (no)
+  }
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    fork
+        partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+    fork again
+      :calculate message latency;
+      note
+        Can be optimized in case all flags are disabled.
+      endnote
+      fork
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+      fork again
+        partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+          if (Latency is lower than ""minLatency""?) then (yes)
+            #EEEEEE:update ""minLatency"" value;
+          elseif (Latency is greater than ""maxLatency""?) then (yes)
+            #EEEEEE:update ""maxLatency"" value;
+          else (no)
+          endif
+        }
+      fork again
+        if (Optional ""latency"" output argument given?) then (yes)
+          :set ""latency"" value;
+        else (no)
+        endif
+      fork again
+      endfork
+    endfork
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_OK"".
+    endnote
+  endif
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchLatestMessage.uml
new file mode 100644
index 0000000..5cae8d1
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchLatestMessage.uml
@@ -0,0 +1,105 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberFetchLatestMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_srtsubscriber_t* --
+  The SRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  $find_latest_message()
+  if (Timestamp equals local copy?) then (yes)
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+    endnote
+  else (no)
+    fork
+      $fetch_message()
+    fork again
+      :calculate message latency;
+      note
+        Can be optimized in case all flags are disabled.
+      endnote
+      fork
+        #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+      fork again
+        partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+          if (Latency is lower than ""minLatency""?) then (yes)
+            #EEEEEE:update ""minLatency"" value;
+          elseif (Latency is greater than ""maxLatency""?) then (yes)
+            #EEEEEE:update ""maxLatency"" value;
+          else (no)
+          endif
+        }
+      fork again
+        if (Optional ""latency"" output argument given?) then (yes)
+          :set ""latency"" value;
+        else (no)
+        endif
+      fork again
+      endfork
+    endfork
+    :unlock topic;
+    stop
+    note
+      Returns ""URT_STATUS_OK"".
+    endnote
+  endif
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchNextMessage.svg
new file mode 100644
index 0000000..8068bc1
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchNextMessage.svg
@@ -0,0 +1,117 @@
+<?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="1212px" preserveAspectRatio="none" style="width:2842px;height:1212px;" version="1.1" viewBox="0 0 2842 1212" width="2842px" zoomAndPan="magnify"><defs><filter height="300%" id="f8jjn13tt964u" 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="1375.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="325" x="1257.5" y="47.6611">urtSrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1423" y="68.6143"/><path d="M1753.75,72.8594 L1753.75,319.8516 L2305.75,319.8516 L2305.75,82.8594 L2295.75,72.8594 L1753.75,72.8594 " fill="#FBFB77" filter="url(#f8jjn13tt964u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2295.75,72.8594 L2295.75,82.8594 L2305.75,82.8594 L2295.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1917.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1921.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1921.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="2003.25" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2142.25" x2="2305.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="312" x="1759.75" y="105.0591">The SRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1759.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1839.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1871.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1973.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1977.75" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1977.75" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="2040.75" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2085.75" x2="2305.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1759.75" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1759.75" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1809.75" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1845.75" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1980.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1984.75" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1984.75" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="2029.75" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2078.75" x2="2305.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1759.75" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1954.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1958.25" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1958.25" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="2015.25" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2105.25" x2="2305.75" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1759.75" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1759.75" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1809.75" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1841.75" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="2305.75" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="2305.75" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1753.75" x2="1958.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1962.75" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1962.75" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="2011.75" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="2100.75" x2="2305.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1759.75" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1812.75" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1920.75" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1759.75" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1812.75" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="2008.75" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1759.75" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1812.75" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="2024.75" y="311.7856">if there is no new message to fetch.</text><ellipse cx="2029.75" cy="349.8516" fill="#000000" filter="url(#f8jjn13tt964u)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1967.25,379.8516,2092.25,379.8516,2104.25,391.8516,2092.25,403.8516,1967.25,403.8516,1955.25,391.8516,1967.25,379.8516" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1967.25" y="395.6597">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1935.25" y="389.2573">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2104.25" y="389.2573">no</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1189.5" y="413.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1199.5" y="434.9902">lock topic</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1080,467.8203,1379,467.8203,1391,479.8203,1379,491.8203,1080,491.8203,1068,479.8203,1080,467.8203" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="1080" y="483.6284">Timestamp of last read message equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1048" y="477.2261">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1391" y="477.2261">no</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="938.125,501.8203,1090.125,501.8203,1102.125,513.8203,1090.125,525.8203,938.125,525.8203,926.125,513.8203,938.125,501.8203" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="152" x="938.125" y="517.6284">Next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="906.125" y="511.2261">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1102.125" y="511.2261">no</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="709.875" y="535.8203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="719.875" y="556.959">proceed to next message</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1179.875" y="535.8203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1189.875" y="556.959">unlock topic</text><path d="M910.875,588.2227 L910.875,613.3555 A0,0 0 0 0 910.875,613.3555 L1196.875,613.3555 A0,0 0 0 0 1196.875,613.3555 L1196.875,606.2227 L1216.875,600.7891 L1196.875,598.2227 L1196.875,598.2227 L1186.875,588.2227 L910.875,588.2227 A0,0 0 0 0 910.875,588.2227 " fill="#FBFB77" filter="url(#f8jjn13tt964u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1186.875,588.2227 L1186.875,598.2227 L1196.875,598.2227 L1186.875,588.2227 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="916.875" y="605.2896">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="969.875" y="605.2896">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1177.875" y="605.2896">.</text><ellipse cx="1227.875" cy="600.7891" fill="#FFFFFF" filter="url(#f8jjn13tt964u)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1227.875" cy="600.7891" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#f8jjn13tt964u)" height="181.6992" style="stroke: #000000; stroke-width: 2.0;" width="302" x="1305.875" y="501.8203"/><path d="M1455.875,502.8203 L1455.875,511.1172 L1445.875,521.1172 L1305.875,521.1172 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="140" x="1308.875" y="515.8154">find oldest message</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1354.375" y="593.5508"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="1364.375" y="614.6895">proceed to next message</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1444.875,538.1172,1456.875,550.1172,1444.875,562.1172,1432.875,550.1172,1444.875,538.1172" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1327.875,647.5195,1561.875,647.5195,1573.875,659.5195,1561.875,671.5195,1327.875,671.5195,1315.875,659.5195,1327.875,647.5195" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="1327.875" y="663.3276">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1573.875" y="656.9253">yes</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1229.5,689.5195,1241.5,701.5195,1229.5,713.5195,1217.5,701.5195,1229.5,689.5195" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2495" x="10" y="733.5195"/><rect fill="#FFFFFF" filter="url(#f8jjn13tt964u)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="584" x="22" y="848.208"/><path d="M135,849.208 L135,857.5049 L125,867.5049 L22,867.5049 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="25" y="862.2031">fetch message</text><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="32" y="884.5049"/><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="46" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="56" y="931.6436">update message pointer</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="231" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="241" y="931.6436">copy message origin time</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="421" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="431" y="931.6436">copy message payload</text><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="564" x="32" y="964.4736"/><path d="M761.5,763.9375 L761.5,789.0703 A0,0 0 0 0 761.5,789.0703 L1081.5,789.0703 A0,0 0 0 0 1081.5,789.0703 L1081.5,781.9375 L1101.5,776.5039 L1081.5,773.9375 L1081.5,773.9375 L1071.5,763.9375 L761.5,763.9375 A0,0 0 0 0 761.5,763.9375 " fill="#FBFB77" filter="url(#f8jjn13tt964u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1071.5,763.9375 L1071.5,773.9375 L1081.5,773.9375 L1071.5,763.9375 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="767.5" y="781.0044">Can be optimized in case all flags are disabled.</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="1101.5" y="759.5195"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="1111.5" y="780.6582">calculate message latency</text><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1160" x="616" y="813.4883"/><rect fill="#EEEEEE" filter="url(#f8jjn13tt964u)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="628" y="929.8564"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="628" x2="638" y1="946.8408" y2="946.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="638" y="950.4951">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="870" x2="880" y1="946.8408" y2="946.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="638" y="964.9639">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="715" y="964.9639">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="803" y="964.9639">value</text><rect fill="#EEEEEE" filter="url(#f8jjn13tt964u)" height="220.9219" style="stroke: #000000; stroke-width: 2.0;" width="551" x="908" y="830.29"/><path d="M1189,831.29 L1189,839.5869 L1179,849.5869 L908,849.5869 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="911" y="844.2852">URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="930,891.5869,1131,891.5869,1143,903.5869,1131,915.5869,930,915.5869,918,903.5869,930,891.5869" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1034.5" y="925.7974">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="930" y="907.395">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1055" y="907.395">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1125" y="907.395">?</text><rect fill="#EEEEEE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="942.5" y="948.3916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="952.5" y="969.5303">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1001.5" y="969.5303">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1075.5" y="969.5303">value</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1175,891.5869,1387,891.5869,1399,903.5869,1387,915.5869,1175,915.5869,1163,903.5869,1175,891.5869" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1285" y="925.7974">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="1175" y="907.395">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="1311" y="907.395">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1381" y="907.395">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1399" y="900.9927">no</text><rect fill="#EEEEEE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="1193" y="948.3916"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="1203" y="969.5303">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="1252" y="969.5303">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1326" y="969.5303">value</text><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1553.5" y="936.8408"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1563.5" y="957.9795">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="1587.5" y="957.9795">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1640.5" y="957.9795">value</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1499,888.4385,1738,888.4385,1750,900.4385,1738,912.4385,1499,912.4385,1487,900.4385,1499,888.4385" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1622.5" y="922.6489">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="1499" y="904.2466">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="1550" y="904.2466">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1603" y="904.2466">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1750" y="897.8442">no</text><polygon fill="#FEFECE" filter="url(#f8jjn13tt964u)" points="1618.5,995.2119,1630.5,1007.2119,1618.5,1019.2119,1606.5,1007.2119,1618.5,995.2119" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1160" x="616" y="1071.2119"/><rect fill="#EEEEEE" filter="url(#f8jjn13tt964u)" height="142.2656" style="stroke: #000000; stroke-width: 2.0;" width="689" x="1804" y="848.208"/><path d="M2085,849.208 L2085,857.5049 L2075,867.5049 L1804,867.5049 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="271" x="1807" y="862.2031">URT_CFG_PUBSUB_PROFILING == true</text><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="669" x="1814" y="884.5049"/><rect fill="#EEEEEE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="338" x="1828" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="318" x="1838" y="931.6436">decrement counter of consumers left (@message)</text><rect fill="#EEEEEE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="2194" y="910.5049"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="2204" y="931.6436">increment counter of received messages</text><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="669" x="1814" y="964.4736"/><rect fill="#000000" filter="url(#f8jjn13tt964u)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2495" x="10" y="1097.2119"/><rect fill="#FEFECE" filter="url(#f8jjn13tt964u)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1181.5" y="1123.2119"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1191.5" y="1144.3506">unlock topic</text><path d="M1016.5,1175.6143 L1016.5,1200.7471 A0,0 0 0 0 1016.5,1200.7471 L1198.5,1200.7471 A0,0 0 0 0 1198.5,1200.7471 L1198.5,1193.6143 L1218.5,1188.1807 L1198.5,1185.6143 L1198.5,1185.6143 L1188.5,1175.6143 L1016.5,1175.6143 A0,0 0 0 0 1016.5,1175.6143 " fill="#FBFB77" filter="url(#f8jjn13tt964u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1188.5,1175.6143 L1188.5,1185.6143 L1198.5,1185.6143 L1188.5,1175.6143 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1022.5" y="1192.6812">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1075.5" y="1192.6812">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1179.5" y="1192.6812">.</text><ellipse cx="1229.5" cy="1188.1807" fill="#FFFFFF" filter="url(#f8jjn13tt964u)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1229.5" cy="1188.1807" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M2515,413.8516 L2515,438.9844 A0,0 0 0 0 2515,438.9844 L2785,438.9844 A0,0 0 0 0 2785,438.9844 L2785,431.8516 L2805,426.418 L2785,423.8516 L2785,423.8516 L2775,413.8516 L2515,413.8516 A0,0 0 0 0 2515,413.8516 " fill="#FBFB77" filter="url(#f8jjn13tt964u)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2775,413.8516 L2775,423.8516 L2785,423.8516 L2775,413.8516 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="2521" y="430.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="2574" y="430.9185">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="2766" y="430.9185">.</text><ellipse cx="2816" cy="426.418" fill="#FFFFFF" filter="url(#f8jjn13tt964u)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="2816" cy="426.418" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2029.75" x2="2029.75" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="2025.75,329.8516,2029.75,339.8516,2033.75,329.8516,2029.75,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1227.875" x2="1227.875" y1="569.7891" y2="589.7891"/><polygon fill="#A80036" points="1223.875,579.7891,1227.875,589.7891,1231.875,579.7891,1227.875,583.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="926.125" x2="800.375" y1="513.8203" y2="513.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.375" x2="800.375" y1="513.8203" y2="535.8203"/><polygon fill="#A80036" points="796.375,525.8203,800.375,535.8203,804.375,525.8203,800.375,529.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1102.125" x2="1227.875" y1="513.8203" y2="513.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1227.875" x2="1227.875" y1="513.8203" y2="535.8203"/><polygon fill="#A80036" points="1223.875,525.8203,1227.875,535.8203,1231.875,525.8203,1227.875,529.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.375" x2="800.375" y1="569.7891" y2="701.5195"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.375" x2="1217.5" y1="701.5195" y2="701.5195"/><polygon fill="#A80036" points="1207.5,697.5195,1217.5,701.5195,1207.5,705.5195,1211.5,701.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="562.1172" y2="593.5508"/><polygon fill="#A80036" points="1440.875,583.5508,1444.875,593.5508,1448.875,583.5508,1444.875,587.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1573.875" x2="1585.875" y1="659.5195" y2="659.5195"/><polygon fill="#A80036" points="1581.875,620.5352,1585.875,610.5352,1589.875,620.5352,1585.875,616.5352" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1585.875" x2="1585.875" y1="550.1172" y2="659.5195"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1585.875" x2="1456.875" y1="550.1172" y2="550.1172"/><polygon fill="#A80036" points="1466.875,546.1172,1456.875,550.1172,1466.875,554.1172,1462.875,550.1172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="627.5195" y2="647.5195"/><polygon fill="#A80036" points="1440.875,637.5195,1444.875,647.5195,1448.875,637.5195,1444.875,641.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1068" x2="1014.125" y1="479.8203" y2="479.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1014.125" x2="1014.125" y1="479.8203" y2="501.8203"/><polygon fill="#A80036" points="1010.125,491.8203,1014.125,501.8203,1018.125,491.8203,1014.125,495.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1391" x2="1444.875" y1="479.8203" y2="479.8203"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="479.8203" y2="538.1172"/><polygon fill="#A80036" points="1440.875,528.1172,1444.875,538.1172,1448.875,528.1172,1444.875,532.1172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1444.875" y1="671.5195" y2="701.5195"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1444.875" x2="1241.5" y1="701.5195" y2="701.5195"/><polygon fill="#A80036" points="1251.5,697.5195,1241.5,701.5195,1251.5,705.5195,1247.5,701.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="447.8203" y2="467.8203"/><polygon fill="#A80036" points="1225.5,457.8203,1229.5,467.8203,1233.5,457.8203,1229.5,461.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="129.5,900.5049,133.5,910.5049,137.5,900.5049,133.5,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="321" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="317,900.5049,321,910.5049,325,900.5049,321,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="502.5" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="498.5,900.5049,502.5,910.5049,506.5,900.5049,502.5,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="129.5,954.4736,133.5,964.4736,137.5,954.4736,133.5,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="321" x2="321" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="317,954.4736,321,964.4736,325,954.4736,321,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="502.5" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="498.5,954.4736,502.5,964.4736,506.5,954.4736,502.5,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1030.5" y1="915.5869" y2="948.3916"/><polygon fill="#A80036" points="1026.5,938.3916,1030.5,948.3916,1034.5,938.3916,1030.5,942.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1030.5" y1="982.3604" y2="1039.2119"/><polygon fill="#A80036" points="1026.5,1029.2119,1030.5,1039.2119,1034.5,1029.2119,1030.5,1033.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1281" x2="1281" y1="915.5869" y2="948.3916"/><polygon fill="#A80036" points="1277,938.3916,1281,948.3916,1285,938.3916,1281,942.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1281" x2="1281" y1="982.3604" y2="1039.2119"/><polygon fill="#A80036" points="1277,1029.2119,1281,1039.2119,1285,1029.2119,1281,1033.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1143" x2="1163" y1="903.5869" y2="903.5869"/><polygon fill="#A80036" points="1153,899.5869,1163,903.5869,1153,907.5869,1157,903.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1183.5" x2="1183.5" y1="819.4883" y2="866.5869"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1183.5" x2="1030.5" y1="866.5869" y2="866.5869"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1030.5" y1="866.5869" y2="891.5869"/><polygon fill="#A80036" points="1026.5,881.5869,1030.5,891.5869,1034.5,881.5869,1030.5,885.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1399" x2="1434" y1="903.5869" y2="903.5869"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1434" x2="1434" y1="903.5869" y2="1039.2119"/><polygon fill="#A80036" points="1430,1029.2119,1434,1039.2119,1438,1029.2119,1434,1033.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1030.5" x2="1434" y1="1039.2119" y2="1039.2119"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="912.4385" y2="936.8408"/><polygon fill="#A80036" points="1614.5,926.8408,1618.5,936.8408,1622.5,926.8408,1618.5,930.8408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1750" x2="1762" y1="900.4385" y2="900.4385"/><polygon fill="#A80036" points="1758,943.8252,1762,953.8252,1766,943.8252,1762,947.8252" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1762" x2="1762" y1="900.4385" y2="1007.2119"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1762" x2="1630.5" y1="1007.2119" y2="1007.2119"/><polygon fill="#A80036" points="1640.5,1003.2119,1630.5,1007.2119,1640.5,1011.2119,1636.5,1007.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="970.8096" y2="995.2119"/><polygon fill="#A80036" points="1614.5,985.2119,1618.5,995.2119,1622.5,985.2119,1618.5,989.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="754" y1="819.4883" y2="929.8564"/><polygon fill="#A80036" points="750,919.8564,754,929.8564,758,919.8564,754,923.8564" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="819.4883" y2="888.4385"/><polygon fill="#A80036" points="1614.5,878.4385,1618.5,888.4385,1622.5,878.4385,1618.5,882.4385" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="754" y1="977.7939" y2="1071.2119"/><polygon fill="#A80036" points="750,1061.2119,754,1071.2119,758,1061.2119,754,1065.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1183.5" x2="1183.5" y1="1039.2119" y2="1071.2119"/><polygon fill="#A80036" points="1179.5,1061.2119,1183.5,1071.2119,1187.5,1061.2119,1183.5,1065.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1618.5" x2="1618.5" y1="1019.2119" y2="1071.2119"/><polygon fill="#A80036" points="1614.5,1061.2119,1618.5,1071.2119,1622.5,1061.2119,1618.5,1065.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1195" x2="1195" y1="793.4883" y2="813.4883"/><polygon fill="#A80036" points="1191,803.4883,1195,813.4883,1199,803.4883,1195,807.4883" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1997" x2="1997" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="1993,900.5049,1997,910.5049,2001,900.5049,1997,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2332.5" x2="2332.5" y1="890.5049" y2="910.5049"/><polygon fill="#A80036" points="2328.5,900.5049,2332.5,910.5049,2336.5,900.5049,2332.5,904.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1997" x2="1997" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="1993,954.4736,1997,964.4736,2001,954.4736,1997,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2332.5" x2="2332.5" y1="944.4736" y2="964.4736"/><polygon fill="#A80036" points="2328.5,954.4736,2332.5,964.4736,2336.5,954.4736,2332.5,958.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="315" x2="315" y1="739.5195" y2="884.5049"/><polygon fill="#A80036" points="311,874.5049,315,884.5049,319,874.5049,315,878.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1195" x2="1195" y1="739.5195" y2="759.5195"/><polygon fill="#A80036" points="1191,749.5195,1195,759.5195,1199,749.5195,1195,753.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2149.5" x2="2149.5" y1="739.5195" y2="884.5049"/><polygon fill="#A80036" points="2145.5,874.5049,2149.5,884.5049,2153.5,874.5049,2149.5,878.5049" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="315" x2="315" y1="970.4736" y2="1097.2119"/><polygon fill="#A80036" points="311,1087.2119,315,1097.2119,319,1087.2119,315,1091.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1195" x2="1195" y1="1077.2119" y2="1097.2119"/><polygon fill="#A80036" points="1191,1087.2119,1195,1097.2119,1199,1087.2119,1195,1091.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2149.5" x2="2149.5" y1="970.4736" y2="1097.2119"/><polygon fill="#A80036" points="2145.5,1087.2119,2149.5,1097.2119,2153.5,1087.2119,2149.5,1091.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="713.5195" y2="733.5195"/><polygon fill="#A80036" points="1225.5,723.5195,1229.5,733.5195,1233.5,723.5195,1229.5,727.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="1103.2119" y2="1123.2119"/><polygon fill="#A80036" points="1225.5,1113.2119,1229.5,1123.2119,1233.5,1113.2119,1229.5,1117.2119" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="1157.1807" y2="1177.1807"/><polygon fill="#A80036" points="1225.5,1167.1807,1229.5,1177.1807,1233.5,1167.1807,1229.5,1171.1807" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1955.25" x2="1229.5" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1229.5" x2="1229.5" y1="391.8516" y2="413.8516"/><polygon fill="#A80036" points="1225.5,403.8516,1229.5,413.8516,1233.5,403.8516,1229.5,407.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2104.25" x2="2816" y1="391.8516" y2="391.8516"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2816" x2="2816" y1="391.8516" y2="415.418"/><polygon fill="#A80036" points="2812,405.418,2816,415.418,2820,405.418,2816,409.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2029.75" x2="2029.75" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="2025.75,369.8516,2029.75,379.8516,2033.75,369.8516,2029.75,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5871b68aa22ec339d1ba5ba8b1f98461]
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberFetchNextMessage()\n
+
+
+
+
+
+
+
+note
+  - - **subscriber** : urt_srtsubscriber_t* - -
+  The SRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  - - **payload** : void* - -
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  - - **bytes** : size_t - -
+  Payload size in bytes.
+  - - **latency** : urt_delay_t* - -
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Timestamp of last read message equals local copy?) then (yes)
+    if (Next message is younger?) then (yes)
+      :proceed to next message;
+    else (no)
+      :unlock topic;
+      stop
+      note
+        Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+      endnote
+    endif
+  else (no)
+    partition "find oldest message" {
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp of next message is younger?) is (yes)
+    }
+  endif
+  fork
+      partition "fetch message" {
+    fork
+      :update message pointer;
+    fork again
+      :copy message origin time;
+    fork again
+      :copy message payload;
+    endfork
+  }
+  fork again
+    :calculate message latency;
+    note
+      Can be optimized in case all flags are disabled.
+    endnote
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+        if (Latency is lower than ""minLatency""?) then (yes)
+          #EEEEEE:update ""minLatency"" value;
+        elseif (Latency is greater than ""maxLatency""?) then (yes)
+          #EEEEEE:update ""maxLatency"" value;
+        else (no)
+        endif
+      }
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchNextMessage.uml
new file mode 100644
index 0000000..32ccde0
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberFetchNextMessage.uml
@@ -0,0 +1,120 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberFetchNextMessage()\n
+
+!include ../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_srtsubscriber_t* --
+  The SRT subscriber that shall fetch the message.
+  Must not be ""NULL"".
+  -- **payload** : void* --
+  Pointer where to copy the payload to.
+  May be ""NULL"" for messages without payload.
+  -- **bytes** : size_t --
+  Payload size in bytes.
+  -- **latency** : urt_delay_t* --
+  The latency can be returned by reference.
+  May be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
+  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  :lock topic;
+  if (Timestamp of last read message equals local copy?) then (yes)
+    if (Next message is younger?) then (yes)
+      :proceed to next message;
+    else (no)
+      :unlock topic;
+      stop
+      note
+        Returns ""URT_STATUS_FETCH_NOMESSAGE"".
+      endnote
+    endif
+  else (no)
+    partition "find oldest message" {
+      repeat
+        :proceed to next message;
+      repeat while (Timestamp of next message is younger?) is (yes)
+    }
+  endif
+  fork
+    $fetch_message()
+  fork again
+    :calculate message latency;
+    note
+      Can be optimized in case all flags are disabled.
+    endnote
+    fork
+      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
+    fork again
+      partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+        if (Latency is lower than ""minLatency""?) then (yes)
+          #EEEEEE:update ""minLatency"" value;
+        elseif (Latency is greater than ""maxLatency""?) then (yes)
+          #EEEEEE:update ""maxLatency"" value;
+        else (no)
+        endif
+      }
+    fork again
+      if (Optional ""latency"" output argument given?) then (yes)
+        :set ""latency"" value;
+      else (no)
+      endif
+    endfork
+  fork again
+    partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
+      fork
+        #EEEEEE:decrement counter of consumers left (@message);
+      fork again
+        #EEEEEE:increment counter of received messages;
+      endfork
+    }
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_FETCH_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberInit.svg
new file mode 100644
index 0000000..c96b358
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberInit.svg
@@ -0,0 +1,48 @@
+<?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="478px" preserveAspectRatio="none" style="width:508px;height:478px;" version="1.1" viewBox="0 0 508 478" width="508px" zoomAndPan="magnify"><defs><filter height="300%" id="fnbneigsl44qa" 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="208.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="188" x="159.25" y="47.6611">urtSrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="256.25" y="68.6143"/><path d="M250.5,72.8594 L250.5,153.3906 L496.5,153.3906 L496.5,82.8594 L486.5,72.8594 L250.5,72.8594 " fill="#FBFB77" filter="url(#fnbneigsl44qa)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M486.5,72.8594 L486.5,82.8594 L496.5,82.8594 L486.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="261" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="265" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="265" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="347" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="486" x2="496.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="256.5" y="105.0591">The SRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="256.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="336.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="368.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="496.5" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="496.5" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="328" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="332" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="332" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="381" y="144.8247">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="419" x2="496.5" y1="140.8242" y2="140.8242"/><ellipse cx="373.5" cy="183.3906" fill="#000000" filter="url(#fnbneigsl44qa)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,203.3906 L10,425.25 A0,0 0 0 0 10,425.25 L288,425.25 A0,0 0 0 0 288,425.25 L288,318.3203 L308,314.3203 L288,310.3203 L288,213.3906 L278,203.3906 L10,203.3906 A0,0 0 0 0 10,203.3906 " fill="#FBFB77" filter="url(#fnbneigsl44qa)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,203.3906 L278,213.3906 L288,213.3906 L278,203.3906 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="78" y1="215.957" y2="215.957"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="82" y="219.9575">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="288" y1="215.957" y2="215.957"/><ellipse cx="21.5" cy="231.1563" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="27" y="235.5903">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="68" y="235.5903">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="83" y="235.5903">NULL</text><ellipse cx="21.5" cy="246.2891" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="27" y="250.7231">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="156" y="250.7231">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="238" y="250.7231">)</text><ellipse cx="21.5" cy="261.4219" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="265.856">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="124" y="265.856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="139" y="265.856">NULL</text><ellipse cx="21.5" cy="276.5547" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="280.9888">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="159" y="280.9888">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="291.6211" y2="291.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="295.6216">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="291.6211" y2="291.6211"/><ellipse cx="21.5" cy="306.8203" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="27" y="311.2544">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="132" y="311.2544">← 0</text><ellipse cx="21.5" cy="321.9531" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="27" y="326.3872">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="204" y="326.3872">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="85" y1="337.0195" y2="337.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="89" y="341.02">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="213" x2="288" y1="337.0195" y2="337.0195"/><ellipse cx="21.5" cy="352.2188" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="97" x="27" y="356.6528">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="128" y="356.6528">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="143" y="356.6528">NULL</text><ellipse cx="21.5" cy="367.3516" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="74" x="27" y="371.7856">cbparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="105" y="371.7856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="120" y="371.7856">NULL</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="386.4185">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="382.418" y2="382.418"/><ellipse cx="21.5" cy="397.6172" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="27" y="402.0513">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="115" y="402.0513">← 0xF..F</text><ellipse cx="21.5" cy="412.75" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="27" y="417.1841">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="119" y="417.1841">← 0</text><rect fill="#FEFECE" filter="url(#fnbneigsl44qa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="308" y="297.3359"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="318" y="318.4746">initialize members</text><ellipse cx="373.5" cy="456.25" fill="#FFFFFF" filter="url(#fnbneigsl44qa)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="373.5" cy="456.25" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="369.5,163.3906,373.5,173.3906,377.5,163.3906,373.5,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="193.3906" y2="297.3359"/><polygon fill="#A80036" points="369.5,287.3359,373.5,297.3359,377.5,287.3359,373.5,291.3359" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="331.3047" y2="445.25"/><polygon fill="#A80036" points="369.5,435.25,373.5,445.25,377.5,435.25,373.5,439.25" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3fb89f96f245540fb41ba1e970a3dc54]
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberInit()\n
+
+
+note
+  - - **subscriber** : urt_srtsubscriber_t* - -
+  The SRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  - - **return** : void - -
+endnote
+
+
+start
+:initialize members;
+note
+  - - urt_basesubscriber_t - -
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  - - urt_srtsubscriber_t - -
+  * **usefulnesscb** ← ""NULL""
+  * **cbparams** ← ""NULL""
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberInit.uml
new file mode 100644
index 0000000..61e652e
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberInit.uml
@@ -0,0 +1,62 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberInit()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_srtsubscriber_t* --
+  The SRT subscriber to initialize.
+  Must not be ""NULL"".
+  ====
+  -- **return** : void --
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+:initialize members;
+note
+  -- urt_basesubscriber_t --
+  * **topic** ← ""NULL""
+  * urtEventListenerInit(**evtListener**)
+  * **lastMessage** ← ""NULL""
+  * **lastMessageTime** ← 0
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **sumLatencies** ← 0
+  * **numMessagesReceived** ← 0
+  -- urt_srtsubscriber_t --
+  * **usefulnesscb** ← ""NULL""
+  * **cbparams** ← ""NULL""
+  .. URT_CFG_PUBSUB_PROFILING == true ..
+  * **minLatency** ← 0xF..F
+  * **maxLatency** ← 0
+endnote
+stop
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberSubscribe.svg
new file mode 100644
index 0000000..4a003d3
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberSubscribe.svg
@@ -0,0 +1,105 @@
+<?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="1132px" preserveAspectRatio="none" style="width:2815px;height:1132px;" version="1.1" viewBox="0 0 2815 1132" width="2815px" zoomAndPan="magnify"><defs><filter height="300%" id="fkibestwwv36w" 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="1362" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="244" x="1284.5" y="47.6611">urtSrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1409.5" y="68.6143"/><path d="M656.5,72.8594 L656.5,395.5156 L1274.5,395.5156 L1274.5,82.8594 L1264.5,72.8594 L656.5,72.8594 " fill="#FBFB77" filter="url(#fkibestwwv36w)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1264.5,72.8594 L1264.5,82.8594 L1274.5,82.8594 L1264.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="853" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="857" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="857" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="939" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1078" x2="1274.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="326" x="662.5" y="105.0591">The SRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="662.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="742.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="774.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="899.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="903.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="903.5" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="944.5" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1031.5" x2="1274.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="662.5" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="662.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="742.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="774.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="866.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="870.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="870.5" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="949.5" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1064.5" x2="1274.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="662.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="698.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="662.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="662.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="662.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="712.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="748.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="829" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="833" y="255.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="97" x="833" y="255.8872">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="934" y="255.8872">: urt_srtusefulnessfunc_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1102" x2="1274.5" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="374" x="662.5" y="271.52">Pointer to a function to calculate usefulness of a message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="662.5" y="286.6528">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="742.5" y="286.6528">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="774.5" y="286.6528">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="902" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="906" y="301.2856"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="74" x="906" y="301.2856">cbparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="984" y="301.2856">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1029" x2="1274.5" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="309" x="662.5" y="316.9185">Optional parameters for the usefulness callback.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="662.5" y="332.0513">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="712.5" y="332.0513">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="748.5" y="332.0513">if the callback expects no parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="1274.5" y1="340.1172" y2="340.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="1274.5" y1="342.1172" y2="342.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="656.5" x2="894.5" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="898.5" y="356.6841"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="898.5" y="356.6841">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="947.5" y="356.6841">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1036.5" x2="1274.5" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="662.5" y="372.3169">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="715.5" y="372.3169">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="823.5" y="372.3169">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="662.5" y="387.4497">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="715.5" y="387.4497">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="951.5" y="387.4497">if the subscriber is already associated to a topic.</text><ellipse cx="965.5" cy="425.5156" fill="#000000" filter="url(#fkibestwwv36w)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fkibestwwv36w)" points="908,455.5156,1023,455.5156,1035,467.5156,1023,479.5156,908,479.5156,896,467.5156,908,455.5156" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="908" y="471.3237">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="876" y="464.9214">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1035" y="464.9214">no</text><path d="M10,489.5156 L10,514.6484 A0,0 0 0 0 10,514.6484 L320,514.6484 A0,0 0 0 0 320,514.6484 L320,507.5156 L340,502.082 L320,499.5156 L320,499.5156 L310,489.5156 L10,489.5156 A0,0 0 0 0 10,489.5156 " fill="#FBFB77" filter="url(#fkibestwwv36w)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M310,489.5156 L310,499.5156 L320,499.5156 L310,489.5156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="506.5825">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="232" x="69" y="506.5825">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="301" y="506.5825">.</text><ellipse cx="351" cy="502.082" fill="#FFFFFF" filter="url(#fkibestwwv36w)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="351" cy="502.082" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="963" x="1120.5" y="489.5156"/><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1134.5" y="564.0625"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1144.5" y="585.2012">set topic</text><path d="M1237.5,560.9141 L1237.5,601.1797 A0,0 0 0 0 1237.5,601.1797 L1468.5,601.1797 A0,0 0 0 0 1468.5,601.1797 L1468.5,585.0469 L1488.5,581.0469 L1468.5,577.0469 L1468.5,570.9141 L1458.5,560.9141 L1237.5,560.9141 A0,0 0 0 0 1237.5,560.9141 " fill="#FBFB77" filter="url(#fkibestwwv36w)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1458.5,560.9141 L1458.5,570.9141 L1468.5,570.9141 L1458.5,560.9141 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="1249" cy="573.5469" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="97" x="1254.5" y="577.981">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="98" x="1355.5" y="577.981">← usefulnesscb</text><ellipse cx="1249" cy="588.6797" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="74" x="1254.5" y="593.1138">cbparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1332.5" y="593.1138">← cbparams</text><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="1488.5" y="564.0625"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="1498.5" y="585.2012">initialize callback</text><path d="M1640.5,515.5156 L1640.5,646.5781 A0,0 0 0 0 1640.5,646.5781 L1918.5,646.5781 A0,0 0 0 0 1918.5,646.5781 L1918.5,585.0469 L1938.5,581.0469 L1918.5,577.0469 L1918.5,525.5156 L1908.5,515.5156 L1640.5,515.5156 A0,0 0 0 0 1640.5,515.5156 " fill="#EEEEEE" filter="url(#fkibestwwv36w)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1908.5,515.5156 L1908.5,525.5156 L1918.5,525.5156 L1908.5,515.5156 " fill="#EEEEEE" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1640.5" x2="1708.5" y1="528.082" y2="528.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="1712.5" y="532.0825">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1850.5" x2="1918.5" y1="528.082" y2="528.082"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1640.5" x2="1651" y1="543.2148" y2="543.2148"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="1655" y="547.2153">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1908" x2="1918.5" y1="543.2148" y2="543.2148"/><ellipse cx="1652" cy="558.4141" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="1657.5" y="562.8481">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1762.5" y="562.8481">← 0</text><ellipse cx="1652" cy="573.5469" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="1657.5" y="577.981">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1834.5" y="577.981">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1640.5" x2="1715.5" y1="588.6133" y2="588.6133"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="1719.5" y="592.6138">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1843.5" x2="1918.5" y1="588.6133" y2="588.6133"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1640.5" x2="1651" y1="603.7461" y2="603.7461"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="1655" y="607.7466">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1908" x2="1918.5" y1="603.7461" y2="603.7461"/><ellipse cx="1652" cy="618.9453" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="1657.5" y="623.3794">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="1745.5" y="623.3794">← 0xF..F</text><ellipse cx="1652" cy="634.0781" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="1657.5" y="638.5122">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="1749.5" y="638.5122">← 0</text><rect fill="#EEEEEE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="1938.5" y="564.0625"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="1948.5" y="585.2012">initialize members</text><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="963" x="1120.5" y="666.5781"/><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1562" y="692.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1572" y="713.7168">lock topic</text><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2432" x="372" y="746.5469"/><rect fill="#FFFFFF" filter="url(#fkibestwwv36w)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1170" x="384" y="819.0591"/><path d="M541,820.0591 L541,828.356 L531,838.356 L384,838.356 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="387" y="833.0542">contribute messages</text><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="855.356"/><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="619" x="408" y="881.356"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="418" y="902.4946">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="442" y="902.4946">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="543" x="474" y="902.4946">pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="1055" y="881.356"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="1065" y="902.4946">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="1089" y="902.4946">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="1121" y="902.4946">pointer of topic's latest message to first message to contribute</text><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1150" x="394" y="935.3247"/><polygon fill="#FEFECE" filter="url(#fkibestwwv36w)" points="899,772.5469,1039,772.5469,1051,784.5469,1039,796.5469,899,796.5469,887,784.5469,899,772.5469" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="973" y="806.7573">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="899" y="788.355">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1051" y="781.9526">no</text><polygon fill="#FEFECE" filter="url(#fkibestwwv36w)" points="969,973.3247,981,985.3247,969,997.3247,957,985.3247,969,973.3247" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1604" y="847.2075"/><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1618" y="873.2075"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1628" y="894.3462">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1959" y="873.2075"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1969" y="894.3462">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1604" y="927.1763"/><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2278" y="873.2075"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2288" y="894.3462">register to topic's event source</text><rect fill="#EEEEEE" filter="url(#fkibestwwv36w)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="2505" y="866.2231"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2505" x2="2532.5" y1="883.2075" y2="883.2075"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="2532.5" y="886.8618">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2764.5" x2="2792" y1="883.2075" y2="883.2075"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="267" x="2515" y="901.3306">increment counter of subscribers (@topic)</text><rect fill="#000000" filter="url(#fkibestwwv36w)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2432" x="372" y="1017.3247"/><rect fill="#FEFECE" filter="url(#fkibestwwv36w)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1554" y="1043.3247"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1564" y="1064.4634">unlock topic</text><path d="M1389,1095.7271 L1389,1120.8599 A0,0 0 0 0 1389,1120.8599 L1571,1120.8599 A0,0 0 0 0 1571,1120.8599 L1571,1113.7271 L1591,1108.2935 L1571,1105.7271 L1571,1105.7271 L1561,1095.7271 L1389,1095.7271 A0,0 0 0 0 1389,1095.7271 " fill="#FBFB77" filter="url(#fkibestwwv36w)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1561,1095.7271 L1561,1105.7271 L1571,1105.7271 L1561,1095.7271 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1395" y="1112.7939">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1448" y="1112.7939">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1552" y="1112.7939">.</text><ellipse cx="1602" cy="1108.2935" fill="#FFFFFF" filter="url(#fkibestwwv36w)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1602" cy="1108.2935" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="965.5" x2="965.5" y1="395.5156" y2="415.5156"/><polygon fill="#A80036" points="961.5,405.5156,965.5,415.5156,969.5,405.5156,965.5,409.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1172" x2="1172" y1="495.5156" y2="564.0625"/><polygon fill="#A80036" points="1168,554.0625,1172,564.0625,1176,554.0625,1172,558.0625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1550.5" x2="1550.5" y1="495.5156" y2="564.0625"/><polygon fill="#A80036" points="1546.5,554.0625,1550.5,564.0625,1554.5,554.0625,1550.5,558.0625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2004" x2="2004" y1="495.5156" y2="564.0625"/><polygon fill="#A80036" points="2000,554.0625,2004,564.0625,2008,554.0625,2004,558.0625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1172" x2="1172" y1="598.0313" y2="666.5781"/><polygon fill="#A80036" points="1168,656.5781,1172,666.5781,1176,656.5781,1172,660.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1550.5" x2="1550.5" y1="598.0313" y2="666.5781"/><polygon fill="#A80036" points="1546.5,656.5781,1550.5,666.5781,1554.5,656.5781,1550.5,660.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2004" x2="2004" y1="598.0313" y2="666.5781"/><polygon fill="#A80036" points="2000,656.5781,2004,666.5781,2008,656.5781,2004,660.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="672.5781" y2="692.5781"/><polygon fill="#A80036" points="1598,682.5781,1602,692.5781,1606,682.5781,1602,686.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="861.356" y2="881.356"/><polygon fill="#A80036" points="713.5,871.356,717.5,881.356,721.5,871.356,717.5,875.356" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="861.356" y2="881.356"/><polygon fill="#A80036" points="1288.5,871.356,1292.5,881.356,1296.5,871.356,1292.5,875.356" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="717.5" x2="717.5" y1="915.3247" y2="935.3247"/><polygon fill="#A80036" points="713.5,925.3247,717.5,935.3247,721.5,925.3247,717.5,929.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1292.5" x2="1292.5" y1="915.3247" y2="935.3247"/><polygon fill="#A80036" points="1288.5,925.3247,1292.5,935.3247,1296.5,925.3247,1292.5,929.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="796.5469" y2="855.356"/><polygon fill="#A80036" points="965,845.356,969,855.356,973,845.356,969,849.356" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1051" x2="1564" y1="784.5469" y2="784.5469"/><polygon fill="#A80036" points="1560,880.1919,1564,890.1919,1568,880.1919,1564,884.1919" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="1564" y1="784.5469" y2="985.3247"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1564" x2="981" y1="985.3247" y2="985.3247"/><polygon fill="#A80036" points="991,981.3247,981,985.3247,991,989.3247,987,985.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="941.3247" y2="973.3247"/><polygon fill="#A80036" points="965,963.3247,969,973.3247,973,963.3247,969,967.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1774.5" x2="1774.5" y1="853.2075" y2="873.2075"/><polygon fill="#A80036" points="1770.5,863.2075,1774.5,873.2075,1778.5,863.2075,1774.5,867.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2107.5" x2="2107.5" y1="853.2075" y2="873.2075"/><polygon fill="#A80036" points="2103.5,863.2075,2107.5,873.2075,2111.5,863.2075,2107.5,867.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1774.5" x2="1774.5" y1="907.1763" y2="927.1763"/><polygon fill="#A80036" points="1770.5,917.1763,1774.5,927.1763,1778.5,917.1763,1774.5,921.1763" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2107.5" x2="2107.5" y1="907.1763" y2="927.1763"/><polygon fill="#A80036" points="2103.5,917.1763,2107.5,927.1763,2111.5,917.1763,2107.5,921.1763" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="752.5469" y2="772.5469"/><polygon fill="#A80036" points="965,762.5469,969,772.5469,973,762.5469,969,766.5469" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937" x2="1937" y1="752.5469" y2="847.2075"/><polygon fill="#A80036" points="1933,837.2075,1937,847.2075,1941,837.2075,1937,841.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2386.5" x2="2386.5" y1="752.5469" y2="873.2075"/><polygon fill="#A80036" points="2382.5,863.2075,2386.5,873.2075,2390.5,863.2075,2386.5,867.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2648.5" x2="2648.5" y1="752.5469" y2="866.2231"/><polygon fill="#A80036" points="2644.5,856.2231,2648.5,866.2231,2652.5,856.2231,2648.5,860.2231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="969" x2="969" y1="997.3247" y2="1017.3247"/><polygon fill="#A80036" points="965,1007.3247,969,1017.3247,973,1007.3247,969,1011.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1937" x2="1937" y1="933.1763" y2="1017.3247"/><polygon fill="#A80036" points="1933,1007.3247,1937,1017.3247,1941,1007.3247,1937,1011.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2386.5" x2="2386.5" y1="907.1763" y2="1017.3247"/><polygon fill="#A80036" points="2382.5,1007.3247,2386.5,1017.3247,2390.5,1007.3247,2386.5,1011.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2648.5" x2="2648.5" y1="914.1606" y2="1017.3247"/><polygon fill="#A80036" points="2644.5,1007.3247,2648.5,1017.3247,2652.5,1007.3247,2648.5,1011.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="726.5469" y2="746.5469"/><polygon fill="#A80036" points="1598,736.5469,1602,746.5469,1606,736.5469,1602,740.5469" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="1023.3247" y2="1043.3247"/><polygon fill="#A80036" points="1598,1033.3247,1602,1043.3247,1606,1033.3247,1602,1037.3247" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="1077.2935" y2="1097.2935"/><polygon fill="#A80036" points="1598,1087.2935,1602,1097.2935,1606,1087.2935,1602,1091.2935" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="896" x2="351" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351" x2="351" y1="467.5156" y2="491.082"/><polygon fill="#A80036" points="347,481.082,351,491.082,355,481.082,351,485.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1035" x2="1602" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1602" x2="1602" y1="467.5156" y2="489.5156"/><polygon fill="#A80036" points="1598,479.5156,1602,489.5156,1606,479.5156,1602,483.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="965.5" x2="965.5" y1="435.5156" y2="455.5156"/><polygon fill="#A80036" points="961.5,445.5156,965.5,455.5156,969.5,445.5156,965.5,449.5156" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c39807611be4eb765bb63c941e7d4be7]
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberSubscribe()\n
+
+
+
+
+
+note
+  - - **subscriber** : urt_srtsubscriber_t* - -
+  The SRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  - - **topic** : urt_topic_t* - -
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  - - **messages** : urt_message_t* - -
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  - - **usefulnesscb** : urt_srtusefulnessfunc_t* - -
+  Pointer to a function to calculate usefulness of a message.
+  Must not be ""NULL"".
+  - - **cbparams** : void* - -
+  Optional parameters for the usefulness callback.
+  May be ""NULL"" if the callback expects no parameters.
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    :initialize callback;
+    note
+      * **usefulnesscb** ← usefulnesscb
+      * **cbparams** ← cbparams
+    endnote
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      - - urt_basesubscriber_t - -
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      - - urt_srtsubscriber_t - -
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+        partition "contribute messages" {
+    fork
+      :set ""next"" pointer of last message to contribute to the message after the topic's latest message;
+    fork again
+      :set ""next"" pointer of topic's latest message to first message to contribute;
+    endfork
+  }
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberSubscribe.uml
new file mode 100644
index 0000000..0605334
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberSubscribe.uml
@@ -0,0 +1,112 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberSubscribe()\n
+
+!include ../../functions.iuml
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_srtsubscriber_t* --
+  The SRT subscriber which shall subscribe to a topic.
+  Must not be ""NULL"".
+  -- **topic** : urt_topic_t* --
+  The topic to subscribe to.
+  Must not be ""NULL"".
+  -- **messages** : urt_message_t* --
+  ""NULL"" terminated list of messages to contribute to the topic.
+  Messages must not be associated to another topic.
+  Once a message has been contributed, it cannot be removed later.
+  May be ""NULL"" (no messages to contribute).
+  -- **usefulnesscb** : urt_srtusefulnessfunc_t* --
+  Pointer to a function to calculate usefulness of a message.
+  Must not be ""NULL"".
+  -- **cbparams** : void* --
+  Optional parameters for the usefulness callback.
+  May be ""NULL"" if the callback expects no parameters.
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on success.
+  Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"" if the subscriber is already associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Is topic already set?) then (yes)
+  stop
+  note
+    Returns ""URT_STATUS_SUBSCRIBE_TOPICSET"".
+  endnote
+else (no)
+  fork
+    :set topic;
+  fork again
+    :initialize callback;
+    note
+      * **usefulnesscb** ← usefulnesscb
+      * **cbparams** ← cbparams
+    endnote
+  fork again
+    #EEEEEE:initialize members;
+    note #EEEEEE
+      -- urt_basesubscriber_t --
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **sumLatencies** ← 0
+      * **numMessagesReceived** ← 0
+      -- urt_srtsubscriber_t --
+      .. URT_CFG_PUBSUB_PROFILING == true ..
+      * **minLatency** ← 0xF..F
+      * **maxLatency** ← 0
+    endnote
+  endfork
+  :lock topic;
+  fork
+    if (Messages to contribute?) then (yes)
+      $contribute_messages()
+    else (no)
+    endif
+  fork again
+    fork
+      :set message pointer to topic's latest message;
+    fork again
+      :copy timestamp from topic's latest message;
+    endfork
+  fork again
+    :register to topic's event source;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of subscribers (@topic);
+  endfork
+  :unlock topic;
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberUnsubscribe.svg
new file mode 100644
index 0000000..31a8b03
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberUnsubscribe.svg
@@ -0,0 +1,57 @@
+<?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="649px" preserveAspectRatio="none" style="width:905px;height:649px;" version="1.1" viewBox="0 0 905 649" width="905px" zoomAndPan="magnify"><defs><filter height="300%" id="f7ija2ov51se2" 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="407.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="266" x="318.75" y="47.6611">urtSrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="454.75" y="68.6143"/><path d="M277,72.8594 L277,183.6563 L877,183.6563 L877,82.8594 L867,72.8594 L277,72.8594 " fill="#FBFB77" filter="url(#f7ija2ov51se2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M867,72.8594 L867,82.8594 L877,82.8594 L867,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="464.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="468.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="468.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="550.5" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="689.5" x2="877" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="251" x="283" y="105.0591">The SRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="283" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="363" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="395" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="877" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="877" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="277" x2="506" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="510" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="510" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="559" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="648" x2="877" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="283" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="336" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="444" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="283" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="336" y="175.5903">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="580" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="577" cy="213.6563" fill="#000000" filter="url(#f7ija2ov51se2)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f7ija2ov51se2)" points="514.5,243.6563,639.5,243.6563,651.5,255.6563,639.5,267.6563,514.5,267.6563,502.5,255.6563,514.5,243.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="514.5" y="259.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="482.5" y="253.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="651.5" y="253.062">no</text><rect fill="#EEEEEE" filter="url(#f7ija2ov51se2)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="148.5" y="277.6563"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="148.5" x2="158.5" y1="294.6406" y2="294.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="158.5" y="298.2949">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="390.5" x2="400.5" y1="294.6406" y2="294.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="158.5" y="312.7637">lock topic</text><rect fill="#000000" filter="url(#f7ija2ov51se2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="472" x="38.5" y="345.5938"/><rect fill="#FEFECE" filter="url(#f7ija2ov51se2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="52.5" y="378.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="62.5" y="399.7168">unregister event</text><rect fill="#EEEEEE" filter="url(#f7ija2ov51se2)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="292" x="204.5" y="371.5938"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="204.5" x2="234.5" y1="388.5781" y2="388.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="234.5" y="392.2324">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="466.5" x2="496.5" y1="388.5781" y2="388.5781"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="272" x="214.5" y="406.7012">decrement counter of subscribers (@topic)</text><rect fill="#000000" filter="url(#f7ija2ov51se2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="472" x="38.5" y="439.5313"/><rect fill="#EEEEEE" filter="url(#f7ija2ov51se2)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="148.5" y="465.5313"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="148.5" x2="158.5" y1="482.5156" y2="482.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="158.5" y="486.1699">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="390.5" x2="400.5" y1="482.5156" y2="482.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="158.5" y="500.6387">unlock topic</text><path d="M10,523.4688 L10,594 A0,0 0 0 0 10,594 L197,594 A0,0 0 0 0 197,594 L197,562.7344 L217,558.7344 L197,554.7344 L197,533.4688 L187,523.4688 L10,523.4688 A0,0 0 0 0 10,523.4688 " fill="#FBFB77" filter="url(#f7ija2ov51se2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M187,523.4688 L187,533.4688 L197,533.4688 L187,523.4688 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="32.5" y1="536.0352" y2="536.0352"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="36.5" y="540.0356">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="174.5" x2="197" y1="536.0352" y2="536.0352"/><ellipse cx="21.5" cy="551.2344" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="27" y="555.6685">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="68" y="555.6685">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="83" y="555.6685">NULL</text><ellipse cx="21.5" cy="566.3672" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="27" y="570.8013">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="124" y="570.8013">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="139" y="570.8013">NULL</text><ellipse cx="21.5" cy="581.5" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="27" y="585.9341">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="159" y="585.9341">← 0</text><rect fill="#FEFECE" filter="url(#f7ija2ov51se2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="217" y="541.75"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="227" y="562.8887">reset members</text><path d="M61.5,612.4336 L61.5,637.5664 A0,0 0 0 0 61.5,637.5664 L243.5,637.5664 A0,0 0 0 0 243.5,637.5664 L243.5,630.4336 L263.5,625 L243.5,622.4336 L243.5,622.4336 L233.5,612.4336 L61.5,612.4336 A0,0 0 0 0 61.5,612.4336 " fill="#FBFB77" filter="url(#f7ija2ov51se2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M233.5,612.4336 L233.5,622.4336 L243.5,622.4336 L233.5,612.4336 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="67.5" y="629.5005">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="120.5" y="629.5005">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="224.5" y="629.5005">.</text><ellipse cx="274.5" cy="625" fill="#FFFFFF" filter="url(#f7ija2ov51se2)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="274.5" cy="625" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M530.5,277.6563 L530.5,302.7891 A0,0 0 0 0 530.5,302.7891 L848.5,302.7891 A0,0 0 0 0 848.5,302.7891 L848.5,295.6563 L868.5,290.2227 L848.5,287.6563 L848.5,287.6563 L838.5,277.6563 L530.5,277.6563 A0,0 0 0 0 530.5,277.6563 " fill="#FBFB77" filter="url(#f7ija2ov51se2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M838.5,277.6563 L838.5,287.6563 L848.5,287.6563 L838.5,277.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="536.5" y="294.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="589.5" y="294.7231">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="829.5" y="294.7231">.</text><ellipse cx="879.5" cy="290.2227" fill="#FFFFFF" filter="url(#f7ija2ov51se2)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="879.5" cy="290.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577" x2="577" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="573,193.6563,577,203.6563,581,193.6563,577,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="114.5" x2="114.5" y1="351.5938" y2="378.5781"/><polygon fill="#A80036" points="110.5,368.5781,114.5,378.5781,118.5,368.5781,114.5,372.5781" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="351.5938" y2="371.5938"/><polygon fill="#A80036" points="346.5,361.5938,350.5,371.5938,354.5,361.5938,350.5,365.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="114.5" x2="114.5" y1="412.5469" y2="439.5313"/><polygon fill="#A80036" points="110.5,429.5313,114.5,439.5313,118.5,429.5313,114.5,433.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="419.5313" y2="439.5313"/><polygon fill="#A80036" points="346.5,429.5313,350.5,439.5313,354.5,429.5313,350.5,433.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="325.5938" y2="345.5938"/><polygon fill="#A80036" points="270.5,335.5938,274.5,345.5938,278.5,335.5938,274.5,339.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="445.5313" y2="465.5313"/><polygon fill="#A80036" points="270.5,455.5313,274.5,465.5313,278.5,455.5313,274.5,459.5313" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="513.4688" y2="541.75"/><polygon fill="#A80036" points="270.5,531.75,274.5,541.75,278.5,531.75,274.5,535.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="575.7188" y2="614"/><polygon fill="#A80036" points="270.5,604,274.5,614,278.5,604,274.5,608" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="502.5" x2="274.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274.5" x2="274.5" y1="255.6563" y2="277.6563"/><polygon fill="#A80036" points="270.5,267.6563,274.5,277.6563,278.5,267.6563,274.5,271.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="879.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="879.5" x2="879.5" y1="255.6563" y2="279.2227"/><polygon fill="#A80036" points="875.5,269.2227,879.5,279.2227,883.5,269.2227,879.5,273.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577" x2="577" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="573,233.6563,577,243.6563,581,233.6563,577,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[db7787226fa2c8722946d2371e5ba89f]
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberUnsubscribe()\n
+
+
+note
+  - - **subscriber** : urt_srtsubscriber_t* - -
+  The SRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  - - **return** : urt_status_t - -
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+
+start
+if (Associated to a topic?) then (yes)
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nlock topic;
+  fork
+    :unregister event;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  endfork
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nunlock topic;
+  :reset members;
+  note
+    - - urt_basesubscriber_t - -
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+
+@enduml
+
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
+(GPL source distribution)
+Java Runtime: OpenJDK Runtime Environment
+JVM: OpenJDK 64-Bit Server VM
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
+Operating System: Linux
+Default Encoding: UTF-8
+Language: en
+Country: US
+--></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberUnsubscribe.uml
new file mode 100644
index 0000000..1bdf1c0
--- /dev/null
+++ b/doc/activitydiagrams/subscriber/srtsubscriber/urtSrtSubscriberUnsubscribe.uml
@@ -0,0 +1,71 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/'### INTRO ##################################################################'/
+
+@startuml
+
+title **µRtWare**\nurtSrtSubscriberUnsubscribe()\n
+
+/'### PARAMETERS & RETURN ####################################################'/
+
+note
+  -- **subscriber** : urt_srtsubscriber_t* --
+  The SRT subscriber to be unsubscribed.
+  Must not be ""NULL"".
+  ====
+  -- **return** : urt_status_t --
+  Returns ""URT_STATUS_OK"" on sucess.
+  Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"" if the subscriber is not associated to a topic.
+endnote
+
+/'### PROCEDURE ##############################################################'/
+
+start
+if (Associated to a topic?) then (yes)
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nlock topic;
+  fork
+    :unregister event;
+  fork again
+    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of subscribers (@topic);
+  endfork
+  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nunlock topic;
+  :reset members;
+  note
+    -- urt_basesubscriber_t --
+    * **topic** ← ""NULL""
+    * **lastMessage** ← ""NULL""
+    * **lastMessageTime** ← 0
+  endnote
+  stop
+  note
+    Returns ""URT_STATUS_OK"".
+  endnote
+else (no)
+  stop
+  note
+    Returns ""URT_STATUS_UNSUBSCRIBE_NOTOPIC"".
+  endnote
+endif
+
+/'### OUTRO ##################################################################'/
+
+@enduml
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberCalculateValidity.svg b/doc/activitydiagrams/subscriber/urtFrtSubscriberCalculateValidity.svg
deleted file mode 100644
index ffe7069..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberCalculateValidity.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-<?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="329px" preserveAspectRatio="none" style="width:598px;height:329px;" version="1.1" viewBox="0 0 598 329" width="598px" zoomAndPan="magnify"><defs><filter height="300%" id="f8zi0xl3jwnr" 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="253.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="305" x="145.5" y="47.6611">urtFrtSubscriberCalculateValidity()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="301" y="68.6143"/><path d="M167.5,72.8594 L167.5,198.7891 L555.5,198.7891 L555.5,82.8594 L545.5,72.8594 L167.5,72.8594 " fill="#FBFB77" filter="url(#f8zi0xl3jwnr)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M545.5,72.8594 L545.5,82.8594 L555.5,82.8594 L545.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="250.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="254.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="254.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="336.5" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="472.5" x2="555.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="173.5" y="105.0591">The FRT subscriber to calculate a validity for.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="173.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="253.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="285.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="289.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="293.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="293.5" y="134.8247">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="350.5" y="134.8247">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="433.5" x2="555.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="367" x="173.5" y="150.4575">Latency (of a message) as argument to calculate validity.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="555.5" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="555.5" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="167.5" x2="315.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="319.5" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="319.5" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="368.5" y="175.0903">: bool</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="407.5" x2="555.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="303" x="173.5" y="190.7231">Returns an indicator whether the latency is fine.</text><ellipse cx="361.5" cy="228.7891" fill="#000000" filter="url(#f8zi0xl3jwnr)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f8zi0xl3jwnr)" points="173,258.7891,550,258.7891,562,270.7891,550,282.7891,173,282.7891,161,270.7891,173,258.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="377" x="173" y="274.5972">Latency is lower than the deadline offset and within allowed jitter?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="141" y="268.1948">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="562" y="268.1948">no</text><path d="M10,292.7891 L10,317.9219 A0,0 0 0 0 10,317.9219 L120,317.9219 A0,0 0 0 0 120,317.9219 L120,310.7891 L140,305.3555 L120,302.7891 L120,302.7891 L110,292.7891 L10,292.7891 A0,0 0 0 0 10,292.7891 " fill="#FBFB77" filter="url(#f8zi0xl3jwnr)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M110,292.7891 L110,302.7891 L120,302.7891 L110,292.7891 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="309.856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="69" y="309.856">true</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="101" y="309.856">.</text><ellipse cx="151" cy="305.3555" fill="#FFFFFF" filter="url(#f8zi0xl3jwnr)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="151" cy="305.3555" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M423,292.7891 L423,317.9219 A0,0 0 0 0 423,317.9219 L541,317.9219 A0,0 0 0 0 541,317.9219 L541,310.7891 L561,305.3555 L541,302.7891 L541,302.7891 L531,292.7891 L423,292.7891 A0,0 0 0 0 423,292.7891 " fill="#FBFB77" filter="url(#f8zi0xl3jwnr)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M531,292.7891 L531,302.7891 L541,302.7891 L531,292.7891 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="429" y="309.856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="40" x="482" y="309.856">false</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="522" y="309.856">.</text><ellipse cx="572" cy="305.3555" fill="#FFFFFF" filter="url(#f8zi0xl3jwnr)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="572" cy="305.3555" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="361.5" x2="361.5" y1="198.7891" y2="218.7891"/><polygon fill="#A80036" points="357.5,208.7891,361.5,218.7891,365.5,208.7891,361.5,212.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="161" x2="151" y1="270.7891" y2="270.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="151" x2="151" y1="270.7891" y2="294.3555"/><polygon fill="#A80036" points="147,284.3555,151,294.3555,155,284.3555,151,288.3555" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="562" x2="572" y1="270.7891" y2="270.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="572" x2="572" y1="270.7891" y2="294.3555"/><polygon fill="#A80036" points="568,284.3555,572,294.3555,576,284.3555,572,288.3555" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="361.5" x2="361.5" y1="238.7891" y2="258.7891"/><polygon fill="#A80036" points="357.5,248.7891,361.5,258.7891,365.5,248.7891,361.5,252.7891" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[88526a6130d27072b33b5a041e06c736]
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberCalculateValidity()\n
-
-
-note
-  - - **subscriber** : urt_frtsubscriber_t* - -
-  The FRT subscriber to calculate a validity for.
-  Must not be ""NULL"".
-  - - **latency** : urt_delay_t - -
-  Latency (of a message) as argument to calculate validity.
-  ====
-  - - **return** : bool - -
-  Returns an indicator whether the latency is fine.
-endnote
-
-
-start
-if (Latency is lower than the deadline offset and within allowed jitter?) then (yes)
-  stop
-  note
-    Returns ""true"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""false"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberCalculateValidity.uml b/doc/activitydiagrams/subscriber/urtFrtSubscriberCalculateValidity.uml
deleted file mode 100644
index dcc9d7f..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberCalculateValidity.uml
+++ /dev/null
@@ -1,58 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberCalculateValidity()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_frtsubscriber_t* --
-  The FRT subscriber to calculate a validity for.
-  Must not be ""NULL"".
-  -- **latency** : urt_delay_t --
-  Latency (of a message) as argument to calculate validity.
-  ====
-  -- **return** : bool --
-  Returns an indicator whether the latency is fine.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Latency is lower than the deadline offset and within allowed jitter?) then (yes)
-  stop
-  note
-    Returns ""true"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""false"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchLatestMessage.svg
deleted file mode 100644
index b2871dc..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchLatestMessage.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?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="1004px" preserveAspectRatio="none" style="width:1281px;height:1004px;" version="1.1" viewBox="0 0 1281 1004" width="1281px" zoomAndPan="magnify"><defs><filter height="300%" id="fi2c2go6bvdbz" 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="595" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="334" x="472.5" y="47.6611">urtFrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="642.5" y="68.6143"/><path d="M631,72.8594 L631,304.7188 L1119,304.7188 L1119,82.8594 L1109,72.8594 L631,72.8594 " fill="#FBFB77" filter="url(#fi2c2go6bvdbz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1109,72.8594 L1109,82.8594 L1119,82.8594 L1109,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="764" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="768" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="768" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="850" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="986" x2="1119" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="310" x="637" y="105.0591">The FRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="637" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="717" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="749" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="819" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="823" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="823" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="886" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="931" x2="1119" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="637" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="723" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="826" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="830" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="830" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="875" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="924" x2="1119" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="637" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="799.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="803.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="803.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="860.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="950.5" x2="1119" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="637" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="719" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="804" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="808" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="808" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="857" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="946" x2="1119" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="690" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="798" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="690" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="822" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="875" cy="334.7188" fill="#000000" filter="url(#fi2c2go6bvdbz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" points="812.5,364.7188,937.5,364.7188,949.5,376.7188,937.5,388.7188,812.5,388.7188,800.5,376.7188,812.5,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="812.5" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="780.5" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="949.5" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="455" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="465" y="419.8574">lock topic</text><rect fill="#FFFFFF" filter="url(#fi2c2go6bvdbz)" height="213.9448" style="stroke: #000000; stroke-width: 2.0;" width="323" x="332" y="443.4893"/><path d="M477,444.4893 L477,452.7861 L467,462.7861 L332,462.7861 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="335" y="457.4844">find latest message</text><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="185" x="402.5" y="479.7861"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="165" x="412.5" y="500.9248">access last read message</text><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="589.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="610.604">proceed to next message</text><polygon fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" points="378,533.7549,612,533.7549,624,545.7549,612,557.7549,378,557.7549,366,545.7549,378,533.7549" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="499" y="567.9653">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="378" y="549.563">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="352" y="543.1606">no</text><rect fill="#FFFFFF" filter="url(#fi2c2go6bvdbz)" height="226.668" style="stroke: #000000; stroke-width: 2.0;" width="988" x="10" y="668.2358"/><path d="M123,669.2358 L123,677.5327 L113,687.5327 L10,687.5327 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="13" y="682.231">fetch message</text><rect fill="#000000" filter="url(#fi2c2go6bvdbz)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="704.5327"/><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="34" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="44" y="800.0737">update message pointer</text><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="219" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="229" y="800.0737">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="443" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="453" y="800.0737">copy message payload</text><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="644" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="654" y="800.0737">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="678" y="800.0737">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="731" y="800.0737">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" points="678.5,730.5327,917.5,730.5327,929.5,742.5327,917.5,754.5327,678.5,754.5327,666.5,742.5327,678.5,730.5327" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="802" y="764.7432">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="678.5" y="746.3408">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="828.5" y="746.3408">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="881.5" y="746.3408">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="929.5" y="739.9385">no</text><polygon fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" points="798,832.9038,810,844.9038,798,856.9038,786,844.9038,798,832.9038" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fi2c2go6bvdbz)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="876.9038"/><rect fill="#FEFECE" filter="url(#fi2c2go6bvdbz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="447" y="914.9038"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="457" y="936.0425">unlock topic</text><path d="M282,967.3062 L282,992.439 A0,0 0 0 0 282,992.439 L464,992.439 A0,0 0 0 0 464,992.439 L464,985.3062 L484,979.8726 L464,977.3062 L464,977.3062 L454,967.3062 L282,967.3062 A0,0 0 0 0 282,967.3062 " fill="#FBFB77" filter="url(#fi2c2go6bvdbz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,967.3062 L454,977.3062 L464,977.3062 L454,967.3062 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="288" y="984.373">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="341" y="984.373">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="445" y="984.373">.</text><ellipse cx="495" cy="979.8726" fill="#FFFFFF" filter="url(#fi2c2go6bvdbz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="495" cy="979.8726" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1018,398.7188 L1018,423.8516 A0,0 0 0 0 1018,423.8516 L1224,423.8516 A0,0 0 0 0 1224,423.8516 L1224,416.7188 L1244,411.2852 L1224,408.7188 L1224,408.7188 L1214,398.7188 L1018,398.7188 A0,0 0 0 0 1018,398.7188 " fill="#FBFB77" filter="url(#fi2c2go6bvdbz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1214,398.7188 L1214,408.7188 L1224,408.7188 L1214,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1024" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1077" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1205" y="415.7856">.</text><ellipse cx="1255" cy="411.2852" fill="#FFFFFF" filter="url(#fi2c2go6bvdbz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1255" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="871,314.7188,875,324.7188,879,314.7188,875,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="557.7549" y2="589.4653"/><polygon fill="#A80036" points="491,579.4653,495,589.4653,499,579.4653,495,583.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="623.4341" y2="633.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="636" y1="633.4341" y2="633.4341"/><polygon fill="#A80036" points="632,598.0474,636,588.0474,640,598.0474,636,594.0474" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="636" y1="545.7549" y2="633.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="624" y1="545.7549" y2="545.7549"/><polygon fill="#A80036" points="634,541.7549,624,545.7549,634,549.7549,630,545.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="354" y1="545.7549" y2="545.7549"/><polygon fill="#A80036" points="350,584.0474,354,594.0474,358,584.0474,354,588.0474" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="545.7549" y2="645.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="495" y1="645.4341" y2="645.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="645.4341" y2="704.5327"/><polygon fill="#A80036" points="491,694.5327,495,704.5327,499,694.5327,495,698.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="513.7549" y2="533.7549"/><polygon fill="#A80036" points="491,523.7549,495,533.7549,499,523.7549,495,527.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="432.6875" y2="479.7861"/><polygon fill="#A80036" points="491,469.7861,495,479.7861,499,469.7861,495,473.7861" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="754.5327" y2="778.9351"/><polygon fill="#A80036" points="794,768.9351,798,778.9351,802,768.9351,798,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.5" x2="962" y1="742.5327" y2="742.5327"/><polygon fill="#A80036" points="958,785.9194,962,795.9194,966,785.9194,962,789.9194" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="962" y1="742.5327" y2="844.9038"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="810" y1="844.9038" y2="844.9038"/><polygon fill="#A80036" points="820,840.9038,810,844.9038,820,848.9038,816,844.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="812.9038" y2="832.9038"/><polygon fill="#A80036" points="794,822.9038,798,832.9038,802,822.9038,798,826.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="117.5,768.9351,121.5,778.9351,125.5,768.9351,121.5,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="313,768.9351,317,778.9351,321,768.9351,317,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="520.5,768.9351,524.5,778.9351,528.5,768.9351,524.5,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="710.5327" y2="730.5327"/><polygon fill="#A80036" points="794,720.5327,798,730.5327,802,720.5327,798,724.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="117.5,866.9038,121.5,876.9038,125.5,866.9038,121.5,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="313,866.9038,317,876.9038,321,866.9038,317,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="520.5,866.9038,524.5,876.9038,528.5,866.9038,524.5,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="856.9038" y2="876.9038"/><polygon fill="#A80036" points="794,866.9038,798,876.9038,802,866.9038,798,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="882.9038" y2="914.9038"/><polygon fill="#A80036" points="491,904.9038,495,914.9038,499,904.9038,495,908.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="948.8726" y2="968.8726"/><polygon fill="#A80036" points="491,958.8726,495,968.8726,499,958.8726,495,962.8726" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.5" x2="495" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="491,388.7188,495,398.7188,499,388.7188,495,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="1255" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1251,390.2852,1255,400.2852,1259,390.2852,1255,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="871,354.7188,875,364.7188,879,354.7188,875,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[86fb41979e84fe247440f8c6b27e16c2]
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberFetchLatestMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_frtsubscriber_t* - -
-  The FRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-    partition "find latest message" {
-    :access last read message;
-    while (Timestamp of next message is younger?) is (yes)
-      :proceed to next message;
-    endwhile (no)
-  }
-    partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchLatestMessage.uml
deleted file mode 100644
index 180a43e..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchLatestMessage.uml
+++ /dev/null
@@ -1,71 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberFetchLatestMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_frtsubscriber_t* --
-  The FRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  $find_latest_message()
-  $fetch_message()
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchNextMessage.svg
deleted file mode 100644
index 5ec1477..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchNextMessage.svg
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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="1098px" preserveAspectRatio="none" style="width:1281px;height:1098px;" version="1.1" viewBox="0 0 1281 1098" width="1281px" zoomAndPan="magnify"><defs><filter height="300%" id="fhsp3n667pfg2" 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="595" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="324" x="477.5" y="47.6611">urtFrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="642.5" y="68.6143"/><path d="M631,72.8594 L631,304.7188 L1119,304.7188 L1119,82.8594 L1109,72.8594 L631,72.8594 " fill="#FBFB77" filter="url(#fhsp3n667pfg2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1109,72.8594 L1109,82.8594 L1119,82.8594 L1109,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="764" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="768" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="768" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="850" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="986" x2="1119" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="310" x="637" y="105.0591">The FRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="637" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="717" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="749" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="819" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="823" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="823" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="886" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="931" x2="1119" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="637" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="723" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="826" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="830" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="830" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="875" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="924" x2="1119" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="637" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="799.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="803.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="803.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="860.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="950.5" x2="1119" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="637" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="719" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="804" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="808" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="808" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="857" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="946" x2="1119" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="690" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="798" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="690" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="822" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="875" cy="334.7188" fill="#000000" filter="url(#fhsp3n667pfg2)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fhsp3n667pfg2)" points="812.5,364.7188,937.5,364.7188,949.5,376.7188,937.5,388.7188,812.5,388.7188,800.5,376.7188,812.5,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="812.5" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="780.5" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="949.5" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="455" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="465" y="419.8574">lock topic</text><rect fill="#FFFFFF" filter="url(#fhsp3n667pfg2)" height="307.7651" style="stroke: #000000; stroke-width: 2.0;" width="365.5" x="322" y="443.4893"/><path d="M506,444.4893 L506,452.7861 L496,462.7861 L322,462.7861 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="174" x="325" y="457.4844">find oldest valid message</text><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="585.3169"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="606.4556">proceed to next message</text><polygon fill="#FEFECE" filter="url(#fhsp3n667pfg2)" points="378,528.1885,612,528.1885,624,540.1885,612,552.1885,378,552.1885,366,540.1885,378,528.1885" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="499" y="562.3989">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="378" y="543.9966">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="352" y="537.5942">no</text><polygon fill="#FEFECE" filter="url(#fhsp3n667pfg2)" points="345.5,479.7861,644.5,479.7861,656.5,491.7861,644.5,503.7861,345.5,503.7861,333.5,491.7861,345.5,479.7861" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="499" y="513.9966">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="345.5" y="495.5942">Timestamp of last read message euqals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="656.5" y="489.1919">yes</text><polygon fill="#FEFECE" filter="url(#fhsp3n667pfg2)" points="495,661.2856,507,673.2856,495,685.2856,483,673.2856,495,661.2856" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="705.2856"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="726.4243">proceed to next message</text><rect fill="#FFFFFF" filter="url(#fhsp3n667pfg2)" height="226.668" style="stroke: #000000; stroke-width: 2.0;" width="988" x="10" y="762.0562"/><path d="M123,763.0562 L123,771.353 L113,781.353 L10,781.353 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="13" y="776.0513">fetch message</text><rect fill="#000000" filter="url(#fhsp3n667pfg2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="798.353"/><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="34" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="44" y="893.894">update message pointer</text><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="219" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="229" y="893.894">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="443" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="453" y="893.894">copy message payload</text><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="644" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="654" y="893.894">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="678" y="893.894">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="731" y="893.894">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#fhsp3n667pfg2)" points="678.5,824.353,917.5,824.353,929.5,836.353,917.5,848.353,678.5,848.353,666.5,836.353,678.5,824.353" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="802" y="858.5635">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="678.5" y="840.1611">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="828.5" y="840.1611">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="881.5" y="840.1611">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="929.5" y="833.7588">no</text><polygon fill="#FEFECE" filter="url(#fhsp3n667pfg2)" points="798,926.7241,810,938.7241,798,950.7241,786,938.7241,798,926.7241" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fhsp3n667pfg2)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="970.7241"/><rect fill="#FEFECE" filter="url(#fhsp3n667pfg2)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="447" y="1008.7241"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="457" y="1029.8628">unlock topic</text><path d="M282,1061.1265 L282,1086.2593 A0,0 0 0 0 282,1086.2593 L464,1086.2593 A0,0 0 0 0 464,1086.2593 L464,1079.1265 L484,1073.6929 L464,1071.1265 L464,1071.1265 L454,1061.1265 L282,1061.1265 A0,0 0 0 0 282,1061.1265 " fill="#FBFB77" filter="url(#fhsp3n667pfg2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,1061.1265 L454,1071.1265 L464,1071.1265 L454,1061.1265 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="288" y="1078.1934">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="341" y="1078.1934">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="445" y="1078.1934">.</text><ellipse cx="495" cy="1073.6929" fill="#FFFFFF" filter="url(#fhsp3n667pfg2)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="495" cy="1073.6929" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1018,398.7188 L1018,423.8516 A0,0 0 0 0 1018,423.8516 L1224,423.8516 A0,0 0 0 0 1224,423.8516 L1224,416.7188 L1244,411.2852 L1224,408.7188 L1224,408.7188 L1214,398.7188 L1018,398.7188 A0,0 0 0 0 1018,398.7188 " fill="#FBFB77" filter="url(#fhsp3n667pfg2)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1214,398.7188 L1214,408.7188 L1224,408.7188 L1214,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1024" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1077" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1205" y="415.7856">.</text><ellipse cx="1255" cy="411.2852" fill="#FFFFFF" filter="url(#fhsp3n667pfg2)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1255" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="871,314.7188,875,324.7188,879,314.7188,875,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="552.1885" y2="585.3169"/><polygon fill="#A80036" points="491,575.3169,495,585.3169,499,575.3169,495,579.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="619.2856" y2="629.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="636" y1="629.2856" y2="629.2856"/><polygon fill="#A80036" points="632,593.8989,636,583.8989,640,593.8989,636,589.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="636" y1="540.1885" y2="629.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="624" y1="540.1885" y2="540.1885"/><polygon fill="#A80036" points="634,536.1885,624,540.1885,634,544.1885,630,540.1885" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="354" y1="540.1885" y2="540.1885"/><polygon fill="#A80036" points="350,579.8989,354,589.8989,358,579.8989,354,583.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="540.1885" y2="641.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="495" y1="641.2856" y2="641.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="641.2856" y2="661.2856"/><polygon fill="#A80036" points="491,651.2856,495,661.2856,499,651.2856,495,655.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="503.7861" y2="528.1885"/><polygon fill="#A80036" points="491,518.1885,495,528.1885,499,518.1885,495,522.1885" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="656.5" x2="668.5" y1="491.7861" y2="491.7861"/><polygon fill="#A80036" points="664.5,573.8989,668.5,583.8989,672.5,573.8989,668.5,577.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="668.5" x2="668.5" y1="491.7861" y2="673.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="668.5" x2="507" y1="673.2856" y2="673.2856"/><polygon fill="#A80036" points="517,669.2856,507,673.2856,517,677.2856,513,673.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="685.2856" y2="705.2856"/><polygon fill="#A80036" points="491,695.2856,495,705.2856,499,695.2856,495,699.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="432.6875" y2="479.7861"/><polygon fill="#A80036" points="491,469.7861,495,479.7861,499,469.7861,495,473.7861" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="848.353" y2="872.7554"/><polygon fill="#A80036" points="794,862.7554,798,872.7554,802,862.7554,798,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.5" x2="962" y1="836.353" y2="836.353"/><polygon fill="#A80036" points="958,879.7397,962,889.7397,966,879.7397,962,883.7397" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="962" y1="836.353" y2="938.7241"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="810" y1="938.7241" y2="938.7241"/><polygon fill="#A80036" points="820,934.7241,810,938.7241,820,942.7241,816,938.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="906.7241" y2="926.7241"/><polygon fill="#A80036" points="794,916.7241,798,926.7241,802,916.7241,798,920.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="117.5,862.7554,121.5,872.7554,125.5,862.7554,121.5,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="313,862.7554,317,872.7554,321,862.7554,317,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="520.5,862.7554,524.5,872.7554,528.5,862.7554,524.5,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="804.353" y2="824.353"/><polygon fill="#A80036" points="794,814.353,798,824.353,802,814.353,798,818.353" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="117.5,960.7241,121.5,970.7241,125.5,960.7241,121.5,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="313,960.7241,317,970.7241,321,960.7241,317,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="520.5,960.7241,524.5,970.7241,528.5,960.7241,524.5,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="950.7241" y2="970.7241"/><polygon fill="#A80036" points="794,960.7241,798,970.7241,802,960.7241,798,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="739.2544" y2="798.353"/><polygon fill="#A80036" points="491,788.353,495,798.353,499,788.353,495,792.353" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="976.7241" y2="1008.7241"/><polygon fill="#A80036" points="491,998.7241,495,1008.7241,499,998.7241,495,1002.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="1042.6929" y2="1062.6929"/><polygon fill="#A80036" points="491,1052.6929,495,1062.6929,499,1052.6929,495,1056.6929" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.5" x2="495" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="491,388.7188,495,398.7188,499,388.7188,495,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="1255" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1251,390.2852,1255,400.2852,1259,390.2852,1255,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="871,354.7188,875,364.7188,879,354.7188,875,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b4d8deb4bdd0e27d6df9418617a46e52]
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberFetchNextMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_frtsubscriber_t* - -
-  The FRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-    partition "find oldest valid message" {
-    if (Timestamp of last read message euqals local copy?) then (yes)
-    else (no)
-      while (Timestamp of next message is younger?) is (yes)
-        :proceed to next message;
-      endwhile (no)
-    endif
-    :proceed to next message;
-  }
-    partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchNextMessage.uml
deleted file mode 100644
index 05f200d..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberFetchNextMessage.uml
+++ /dev/null
@@ -1,71 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberFetchNextMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_frtsubscriber_t* --
-  The FRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  $find_oldest_message()
-  $fetch_message()
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/urtFrtSubscriberInit.svg
deleted file mode 100644
index c4fa9eb..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberInit.svg
+++ /dev/null
@@ -1,54 +0,0 @@
-<?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="526px" preserveAspectRatio="none" style="width:831px;height:526px;" version="1.1" viewBox="0 0 831 526" width="831px" zoomAndPan="magnify"><defs><filter height="300%" id="fc1zizs4xu5t4" 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="370" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="187" x="321" y="47.6611">urtFrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="417.5" y="68.6143"/><path d="M576,72.8594 L576,168.5234 L819,168.5234 L819,82.8594 L809,72.8594 L576,72.8594 " fill="#FBFB77" filter="url(#fc1zizs4xu5t4)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M809,72.8594 L809,82.8594 L819,82.8594 L809,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="586.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="590.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="590.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="672.5" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="808.5" x2="819" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="582" y="105.0591">The FRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="582" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="662" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="694" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="819" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="819" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="576" x2="626.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="630.5" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="630.5" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="679.5" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="768.5" x2="819" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="582" y="160.4575">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="679" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="783" y="160.4575">.</text><ellipse cx="697.5" cy="198.5234" fill="#000000" filter="url(#fc1zizs4xu5t4)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,218.5234 L10,470.6484 A0,0 0 0 0 10,470.6484 L612,470.6484 A0,0 0 0 0 612,470.6484 L612,348.5859 L632,344.5859 L612,340.5859 L612,228.5234 L602,218.5234 L10,218.5234 A0,0 0 0 0 10,218.5234 " fill="#FBFB77" filter="url(#fc1zizs4xu5t4)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M602,218.5234 L602,228.5234 L612,228.5234 L602,218.5234 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="240" y1="231.0898" y2="231.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="244" y="235.0903">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="382" x2="612" y1="231.0898" y2="231.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="16" y="250.7231">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="57" y="250.7231">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="72" y="250.7231">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="16" y="265.856">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="145" y="265.856">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="227" y="265.856">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="280.9888">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="113" y="280.9888">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="128" y="280.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="296.1216">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="148" y="296.1216">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="182.5" y1="306.7539" y2="306.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="186.5" y="310.7544">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="439.5" x2="612" y1="306.7539" y2="306.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="16" y="326.3872">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="121" y="326.3872">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="16" y="341.52">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="193" y="341.52">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="248.5" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="252.5" y="356.1528">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="373.5" x2="612" y1="352.1523" y2="352.1523"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="138.5" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="142.5" y="371.2856">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="483.5" x2="612" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="16" y="386.9185">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="130" y="386.9185">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="157.5" y1="397.5508" y2="397.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="161.5" y="401.5513">URT_CFG_PUBSUB_QOS_JITTERCHECK == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="464.5" x2="612" y1="397.5508" y2="397.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="16" y="417.1841">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="86" y="417.1841">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="427.8164" y2="427.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="24.5" y="431.8169">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="601.5" x2="612" y1="427.8164" y2="427.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="16" y="447.4497">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="104" y="447.4497">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="462.5825">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="462.5825">← 0</text><rect fill="#FEFECE" filter="url(#fc1zizs4xu5t4)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="632" y="327.6016"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="642" y="348.7402">initialize members</text><path d="M484.5,489.082 L484.5,514.2148 A0,0 0 0 0 484.5,514.2148 L666.5,514.2148 A0,0 0 0 0 666.5,514.2148 L666.5,507.082 L686.5,501.6484 L666.5,499.082 L666.5,499.082 L656.5,489.082 L484.5,489.082 A0,0 0 0 0 484.5,489.082 " fill="#FBFB77" filter="url(#fc1zizs4xu5t4)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M656.5,489.082 L656.5,499.082 L666.5,499.082 L656.5,489.082 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="490.5" y="506.1489">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="543.5" y="506.1489">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="647.5" y="506.1489">.</text><ellipse cx="697.5" cy="501.6484" fill="#FFFFFF" filter="url(#fc1zizs4xu5t4)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="697.5" cy="501.6484" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="168.5234" y2="188.5234"/><polygon fill="#A80036" points="693.5,178.5234,697.5,188.5234,701.5,178.5234,697.5,182.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="208.5234" y2="327.6016"/><polygon fill="#A80036" points="693.5,317.6016,697.5,327.6016,701.5,317.6016,697.5,321.6016" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="361.5703" y2="490.6484"/><polygon fill="#A80036" points="693.5,480.6484,697.5,490.6484,701.5,480.6484,697.5,484.6484" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f9803f4a1d429c2f954ae987b444dcfc]
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberInit()\n
-
-
-note
-  - - **subscriber** : urt_frtsubscriber_t* - -
-  The FRT subscriber to initialize.
-  Must not be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
-endnote
-
-
-start
-:initialize members;
-note
-  - - urt_basesubscriber_t - -
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  - - urt_frtsubscriber_t - -
-  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-  **deadlineOffset** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
-  **maxJitter** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/urtFrtSubscriberInit.uml
deleted file mode 100644
index b34d9d4..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberInit.uml
+++ /dev/null
@@ -1,68 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberInit()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_frtsubscriber_t* --
-  The FRT subscriber to initialize.
-  Must not be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-:initialize members;
-note
-  -- urt_basesubscriber_t --
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  -- urt_frtsubscriber_t --
-  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-  **deadlineOffset** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
-  **maxJitter** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/urtFrtSubscriberSubscribe.svg
deleted file mode 100644
index 5b25ba1..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberSubscribe.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-<?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="1035px" preserveAspectRatio="none" style="width:2404px;height:1035px;" version="1.1" viewBox="0 0 2404 1035" width="2404px" zoomAndPan="magnify"><defs><filter height="300%" id="fdt0hhoc1gw70" 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="1156.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="243" x="1079.5" y="47.6611">urtFrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1204" y="68.6143"/><path d="M432.25,72.8594 L432.25,395.5156 L1132.25,395.5156 L1132.25,82.8594 L1122.25,72.8594 L432.25,72.8594 " fill="#FBFB77" filter="url(#fdt0hhoc1gw70)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1122.25,72.8594 L1122.25,82.8594 L1132.25,82.8594 L1122.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="671.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="675.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="675.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="757.25" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="893.25" x2="1132.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="324" x="438.25" y="105.0591">The FRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="438.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="518.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="550.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="716.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="720.25" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="720.25" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="761.25" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="848.25" x2="1132.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="438.25" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="438.25" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="518.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="550.25" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="683.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="687.25" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="687.25" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="766.25" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="881.25" x2="1132.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="438.25" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="474.25" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="438.25" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="438.25" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="438.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="488.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="524.25" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="704.75" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="708.75" y="255.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="708.75" y="255.8872">deadline</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="776.75" y="255.8872">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="859.75" x2="1132.25" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="438.25" y="271.52">Maximum latency to consume messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="325" x="438.25" y="286.6528">A value of 0 indicates that latency is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="719.25" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="723.25" y="301.2856"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="35" x="723.25" y="301.2856">jitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="762.25" y="301.2856">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="845.25" x2="1132.25" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="679" x="438.25" y="316.9185">Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="438.25" y="332.0513">A value of 0 indicates that jitter is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="1132.25" y1="340.1172" y2="340.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="1132.25" y1="342.1172" y2="342.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="432.25" x2="711.25" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="715.25" y="356.6841"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="715.25" y="356.6841">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="764.25" y="356.6841">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="853.25" x2="1132.25" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="438.25" y="372.3169">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="491.25" y="372.3169">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="599.25" y="372.3169">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="438.25" y="387.4497">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="491.25" y="387.4497">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="623.25" y="387.4497">if the subscriber is already associated to a topic.</text><ellipse cx="782.25" cy="425.5156" fill="#000000" filter="url(#fdt0hhoc1gw70)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" points="724.75,455.5156,839.75,455.5156,851.75,467.5156,839.75,479.5156,724.75,479.5156,712.75,467.5156,724.75,455.5156" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="724.75" y="471.3237">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="692.75" y="464.9214">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="851.75" y="464.9214">no</text><path d="M10,489.5156 L10,514.6484 A0,0 0 0 0 10,514.6484 L216,514.6484 A0,0 0 0 0 216,514.6484 L216,507.5156 L236,502.082 L216,499.5156 L216,499.5156 L206,489.5156 L10,489.5156 A0,0 0 0 0 10,489.5156 " fill="#FBFB77" filter="url(#fdt0hhoc1gw70)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M206,489.5156 L206,499.5156 L216,499.5156 L206,489.5156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="506.5825">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="69" y="506.5825">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="197" y="506.5825">.</text><ellipse cx="247" cy="502.082" fill="#FFFFFF" filter="url(#fdt0hhoc1gw70)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="247" cy="502.082" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="432" x="1123.5" y="489.5156"/><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1137.5" y="515.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1147.5" y="536.6543">set topic</text><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="1240.5" y="515.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1250.5" y="536.6543">set deadline offset</text><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="1406.5" y="515.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="1416.5" y="536.6543">set maximum jitter</text><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="432" x="1123.5" y="569.4844"/><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1299.5" y="595.4844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1309.5" y="616.623">lock topic</text><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2125" x="268" y="649.4531"/><rect fill="#FFFFFF" filter="url(#fdt0hhoc1gw70)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1168" x="280" y="721.9653"/><path d="M437,722.9653 L437,731.2622 L427,741.2622 L280,741.2622 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="283" y="735.9604">contribute messages</text><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="290" y="758.2622"/><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="304" y="784.2622"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="314" y="805.4009">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="806" y="784.2622"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="816" y="805.4009">set next pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="290" y="838.231"/><polygon fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" points="794,675.4531,934,675.4531,946,687.4531,934,699.4531,794,699.4531,782,687.4531,794,675.4531" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="868" y="709.6636">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="794" y="691.2612">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="946" y="684.8589">no</text><polygon fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" points="864,876.231,876,888.231,864,900.231,852,888.231,864,876.231" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="656" x="1498" y="750.1138"/><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1512" y="776.1138"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1522" y="797.2524">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1845" y="776.1138"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1855" y="797.2524">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="656" x="1498" y="830.0825"/><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2164" y="776.1138"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2174" y="797.2524">register to topic's event source</text><rect fill="#000000" filter="url(#fdt0hhoc1gw70)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2125" x="268" y="920.231"/><rect fill="#FEFECE" filter="url(#fdt0hhoc1gw70)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1291.5" y="946.231"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1301.5" y="967.3696">unlock topic</text><path d="M1126.5,998.6333 L1126.5,1023.7661 A0,0 0 0 0 1126.5,1023.7661 L1308.5,1023.7661 A0,0 0 0 0 1308.5,1023.7661 L1308.5,1016.6333 L1328.5,1011.1997 L1308.5,1008.6333 L1308.5,1008.6333 L1298.5,998.6333 L1126.5,998.6333 A0,0 0 0 0 1126.5,998.6333 " fill="#FBFB77" filter="url(#fdt0hhoc1gw70)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1298.5,998.6333 L1298.5,1008.6333 L1308.5,1008.6333 L1298.5,998.6333 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1132.5" y="1015.7002">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1185.5" y="1015.7002">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1289.5" y="1015.7002">.</text><ellipse cx="1339.5" cy="1011.1997" fill="#FFFFFF" filter="url(#fdt0hhoc1gw70)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1339.5" cy="1011.1997" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="782.25" x2="782.25" y1="395.5156" y2="415.5156"/><polygon fill="#A80036" points="778.25,405.5156,782.25,415.5156,786.25,405.5156,782.25,409.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1175" x2="1175" y1="495.5156" y2="515.5156"/><polygon fill="#A80036" points="1171,505.5156,1175,515.5156,1179,505.5156,1175,509.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1309.5" x2="1309.5" y1="495.5156" y2="515.5156"/><polygon fill="#A80036" points="1305.5,505.5156,1309.5,515.5156,1313.5,505.5156,1309.5,509.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1474" x2="1474" y1="495.5156" y2="515.5156"/><polygon fill="#A80036" points="1470,505.5156,1474,515.5156,1478,505.5156,1474,509.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1175" x2="1175" y1="549.4844" y2="569.4844"/><polygon fill="#A80036" points="1171,559.4844,1175,569.4844,1179,559.4844,1175,563.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1309.5" x2="1309.5" y1="549.4844" y2="569.4844"/><polygon fill="#A80036" points="1305.5,559.4844,1309.5,569.4844,1313.5,559.4844,1309.5,563.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1474" x2="1474" y1="549.4844" y2="569.4844"/><polygon fill="#A80036" points="1470,559.4844,1474,569.4844,1478,559.4844,1474,563.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="575.4844" y2="595.4844"/><polygon fill="#A80036" points="1335.5,585.4844,1339.5,595.4844,1343.5,585.4844,1339.5,589.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="764.2622" y2="784.2622"/><polygon fill="#A80036" points="537,774.2622,541,784.2622,545,774.2622,541,778.2622" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="764.2622" y2="784.2622"/><polygon fill="#A80036" points="1111,774.2622,1115,784.2622,1119,774.2622,1115,778.2622" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="818.231" y2="838.231"/><polygon fill="#A80036" points="537,828.231,541,838.231,545,828.231,541,832.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="818.231" y2="838.231"/><polygon fill="#A80036" points="1111,828.231,1115,838.231,1119,828.231,1115,832.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="699.4531" y2="758.2622"/><polygon fill="#A80036" points="860,748.2622,864,758.2622,868,748.2622,864,752.2622" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="946" x2="1458" y1="687.4531" y2="687.4531"/><polygon fill="#A80036" points="1454,783.0981,1458,793.0981,1462,783.0981,1458,787.0981" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1458" x2="1458" y1="687.4531" y2="888.231"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1458" x2="876" y1="888.231" y2="888.231"/><polygon fill="#A80036" points="886,884.231,876,888.231,886,892.231,882,888.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="844.231" y2="876.231"/><polygon fill="#A80036" points="860,866.231,864,876.231,868,866.231,864,870.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1668.5" x2="1668.5" y1="756.1138" y2="776.1138"/><polygon fill="#A80036" points="1664.5,766.1138,1668.5,776.1138,1672.5,766.1138,1668.5,770.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1993.5" x2="1993.5" y1="756.1138" y2="776.1138"/><polygon fill="#A80036" points="1989.5,766.1138,1993.5,776.1138,1997.5,766.1138,1993.5,770.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1668.5" x2="1668.5" y1="810.0825" y2="830.0825"/><polygon fill="#A80036" points="1664.5,820.0825,1668.5,830.0825,1672.5,820.0825,1668.5,824.0825" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1993.5" x2="1993.5" y1="810.0825" y2="830.0825"/><polygon fill="#A80036" points="1989.5,820.0825,1993.5,830.0825,1997.5,820.0825,1993.5,824.0825" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="655.4531" y2="675.4531"/><polygon fill="#A80036" points="860,665.4531,864,675.4531,868,665.4531,864,669.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1831" x2="1831" y1="655.4531" y2="750.1138"/><polygon fill="#A80036" points="1827,740.1138,1831,750.1138,1835,740.1138,1831,744.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2272.5" x2="2272.5" y1="655.4531" y2="776.1138"/><polygon fill="#A80036" points="2268.5,766.1138,2272.5,776.1138,2276.5,766.1138,2272.5,770.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="900.231" y2="920.231"/><polygon fill="#A80036" points="860,910.231,864,920.231,868,910.231,864,914.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1831" x2="1831" y1="836.0825" y2="920.231"/><polygon fill="#A80036" points="1827,910.231,1831,920.231,1835,910.231,1831,914.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2272.5" x2="2272.5" y1="810.0825" y2="920.231"/><polygon fill="#A80036" points="2268.5,910.231,2272.5,920.231,2276.5,910.231,2272.5,914.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="629.4531" y2="649.4531"/><polygon fill="#A80036" points="1335.5,639.4531,1339.5,649.4531,1343.5,639.4531,1339.5,643.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="926.231" y2="946.231"/><polygon fill="#A80036" points="1335.5,936.231,1339.5,946.231,1343.5,936.231,1339.5,940.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="980.1997" y2="1000.1997"/><polygon fill="#A80036" points="1335.5,990.1997,1339.5,1000.1997,1343.5,990.1997,1339.5,994.1997" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="712.75" x2="247" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247" x2="247" y1="467.5156" y2="491.082"/><polygon fill="#A80036" points="243,481.082,247,491.082,251,481.082,247,485.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="851.75" x2="1339.5" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="467.5156" y2="489.5156"/><polygon fill="#A80036" points="1335.5,479.5156,1339.5,489.5156,1343.5,479.5156,1339.5,483.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="782.25" x2="782.25" y1="435.5156" y2="455.5156"/><polygon fill="#A80036" points="778.25,445.5156,782.25,455.5156,786.25,445.5156,782.25,449.5156" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8d235bee0d837548ac1e8f5d50f6a727]
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberSubscribe()\n
-
-
-
-
-
-note
-  - - **subscriber** : urt_frtsubscriber_t* - -
-  The FRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  - - **topic** : urt_topic_t* - -
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  - - **messages** : urt_message_t* - -
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  - - **deadline** : urt_delay_t - -
-  Maximum latency to consume messages.
-  A value of 0 indicates that latency is of no concern.
-  - - **jitter** : urt_delay_t - -
-  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
-  A value of 0 indicates that jitter is of no concern.
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  fork
-    :set topic;
-  fork again
-    :set deadline offset;
-  fork again
-    :set maximum jitter;
-  endfork
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-        partition "contribute messages" {
-    fork
-      :set next pointer of topic's latest message to first message to contribute;
-    fork again
-      :set next pointer of last message to contribute to the message after the topic's latest message;
-    endfork
-  }
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/urtFrtSubscriberSubscribe.uml
deleted file mode 100644
index 09ce19b..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberSubscribe.uml
+++ /dev/null
@@ -1,96 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberSubscribe()\n
-
-!include ../functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_frtsubscriber_t* --
-  The FRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  -- **topic** : urt_topic_t* --
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  -- **messages** : urt_message_t* --
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  -- **deadline** : urt_delay_t --
-  Maximum latency to consume messages.
-  A value of 0 indicates that latency is of no concern.
-  -- **jitter** : urt_delay_t --
-  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
-  A value of 0 indicates that jitter is of no concern.
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  fork
-    :set topic;
-  fork again
-    :set deadline offset;
-  fork again
-    :set maximum jitter;
-  endfork
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-      $contribute_messages()
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/urtFrtSubscriberUnsubscribe.svg
deleted file mode 100644
index e0a838e..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberUnsubscribe.svg
+++ /dev/null
@@ -1,62 +0,0 @@
-<?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="614px" preserveAspectRatio="none" style="width:1105px;height:614px;" version="1.1" viewBox="0 0 1105 614" width="1105px" zoomAndPan="magnify"><defs><filter height="300%" id="fhpxeg92jwboq" 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="507" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="265" x="419" y="47.6611">urtFrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="554.5" y="68.6143"/><path d="M605,72.8594 L605,183.6563 L1093,183.6563 L1093,82.8594 L1083,72.8594 L605,72.8594 " fill="#FBFB77" filter="url(#fhpxeg92jwboq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1083,72.8594 L1083,82.8594 L1093,82.8594 L1083,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="605" x2="738" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="742" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="742" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="132" x="824" y="89.4263">: urt_frtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="960" x2="1093" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="611" y="105.0591">The FRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="611" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="691" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="723" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="605" x2="1093" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="605" x2="1093" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="605" x2="778" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="782" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="782" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="831" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="920" x2="1093" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="611" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="664" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="772" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="611" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="664" y="175.5903">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="796" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="849" cy="213.6563" fill="#000000" filter="url(#fhpxeg92jwboq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fhpxeg92jwboq)" points="786.5,243.6563,911.5,243.6563,923.5,255.6563,911.5,267.6563,786.5,267.6563,774.5,255.6563,786.5,243.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="786.5" y="259.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="754.5" y="253.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="923.5" y="253.062">no</text><rect fill="#FEFECE" filter="url(#fhpxeg92jwboq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="627.5" y="277.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="637.5" y="298.7949">unregister event</text><path d="M10,321.625 L10,558.6172 A0,0 0 0 0 10,558.6172 L612,558.6172 A0,0 0 0 0 612,558.6172 L612,444.1211 L632,440.1211 L612,436.1211 L612,331.625 L602,321.625 L10,321.625 A0,0 0 0 0 10,321.625 " fill="#FBFB77" filter="url(#fhpxeg92jwboq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M602,321.625 L602,331.625 L612,331.625 L602,321.625 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="240" y1="334.1914" y2="334.1914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="244" y="338.1919">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="382" x2="612" y1="334.1914" y2="334.1914"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="16" y="353.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="57" y="353.8247">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="72" y="353.8247">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="368.9575">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="113" y="368.9575">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="128" y="368.9575">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="384.0903">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="148" y="384.0903">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="182.5" y1="394.7227" y2="394.7227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="186.5" y="398.7231">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="439.5" x2="612" y1="394.7227" y2="394.7227"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="16" y="414.356">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="121" y="414.356">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="16" y="429.4888">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="193" y="429.4888">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="248.5" y1="440.1211" y2="440.1211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="117" x="252.5" y="444.1216">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="373.5" x2="612" y1="440.1211" y2="440.1211"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="138.5" y1="455.2539" y2="455.2539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="142.5" y="459.2544">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="483.5" x2="612" y1="455.2539" y2="455.2539"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="16" y="474.8872">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="130" y="474.8872">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="153" y1="485.5195" y2="485.5195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="157" y="489.52">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="469" x2="612" y1="485.5195" y2="485.5195"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="16" y="505.1528">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="86" y="505.1528">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="515.7852" y2="515.7852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="24.5" y="519.7856">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="601.5" x2="612" y1="515.7852" y2="515.7852"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="16" y="535.4185">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="104" y="535.4185">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="550.5513">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="550.5513">← 0</text><rect fill="#FEFECE" filter="url(#fhpxeg92jwboq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="632" y="423.1367"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="642" y="444.2754">reset members</text><path d="M476.5,577.0508 L476.5,602.1836 A0,0 0 0 0 476.5,602.1836 L658.5,602.1836 A0,0 0 0 0 658.5,602.1836 L658.5,595.0508 L678.5,589.6172 L658.5,587.0508 L658.5,587.0508 L648.5,577.0508 L476.5,577.0508 A0,0 0 0 0 476.5,577.0508 " fill="#FBFB77" filter="url(#fhpxeg92jwboq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M648.5,577.0508 L648.5,587.0508 L658.5,587.0508 L648.5,577.0508 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="482.5" y="594.1177">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="535.5" y="594.1177">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="639.5" y="594.1177">.</text><ellipse cx="689.5" cy="589.6172" fill="#FFFFFF" filter="url(#fhpxeg92jwboq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="689.5" cy="589.6172" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M771.5,277.6563 L771.5,302.7891 A0,0 0 0 0 771.5,302.7891 L977.5,302.7891 A0,0 0 0 0 977.5,302.7891 L977.5,295.6563 L997.5,290.2227 L977.5,287.6563 L977.5,287.6563 L967.5,277.6563 L771.5,277.6563 A0,0 0 0 0 771.5,277.6563 " fill="#FBFB77" filter="url(#fhpxeg92jwboq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M967.5,277.6563 L967.5,287.6563 L977.5,287.6563 L967.5,277.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="777.5" y="294.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="830.5" y="294.7231">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="958.5" y="294.7231">.</text><ellipse cx="1008.5" cy="290.2227" fill="#FFFFFF" filter="url(#fhpxeg92jwboq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1008.5" cy="290.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="849" x2="849" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="845,193.6563,849,203.6563,853,193.6563,849,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="689.5" x2="689.5" y1="311.625" y2="423.1367"/><polygon fill="#A80036" points="685.5,413.1367,689.5,423.1367,693.5,413.1367,689.5,417.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="689.5" x2="689.5" y1="457.1055" y2="578.6172"/><polygon fill="#A80036" points="685.5,568.6172,689.5,578.6172,693.5,568.6172,689.5,572.6172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="774.5" x2="689.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="689.5" x2="689.5" y1="255.6563" y2="277.6563"/><polygon fill="#A80036" points="685.5,267.6563,689.5,277.6563,693.5,267.6563,689.5,271.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="923.5" x2="1008.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1008.5" x2="1008.5" y1="255.6563" y2="279.2227"/><polygon fill="#A80036" points="1004.5,269.2227,1008.5,279.2227,1012.5,269.2227,1008.5,273.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="849" x2="849" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="845,233.6563,849,243.6563,853,233.6563,849,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7f51ce052709f97e2cd9b849f6a8caff]
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberUnsubscribe()\n
-
-
-note
-  - - **subscriber** : urt_frtsubscriber_t* - -
-  The FRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :unregister event;
-  :reset members;
-  note
-    - - urt_basesubscriber_t - -
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    - - urt_frtsubscriber_t - -
-    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-    **deadlineOffset** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
-    **maxJitter** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtFrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/urtFrtSubscriberUnsubscribe.uml
deleted file mode 100644
index 0bfefdd..0000000
--- a/doc/activitydiagrams/subscriber/urtFrtSubscriberUnsubscribe.uml
+++ /dev/null
@@ -1,76 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtFrtSubscriberUnsubscribe()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_frtsubscriber_t* --
-  The FRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :unregister event;
-  :reset members;
-  note
-    -- urt_basesubscriber_t --
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    -- urt_frtsubscriber_t --
-    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-    **deadlineOffset** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
-    **maxJitter** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchLatestMessage.svg
deleted file mode 100644
index 4981dd7..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchLatestMessage.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-<?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="1073px" preserveAspectRatio="none" style="width:1782px;height:1073px;" version="1.1" viewBox="0 0 1782 1073" width="1782px" zoomAndPan="magnify"><defs><filter height="300%" id="f1kuww1o7v9986" 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="845.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="338" x="721" y="47.6611">urtHrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="893" y="68.6143"/><path d="M1009.25,72.8594 L1009.25,304.7188 L1497.25,304.7188 L1497.25,82.8594 L1487.25,72.8594 L1009.25,72.8594 " fill="#FBFB77" filter="url(#f1kuww1o7v9986)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1487.25,72.8594 L1487.25,82.8594 L1497.25,82.8594 L1487.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009.25" x2="1140.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1144.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1144.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1226.25" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1366.25" x2="1497.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="1015.25" y="105.0591">The HRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1015.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1095.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1127.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009.25" x2="1197.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1201.25" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1201.25" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1264.25" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1309.25" x2="1497.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1015.25" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1015.25" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1065.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1101.25" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009.25" x2="1204.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1208.25" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1208.25" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1253.25" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1302.25" x2="1497.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1015.25" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009.25" x2="1177.75" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1181.75" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1181.75" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1238.75" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1328.75" x2="1497.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1015.25" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1015.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1065.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1097.25" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009.25" x2="1497.25" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009.25" x2="1497.25" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1009.25" x2="1182.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1186.25" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1186.25" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1235.25" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1324.25" x2="1497.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1015.25" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1068.25" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1176.25" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1015.25" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1068.25" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1200.25" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="1253.25" cy="334.7188" fill="#000000" filter="url(#f1kuww1o7v9986)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1kuww1o7v9986)" points="1190.75,364.7188,1315.75,364.7188,1327.75,376.7188,1315.75,388.7188,1190.75,388.7188,1178.75,376.7188,1190.75,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1190.75" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1158.75" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1327.75" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="700.5" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="710.5" y="419.8574">lock topic</text><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="185" x="648" y="452.6875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="165" x="658" y="473.8262">access last read message</text><rect fill="#000000" filter="url(#f1kuww1o7v9986)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="508" x="486.5" y="562.3667"/><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="500.5" y="588.3667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="510.5" y="609.5054">proceed to next message</text><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="271" x="709.5" y="588.3667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="251" x="719.5" y="609.5054">decrement next message's HRT counter</text><rect fill="#000000" filter="url(#f1kuww1o7v9986)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="508" x="486.5" y="642.3354"/><polygon fill="#FEFECE" filter="url(#f1kuww1o7v9986)" points="623.5,506.6563,857.5,506.6563,869.5,518.6563,857.5,530.6563,623.5,530.6563,611.5,518.6563,623.5,506.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="744.5" y="540.8667">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="623.5" y="522.4644">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="597.5" y="516.062">no</text><rect fill="#000000" filter="url(#f1kuww1o7v9986)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1499" x="10" y="690.3354"/><rect fill="#FFFFFF" filter="url(#f1kuww1o7v9986)" height="231.0703" style="stroke: #000000; stroke-width: 2.0;" width="970" x="22" y="707.1372"/><path d="M135,708.1372 L135,716.4341 L125,726.4341 L22,726.4341 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="25" y="721.1323">fetch message</text><rect fill="#000000" filter="url(#f1kuww1o7v9986)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="950" x="32" y="743.4341"/><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="46" y="817.8364"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="56" y="838.9751">update message pointer</text><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="231" y="817.8364"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="241" y="838.9751">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="437" y="817.8364"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="447" y="838.9751">copy message payload</text><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="638" y="817.8364"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="648" y="838.9751">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="672" y="838.9751">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="725" y="838.9751">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#f1kuww1o7v9986)" points="672.5,769.4341,911.5,769.4341,923.5,781.4341,911.5,793.4341,672.5,793.4341,660.5,781.4341,672.5,769.4341" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="796" y="803.6445">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="672.5" y="785.2422">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="822.5" y="785.2422">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="875.5" y="785.2422">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="923.5" y="778.8398">no</text><polygon fill="#FEFECE" filter="url(#f1kuww1o7v9986)" points="792,876.2075,804,888.2075,792,900.2075,780,888.2075,792,876.2075" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1kuww1o7v9986)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="950" x="32" y="920.2075"/><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="1051.5" y="809.688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="1061.5" y="830.8267">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#f1kuww1o7v9986)" points="1032,761.2856,1288,761.2856,1300,773.2856,1288,785.2856,1032,785.2856,1020,773.2856,1032,761.2856" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1164" y="795.4961">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="1032" y="777.0938">The HRT counter of any message became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1300" y="770.6914">no</text><polygon fill="#FEFECE" filter="url(#f1kuww1o7v9986)" points="1160,868.0591,1172,880.0591,1160,892.0591,1148,880.0591,1160,868.0591" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="1340" y="809.688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="1350" y="830.8267">reset QoS delay timer</text><rect fill="#000000" filter="url(#f1kuww1o7v9986)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1499" x="10" y="958.2075"/><rect fill="#FEFECE" filter="url(#f1kuww1o7v9986)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="692.5" y="984.2075"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="702.5" y="1005.3462">unlock topic</text><path d="M527.5,1036.6099 L527.5,1061.7427 A0,0 0 0 0 527.5,1061.7427 L709.5,1061.7427 A0,0 0 0 0 709.5,1061.7427 L709.5,1054.6099 L729.5,1049.1763 L709.5,1046.6099 L709.5,1046.6099 L699.5,1036.6099 L527.5,1036.6099 A0,0 0 0 0 527.5,1036.6099 " fill="#FBFB77" filter="url(#f1kuww1o7v9986)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M699.5,1036.6099 L699.5,1046.6099 L709.5,1046.6099 L699.5,1036.6099 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="533.5" y="1053.6768">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="586.5" y="1053.6768">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="690.5" y="1053.6768">.</text><ellipse cx="740.5" cy="1049.1763" fill="#FFFFFF" filter="url(#f1kuww1o7v9986)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="740.5" cy="1049.1763" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1519,398.7188 L1519,423.8516 A0,0 0 0 0 1519,423.8516 L1725,423.8516 A0,0 0 0 0 1725,423.8516 L1725,416.7188 L1745,411.2852 L1725,408.7188 L1725,408.7188 L1715,398.7188 L1519,398.7188 A0,0 0 0 0 1519,398.7188 " fill="#FBFB77" filter="url(#f1kuww1o7v9986)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1715,398.7188 L1715,408.7188 L1725,408.7188 L1715,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1525" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1578" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1706" y="415.7856">.</text><ellipse cx="1756" cy="411.2852" fill="#FFFFFF" filter="url(#f1kuww1o7v9986)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1756" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253.25" x2="1253.25" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="1249.25,314.7188,1253.25,324.7188,1257.25,314.7188,1253.25,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="432.6875" y2="452.6875"/><polygon fill="#A80036" points="736.5,442.6875,740.5,452.6875,744.5,442.6875,740.5,446.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="591" x2="591" y1="568.3667" y2="588.3667"/><polygon fill="#A80036" points="587,578.3667,591,588.3667,595,578.3667,591,582.3667" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="845" x2="845" y1="568.3667" y2="588.3667"/><polygon fill="#A80036" points="841,578.3667,845,588.3667,849,578.3667,845,582.3667" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="591" x2="591" y1="622.3354" y2="642.3354"/><polygon fill="#A80036" points="587,632.3354,591,642.3354,595,632.3354,591,636.3354" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="845" x2="845" y1="622.3354" y2="642.3354"/><polygon fill="#A80036" points="841,632.3354,845,642.3354,849,632.3354,845,636.3354" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="530.6563" y2="562.3667"/><polygon fill="#A80036" points="736.5,552.3667,740.5,562.3667,744.5,552.3667,740.5,556.3667" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="648.3354" y2="658.3354"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="1006.5" y1="658.3354" y2="658.3354"/><polygon fill="#A80036" points="1002.5,596.9487,1006.5,586.9487,1010.5,596.9487,1006.5,592.9487" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1006.5" x2="1006.5" y1="518.6563" y2="658.3354"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1006.5" x2="869.5" y1="518.6563" y2="518.6563"/><polygon fill="#A80036" points="879.5,514.6563,869.5,518.6563,879.5,522.6563,875.5,518.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="611.5" x2="474.5" y1="518.6563" y2="518.6563"/><polygon fill="#A80036" points="470.5,582.9487,474.5,592.9487,478.5,582.9487,474.5,586.9487" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="474.5" x2="474.5" y1="518.6563" y2="670.3354"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="474.5" x2="740.5" y1="670.3354" y2="670.3354"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="670.3354" y2="690.3354"/><polygon fill="#A80036" points="736.5,680.3354,740.5,690.3354,744.5,680.3354,740.5,684.3354" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="486.6563" y2="506.6563"/><polygon fill="#A80036" points="736.5,496.6563,740.5,506.6563,744.5,496.6563,740.5,500.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="793.4341" y2="817.8364"/><polygon fill="#A80036" points="788,807.8364,792,817.8364,796,807.8364,792,811.8364" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="923.5" x2="956" y1="781.4341" y2="781.4341"/><polygon fill="#A80036" points="952,824.8208,956,834.8208,960,824.8208,956,828.8208" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="956" x2="956" y1="781.4341" y2="888.2075"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="956" x2="804" y1="888.2075" y2="888.2075"/><polygon fill="#A80036" points="814,884.2075,804,888.2075,814,892.2075,810,888.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="851.8052" y2="876.2075"/><polygon fill="#A80036" points="788,866.2075,792,876.2075,796,866.2075,792,870.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="749.4341" y2="817.8364"/><polygon fill="#A80036" points="129.5,807.8364,133.5,817.8364,137.5,807.8364,133.5,811.8364" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="329" y1="749.4341" y2="817.8364"/><polygon fill="#A80036" points="325,807.8364,329,817.8364,333,807.8364,329,811.8364" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="518.5" x2="518.5" y1="749.4341" y2="817.8364"/><polygon fill="#A80036" points="514.5,807.8364,518.5,817.8364,522.5,807.8364,518.5,811.8364" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="749.4341" y2="769.4341"/><polygon fill="#A80036" points="788,759.4341,792,769.4341,796,759.4341,792,763.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="851.8052" y2="920.2075"/><polygon fill="#A80036" points="129.5,910.2075,133.5,920.2075,137.5,910.2075,133.5,914.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="329" y1="851.8052" y2="920.2075"/><polygon fill="#A80036" points="325,910.2075,329,920.2075,333,910.2075,329,914.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="518.5" x2="518.5" y1="851.8052" y2="920.2075"/><polygon fill="#A80036" points="514.5,910.2075,518.5,920.2075,522.5,910.2075,518.5,914.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="900.2075" y2="920.2075"/><polygon fill="#A80036" points="788,910.2075,792,920.2075,796,910.2075,792,914.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1160" x2="1160" y1="785.2856" y2="809.688"/><polygon fill="#A80036" points="1156,799.688,1160,809.688,1164,799.688,1160,803.688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1312" y1="773.2856" y2="773.2856"/><polygon fill="#A80036" points="1308,816.6724,1312,826.6724,1316,816.6724,1312,820.6724" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1312" x2="1312" y1="773.2856" y2="880.0591"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1312" x2="1172" y1="880.0591" y2="880.0591"/><polygon fill="#A80036" points="1182,876.0591,1172,880.0591,1182,884.0591,1178,880.0591" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1160" x2="1160" y1="843.6567" y2="868.0591"/><polygon fill="#A80036" points="1156,858.0591,1160,868.0591,1164,858.0591,1160,862.0591" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="489" x2="489" y1="696.3354" y2="743.4341"/><polygon fill="#A80036" points="485,733.4341,489,743.4341,493,733.4341,489,737.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1160" x2="1160" y1="696.3354" y2="761.2856"/><polygon fill="#A80036" points="1156,751.2856,1160,761.2856,1164,751.2856,1160,755.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1417.5" x2="1417.5" y1="696.3354" y2="809.688"/><polygon fill="#A80036" points="1413.5,799.688,1417.5,809.688,1421.5,799.688,1417.5,803.688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="489" x2="489" y1="926.2075" y2="958.2075"/><polygon fill="#A80036" points="485,948.2075,489,958.2075,493,948.2075,489,952.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1160" x2="1160" y1="892.0591" y2="958.2075"/><polygon fill="#A80036" points="1156,948.2075,1160,958.2075,1164,948.2075,1160,952.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1417.5" x2="1417.5" y1="843.6567" y2="958.2075"/><polygon fill="#A80036" points="1413.5,948.2075,1417.5,958.2075,1421.5,948.2075,1417.5,952.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="964.2075" y2="984.2075"/><polygon fill="#A80036" points="736.5,974.2075,740.5,984.2075,744.5,974.2075,740.5,978.2075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="1018.1763" y2="1038.1763"/><polygon fill="#A80036" points="736.5,1028.1763,740.5,1038.1763,744.5,1028.1763,740.5,1032.1763" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1178.75" x2="740.5" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740.5" x2="740.5" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="736.5,388.7188,740.5,398.7188,744.5,388.7188,740.5,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1327.75" x2="1756" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1756" x2="1756" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1752,390.2852,1756,400.2852,1760,390.2852,1756,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1253.25" x2="1253.25" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="1249.25,354.7188,1253.25,364.7188,1257.25,354.7188,1253.25,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[39e4eac4a6857ceedd985567d009f759]
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberFetchLatestMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_hrtsubscriber_t* - -
-  The HRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  :access last read message;
-  while (Timestamp of next message is younger?) is (yes)
-    fork
-      :proceed to next message;
-    fork again
-      :decrement next message's HRT counter;
-    endfork
-  endwhile (no)
-  fork
-      partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  fork again
-    if (The HRT counter of any message became 0?) then (yes)
-      :signal topic's condition variable;
-    else (no)
-    endif
-  fork again
-    :reset QoS delay timer;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchLatestMessage.uml
deleted file mode 100644
index 4ac2647..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchLatestMessage.uml
+++ /dev/null
@@ -1,87 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberFetchLatestMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_hrtsubscriber_t* --
-  The HRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  :access last read message;
-  while (Timestamp of next message is younger?) is (yes)
-    fork
-      :proceed to next message;
-    fork again
-      :decrement next message's HRT counter;
-    endfork
-  endwhile (no)
-  fork
-    $fetch_message()
-  fork again
-    if (The HRT counter of any message became 0?) then (yes)
-      :signal topic's condition variable;
-    else (no)
-    endif
-  fork again
-    :reset QoS delay timer;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchNextMessage.svg
deleted file mode 100644
index f9f7bbf..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchNextMessage.svg
+++ /dev/null
@@ -1,86 +0,0 @@
-<?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="890px" preserveAspectRatio="none" style="width:1865px;height:890px;" version="1.1" viewBox="0 0 1865 890" width="1865px" zoomAndPan="magnify"><defs><filter height="300%" id="f1utu8khfxyd7p" 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="887.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="328" x="767.75" y="47.6611">urtHrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="934.75" y="68.6143"/><path d="M1072.375,72.8594 L1072.375,304.7188 L1560.375,304.7188 L1560.375,82.8594 L1550.375,72.8594 L1072.375,72.8594 " fill="#FBFB77" filter="url(#f1utu8khfxyd7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1550.375,72.8594 L1550.375,82.8594 L1560.375,82.8594 L1550.375,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1072.375" x2="1203.375" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1207.375" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1207.375" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1289.375" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1429.375" x2="1560.375" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="1078.375" y="105.0591">The HRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1078.375" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1158.375" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1190.375" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1072.375" x2="1260.375" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1264.375" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1264.375" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1327.375" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1372.375" x2="1560.375" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="1078.375" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1078.375" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1128.375" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1164.375" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1072.375" x2="1267.375" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1271.375" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1271.375" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1316.375" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1365.375" x2="1560.375" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="1078.375" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1072.375" x2="1240.875" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1244.875" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1244.875" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1301.875" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1391.875" x2="1560.375" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="1078.375" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1078.375" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1128.375" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1160.375" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1072.375" x2="1560.375" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1072.375" x2="1560.375" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1072.375" x2="1245.375" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1249.375" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1249.375" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1298.375" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1387.375" x2="1560.375" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1078.375" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1131.375" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1239.375" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1078.375" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1131.375" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1263.375" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="1316.375" cy="334.7188" fill="#000000" filter="url(#f1utu8khfxyd7p)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" points="1253.875,364.7188,1378.875,364.7188,1390.875,376.7188,1378.875,388.7188,1253.875,388.7188,1241.875,376.7188,1253.875,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1253.875" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1221.875" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1390.875" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="761.25" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="771.25" y="419.8574">lock topic</text><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="710.75" y="452.6875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="720.75" y="473.8262">proceed to next message</text><rect fill="#000000" filter="url(#f1utu8khfxyd7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1582.5" x="10" y="506.6563"/><rect fill="#FFFFFF" filter="url(#f1utu8khfxyd7p)" height="231.4063" style="stroke: #000000; stroke-width: 2.0;" width="960" x="22" y="523.458"/><path d="M135,524.458 L135,532.7549 L125,542.7549 L22,542.7549 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="25" y="537.4531">fetch message</text><rect fill="#000000" filter="url(#f1utu8khfxyd7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="940" x="32" y="559.7549"/><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="46" y="634.1572"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="56" y="655.2959">update message pointer</text><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="231" y="634.1572"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="241" y="655.2959">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="437" y="634.1572"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="447" y="655.2959">copy message payload</text><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="638" y="634.1572"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="648" y="655.2959">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="672" y="655.2959">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="725" y="655.2959">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" points="672.5,585.7549,911.5,585.7549,923.5,597.7549,911.5,609.7549,672.5,609.7549,660.5,597.7549,672.5,585.7549" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="796" y="619.9653">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="672.5" y="601.563">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="822.5" y="601.563">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="875.5" y="601.563">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="923.5" y="595.1606">no</text><polygon fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" points="792,692.5283,804,704.5283,792,716.5283,780,704.5283,792,692.5283" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1utu8khfxyd7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="940" x="32" y="736.5283"/><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="240" x="992" y="543.1221"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="1002" y="564.2607">decrement message's HRT counter</text><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="1003.5" y="660.4932"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="1013.5" y="681.6318">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" points="1044.5,612.0908,1179.5,612.0908,1191.5,624.0908,1179.5,636.0908,1044.5,636.0908,1032.5,624.0908,1044.5,612.0908" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1116" y="646.3013">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1044.5" y="627.8989">HRT counter became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1191.5" y="621.4966">yes</text><polygon fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" points="1112,718.8643,1124,730.8643,1112,742.8643,1100,730.8643,1112,718.8643" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="1280.5" y="626.0088"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="1290.5" y="647.1475">update QoS delay timer wrt. next message</text><polygon fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" points="1306.5,577.6064,1540.5,577.6064,1552.5,589.6064,1540.5,601.6064,1306.5,601.6064,1294.5,589.6064,1306.5,577.6064" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1427.5" y="611.8169">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="1306.5" y="593.4146">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1552.5" y="587.0122">no</text><polygon fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" points="1423.5,684.3799,1435.5,696.3799,1423.5,708.3799,1411.5,696.3799,1423.5,684.3799" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1utu8khfxyd7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1582.5" x="10" y="774.8643"/><rect fill="#FEFECE" filter="url(#f1utu8khfxyd7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="753.25" y="800.8643"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="763.25" y="822.0029">unlock topic</text><path d="M588.25,853.2666 L588.25,878.3994 A0,0 0 0 0 588.25,878.3994 L770.25,878.3994 A0,0 0 0 0 770.25,878.3994 L770.25,871.2666 L790.25,865.833 L770.25,863.2666 L770.25,863.2666 L760.25,853.2666 L588.25,853.2666 A0,0 0 0 0 588.25,853.2666 " fill="#FBFB77" filter="url(#f1utu8khfxyd7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M760.25,853.2666 L760.25,863.2666 L770.25,863.2666 L760.25,853.2666 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="594.25" y="870.3335">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="647.25" y="870.3335">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="751.25" y="870.3335">.</text><ellipse cx="801.25" cy="865.833" fill="#FFFFFF" filter="url(#f1utu8khfxyd7p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="801.25" cy="865.833" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1602.5,398.7188 L1602.5,423.8516 A0,0 0 0 0 1602.5,423.8516 L1808.5,423.8516 A0,0 0 0 0 1808.5,423.8516 L1808.5,416.7188 L1828.5,411.2852 L1808.5,408.7188 L1808.5,408.7188 L1798.5,398.7188 L1602.5,398.7188 A0,0 0 0 0 1602.5,398.7188 " fill="#FBFB77" filter="url(#f1utu8khfxyd7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1798.5,398.7188 L1798.5,408.7188 L1808.5,408.7188 L1798.5,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1608.5" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1661.5" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1789.5" y="415.7856">.</text><ellipse cx="1839.5" cy="411.2852" fill="#FFFFFF" filter="url(#f1utu8khfxyd7p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1839.5" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1316.375" x2="1316.375" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="1312.375,314.7188,1316.375,324.7188,1320.375,314.7188,1316.375,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.25" x2="801.25" y1="432.6875" y2="452.6875"/><polygon fill="#A80036" points="797.25,442.6875,801.25,452.6875,805.25,442.6875,801.25,446.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="609.7549" y2="634.1572"/><polygon fill="#A80036" points="788,624.1572,792,634.1572,796,624.1572,792,628.1572" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="923.5" x2="956" y1="597.7549" y2="597.7549"/><polygon fill="#A80036" points="952,641.1416,956,651.1416,960,641.1416,956,645.1416" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="956" x2="956" y1="597.7549" y2="704.5283"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="956" x2="804" y1="704.5283" y2="704.5283"/><polygon fill="#A80036" points="814,700.5283,804,704.5283,814,708.5283,810,704.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="668.126" y2="692.5283"/><polygon fill="#A80036" points="788,682.5283,792,692.5283,796,682.5283,792,686.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="565.7549" y2="634.1572"/><polygon fill="#A80036" points="129.5,624.1572,133.5,634.1572,137.5,624.1572,133.5,628.1572" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="329" y1="565.7549" y2="634.1572"/><polygon fill="#A80036" points="325,624.1572,329,634.1572,333,624.1572,329,628.1572" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="518.5" x2="518.5" y1="565.7549" y2="634.1572"/><polygon fill="#A80036" points="514.5,624.1572,518.5,634.1572,522.5,624.1572,518.5,628.1572" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="565.7549" y2="585.7549"/><polygon fill="#A80036" points="788,575.7549,792,585.7549,796,575.7549,792,579.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="133.5" x2="133.5" y1="668.126" y2="736.5283"/><polygon fill="#A80036" points="129.5,726.5283,133.5,736.5283,137.5,726.5283,133.5,730.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="329" x2="329" y1="668.126" y2="736.5283"/><polygon fill="#A80036" points="325,726.5283,329,736.5283,333,726.5283,329,730.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="518.5" x2="518.5" y1="668.126" y2="736.5283"/><polygon fill="#A80036" points="514.5,726.5283,518.5,736.5283,522.5,726.5283,518.5,730.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="716.5283" y2="736.5283"/><polygon fill="#A80036" points="788,726.5283,792,736.5283,796,726.5283,792,730.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1112" x2="1112" y1="636.0908" y2="660.4932"/><polygon fill="#A80036" points="1108,650.4932,1112,660.4932,1116,650.4932,1112,654.4932" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1191.5" x2="1230.5" y1="624.0908" y2="624.0908"/><polygon fill="#A80036" points="1226.5,667.4775,1230.5,677.4775,1234.5,667.4775,1230.5,671.4775" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1230.5" x2="1230.5" y1="624.0908" y2="730.8643"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1230.5" x2="1124" y1="730.8643" y2="730.8643"/><polygon fill="#A80036" points="1134,726.8643,1124,730.8643,1134,734.8643,1130,730.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1112" x2="1112" y1="694.4619" y2="718.8643"/><polygon fill="#A80036" points="1108,708.8643,1112,718.8643,1116,708.8643,1112,712.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1112" x2="1112" y1="577.0908" y2="612.0908"/><polygon fill="#A80036" points="1108,602.0908,1112,612.0908,1116,602.0908,1112,606.0908" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1423.5" x2="1423.5" y1="601.6064" y2="626.0088"/><polygon fill="#A80036" points="1419.5,616.0088,1423.5,626.0088,1427.5,616.0088,1423.5,620.0088" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1552.5" x2="1576.5" y1="589.6064" y2="589.6064"/><polygon fill="#A80036" points="1572.5,632.9932,1576.5,642.9932,1580.5,632.9932,1576.5,636.9932" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1576.5" x2="1576.5" y1="589.6064" y2="696.3799"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1576.5" x2="1435.5" y1="696.3799" y2="696.3799"/><polygon fill="#A80036" points="1445.5,692.3799,1435.5,696.3799,1445.5,700.3799,1441.5,696.3799" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1423.5" x2="1423.5" y1="659.9775" y2="684.3799"/><polygon fill="#A80036" points="1419.5,674.3799,1423.5,684.3799,1427.5,674.3799,1423.5,678.3799" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="489" x2="489" y1="512.6563" y2="559.7549"/><polygon fill="#A80036" points="485,549.7549,489,559.7549,493,549.7549,489,553.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1112" x2="1112" y1="512.6563" y2="543.1221"/><polygon fill="#A80036" points="1108,533.1221,1112,543.1221,1116,533.1221,1112,537.1221" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1423.5" x2="1423.5" y1="512.6563" y2="577.6064"/><polygon fill="#A80036" points="1419.5,567.6064,1423.5,577.6064,1427.5,567.6064,1423.5,571.6064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="489" x2="489" y1="742.5283" y2="774.8643"/><polygon fill="#A80036" points="485,764.8643,489,774.8643,493,764.8643,489,768.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1112" x2="1112" y1="742.8643" y2="774.8643"/><polygon fill="#A80036" points="1108,764.8643,1112,774.8643,1116,764.8643,1112,768.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1423.5" x2="1423.5" y1="708.3799" y2="774.8643"/><polygon fill="#A80036" points="1419.5,764.8643,1423.5,774.8643,1427.5,764.8643,1423.5,768.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.25" x2="801.25" y1="486.6563" y2="506.6563"/><polygon fill="#A80036" points="797.25,496.6563,801.25,506.6563,805.25,496.6563,801.25,500.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.25" x2="801.25" y1="780.8643" y2="800.8643"/><polygon fill="#A80036" points="797.25,790.8643,801.25,800.8643,805.25,790.8643,801.25,794.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.25" x2="801.25" y1="834.833" y2="854.833"/><polygon fill="#A80036" points="797.25,844.833,801.25,854.833,805.25,844.833,801.25,848.833" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241.875" x2="801.25" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.25" x2="801.25" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="797.25,388.7188,801.25,398.7188,805.25,388.7188,801.25,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1390.875" x2="1839.5" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1839.5" x2="1839.5" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1835.5,390.2852,1839.5,400.2852,1843.5,390.2852,1839.5,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1316.375" x2="1316.375" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="1312.375,354.7188,1316.375,364.7188,1320.375,354.7188,1316.375,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9a32ada93c85a2de37bae5a43857d6cb]
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberFetchNextMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_hrtsubscriber_t* - -
-  The HRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  :proceed to next message;
-  fork
-      partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  fork again
-    :decrement message's HRT counter;
-    if (HRT counter became 0?) then (yes)
-    else (no)
-      :signal topic's condition variable;
-    endif
-  fork again
-    if (Timestamp of next message is younger?) then (yes)
-      :update QoS delay timer wrt. next message;
-    else (no)
-    endif
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchNextMessage.uml
deleted file mode 100644
index 9a0f314..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberFetchNextMessage.uml
+++ /dev/null
@@ -1,84 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberFetchNextMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_hrtsubscriber_t* --
-  The HRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  :proceed to next message;
-  fork
-    $fetch_message()
-  fork again
-    :decrement message's HRT counter;
-    if (HRT counter became 0?) then (yes)
-    else (no)
-      :signal topic's condition variable;
-    endif
-  fork again
-    if (Timestamp of next message is younger?) then (yes)
-      :update QoS delay timer wrt. next message;
-    else (no)
-    endif
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/urtHrtSubscriberInit.svg
deleted file mode 100644
index 4a6a6bc..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberInit.svg
+++ /dev/null
@@ -1,55 +0,0 @@
-<?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="546px" preserveAspectRatio="none" style="width:856px;height:546px;" version="1.1" viewBox="0 0 856 546" width="856px" zoomAndPan="magnify"><defs><filter height="300%" id="f1igvps5y6mpkd" 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="382.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="191" x="331.5" y="47.6611">urtHrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="430" y="68.6143"/><path d="M551,72.8594 L551,128.2578 L844,128.2578 L844,82.8594 L834,72.8594 L551,72.8594 " fill="#FBFB77" filter="url(#f1igvps5y6mpkd)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M834,72.8594 L834,82.8594 L844,82.8594 L834,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="551" x2="561.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="565.5" y="89.4263"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="565.5" y="89.4263">subscriber</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="176" x="653.5" y="89.4263">: urt_hrtsubscriber_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="833.5" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="833.5" x2="844" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="198" x="557" y="105.0591">The HRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="557" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="637" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="669" y="120.1919">.</text><ellipse cx="697.5" cy="158.2578" fill="#000000" filter="url(#f1igvps5y6mpkd)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,178.2578 L10,490.9141 A0,0 0 0 0 10,490.9141 L612,490.9141 A0,0 0 0 0 612,490.9141 L612,338.5859 L632,334.5859 L612,330.5859 L612,188.2578 L602,178.2578 L10,178.2578 A0,0 0 0 0 10,178.2578 " fill="#FBFB77" filter="url(#f1igvps5y6mpkd)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M602,178.2578 L602,188.2578 L612,188.2578 L602,178.2578 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="240" y1="190.8242" y2="190.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="244" y="194.8247">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="382" x2="612" y1="190.8242" y2="190.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="16" y="210.4575">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="57" y="210.4575">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="72" y="210.4575">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="16" y="225.5903">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="145" y="225.5903">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="227" y="225.5903">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="240.7231">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="113" y="240.7231">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="128" y="240.7231">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="255.856">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="148" y="255.856">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="182.5" y1="266.4883" y2="266.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="186.5" y="270.4888">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="439.5" x2="612" y1="266.4883" y2="266.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="16" y="286.1216">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="121" y="286.1216">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="16" y="301.2544">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="193" y="301.2544">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="246.5" y1="311.8867" y2="311.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="250.5" y="315.8872">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="612" y1="311.8867" y2="311.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="16" y="331.52">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="52" y="331.52">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="67" y="331.52">NULL</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="138.5" y1="342.1523" y2="342.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="142.5" y="346.1528">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="483.5" x2="612" y1="342.1523" y2="342.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="16" y="361.7856">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="130" y="361.7856">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="16" y="376.9185">urtTimerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="133" x="94" y="376.9185">qosDeadlineTimer</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="227" y="376.9185">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="159.5" y1="387.5508" y2="387.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="295" x="163.5" y="391.5513">URT_CFG_PUBSUB_QOS_RATECHECK == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="462.5" x2="612" y1="387.5508" y2="387.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="16" y="407.1841">expectedRate</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="123" y="407.1841">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="157.5" y1="417.8164" y2="417.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="299" x="161.5" y="421.8169">URT_CFG_PUBSUB_QOS_JITTERCHECK == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="464.5" x2="612" y1="417.8164" y2="417.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="16" y="437.4497">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="86" y="437.4497">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="448.082" y2="448.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="24.5" y="452.0825">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="601.5" x2="612" y1="448.082" y2="448.082"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="16" y="467.7153">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="104" y="467.7153">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="482.8481">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="482.8481">← 0</text><rect fill="#FEFECE" filter="url(#f1igvps5y6mpkd)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="632" y="317.6016"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="642" y="338.7402">initialize members</text><path d="M484.5,509.3477 L484.5,534.4805 A0,0 0 0 0 484.5,534.4805 L666.5,534.4805 A0,0 0 0 0 666.5,534.4805 L666.5,527.3477 L686.5,521.9141 L666.5,519.3477 L666.5,519.3477 L656.5,509.3477 L484.5,509.3477 A0,0 0 0 0 484.5,509.3477 " fill="#FBFB77" filter="url(#f1igvps5y6mpkd)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M656.5,509.3477 L656.5,519.3477 L666.5,519.3477 L656.5,509.3477 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="490.5" y="526.4146">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="543.5" y="526.4146">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="647.5" y="526.4146">.</text><ellipse cx="697.5" cy="521.9141" fill="#FFFFFF" filter="url(#f1igvps5y6mpkd)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="697.5" cy="521.9141" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="128.2578" y2="148.2578"/><polygon fill="#A80036" points="693.5,138.2578,697.5,148.2578,701.5,138.2578,697.5,142.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="168.2578" y2="317.6016"/><polygon fill="#A80036" points="693.5,307.6016,697.5,317.6016,701.5,307.6016,697.5,311.6016" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="697.5" x2="697.5" y1="351.5703" y2="510.9141"/><polygon fill="#A80036" points="693.5,500.9141,697.5,510.9141,701.5,500.9141,697.5,504.9141" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[81ac2b94e062302558d5ae02b1b7b0ad]
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberInit()\n
-
-
-note
-  - - ""**subscriber** : urt_hrtsubscriber_t*"" - -
-  The HRT subscriber to initialize.
-  Must not be ""NULL"".
-endnote
-
-
-start
-:initialize members;
-note
-  - - urt_basesubscriber_t - -
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  - - urt_hrtsubscriber_t - -
-  **next** ← ""NULL""
-  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-  **deadlineOffset** ← 0
-  urtTimerInit(**qosDeadlineTimer**)
-  .. URT_CFG_PUBSUB_QOS_RATECHECK == true ..
-  **expectedRate** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
-  **maxJitter** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/urtHrtSubscriberInit.uml
deleted file mode 100644
index 09b4d95..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberInit.uml
+++ /dev/null
@@ -1,69 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberInit()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- ""**subscriber** : urt_hrtsubscriber_t*"" --
-  The HRT subscriber to initialize.
-  Must not be ""NULL"".
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-:initialize members;
-note
-  -- urt_basesubscriber_t --
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  -- urt_hrtsubscriber_t --
-  **next** ← ""NULL""
-  .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-  **deadlineOffset** ← 0
-  urtTimerInit(**qosDeadlineTimer**)
-  .. URT_CFG_PUBSUB_QOS_RATECHECK == true ..
-  **expectedRate** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECK == true ..
-  **maxJitter** ← 0
-  .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/urtHrtSubscriberSubscribe.svg
deleted file mode 100644
index 6c337ac..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberSubscribe.svg
+++ /dev/null
@@ -1,100 +0,0 @@
-<?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="1081px" preserveAspectRatio="none" style="width:3055px;height:1081px;" version="1.1" viewBox="0 0 3055 1081" width="3055px" zoomAndPan="magnify"><defs><filter height="300%" id="f4iggha7yinpv" 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="1482.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="247" x="1403.25" y="47.6611">urtHrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1529.75" y="68.6143"/><path d="M600.5,72.8594 L600.5,440.9141 L1300.5,440.9141 L1300.5,82.8594 L1290.5,72.8594 L600.5,72.8594 " fill="#FBFB77" filter="url(#f4iggha7yinpv)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1290.5,72.8594 L1290.5,82.8594 L1300.5,82.8594 L1290.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="837.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="841.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="841.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="923.5" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1063.5" x2="1300.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="327" x="606.5" y="105.0591">The HRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="606.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="686.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="718.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="884.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="888.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="888.5" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="929.5" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1016.5" x2="1300.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="606.5" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="606.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="686.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="718.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="851.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="855.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="855.5" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="934.5" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1049.5" x2="1300.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="606.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="642.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="606.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="606.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="606.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="656.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="692.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="873" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="877" y="255.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="877" y="255.8872">deadline</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="945" y="255.8872">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1028" x2="1300.5" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="606.5" y="271.52">Maximum latency to consume messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="325" x="606.5" y="286.6528">A value of 0 indicates that latency is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="887.5" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="891.5" y="301.2856"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="35" x="891.5" y="301.2856">jitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="930.5" y="301.2856">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1013.5" x2="1300.5" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="679" x="606.5" y="316.9185">Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="606.5" y="332.0513">A value of 0 indicates that jitter is of no concern.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="10" x="606.5" y="347.1841">--</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="620.5" y="347.1841">rate</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="77" x="654.5" y="347.1841">: urt-delay_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="621" x="606.5" y="362.3169">Expected minimum rate of new messages (= mamximum time between consecutive messages).</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="309" x="606.5" y="377.4497">A value of 0 indicates, that rate is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="1300.5" y1="385.5156" y2="385.5156"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="1300.5" y1="387.5156" y2="387.5156"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="600.5" x2="879.5" y1="398.082" y2="398.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="883.5" y="402.0825"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="883.5" y="402.0825">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="932.5" y="402.0825">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1021.5" x2="1300.5" y1="398.082" y2="398.082"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="606.5" y="417.7153">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="659.5" y="417.7153">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="767.5" y="417.7153">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="606.5" y="432.8481">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="659.5" y="432.8481">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="791.5" y="432.8481">if the subscriber is already associated to a topic.</text><ellipse cx="950.5" cy="470.9141" fill="#000000" filter="url(#f4iggha7yinpv)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f4iggha7yinpv)" points="893,500.9141,1008,500.9141,1020,512.9141,1008,524.9141,893,524.9141,881,512.9141,893,500.9141" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="893" y="516.7222">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="861" y="510.3198">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1020" y="510.3198">no</text><path d="M10,534.9141 L10,560.0469 A0,0 0 0 0 10,560.0469 L216,560.0469 A0,0 0 0 0 216,560.0469 L216,552.9141 L236,547.4805 L216,544.9141 L216,544.9141 L206,534.9141 L10,534.9141 A0,0 0 0 0 10,534.9141 " fill="#FBFB77" filter="url(#f4iggha7yinpv)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M206,534.9141 L206,544.9141 L216,544.9141 L206,534.9141 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="551.981">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="69" y="551.981">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="197" y="551.981">.</text><ellipse cx="247" cy="547.4805" fill="#FFFFFF" filter="url(#f4iggha7yinpv)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="247" cy="547.4805" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="592" x="1380" y="534.9141"/><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1394" y="560.9141"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1404" y="582.0527">set topic</text><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="1497" y="560.9141"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1507" y="582.0527">set deadline offset</text><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="1663" y="560.9141"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="1673" y="582.0527">set maximum jitter</text><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="1826" y="560.9141"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="1836" y="582.0527">set expected rate</text><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="592" x="1380" y="614.8828"/><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1636" y="640.8828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1646" y="662.0215">lock topic</text><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2776.5" x="268" y="694.8516"/><rect fill="#FFFFFF" filter="url(#f4iggha7yinpv)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1168" x="280" y="767.3638"/><path d="M437,768.3638 L437,776.6606 L427,786.6606 L280,786.6606 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="283" y="781.3589">contribute messages</text><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="290" y="803.6606"/><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="304" y="829.6606"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="314" y="850.7993">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="806" y="829.6606"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="816" y="850.7993">set next pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="290" y="883.6294"/><polygon fill="#FEFECE" filter="url(#f4iggha7yinpv)" points="794,720.8516,934,720.8516,946,732.8516,934,744.8516,794,744.8516,782,732.8516,794,720.8516" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="868" y="755.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="794" y="736.6597">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="946" y="730.2573">no</text><polygon fill="#FEFECE" filter="url(#f4iggha7yinpv)" points="864,921.6294,876,933.6294,864,945.6294,852,933.6294,864,921.6294" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1498" y="795.5122"/><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1512" y="821.5122"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1522" y="842.6509">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1853" y="821.5122"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1863" y="842.6509">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="664" x="1498" y="875.481"/><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2172" y="821.5122"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2182" y="842.6509">register to topic's event source</text><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="633.5" x="2399" y="795.5122"/><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="2411" y="821.5122"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="267" x="2421" y="842.6509">insert self to topic's list of HRT subscribers</text><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="302" x="2718.5" y="821.5122"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="282" x="2728.5" y="842.6509">increment topic's counter of HRT subscribers</text><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="633.5" x="2399" y="875.481"/><rect fill="#000000" filter="url(#f4iggha7yinpv)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2776.5" x="268" y="965.6294"/><rect fill="#FEFECE" filter="url(#f4iggha7yinpv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1628" y="991.6294"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1638" y="1012.7681">unlock topic</text><path d="M1463,1044.0317 L1463,1069.1646 A0,0 0 0 0 1463,1069.1646 L1645,1069.1646 A0,0 0 0 0 1645,1069.1646 L1645,1062.0317 L1665,1056.5981 L1645,1054.0317 L1645,1054.0317 L1635,1044.0317 L1463,1044.0317 A0,0 0 0 0 1463,1044.0317 " fill="#FBFB77" filter="url(#f4iggha7yinpv)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1635,1044.0317 L1635,1054.0317 L1645,1054.0317 L1635,1044.0317 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1469" y="1061.0986">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1522" y="1061.0986">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1626" y="1061.0986">.</text><ellipse cx="1676" cy="1056.5981" fill="#FFFFFF" filter="url(#f4iggha7yinpv)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1676" cy="1056.5981" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="950.5" x2="950.5" y1="440.9141" y2="460.9141"/><polygon fill="#A80036" points="946.5,450.9141,950.5,460.9141,954.5,450.9141,950.5,454.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1431.5" x2="1431.5" y1="540.9141" y2="560.9141"/><polygon fill="#A80036" points="1427.5,550.9141,1431.5,560.9141,1435.5,550.9141,1431.5,554.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1566" x2="1566" y1="540.9141" y2="560.9141"/><polygon fill="#A80036" points="1562,550.9141,1566,560.9141,1570,550.9141,1566,554.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1730.5" x2="1730.5" y1="540.9141" y2="560.9141"/><polygon fill="#A80036" points="1726.5,550.9141,1730.5,560.9141,1734.5,550.9141,1730.5,554.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1892" x2="1892" y1="540.9141" y2="560.9141"/><polygon fill="#A80036" points="1888,550.9141,1892,560.9141,1896,550.9141,1892,554.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1431.5" x2="1431.5" y1="594.8828" y2="614.8828"/><polygon fill="#A80036" points="1427.5,604.8828,1431.5,614.8828,1435.5,604.8828,1431.5,608.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1566" x2="1566" y1="594.8828" y2="614.8828"/><polygon fill="#A80036" points="1562,604.8828,1566,614.8828,1570,604.8828,1566,608.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1730.5" x2="1730.5" y1="594.8828" y2="614.8828"/><polygon fill="#A80036" points="1726.5,604.8828,1730.5,614.8828,1734.5,604.8828,1730.5,608.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1892" x2="1892" y1="594.8828" y2="614.8828"/><polygon fill="#A80036" points="1888,604.8828,1892,614.8828,1896,604.8828,1892,608.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1676" x2="1676" y1="620.8828" y2="640.8828"/><polygon fill="#A80036" points="1672,630.8828,1676,640.8828,1680,630.8828,1676,634.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="809.6606" y2="829.6606"/><polygon fill="#A80036" points="537,819.6606,541,829.6606,545,819.6606,541,823.6606" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="809.6606" y2="829.6606"/><polygon fill="#A80036" points="1111,819.6606,1115,829.6606,1119,819.6606,1115,823.6606" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="863.6294" y2="883.6294"/><polygon fill="#A80036" points="537,873.6294,541,883.6294,545,873.6294,541,877.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="863.6294" y2="883.6294"/><polygon fill="#A80036" points="1111,873.6294,1115,883.6294,1119,873.6294,1115,877.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="744.8516" y2="803.6606"/><polygon fill="#A80036" points="860,793.6606,864,803.6606,868,793.6606,864,797.6606" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="946" x2="1458" y1="732.8516" y2="732.8516"/><polygon fill="#A80036" points="1454,828.4966,1458,838.4966,1462,828.4966,1458,832.4966" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1458" x2="1458" y1="732.8516" y2="933.6294"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1458" x2="876" y1="933.6294" y2="933.6294"/><polygon fill="#A80036" points="886,929.6294,876,933.6294,886,937.6294,882,933.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="889.6294" y2="921.6294"/><polygon fill="#A80036" points="860,911.6294,864,921.6294,868,911.6294,864,915.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1668.5" x2="1668.5" y1="801.5122" y2="821.5122"/><polygon fill="#A80036" points="1664.5,811.5122,1668.5,821.5122,1672.5,811.5122,1668.5,815.5122" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2001.5" x2="2001.5" y1="801.5122" y2="821.5122"/><polygon fill="#A80036" points="1997.5,811.5122,2001.5,821.5122,2005.5,811.5122,2001.5,815.5122" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1668.5" x2="1668.5" y1="855.481" y2="875.481"/><polygon fill="#A80036" points="1664.5,865.481,1668.5,875.481,1672.5,865.481,1668.5,869.481" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2001.5" x2="2001.5" y1="855.481" y2="875.481"/><polygon fill="#A80036" points="1997.5,865.481,2001.5,875.481,2005.5,865.481,2001.5,869.481" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2554.5" x2="2554.5" y1="801.5122" y2="821.5122"/><polygon fill="#A80036" points="2550.5,811.5122,2554.5,821.5122,2558.5,811.5122,2554.5,815.5122" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2869.5" x2="2869.5" y1="801.5122" y2="821.5122"/><polygon fill="#A80036" points="2865.5,811.5122,2869.5,821.5122,2873.5,811.5122,2869.5,815.5122" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2554.5" x2="2554.5" y1="855.481" y2="875.481"/><polygon fill="#A80036" points="2550.5,865.481,2554.5,875.481,2558.5,865.481,2554.5,869.481" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2869.5" x2="2869.5" y1="855.481" y2="875.481"/><polygon fill="#A80036" points="2865.5,865.481,2869.5,875.481,2873.5,865.481,2869.5,869.481" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="700.8516" y2="720.8516"/><polygon fill="#A80036" points="860,710.8516,864,720.8516,868,710.8516,864,714.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1831" x2="1831" y1="700.8516" y2="795.5122"/><polygon fill="#A80036" points="1827,785.5122,1831,795.5122,1835,785.5122,1831,789.5122" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2280.5" x2="2280.5" y1="700.8516" y2="821.5122"/><polygon fill="#A80036" points="2276.5,811.5122,2280.5,821.5122,2284.5,811.5122,2280.5,815.5122" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2712" x2="2712" y1="700.8516" y2="795.5122"/><polygon fill="#A80036" points="2708,785.5122,2712,795.5122,2716,785.5122,2712,789.5122" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="945.6294" y2="965.6294"/><polygon fill="#A80036" points="860,955.6294,864,965.6294,868,955.6294,864,959.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1831" x2="1831" y1="881.481" y2="965.6294"/><polygon fill="#A80036" points="1827,955.6294,1831,965.6294,1835,955.6294,1831,959.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2280.5" x2="2280.5" y1="855.481" y2="965.6294"/><polygon fill="#A80036" points="2276.5,955.6294,2280.5,965.6294,2284.5,955.6294,2280.5,959.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2712" x2="2712" y1="881.481" y2="965.6294"/><polygon fill="#A80036" points="2708,955.6294,2712,965.6294,2716,955.6294,2712,959.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1676" x2="1676" y1="674.8516" y2="694.8516"/><polygon fill="#A80036" points="1672,684.8516,1676,694.8516,1680,684.8516,1676,688.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1676" x2="1676" y1="971.6294" y2="991.6294"/><polygon fill="#A80036" points="1672,981.6294,1676,991.6294,1680,981.6294,1676,985.6294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1676" x2="1676" y1="1025.5981" y2="1045.5981"/><polygon fill="#A80036" points="1672,1035.5981,1676,1045.5981,1680,1035.5981,1676,1039.5981" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="881" x2="247" y1="512.9141" y2="512.9141"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247" x2="247" y1="512.9141" y2="536.4805"/><polygon fill="#A80036" points="243,526.4805,247,536.4805,251,526.4805,247,530.4805" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1020" x2="1676" y1="512.9141" y2="512.9141"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1676" x2="1676" y1="512.9141" y2="534.9141"/><polygon fill="#A80036" points="1672,524.9141,1676,534.9141,1680,524.9141,1676,528.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="950.5" x2="950.5" y1="480.9141" y2="500.9141"/><polygon fill="#A80036" points="946.5,490.9141,950.5,500.9141,954.5,490.9141,950.5,494.9141" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c8f63816b1db501b954d0752706889fe]
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberSubscribe()\n
-
-
-
-
-
-note
-  - - **subscriber** : urt_hrtsubscriber_t* - -
-  The HRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  - - **topic** : urt_topic_t* - -
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  - - **messages** : urt_message_t* - -
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  - - **deadline** : urt_delay_t - -
-  Maximum latency to consume messages.
-  A value of 0 indicates that latency is of no concern.
-  - - **jitter** : urt_delay_t - -
-  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
-  A value of 0 indicates that jitter is of no concern.
-  - - **rate** : urt-delay_t
-  Expected minimum rate of new messages (= mamximum time between consecutive messages).
-  A value of 0 indicates, that rate is of no concern.
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  fork
-    :set topic;
-  fork again
-    :set deadline offset;
-  fork again
-    :set maximum jitter;
-  fork again
-    :set expected rate;
-  endfork
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-        partition "contribute messages" {
-    fork
-      :set next pointer of topic's latest message to first message to contribute;
-    fork again
-      :set next pointer of last message to contribute to the message after the topic's latest message;
-    endfork
-  }
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  fork again
-    fork
-      :insert self to topic's list of HRT subscribers;
-    fork again
-      :increment topic's counter of HRT subscribers;
-    endfork
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/urtHrtSubscriberSubscribe.uml
deleted file mode 100644
index 7a0f008..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberSubscribe.uml
+++ /dev/null
@@ -1,107 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberSubscribe()\n
-
-!include ../functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_hrtsubscriber_t* --
-  The HRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  -- **topic** : urt_topic_t* --
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  -- **messages** : urt_message_t* --
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  -- **deadline** : urt_delay_t --
-  Maximum latency to consume messages.
-  A value of 0 indicates that latency is of no concern.
-  -- **jitter** : urt_delay_t --
-  Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages.
-  A value of 0 indicates that jitter is of no concern.
-  -- **rate** : urt-delay_t
-  Expected minimum rate of new messages (= mamximum time between consecutive messages).
-  A value of 0 indicates, that rate is of no concern.
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  fork
-    :set topic;
-  fork again
-    :set deadline offset;
-  fork again
-    :set maximum jitter;
-  fork again
-    :set expected rate;
-  endfork
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-      $contribute_messages()
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  fork again
-    fork
-      :insert self to topic's list of HRT subscribers;
-    fork again
-      :increment topic's counter of HRT subscribers;
-    endfork
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/urtHrtSubscriberUnsubscribe.svg
deleted file mode 100644
index e38de76..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberUnsubscribe.svg
+++ /dev/null
@@ -1,92 +0,0 @@
-<?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="1116px" preserveAspectRatio="none" style="width:1906px;height:1116px;" version="1.1" viewBox="0 0 1906 1116" width="1906px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ai3q21p4d2f8" 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="907.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="269" x="817.5" y="47.6611">urtHrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="955" y="68.6143"/><path d="M838.75,72.8594 L838.75,183.6563 A0,0 0 0 0 838.75,183.6563 L1326.75,183.6563 A0,0 0 0 0 1326.75,183.6563 L1326.75,132.2578 L1346.75,128.2578 L1326.75,124.2578 L1326.75,82.8594 L1316.75,72.8594 L838.75,72.8594 A0,0 0 0 0 838.75,72.8594 " fill="#FBFB77" filter="url(#f1ai3q21p4d2f8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1316.75,72.8594 L1316.75,82.8594 L1326.75,82.8594 L1316.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="838.75" x2="969.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="973.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="973.75" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1055.75" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1195.75" x2="1326.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="252" x="844.75" y="105.0591">The HRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="844.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="924.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="956.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="838.75" x2="1326.75" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="838.75" x2="1326.75" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="838.75" x2="1011.75" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1015.75" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1015.75" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1064.75" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1153.75" x2="1326.75" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="844.75" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="897.75" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="1005.75" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="844.75" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="897.75" y="175.5903">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1029.75" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="1356.75" cy="128.2578" fill="#000000" filter="url(#f1ai3q21p4d2f8)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" points="1294.25,203.6563,1419.25,203.6563,1431.25,215.6563,1419.25,227.6563,1294.25,227.6563,1282.25,215.6563,1294.25,203.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1294.25" y="219.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1262.25" y="213.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1431.25" y="213.062">no</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="781.5" y="237.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="791.5" y="258.7949">lock topic</text><rect fill="#000000" filter="url(#f1ai3q21p4d2f8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1623" x="10" y="291.625"/><path d="M22,492.8164 L22,517.9492 A0,0 0 0 0 22,517.9492 L323,517.9492 A0,0 0 0 0 323,517.9492 L323,510.8164 L343,505.3828 L323,502.8164 L323,502.8164 L313,492.8164 L22,492.8164 A0,0 0 0 0 22,492.8164 " fill="#FBFB77" filter="url(#f1ai3q21p4d2f8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M313,492.8164 L313,502.8164 L323,502.8164 L313,492.8164 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="280" x="28" y="509.8833">Must be within lock because of HRT counter.</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="343" y="488.3984"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="353" y="509.5371">unregister event</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="214" x="495" y="488.3984"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="194" x="505" y="509.5371">decrement topic's HRT counter</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="312" x="737" y="405.5117"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="292" x="747" y="426.6504">remove self from topic's list of HRT subscribers</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="218" x="784" y="522.8828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="198" x="794" y="544.0215">update QoS rate timer (@topic)</text><polygon fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" points="798,474.4805,988,474.4805,1000,486.4805,988,498.4805,798,498.4805,786,486.4805,798,474.4805" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="897" y="508.6909">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="798" y="490.2886">Was the most critical subscriber?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1000" y="483.8862">no</text><polygon fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" points="893,580.7383,905,592.7383,893,604.7383,881,592.7383,893,580.7383" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="185" x="1262.5" y="317.625"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="165" x="1272.5" y="338.7637">access last read message</text><rect fill="#000000" filter="url(#f1ai3q21p4d2f8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="506" x="1101" y="432.3984"/><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1115" y="458.3984"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="1125" y="479.5371">proceed to next message</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="271" x="1324" y="458.3984"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="251" x="1334" y="479.5371">decrement next message's HRT counter</text><rect fill="#000000" filter="url(#f1ai3q21p4d2f8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="506" x="1101" y="512.3672"/><polygon fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" points="1238,371.5938,1472,371.5938,1484,383.5938,1472,395.5938,1238,395.5938,1226,383.5938,1238,371.5938" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1359" y="405.8042">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="1238" y="387.4019">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1212" y="380.9995">no</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="1246.5" y="625.2539"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="1256.5" y="646.3926">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" points="1227,576.8516,1483,576.8516,1495,588.8516,1483,600.8516,1227,600.8516,1215,588.8516,1227,576.8516" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1359" y="611.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="1227" y="592.6597">The HRT counter of any message became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1495" y="586.2573">no</text><polygon fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" points="1355,679.2227,1367,691.2227,1355,703.2227,1343,691.2227,1355,679.2227" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1ai3q21p4d2f8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1623" x="10" y="723.2227"/><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="773.5" y="749.2227"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="783.5" y="770.3613">unlock topic</text><path d="M142,793.1914 L142,1060.4492 A0,0 0 0 0 142,1060.4492 L744,1060.4492 A0,0 0 0 0 744,1060.4492 L744,930.8203 L764,926.8203 L744,922.8203 L744,803.1914 L734,793.1914 L142,793.1914 A0,0 0 0 0 142,793.1914 " fill="#FBFB77" filter="url(#f1ai3q21p4d2f8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M734,793.1914 L734,803.1914 L744,803.1914 L734,793.1914 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="372" y1="805.7578" y2="805.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="376" y="809.7583">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="514" x2="744" y1="805.7578" y2="805.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="148" y="825.3911">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="189" y="825.3911">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="204" y="825.3911">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="148" y="840.5239">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="245" y="840.5239">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="260" y="840.5239">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="148" y="855.6567">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="280" y="855.6567">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="142" x2="314.5" y1="866.2891" y2="866.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="318.5" y="870.2896">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="571.5" x2="744" y1="866.2891" y2="866.2891"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="148" y="885.9224">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="253" y="885.9224">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="148" y="901.0552">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="325" y="901.0552">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="142" x2="378.5" y1="911.6875" y2="911.6875"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="382.5" y="915.688">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="507.5" x2="744" y1="911.6875" y2="911.6875"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="142" x2="270.5" y1="926.8203" y2="926.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="274.5" y="930.8208">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="615.5" x2="744" y1="926.8203" y2="926.8203"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="148" y="946.4536">deadlineOffset</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="262" y="946.4536">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="142" x2="287" y1="957.0859" y2="957.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="304" x="291" y="961.0864">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="599" x2="744" y1="957.0859" y2="957.0859"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="148" y="976.7192">expectedRate</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="255" y="976.7192">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="142" x2="285" y1="987.3516" y2="987.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="289" y="991.3521">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="601" x2="744" y1="987.3516" y2="987.3516"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="66" x="148" y="1006.9849">maxJitter</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="218" y="1006.9849">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="142" x2="152.5" y1="1017.6172" y2="1017.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="573" x="156.5" y="1021.6177">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="733.5" x2="744" y1="1017.6172" y2="1017.6172"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="148" y="1037.2505">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="236" y="1037.2505">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="148" y="1052.3833">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="240" y="1052.3833">← 0</text><rect fill="#FEFECE" filter="url(#f1ai3q21p4d2f8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="764" y="909.8359"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="774" y="930.9746">reset members</text><path d="M608.5,1078.8828 L608.5,1104.0156 A0,0 0 0 0 608.5,1104.0156 L790.5,1104.0156 A0,0 0 0 0 790.5,1104.0156 L790.5,1096.8828 L810.5,1091.4492 L790.5,1088.8828 L790.5,1088.8828 L780.5,1078.8828 L608.5,1078.8828 A0,0 0 0 0 608.5,1078.8828 " fill="#FBFB77" filter="url(#f1ai3q21p4d2f8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M780.5,1078.8828 L780.5,1088.8828 L790.5,1088.8828 L780.5,1078.8828 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="614.5" y="1095.9497">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="667.5" y="1095.9497">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="771.5" y="1095.9497">.</text><ellipse cx="821.5" cy="1091.4492" fill="#FFFFFF" filter="url(#f1ai3q21p4d2f8)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="821.5" cy="1091.4492" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1643,237.6563 L1643,262.7891 A0,0 0 0 0 1643,262.7891 L1849,262.7891 A0,0 0 0 0 1849,262.7891 L1849,255.6563 L1869,250.2227 L1849,247.6563 L1849,247.6563 L1839,237.6563 L1643,237.6563 A0,0 0 0 0 1643,237.6563 " fill="#FBFB77" filter="url(#f1ai3q21p4d2f8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1839,237.6563 L1839,247.6563 L1849,247.6563 L1839,237.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1649" y="254.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1702" y="254.7231">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1830" y="254.7231">.</text><ellipse cx="1880" cy="250.2227" fill="#FFFFFF" filter="url(#f1ai3q21p4d2f8)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1880" cy="250.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="893" x2="893" y1="498.4805" y2="522.8828"/><polygon fill="#A80036" points="889,512.8828,893,522.8828,897,512.8828,893,516.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1000" x2="1012" y1="486.4805" y2="486.4805"/><polygon fill="#A80036" points="1008,529.8672,1012,539.8672,1016,529.8672,1012,533.8672" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1012" x2="1012" y1="486.4805" y2="592.7383"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1012" x2="905" y1="592.7383" y2="592.7383"/><polygon fill="#A80036" points="915,588.7383,905,592.7383,915,596.7383,911,592.7383" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="893" x2="893" y1="556.8516" y2="580.7383"/><polygon fill="#A80036" points="889,570.7383,893,580.7383,897,570.7383,893,574.7383" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="893" x2="893" y1="439.4805" y2="474.4805"/><polygon fill="#A80036" points="889,464.4805,893,474.4805,897,464.4805,893,468.4805" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1205.5" x2="1205.5" y1="438.3984" y2="458.3984"/><polygon fill="#A80036" points="1201.5,448.3984,1205.5,458.3984,1209.5,448.3984,1205.5,452.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1459.5" x2="1459.5" y1="438.3984" y2="458.3984"/><polygon fill="#A80036" points="1455.5,448.3984,1459.5,458.3984,1463.5,448.3984,1459.5,452.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1205.5" x2="1205.5" y1="492.3672" y2="512.3672"/><polygon fill="#A80036" points="1201.5,502.3672,1205.5,512.3672,1209.5,502.3672,1205.5,506.3672" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1459.5" x2="1459.5" y1="492.3672" y2="512.3672"/><polygon fill="#A80036" points="1455.5,502.3672,1459.5,512.3672,1463.5,502.3672,1459.5,506.3672" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="395.5938" y2="432.3984"/><polygon fill="#A80036" points="1351,422.3984,1355,432.3984,1359,422.3984,1355,426.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="518.3672" y2="530.3672"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1619" y1="530.3672" y2="530.3672"/><polygon fill="#A80036" points="1615,466.9805,1619,456.9805,1623,466.9805,1619,462.9805" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1619" x2="1619" y1="383.5938" y2="530.3672"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1619" x2="1484" y1="383.5938" y2="383.5938"/><polygon fill="#A80036" points="1494,379.5938,1484,383.5938,1494,387.5938,1490,383.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1226" x2="1089" y1="383.5938" y2="383.5938"/><polygon fill="#A80036" points="1085,452.9805,1089,462.9805,1093,452.9805,1089,456.9805" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1089" x2="1089" y1="383.5938" y2="542.3672"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1089" x2="1355" y1="542.3672" y2="542.3672"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="542.3672" y2="576.8516"/><polygon fill="#A80036" points="1351,566.8516,1355,576.8516,1359,566.8516,1355,570.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="351.5938" y2="371.5938"/><polygon fill="#A80036" points="1351,361.5938,1355,371.5938,1359,361.5938,1355,365.5938" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="600.8516" y2="625.2539"/><polygon fill="#A80036" points="1351,615.2539,1355,625.2539,1359,615.2539,1355,619.2539" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1495" x2="1507" y1="588.8516" y2="588.8516"/><polygon fill="#A80036" points="1503,632.2383,1507,642.2383,1511,632.2383,1507,636.2383" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1507" x2="1507" y1="588.8516" y2="691.2227"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1507" x2="1367" y1="691.2227" y2="691.2227"/><polygon fill="#A80036" points="1377,687.2227,1367,691.2227,1377,695.2227,1373,691.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="659.2227" y2="679.2227"/><polygon fill="#A80036" points="1351,669.2227,1355,679.2227,1359,669.2227,1355,673.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405" x2="405" y1="297.625" y2="488.3984"/><polygon fill="#A80036" points="401,478.3984,405,488.3984,409,478.3984,405,482.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="602" x2="602" y1="297.625" y2="488.3984"/><polygon fill="#A80036" points="598,478.3984,602,488.3984,606,478.3984,602,482.3984" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="893" x2="893" y1="297.625" y2="405.5117"/><polygon fill="#A80036" points="889,395.5117,893,405.5117,897,395.5117,893,399.5117" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="297.625" y2="317.625"/><polygon fill="#A80036" points="1351,307.625,1355,317.625,1359,307.625,1355,311.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405" x2="405" y1="522.3672" y2="723.2227"/><polygon fill="#A80036" points="401,713.2227,405,723.2227,409,713.2227,405,717.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="602" x2="602" y1="522.3672" y2="723.2227"/><polygon fill="#A80036" points="598,713.2227,602,723.2227,606,713.2227,602,717.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="893" x2="893" y1="604.7383" y2="723.2227"/><polygon fill="#A80036" points="889,713.2227,893,723.2227,897,713.2227,893,717.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1355" x2="1355" y1="703.2227" y2="723.2227"/><polygon fill="#A80036" points="1351,713.2227,1355,723.2227,1359,713.2227,1355,717.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="821.5" x2="821.5" y1="271.625" y2="291.625"/><polygon fill="#A80036" points="817.5,281.625,821.5,291.625,825.5,281.625,821.5,285.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="821.5" x2="821.5" y1="729.2227" y2="749.2227"/><polygon fill="#A80036" points="817.5,739.2227,821.5,749.2227,825.5,739.2227,821.5,743.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="821.5" x2="821.5" y1="783.1914" y2="909.8359"/><polygon fill="#A80036" points="817.5,899.8359,821.5,909.8359,825.5,899.8359,821.5,903.8359" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="821.5" x2="821.5" y1="943.8047" y2="1080.4492"/><polygon fill="#A80036" points="817.5,1070.4492,821.5,1080.4492,825.5,1070.4492,821.5,1074.4492" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1282.25" x2="821.5" y1="215.6563" y2="215.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="821.5" x2="821.5" y1="215.6563" y2="237.6563"/><polygon fill="#A80036" points="817.5,227.6563,821.5,237.6563,825.5,227.6563,821.5,231.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1431.25" x2="1880" y1="215.6563" y2="215.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1880" x2="1880" y1="215.6563" y2="239.2227"/><polygon fill="#A80036" points="1876,229.2227,1880,239.2227,1884,229.2227,1880,233.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1356.75" x2="1356.75" y1="138.2578" y2="203.6563"/><polygon fill="#A80036" points="1352.75,193.6563,1356.75,203.6563,1360.75,193.6563,1356.75,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[facd8ed9e760b69dfe28e85dcd745b96]
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberUnsubscribe()\n
-
-
-start
-note
-  - - **subscriber** : urt_hrtsubscriber_t* - -
-  The HRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  fork
-    :unregister event;
-    note
-      Must be within lock because of HRT counter.
-    endnote
-  fork again
-    :decrement topic's HRT counter;
-  fork again
-    :remove self from topic's list of HRT subscribers;
-    if (Was the most critical subscriber?) then (yes)
-      :update QoS rate timer (@topic);
-    else (no)
-    endif
-  fork again
-    :access last read message;
-    while (Timestamp of next message is younger?) is (yes)
-      fork
-        :proceed to next message;
-      fork again
-        :decrement next message's HRT counter;
-      endfork
-    endwhile (no)
-    if (The HRT counter of any message became 0?) then (yes)
-      :signal topic's condition variable;
-    else (no)
-    endif
-  endfork
-  :unlock topic;
-  :reset members;
-  note
-    - - urt_basesubscriber_t - -
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    - - urt_hrtsubscriber_t - -
-    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-    **deadlineOffset** ← 0
-    .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
-    **expectedRate** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
-    **maxJitter** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtHrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/urtHrtSubscriberUnsubscribe.uml
deleted file mode 100644
index 28cca0b..0000000
--- a/doc/activitydiagrams/subscriber/urtHrtSubscriberUnsubscribe.uml
+++ /dev/null
@@ -1,106 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtHrtSubscriberUnsubscribe()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-start
-note
-  -- **subscriber** : urt_hrtsubscriber_t* --
-  The HRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  fork
-    :unregister event;
-    note
-      Must be within lock because of HRT counter.
-    endnote
-  fork again
-    :decrement topic's HRT counter;
-  fork again
-    :remove self from topic's list of HRT subscribers;
-    if (Was the most critical subscriber?) then (yes)
-      :update QoS rate timer (@topic);
-    else (no)
-    endif
-  fork again
-    :access last read message;
-    while (Timestamp of next message is younger?) is (yes)
-      fork
-        :proceed to next message;
-      fork again
-        :decrement next message's HRT counter;
-      endfork
-    endwhile (no)
-    if (The HRT counter of any message became 0?) then (yes)
-      :signal topic's condition variable;
-    else (no)
-    endif
-  endfork
-  :unlock topic;
-  :reset members;
-  note
-    -- urt_basesubscriber_t --
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    -- urt_hrtsubscriber_t --
-    .. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true ..
-    **deadlineOffset** ← 0
-    .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
-    **expectedRate** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
-    **maxJitter** ← 0
-    .. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchLatestMessage.svg
deleted file mode 100644
index c3a57d7..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchLatestMessage.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?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="1004px" preserveAspectRatio="none" style="width:1281px;height:1004px;" version="1.1" viewBox="0 0 1281 1004" width="1281px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hw6rsuz7hl8p" 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="595" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="338" x="470.5" y="47.6611">urtNrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="642.5" y="68.6143"/><path d="M631,72.8594 L631,304.7188 L1119,304.7188 L1119,82.8594 L1109,72.8594 L631,72.8594 " fill="#FBFB77" filter="url(#f1hw6rsuz7hl8p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1109,72.8594 L1109,82.8594 L1119,82.8594 L1109,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="762" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="766" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="766" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="848" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="988" x2="1119" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="637" y="105.0591">The NRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="637" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="717" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="749" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="819" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="823" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="823" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="886" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="931" x2="1119" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="637" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="723" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="826" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="830" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="830" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="875" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="924" x2="1119" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="637" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="799.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="803.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="803.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="860.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="950.5" x2="1119" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="637" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="719" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="804" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="808" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="808" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="857" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="946" x2="1119" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="690" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="798" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="690" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="822" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="875" cy="334.7188" fill="#000000" filter="url(#f1hw6rsuz7hl8p)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" points="812.5,364.7188,937.5,364.7188,949.5,376.7188,937.5,388.7188,812.5,388.7188,800.5,376.7188,812.5,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="812.5" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="780.5" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="949.5" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="455" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="465" y="419.8574">lock topic</text><rect fill="#FFFFFF" filter="url(#f1hw6rsuz7hl8p)" height="213.9448" style="stroke: #000000; stroke-width: 2.0;" width="323" x="332" y="443.4893"/><path d="M477,444.4893 L477,452.7861 L467,462.7861 L332,462.7861 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="335" y="457.4844">find latest message</text><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="185" x="402.5" y="479.7861"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="165" x="412.5" y="500.9248">access last read message</text><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="589.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="610.604">proceed to next message</text><polygon fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" points="378,533.7549,612,533.7549,624,545.7549,612,557.7549,378,557.7549,366,545.7549,378,533.7549" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="499" y="567.9653">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="378" y="549.563">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="352" y="543.1606">no</text><rect fill="#FFFFFF" filter="url(#f1hw6rsuz7hl8p)" height="226.668" style="stroke: #000000; stroke-width: 2.0;" width="988" x="10" y="668.2358"/><path d="M123,669.2358 L123,677.5327 L113,687.5327 L10,687.5327 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="13" y="682.231">fetch message</text><rect fill="#000000" filter="url(#f1hw6rsuz7hl8p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="704.5327"/><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="34" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="44" y="800.0737">update message pointer</text><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="219" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="229" y="800.0737">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="443" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="453" y="800.0737">copy message payload</text><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="644" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="654" y="800.0737">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="678" y="800.0737">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="731" y="800.0737">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" points="678.5,730.5327,917.5,730.5327,929.5,742.5327,917.5,754.5327,678.5,754.5327,666.5,742.5327,678.5,730.5327" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="802" y="764.7432">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="678.5" y="746.3408">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="828.5" y="746.3408">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="881.5" y="746.3408">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="929.5" y="739.9385">no</text><polygon fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" points="798,832.9038,810,844.9038,798,856.9038,786,844.9038,798,832.9038" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1hw6rsuz7hl8p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="876.9038"/><rect fill="#FEFECE" filter="url(#f1hw6rsuz7hl8p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="447" y="914.9038"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="457" y="936.0425">unlock topic</text><path d="M282,967.3062 L282,992.439 A0,0 0 0 0 282,992.439 L464,992.439 A0,0 0 0 0 464,992.439 L464,985.3062 L484,979.8726 L464,977.3062 L464,977.3062 L454,967.3062 L282,967.3062 A0,0 0 0 0 282,967.3062 " fill="#FBFB77" filter="url(#f1hw6rsuz7hl8p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,967.3062 L454,977.3062 L464,977.3062 L454,967.3062 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="288" y="984.373">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="341" y="984.373">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="445" y="984.373">.</text><ellipse cx="495" cy="979.8726" fill="#FFFFFF" filter="url(#f1hw6rsuz7hl8p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="495" cy="979.8726" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1018,398.7188 L1018,423.8516 A0,0 0 0 0 1018,423.8516 L1224,423.8516 A0,0 0 0 0 1224,423.8516 L1224,416.7188 L1244,411.2852 L1224,408.7188 L1224,408.7188 L1214,398.7188 L1018,398.7188 A0,0 0 0 0 1018,398.7188 " fill="#FBFB77" filter="url(#f1hw6rsuz7hl8p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1214,398.7188 L1214,408.7188 L1224,408.7188 L1214,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1024" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1077" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1205" y="415.7856">.</text><ellipse cx="1255" cy="411.2852" fill="#FFFFFF" filter="url(#f1hw6rsuz7hl8p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1255" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="871,314.7188,875,324.7188,879,314.7188,875,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="557.7549" y2="589.4653"/><polygon fill="#A80036" points="491,579.4653,495,589.4653,499,579.4653,495,583.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="623.4341" y2="633.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="636" y1="633.4341" y2="633.4341"/><polygon fill="#A80036" points="632,598.0474,636,588.0474,640,598.0474,636,594.0474" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="636" y1="545.7549" y2="633.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="624" y1="545.7549" y2="545.7549"/><polygon fill="#A80036" points="634,541.7549,624,545.7549,634,549.7549,630,545.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="354" y1="545.7549" y2="545.7549"/><polygon fill="#A80036" points="350,584.0474,354,594.0474,358,584.0474,354,588.0474" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="545.7549" y2="645.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="495" y1="645.4341" y2="645.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="645.4341" y2="704.5327"/><polygon fill="#A80036" points="491,694.5327,495,704.5327,499,694.5327,495,698.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="513.7549" y2="533.7549"/><polygon fill="#A80036" points="491,523.7549,495,533.7549,499,523.7549,495,527.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="432.6875" y2="479.7861"/><polygon fill="#A80036" points="491,469.7861,495,479.7861,499,469.7861,495,473.7861" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="754.5327" y2="778.9351"/><polygon fill="#A80036" points="794,768.9351,798,778.9351,802,768.9351,798,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.5" x2="962" y1="742.5327" y2="742.5327"/><polygon fill="#A80036" points="958,785.9194,962,795.9194,966,785.9194,962,789.9194" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="962" y1="742.5327" y2="844.9038"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="810" y1="844.9038" y2="844.9038"/><polygon fill="#A80036" points="820,840.9038,810,844.9038,820,848.9038,816,844.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="812.9038" y2="832.9038"/><polygon fill="#A80036" points="794,822.9038,798,832.9038,802,822.9038,798,826.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="117.5,768.9351,121.5,778.9351,125.5,768.9351,121.5,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="313,768.9351,317,778.9351,321,768.9351,317,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="520.5,768.9351,524.5,778.9351,528.5,768.9351,524.5,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="710.5327" y2="730.5327"/><polygon fill="#A80036" points="794,720.5327,798,730.5327,802,720.5327,798,724.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="117.5,866.9038,121.5,876.9038,125.5,866.9038,121.5,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="313,866.9038,317,876.9038,321,866.9038,317,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="520.5,866.9038,524.5,876.9038,528.5,866.9038,524.5,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="856.9038" y2="876.9038"/><polygon fill="#A80036" points="794,866.9038,798,876.9038,802,866.9038,798,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="882.9038" y2="914.9038"/><polygon fill="#A80036" points="491,904.9038,495,914.9038,499,904.9038,495,908.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="948.8726" y2="968.8726"/><polygon fill="#A80036" points="491,958.8726,495,968.8726,499,958.8726,495,962.8726" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.5" x2="495" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="491,388.7188,495,398.7188,499,388.7188,495,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="1255" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1251,390.2852,1255,400.2852,1259,390.2852,1255,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="871,354.7188,875,364.7188,879,354.7188,875,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3cbc5e89d764c184543133de2e08462c]
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberFetchLatestMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_nrtsubscriber_t* - -
-  The NRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-    partition "find latest message" {
-    :access last read message;
-    while (Timestamp of next message is younger?) is (yes)
-      :proceed to next message;
-    endwhile (no)
-  }
-    partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchLatestMessage.uml
deleted file mode 100644
index 19b3c55..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchLatestMessage.uml
+++ /dev/null
@@ -1,71 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberFetchLatestMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_nrtsubscriber_t* --
-  The NRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  $find_latest_message()
-  $fetch_message()
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchNextMessage.svg
deleted file mode 100644
index 2be464b..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchNextMessage.svg
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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="1098px" preserveAspectRatio="none" style="width:1281px;height:1098px;" version="1.1" viewBox="0 0 1281 1098" width="1281px" zoomAndPan="magnify"><defs><filter height="300%" id="ferp6vel2a26e" 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="595" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="328" x="475.5" y="47.6611">urtNrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="642.5" y="68.6143"/><path d="M631,72.8594 L631,304.7188 L1119,304.7188 L1119,82.8594 L1109,72.8594 L631,72.8594 " fill="#FBFB77" filter="url(#ferp6vel2a26e)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1109,72.8594 L1109,82.8594 L1119,82.8594 L1109,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="762" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="766" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="766" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="848" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="988" x2="1119" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="637" y="105.0591">The NRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="637" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="717" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="749" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="819" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="823" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="823" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="886" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="931" x2="1119" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="637" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="723" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="826" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="830" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="830" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="875" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="924" x2="1119" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="637" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="799.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="803.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="803.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="860.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="950.5" x2="1119" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="637" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="719" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="804" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="808" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="808" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="857" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="946" x2="1119" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="690" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="798" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="690" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="822" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="875" cy="334.7188" fill="#000000" filter="url(#ferp6vel2a26e)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#ferp6vel2a26e)" points="812.5,364.7188,937.5,364.7188,949.5,376.7188,937.5,388.7188,812.5,388.7188,800.5,376.7188,812.5,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="812.5" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="780.5" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="949.5" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="455" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="465" y="419.8574">lock topic</text><rect fill="#FFFFFF" filter="url(#ferp6vel2a26e)" height="307.7651" style="stroke: #000000; stroke-width: 2.0;" width="365.5" x="322" y="443.4893"/><path d="M506,444.4893 L506,452.7861 L496,462.7861 L322,462.7861 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="174" x="325" y="457.4844">find oldest valid message</text><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="585.3169"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="606.4556">proceed to next message</text><polygon fill="#FEFECE" filter="url(#ferp6vel2a26e)" points="378,528.1885,612,528.1885,624,540.1885,612,552.1885,378,552.1885,366,540.1885,378,528.1885" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="499" y="562.3989">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="378" y="543.9966">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="352" y="537.5942">no</text><polygon fill="#FEFECE" filter="url(#ferp6vel2a26e)" points="345.5,479.7861,644.5,479.7861,656.5,491.7861,644.5,503.7861,345.5,503.7861,333.5,491.7861,345.5,479.7861" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="499" y="513.9966">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="345.5" y="495.5942">Timestamp of last read message euqals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="656.5" y="489.1919">yes</text><polygon fill="#FEFECE" filter="url(#ferp6vel2a26e)" points="495,661.2856,507,673.2856,495,685.2856,483,673.2856,495,661.2856" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="705.2856"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="726.4243">proceed to next message</text><rect fill="#FFFFFF" filter="url(#ferp6vel2a26e)" height="226.668" style="stroke: #000000; stroke-width: 2.0;" width="988" x="10" y="762.0562"/><path d="M123,763.0562 L123,771.353 L113,781.353 L10,781.353 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="13" y="776.0513">fetch message</text><rect fill="#000000" filter="url(#ferp6vel2a26e)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="798.353"/><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="34" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="44" y="893.894">update message pointer</text><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="219" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="229" y="893.894">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="443" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="453" y="893.894">copy message payload</text><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="644" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="654" y="893.894">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="678" y="893.894">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="731" y="893.894">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#ferp6vel2a26e)" points="678.5,824.353,917.5,824.353,929.5,836.353,917.5,848.353,678.5,848.353,666.5,836.353,678.5,824.353" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="802" y="858.5635">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="678.5" y="840.1611">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="828.5" y="840.1611">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="881.5" y="840.1611">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="929.5" y="833.7588">no</text><polygon fill="#FEFECE" filter="url(#ferp6vel2a26e)" points="798,926.7241,810,938.7241,798,950.7241,786,938.7241,798,926.7241" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#ferp6vel2a26e)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="970.7241"/><rect fill="#FEFECE" filter="url(#ferp6vel2a26e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="447" y="1008.7241"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="457" y="1029.8628">unlock topic</text><path d="M282,1061.1265 L282,1086.2593 A0,0 0 0 0 282,1086.2593 L464,1086.2593 A0,0 0 0 0 464,1086.2593 L464,1079.1265 L484,1073.6929 L464,1071.1265 L464,1071.1265 L454,1061.1265 L282,1061.1265 A0,0 0 0 0 282,1061.1265 " fill="#FBFB77" filter="url(#ferp6vel2a26e)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,1061.1265 L454,1071.1265 L464,1071.1265 L454,1061.1265 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="288" y="1078.1934">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="341" y="1078.1934">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="445" y="1078.1934">.</text><ellipse cx="495" cy="1073.6929" fill="#FFFFFF" filter="url(#ferp6vel2a26e)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="495" cy="1073.6929" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1018,398.7188 L1018,423.8516 A0,0 0 0 0 1018,423.8516 L1224,423.8516 A0,0 0 0 0 1224,423.8516 L1224,416.7188 L1244,411.2852 L1224,408.7188 L1224,408.7188 L1214,398.7188 L1018,398.7188 A0,0 0 0 0 1018,398.7188 " fill="#FBFB77" filter="url(#ferp6vel2a26e)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1214,398.7188 L1214,408.7188 L1224,408.7188 L1214,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1024" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1077" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1205" y="415.7856">.</text><ellipse cx="1255" cy="411.2852" fill="#FFFFFF" filter="url(#ferp6vel2a26e)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1255" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="871,314.7188,875,324.7188,879,314.7188,875,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="552.1885" y2="585.3169"/><polygon fill="#A80036" points="491,575.3169,495,585.3169,499,575.3169,495,579.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="619.2856" y2="629.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="636" y1="629.2856" y2="629.2856"/><polygon fill="#A80036" points="632,593.8989,636,583.8989,640,593.8989,636,589.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="636" y1="540.1885" y2="629.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="624" y1="540.1885" y2="540.1885"/><polygon fill="#A80036" points="634,536.1885,624,540.1885,634,544.1885,630,540.1885" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="354" y1="540.1885" y2="540.1885"/><polygon fill="#A80036" points="350,579.8989,354,589.8989,358,579.8989,354,583.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="540.1885" y2="641.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="495" y1="641.2856" y2="641.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="641.2856" y2="661.2856"/><polygon fill="#A80036" points="491,651.2856,495,661.2856,499,651.2856,495,655.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="503.7861" y2="528.1885"/><polygon fill="#A80036" points="491,518.1885,495,528.1885,499,518.1885,495,522.1885" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="656.5" x2="668.5" y1="491.7861" y2="491.7861"/><polygon fill="#A80036" points="664.5,573.8989,668.5,583.8989,672.5,573.8989,668.5,577.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="668.5" x2="668.5" y1="491.7861" y2="673.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="668.5" x2="507" y1="673.2856" y2="673.2856"/><polygon fill="#A80036" points="517,669.2856,507,673.2856,517,677.2856,513,673.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="685.2856" y2="705.2856"/><polygon fill="#A80036" points="491,695.2856,495,705.2856,499,695.2856,495,699.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="432.6875" y2="479.7861"/><polygon fill="#A80036" points="491,469.7861,495,479.7861,499,469.7861,495,473.7861" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="848.353" y2="872.7554"/><polygon fill="#A80036" points="794,862.7554,798,872.7554,802,862.7554,798,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.5" x2="962" y1="836.353" y2="836.353"/><polygon fill="#A80036" points="958,879.7397,962,889.7397,966,879.7397,962,883.7397" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="962" y1="836.353" y2="938.7241"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="810" y1="938.7241" y2="938.7241"/><polygon fill="#A80036" points="820,934.7241,810,938.7241,820,942.7241,816,938.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="906.7241" y2="926.7241"/><polygon fill="#A80036" points="794,916.7241,798,926.7241,802,916.7241,798,920.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="117.5,862.7554,121.5,872.7554,125.5,862.7554,121.5,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="313,862.7554,317,872.7554,321,862.7554,317,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="520.5,862.7554,524.5,872.7554,528.5,862.7554,524.5,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="804.353" y2="824.353"/><polygon fill="#A80036" points="794,814.353,798,824.353,802,814.353,798,818.353" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="117.5,960.7241,121.5,970.7241,125.5,960.7241,121.5,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="313,960.7241,317,970.7241,321,960.7241,317,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="520.5,960.7241,524.5,970.7241,528.5,960.7241,524.5,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="950.7241" y2="970.7241"/><polygon fill="#A80036" points="794,960.7241,798,970.7241,802,960.7241,798,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="739.2544" y2="798.353"/><polygon fill="#A80036" points="491,788.353,495,798.353,499,788.353,495,792.353" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="976.7241" y2="1008.7241"/><polygon fill="#A80036" points="491,998.7241,495,1008.7241,499,998.7241,495,1002.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="1042.6929" y2="1062.6929"/><polygon fill="#A80036" points="491,1052.6929,495,1062.6929,499,1052.6929,495,1056.6929" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.5" x2="495" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="491,388.7188,495,398.7188,499,388.7188,495,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="1255" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1251,390.2852,1255,400.2852,1259,390.2852,1255,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="871,354.7188,875,364.7188,879,354.7188,875,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2cfbd245cc09e98e9209b64fef75ec1b]
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberFetchNextMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_nrtsubscriber_t* - -
-  The NRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-    partition "find oldest valid message" {
-    if (Timestamp of last read message euqals local copy?) then (yes)
-    else (no)
-      while (Timestamp of next message is younger?) is (yes)
-        :proceed to next message;
-      endwhile (no)
-    endif
-    :proceed to next message;
-  }
-    partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchNextMessage.uml
deleted file mode 100644
index bb23ab5..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberFetchNextMessage.uml
+++ /dev/null
@@ -1,71 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberFetchNextMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_nrtsubscriber_t* --
-  The NRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  $find_oldest_message()
-  $fetch_message()
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/urtNrtSubscriberInit.svg
deleted file mode 100644
index 7dff1df..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberInit.svg
+++ /dev/null
@@ -1,50 +0,0 @@
-<?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="465px" preserveAspectRatio="none" style="width:509px;height:465px;" version="1.1" viewBox="0 0 509 465" width="509px" zoomAndPan="magnify"><defs><filter height="300%" id="f14j44zpnvdxnn" 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="209" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="191" x="158" y="47.6611">urtNrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="256.5" y="68.6143"/><path d="M250,72.8594 L250,168.5234 L497,168.5234 L497,82.8594 L487,72.8594 L250,72.8594 " fill="#FBFB77" filter="url(#f14j44zpnvdxnn)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M487,72.8594 L487,82.8594 L497,82.8594 L487,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="260.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="264.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="264.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="346.5" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="486.5" x2="497" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="198" x="256" y="105.0591">The NRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="256" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="336" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="368" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="497" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="497" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250" x2="302.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="306.5" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="306.5" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="355.5" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="444.5" x2="497" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="256" y="160.4575">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="353" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="457" y="160.4575">.</text><ellipse cx="373.5" cy="198.5234" fill="#000000" filter="url(#f14j44zpnvdxnn)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,218.5234 L10,410.1172 A0,0 0 0 0 10,410.1172 L288,410.1172 A0,0 0 0 0 288,410.1172 L288,318.3203 L308,314.3203 L288,310.3203 L288,228.5234 L278,218.5234 L10,218.5234 A0,0 0 0 0 10,218.5234 " fill="#FBFB77" filter="url(#f14j44zpnvdxnn)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,218.5234 L278,228.5234 L288,228.5234 L278,218.5234 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="78" y1="231.0898" y2="231.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="82" y="235.0903">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="288" y1="231.0898" y2="231.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="16" y="250.7231">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="57" y="250.7231">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="72" y="250.7231">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="16" y="265.856">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="145" y="265.856">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="227" y="265.856">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="280.9888">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="113" y="280.9888">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="128" y="280.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="296.1216">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="148" y="296.1216">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="306.7539" y2="306.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="310.7544">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="306.7539" y2="306.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="16" y="326.3872">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="121" y="326.3872">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="16" y="341.52">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="193" y="341.52">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="84.5" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="88.5" y="356.1528">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="213.5" x2="288" y1="352.1523" y2="352.1523"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="371.2856">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="16" y="386.9185">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="104" y="386.9185">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="402.0513">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="402.0513">← 0</text><rect fill="#FEFECE" filter="url(#f14j44zpnvdxnn)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="308" y="297.3359"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="318" y="318.4746">initialize members</text><path d="M160.5,428.5508 L160.5,453.6836 A0,0 0 0 0 160.5,453.6836 L342.5,453.6836 A0,0 0 0 0 342.5,453.6836 L342.5,446.5508 L362.5,441.1172 L342.5,438.5508 L342.5,438.5508 L332.5,428.5508 L160.5,428.5508 A0,0 0 0 0 160.5,428.5508 " fill="#FBFB77" filter="url(#f14j44zpnvdxnn)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M332.5,428.5508 L332.5,438.5508 L342.5,438.5508 L332.5,428.5508 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="166.5" y="445.6177">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="219.5" y="445.6177">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="323.5" y="445.6177">.</text><ellipse cx="373.5" cy="441.1172" fill="#FFFFFF" filter="url(#f14j44zpnvdxnn)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="373.5" cy="441.1172" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="168.5234" y2="188.5234"/><polygon fill="#A80036" points="369.5,178.5234,373.5,188.5234,377.5,178.5234,373.5,182.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="208.5234" y2="297.3359"/><polygon fill="#A80036" points="369.5,287.3359,373.5,297.3359,377.5,287.3359,373.5,291.3359" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="331.3047" y2="430.1172"/><polygon fill="#A80036" points="369.5,420.1172,373.5,430.1172,377.5,420.1172,373.5,424.1172" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9773c192221b4695935848e3210de07c]
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberInit()\n
-
-
-note
-  - - **subscriber** : urt_nrtsubscriber_t* - -
-  The NRT subscriber to initialize.
-  Must not be ""NULL"".
-  =====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
-endnote
-
-
-start
-:initialize members;
-note
-  - - urt_basesubscriber_t - -
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  - - urt_nrtsubscriber_t - -
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/urtNrtSubscriberInit.uml
deleted file mode 100644
index 273f6f7..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberInit.uml
+++ /dev/null
@@ -1,64 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberInit()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_nrtsubscriber_t* --
-  The NRT subscriber to initialize.
-  Must not be ""NULL"".
-  =====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-:initialize members;
-note
-  -- urt_basesubscriber_t --
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  -- urt_nrtsubscriber_t --
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/urtNrtSubscriberSubscribe.svg
deleted file mode 100644
index 5454e64..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberSubscribe.svg
+++ /dev/null
@@ -1,77 +0,0 @@
-<?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="892px" preserveAspectRatio="none" style="width:2374px;height:892px;" version="1.1" viewBox="0 0 2374 892" width="2374px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hh0wf4esd6mf" 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="1141.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="247" x="1062.5" y="47.6611">urtNrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1189" y="68.6143"/><path d="M525.25,72.8594 L525.25,304.7188 L1039.25,304.7188 L1039.25,82.8594 L1029.25,72.8594 L525.25,72.8594 " fill="#FBFB77" filter="url(#f1hh0wf4esd6mf)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1029.25,72.8594 L1029.25,82.8594 L1039.25,82.8594 L1029.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="669.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="673.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="673.25" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="755.25" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="895.25" x2="1039.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="327" x="531.25" y="105.0591">The NRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="531.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="611.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="643.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="716.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="720.25" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="720.25" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="761.25" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="848.25" x2="1039.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="531.25" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="531.25" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="611.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="643.25" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="683.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="687.25" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="687.25" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="766.25" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="881.25" x2="1039.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="531.25" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="567.25" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="531.25" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="531.25" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="531.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="581.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="617.25" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="1039.25" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="1039.25" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="711.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="715.25" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="715.25" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="764.25" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="853.25" x2="1039.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="531.25" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="584.25" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="692.25" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="531.25" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="584.25" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="716.25" y="296.6528">if the subscriber is already associated to a topic.</text><ellipse cx="782.25" cy="334.7188" fill="#000000" filter="url(#f1hh0wf4esd6mf)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" points="724.75,364.7188,839.75,364.7188,851.75,376.7188,839.75,388.7188,724.75,388.7188,712.75,376.7188,724.75,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="724.75" y="380.5269">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="692.75" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="851.75" y="374.1245">no</text><path d="M10,398.7188 L10,423.8516 A0,0 0 0 0 10,423.8516 L216,423.8516 A0,0 0 0 0 216,423.8516 L216,416.7188 L236,411.2852 L216,408.7188 L216,408.7188 L206,398.7188 L10,398.7188 A0,0 0 0 0 10,398.7188 " fill="#FBFB77" filter="url(#f1hh0wf4esd6mf)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M206,398.7188 L206,408.7188 L216,408.7188 L206,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="69" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="197" y="415.7856">.</text><ellipse cx="247" cy="411.2852" fill="#FFFFFF" filter="url(#f1hh0wf4esd6mf)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="247" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1302" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1312" y="419.8574">set topic</text><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1299.5" y="452.6875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1309.5" y="473.8262">lock topic</text><rect fill="#000000" filter="url(#f1hh0wf4esd6mf)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2095" x="268" y="506.6563"/><rect fill="#FFFFFF" filter="url(#f1hh0wf4esd6mf)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1166" x="280" y="579.1685"/><path d="M437,580.1685 L437,588.4653 L427,598.4653 L280,598.4653 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="283" y="593.1636">contribute messages</text><rect fill="#000000" filter="url(#f1hh0wf4esd6mf)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1146" x="290" y="615.4653"/><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="304" y="641.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="314" y="662.604">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="806" y="641.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="816" y="662.604">set next pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#000000" filter="url(#f1hh0wf4esd6mf)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1146" x="290" y="695.4341"/><polygon fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" points="794,532.6563,934,532.6563,946,544.6563,934,556.6563,794,556.6563,782,544.6563,794,532.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="868" y="566.8667">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="794" y="548.4644">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="946" y="542.062">no</text><polygon fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" points="864,733.4341,876,745.4341,864,757.4341,852,745.4341,864,733.4341" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1hh0wf4esd6mf)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="654" x="1470" y="607.3169"/><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1482" y="633.3169"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1492" y="654.4556">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1815" y="633.3169"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1825" y="654.4556">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#f1hh0wf4esd6mf)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="654" x="1470" y="687.2856"/><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2134" y="633.3169"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2144" y="654.4556">register to topic's event source</text><rect fill="#000000" filter="url(#f1hh0wf4esd6mf)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2095" x="268" y="777.4341"/><rect fill="#FEFECE" filter="url(#f1hh0wf4esd6mf)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1291.5" y="803.4341"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1301.5" y="824.5728">unlock topic</text><path d="M1126.5,855.8364 L1126.5,880.9692 A0,0 0 0 0 1126.5,880.9692 L1308.5,880.9692 A0,0 0 0 0 1308.5,880.9692 L1308.5,873.8364 L1328.5,868.4028 L1308.5,865.8364 L1308.5,865.8364 L1298.5,855.8364 L1126.5,855.8364 A0,0 0 0 0 1126.5,855.8364 " fill="#FBFB77" filter="url(#f1hh0wf4esd6mf)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1298.5,855.8364 L1298.5,865.8364 L1308.5,865.8364 L1298.5,855.8364 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1132.5" y="872.9033">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1185.5" y="872.9033">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1289.5" y="872.9033">.</text><ellipse cx="1339.5" cy="868.4028" fill="#FFFFFF" filter="url(#f1hh0wf4esd6mf)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1339.5" cy="868.4028" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="782.25" x2="782.25" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="778.25,314.7188,782.25,324.7188,786.25,314.7188,782.25,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="432.6875" y2="452.6875"/><polygon fill="#A80036" points="1335.5,442.6875,1339.5,452.6875,1343.5,442.6875,1339.5,446.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="621.4653" y2="641.4653"/><polygon fill="#A80036" points="537,631.4653,541,641.4653,545,631.4653,541,635.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="621.4653" y2="641.4653"/><polygon fill="#A80036" points="1111,631.4653,1115,641.4653,1119,631.4653,1115,635.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="675.4341" y2="695.4341"/><polygon fill="#A80036" points="537,685.4341,541,695.4341,545,685.4341,541,689.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="675.4341" y2="695.4341"/><polygon fill="#A80036" points="1111,685.4341,1115,695.4341,1119,685.4341,1115,689.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="556.6563" y2="615.4653"/><polygon fill="#A80036" points="860,605.4653,864,615.4653,868,605.4653,864,609.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="946" x2="1456" y1="544.6563" y2="544.6563"/><polygon fill="#A80036" points="1452,640.3013,1456,650.3013,1460,640.3013,1456,644.3013" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1456" x2="1456" y1="544.6563" y2="745.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1456" x2="876" y1="745.4341" y2="745.4341"/><polygon fill="#A80036" points="886,741.4341,876,745.4341,886,749.4341,882,745.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="701.4341" y2="733.4341"/><polygon fill="#A80036" points="860,723.4341,864,733.4341,868,723.4341,864,727.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1638.5" x2="1638.5" y1="613.3169" y2="633.3169"/><polygon fill="#A80036" points="1634.5,623.3169,1638.5,633.3169,1642.5,623.3169,1638.5,627.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1963.5" x2="1963.5" y1="613.3169" y2="633.3169"/><polygon fill="#A80036" points="1959.5,623.3169,1963.5,633.3169,1967.5,623.3169,1963.5,627.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1638.5" x2="1638.5" y1="667.2856" y2="687.2856"/><polygon fill="#A80036" points="1634.5,677.2856,1638.5,687.2856,1642.5,677.2856,1638.5,681.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1963.5" x2="1963.5" y1="667.2856" y2="687.2856"/><polygon fill="#A80036" points="1959.5,677.2856,1963.5,687.2856,1967.5,677.2856,1963.5,681.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="512.6563" y2="532.6563"/><polygon fill="#A80036" points="860,522.6563,864,532.6563,868,522.6563,864,526.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1801" x2="1801" y1="512.6563" y2="607.3169"/><polygon fill="#A80036" points="1797,597.3169,1801,607.3169,1805,597.3169,1801,601.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2242.5" x2="2242.5" y1="512.6563" y2="633.3169"/><polygon fill="#A80036" points="2238.5,623.3169,2242.5,633.3169,2246.5,623.3169,2242.5,627.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="757.4341" y2="777.4341"/><polygon fill="#A80036" points="860,767.4341,864,777.4341,868,767.4341,864,771.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1801" x2="1801" y1="693.2856" y2="777.4341"/><polygon fill="#A80036" points="1797,767.4341,1801,777.4341,1805,767.4341,1801,771.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2242.5" x2="2242.5" y1="667.2856" y2="777.4341"/><polygon fill="#A80036" points="2238.5,767.4341,2242.5,777.4341,2246.5,767.4341,2242.5,771.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="486.6563" y2="506.6563"/><polygon fill="#A80036" points="1335.5,496.6563,1339.5,506.6563,1343.5,496.6563,1339.5,500.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="783.4341" y2="803.4341"/><polygon fill="#A80036" points="1335.5,793.4341,1339.5,803.4341,1343.5,793.4341,1339.5,797.4341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="837.4028" y2="857.4028"/><polygon fill="#A80036" points="1335.5,847.4028,1339.5,857.4028,1343.5,847.4028,1339.5,851.4028" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="712.75" x2="247" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247" x2="247" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="243,390.2852,247,400.2852,251,390.2852,247,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="851.75" x2="1339.5" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="1335.5,388.7188,1339.5,398.7188,1343.5,388.7188,1339.5,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="782.25" x2="782.25" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="778.25,354.7188,782.25,364.7188,786.25,354.7188,782.25,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1139c0724d201cae2fe9306520767ad5]
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberSubscribe()\n
-
-
-
-
-
-note
-  - - **subscriber** : urt_nrtsubscriber_t* - -
-  The NRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  - - **topic** : urt_topic_t* - -
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  - - **messages** : urt_message_t* - -
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  :set topic;
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-        partition "contribute messages" {
-    fork
-      :set next pointer of topic's latest message to first message to contribute;
-    fork again
-      :set next pointer of last message to contribute to the message after the topic's latest message;
-    endfork
-  }
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/urtNrtSubscriberSubscribe.uml
deleted file mode 100644
index 4e98d85..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberSubscribe.uml
+++ /dev/null
@@ -1,84 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberSubscribe()\n
-
-!include ../functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_nrtsubscriber_t* --
-  The NRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  -- **topic** : urt_topic_t* --
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  -- **messages** : urt_message_t* --
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  :set topic;
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-      $contribute_messages()
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/urtNrtSubscriberUnsubscribe.svg
deleted file mode 100644
index fc482fd..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberUnsubscribe.svg
+++ /dev/null
@@ -1,58 +0,0 @@
-<?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="553px" preserveAspectRatio="none" style="width:781px;height:553px;" version="1.1" viewBox="0 0 781 553" width="781px" zoomAndPan="magnify"><defs><filter height="300%" id="f17b15liqbym63" 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="345" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="269" x="255" y="47.6611">urtNrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="392.5" y="68.6143"/><path d="M281,72.8594 L281,183.6563 L769,183.6563 L769,82.8594 L759,72.8594 L281,72.8594 " fill="#FBFB77" filter="url(#f17b15liqbym63)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M759,72.8594 L759,82.8594 L769,82.8594 L759,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="412" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="416" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="416" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="498" y="89.4263">: urt_nrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="638" x2="769" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="252" x="287" y="105.0591">The NRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="287" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="367" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="399" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="769" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="769" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="454" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="458" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="458" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="507" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="596" x2="769" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="287" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="340" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="448" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="287" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="340" y="175.5903">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="472" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="525" cy="213.6563" fill="#000000" filter="url(#f17b15liqbym63)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f17b15liqbym63)" points="462.5,243.6563,587.5,243.6563,599.5,255.6563,587.5,267.6563,462.5,267.6563,450.5,255.6563,462.5,243.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="462.5" y="259.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="430.5" y="253.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="599.5" y="253.062">no</text><rect fill="#FEFECE" filter="url(#f17b15liqbym63)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="303.5" y="277.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="313.5" y="298.7949">unregister event</text><path d="M10,321.625 L10,498.0859 A0,0 0 0 0 10,498.0859 L288,498.0859 A0,0 0 0 0 288,498.0859 L288,413.8555 L308,409.8555 L288,405.8555 L288,331.625 L278,321.625 L10,321.625 A0,0 0 0 0 10,321.625 " fill="#FBFB77" filter="url(#f17b15liqbym63)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,321.625 L278,331.625 L288,331.625 L278,321.625 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="78" y1="334.1914" y2="334.1914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="82" y="338.1919">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="288" y1="334.1914" y2="334.1914"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="16" y="353.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="57" y="353.8247">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="72" y="353.8247">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="368.9575">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="113" y="368.9575">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="128" y="368.9575">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="384.0903">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="148" y="384.0903">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="394.7227" y2="394.7227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="398.7231">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="394.7227" y2="394.7227"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="16" y="414.356">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="121" y="414.356">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="16" y="429.4888">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="193" y="429.4888">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="84.5" y1="440.1211" y2="440.1211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="121" x="88.5" y="444.1216">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="213.5" x2="288" y1="440.1211" y2="440.1211"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="455.2539" y2="455.2539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="459.2544">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="455.2539" y2="455.2539"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="16" y="474.8872">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="104" y="474.8872">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="490.02">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="490.02">← 0</text><rect fill="#FEFECE" filter="url(#f17b15liqbym63)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="308" y="392.8711"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="318" y="414.0098">reset members</text><path d="M152.5,516.5195 L152.5,541.6523 A0,0 0 0 0 152.5,541.6523 L334.5,541.6523 A0,0 0 0 0 334.5,541.6523 L334.5,534.5195 L354.5,529.0859 L334.5,526.5195 L334.5,526.5195 L324.5,516.5195 L152.5,516.5195 A0,0 0 0 0 152.5,516.5195 " fill="#FBFB77" filter="url(#f17b15liqbym63)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M324.5,516.5195 L324.5,526.5195 L334.5,526.5195 L324.5,516.5195 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="158.5" y="533.5864">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="211.5" y="533.5864">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="315.5" y="533.5864">.</text><ellipse cx="365.5" cy="529.0859" fill="#FFFFFF" filter="url(#f17b15liqbym63)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="365.5" cy="529.0859" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M447.5,277.6563 L447.5,302.7891 A0,0 0 0 0 447.5,302.7891 L653.5,302.7891 A0,0 0 0 0 653.5,302.7891 L653.5,295.6563 L673.5,290.2227 L653.5,287.6563 L653.5,287.6563 L643.5,277.6563 L447.5,277.6563 A0,0 0 0 0 447.5,277.6563 " fill="#FBFB77" filter="url(#f17b15liqbym63)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M643.5,277.6563 L643.5,287.6563 L653.5,287.6563 L643.5,277.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="453.5" y="294.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="506.5" y="294.7231">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="634.5" y="294.7231">.</text><ellipse cx="684.5" cy="290.2227" fill="#FFFFFF" filter="url(#f17b15liqbym63)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="684.5" cy="290.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="525" x2="525" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="521,193.6563,525,203.6563,529,193.6563,525,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="365.5" y1="311.625" y2="392.8711"/><polygon fill="#A80036" points="361.5,382.8711,365.5,392.8711,369.5,382.8711,365.5,386.8711" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="365.5" y1="426.8398" y2="518.0859"/><polygon fill="#A80036" points="361.5,508.0859,365.5,518.0859,369.5,508.0859,365.5,512.0859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="450.5" x2="365.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="365.5" y1="255.6563" y2="277.6563"/><polygon fill="#A80036" points="361.5,267.6563,365.5,277.6563,369.5,267.6563,365.5,271.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="599.5" x2="684.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="684.5" x2="684.5" y1="255.6563" y2="279.2227"/><polygon fill="#A80036" points="680.5,269.2227,684.5,279.2227,688.5,269.2227,684.5,273.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="525" x2="525" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="521,233.6563,525,243.6563,529,233.6563,525,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[00216dfafa1ac0082c086d741efdd298]
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberUnsubscribe()\n
-
-
-note
-  - - **subscriber** : urt_nrtsubscriber_t* - -
-  The NRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :unregister event;
-  :reset members;
-  note
-    - - urt_basesubscriber_t - -
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    - - urt_nrtsubscriber_t - -
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtNrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/urtNrtSubscriberUnsubscribe.uml
deleted file mode 100644
index dfa5c96..0000000
--- a/doc/activitydiagrams/subscriber/urtNrtSubscriberUnsubscribe.uml
+++ /dev/null
@@ -1,72 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtNrtSubscriberUnsubscribe()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_nrtsubscriber_t* --
-  The NRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :unregister event;
-  :reset members;
-  note
-    -- urt_basesubscriber_t --
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    -- urt_nrtsubscriber_t --
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberCalculateUsefulness.svg b/doc/activitydiagrams/subscriber/urtSrtSubscriberCalculateUsefulness.svg
deleted file mode 100644
index 8524b23..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberCalculateUsefulness.svg
+++ /dev/null
@@ -1,41 +0,0 @@
-<?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="348px" preserveAspectRatio="none" style="width:957px;height:348px;" version="1.1" viewBox="0 0 957 348" width="957px" zoomAndPan="magnify"><defs><filter height="300%" id="f15wrzz2gus8bc" 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="433" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="333" x="311" y="47.6611">urtSrtSubscriberCalculateUsefulness()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="480.5" y="68.6143"/><path d="M533,72.8594 L533,198.7891 L945,198.7891 L945,82.8594 L935,72.8594 L533,72.8594 " fill="#FBFB77" filter="url(#f15wrzz2gus8bc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M935,72.8594 L935,82.8594 L945,82.8594 L935,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="626.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="630.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="630.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="712.5" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="851.5" x2="945" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="539" y="105.0591">The SRT subscriber to calculate a usefulness for.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="539" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="619" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="651" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="667" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="671" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="671" y="134.8247">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="728" y="134.8247">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="811" x2="945" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="391" x="539" y="150.4575">Latency (of a message) as argument to calculate usefulness.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="945" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="945" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="533" x2="692.5" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="696.5" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="696.5" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="36" x="745.5" y="175.0903">: float</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="785.5" x2="945" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="293" x="539" y="190.7231">Returns the usefulness as a value within [0,1].</text><ellipse cx="739" cy="228.7891" fill="#000000" filter="url(#f15wrzz2gus8bc)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,263.207 L10,288.3398 A0,0 0 0 0 10,288.3398 L560,288.3398 A0,0 0 0 0 560,288.3398 L560,281.207 L580,275.7734 L560,273.207 L560,273.207 L550,263.207 L10,263.207 A0,0 0 0 0 10,263.207 " fill="#FBFB77" filter="url(#f15wrzz2gus8bc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M550,263.207 L550,273.207 L560,273.207 L550,263.207 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="529" x="16" y="280.2739">The callback function must never return a negative value or a value greater than 1.</text><rect fill="#FEFECE" filter="url(#f15wrzz2gus8bc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="318" x="580" y="258.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="590" y="279.9277">execute the subscriber's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="749" y="279.9277">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="837" y="279.9277">function</text><path d="M501,311.1914 L501,336.3242 A0,0 0 0 0 501,336.3242 L708,336.3242 A0,0 0 0 0 708,336.3242 L708,329.1914 L728,323.7578 L708,321.1914 L708,321.1914 L698,311.1914 L501,311.1914 A0,0 0 0 0 501,311.1914 " fill="#FBFB77" filter="url(#f15wrzz2gus8bc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M698,311.1914 L698,321.1914 L708,321.1914 L698,311.1914 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="507" y="328.2583">Returns callback result value.</text><ellipse cx="739" cy="323.7578" fill="#FFFFFF" filter="url(#f15wrzz2gus8bc)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="739" cy="323.7578" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739" x2="739" y1="198.7891" y2="218.7891"/><polygon fill="#A80036" points="735,208.7891,739,218.7891,743,208.7891,739,212.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739" x2="739" y1="238.7891" y2="258.7891"/><polygon fill="#A80036" points="735,248.7891,739,258.7891,743,248.7891,739,252.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="739" x2="739" y1="292.7578" y2="312.7578"/><polygon fill="#A80036" points="735,302.7578,739,312.7578,743,302.7578,739,306.7578" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a084fe7f835cdb3d14e1a1ea89d81f13]
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberCalculateUsefulness()\n
-
-
-note
-  - - **subscriber** : urt_srtsubscriber_t* - -
-  The SRT subscriber to calculate a usefulness for.
-  Must not be ""NULL"".
-  - - **latency** : urt_delay_t - -
-  Latency (of a message) as argument to calculate usefulness.
-  ====
-  - - **return** : float - -
-  Returns the usefulness as a value within [0,1].
-endnote
-
-
-start
-:execute the subscriber's ""usefulnesscb"" function;
-note
-  The callback function must never return a negative value or a value greater than 1.
-endnote
-stop
-note
-  Returns callback result value.
-endnote
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberCalculateUsefulness.uml b/doc/activitydiagrams/subscriber/urtSrtSubscriberCalculateUsefulness.uml
deleted file mode 100644
index 55a3dba..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberCalculateUsefulness.uml
+++ /dev/null
@@ -1,55 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberCalculateUsefulness()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_srtsubscriber_t* --
-  The SRT subscriber to calculate a usefulness for.
-  Must not be ""NULL"".
-  -- **latency** : urt_delay_t --
-  Latency (of a message) as argument to calculate usefulness.
-  ====
-  -- **return** : float --
-  Returns the usefulness as a value within [0,1].
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-:execute the subscriber's ""usefulnesscb"" function;
-note
-  The callback function must never return a negative value or a value greater than 1.
-endnote
-stop
-note
-  Returns callback result value.
-endnote
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchLatestMessage.svg b/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchLatestMessage.svg
deleted file mode 100644
index ce32300..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchLatestMessage.svg
+++ /dev/null
@@ -1,78 +0,0 @@
-<?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="1004px" preserveAspectRatio="none" style="width:1281px;height:1004px;" version="1.1" viewBox="0 0 1281 1004" width="1281px" zoomAndPan="magnify"><defs><filter height="300%" id="f1mssqfvhqau1e" 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="595" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="335" x="472" y="47.6611">urtSrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="642.5" y="68.6143"/><path d="M631,72.8594 L631,304.7188 L1119,304.7188 L1119,82.8594 L1109,72.8594 L631,72.8594 " fill="#FBFB77" filter="url(#f1mssqfvhqau1e)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1109,72.8594 L1109,82.8594 L1119,82.8594 L1109,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="762.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="766.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="766.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="848.5" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="987.5" x2="1119" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="312" x="637" y="105.0591">The SRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="637" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="717" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="749" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="819" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="823" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="823" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="886" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="931" x2="1119" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="637" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="723" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="826" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="830" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="830" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="875" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="924" x2="1119" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="637" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="799.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="803.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="803.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="860.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="950.5" x2="1119" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="637" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="719" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="804" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="808" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="808" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="857" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="946" x2="1119" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="690" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="798" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="690" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="822" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="875" cy="334.7188" fill="#000000" filter="url(#f1mssqfvhqau1e)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" points="812.5,364.7188,937.5,364.7188,949.5,376.7188,937.5,388.7188,812.5,388.7188,800.5,376.7188,812.5,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="812.5" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="780.5" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="949.5" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="455" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="465" y="419.8574">lock topic</text><rect fill="#FFFFFF" filter="url(#f1mssqfvhqau1e)" height="213.9448" style="stroke: #000000; stroke-width: 2.0;" width="323" x="332" y="443.4893"/><path d="M477,444.4893 L477,452.7861 L467,462.7861 L332,462.7861 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="335" y="457.4844">find latest message</text><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="185" x="402.5" y="479.7861"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="165" x="412.5" y="500.9248">access last read message</text><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="589.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="610.604">proceed to next message</text><polygon fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" points="378,533.7549,612,533.7549,624,545.7549,612,557.7549,378,557.7549,366,545.7549,378,533.7549" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="499" y="567.9653">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="378" y="549.563">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="352" y="543.1606">no</text><rect fill="#FFFFFF" filter="url(#f1mssqfvhqau1e)" height="226.668" style="stroke: #000000; stroke-width: 2.0;" width="988" x="10" y="668.2358"/><path d="M123,669.2358 L123,677.5327 L113,687.5327 L10,687.5327 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="13" y="682.231">fetch message</text><rect fill="#000000" filter="url(#f1mssqfvhqau1e)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="704.5327"/><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="34" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="44" y="800.0737">update message pointer</text><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="219" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="229" y="800.0737">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="443" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="453" y="800.0737">copy message payload</text><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="644" y="778.9351"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="654" y="800.0737">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="678" y="800.0737">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="731" y="800.0737">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" points="678.5,730.5327,917.5,730.5327,929.5,742.5327,917.5,754.5327,678.5,754.5327,666.5,742.5327,678.5,730.5327" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="802" y="764.7432">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="678.5" y="746.3408">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="828.5" y="746.3408">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="881.5" y="746.3408">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="929.5" y="739.9385">no</text><polygon fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" points="798,832.9038,810,844.9038,798,856.9038,786,844.9038,798,832.9038" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f1mssqfvhqau1e)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="876.9038"/><rect fill="#FEFECE" filter="url(#f1mssqfvhqau1e)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="447" y="914.9038"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="457" y="936.0425">unlock topic</text><path d="M282,967.3062 L282,992.439 A0,0 0 0 0 282,992.439 L464,992.439 A0,0 0 0 0 464,992.439 L464,985.3062 L484,979.8726 L464,977.3062 L464,977.3062 L454,967.3062 L282,967.3062 A0,0 0 0 0 282,967.3062 " fill="#FBFB77" filter="url(#f1mssqfvhqau1e)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,967.3062 L454,977.3062 L464,977.3062 L454,967.3062 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="288" y="984.373">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="341" y="984.373">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="445" y="984.373">.</text><ellipse cx="495" cy="979.8726" fill="#FFFFFF" filter="url(#f1mssqfvhqau1e)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="495" cy="979.8726" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1018,398.7188 L1018,423.8516 A0,0 0 0 0 1018,423.8516 L1224,423.8516 A0,0 0 0 0 1224,423.8516 L1224,416.7188 L1244,411.2852 L1224,408.7188 L1224,408.7188 L1214,398.7188 L1018,398.7188 A0,0 0 0 0 1018,398.7188 " fill="#FBFB77" filter="url(#f1mssqfvhqau1e)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1214,398.7188 L1214,408.7188 L1224,408.7188 L1214,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1024" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1077" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1205" y="415.7856">.</text><ellipse cx="1255" cy="411.2852" fill="#FFFFFF" filter="url(#f1mssqfvhqau1e)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1255" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="871,314.7188,875,324.7188,879,314.7188,875,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="557.7549" y2="589.4653"/><polygon fill="#A80036" points="491,579.4653,495,589.4653,499,579.4653,495,583.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="623.4341" y2="633.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="636" y1="633.4341" y2="633.4341"/><polygon fill="#A80036" points="632,598.0474,636,588.0474,640,598.0474,636,594.0474" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="636" y1="545.7549" y2="633.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="624" y1="545.7549" y2="545.7549"/><polygon fill="#A80036" points="634,541.7549,624,545.7549,634,549.7549,630,545.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="354" y1="545.7549" y2="545.7549"/><polygon fill="#A80036" points="350,584.0474,354,594.0474,358,584.0474,354,588.0474" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="545.7549" y2="645.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="495" y1="645.4341" y2="645.4341"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="645.4341" y2="704.5327"/><polygon fill="#A80036" points="491,694.5327,495,704.5327,499,694.5327,495,698.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="513.7549" y2="533.7549"/><polygon fill="#A80036" points="491,523.7549,495,533.7549,499,523.7549,495,527.7549" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="432.6875" y2="479.7861"/><polygon fill="#A80036" points="491,469.7861,495,479.7861,499,469.7861,495,473.7861" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="754.5327" y2="778.9351"/><polygon fill="#A80036" points="794,768.9351,798,778.9351,802,768.9351,798,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.5" x2="962" y1="742.5327" y2="742.5327"/><polygon fill="#A80036" points="958,785.9194,962,795.9194,966,785.9194,962,789.9194" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="962" y1="742.5327" y2="844.9038"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="810" y1="844.9038" y2="844.9038"/><polygon fill="#A80036" points="820,840.9038,810,844.9038,820,848.9038,816,844.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="812.9038" y2="832.9038"/><polygon fill="#A80036" points="794,822.9038,798,832.9038,802,822.9038,798,826.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="117.5,768.9351,121.5,778.9351,125.5,768.9351,121.5,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="313,768.9351,317,778.9351,321,768.9351,317,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="710.5327" y2="778.9351"/><polygon fill="#A80036" points="520.5,768.9351,524.5,778.9351,528.5,768.9351,524.5,772.9351" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="710.5327" y2="730.5327"/><polygon fill="#A80036" points="794,720.5327,798,730.5327,802,720.5327,798,724.5327" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="117.5,866.9038,121.5,876.9038,125.5,866.9038,121.5,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="313,866.9038,317,876.9038,321,866.9038,317,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="812.9038" y2="876.9038"/><polygon fill="#A80036" points="520.5,866.9038,524.5,876.9038,528.5,866.9038,524.5,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="856.9038" y2="876.9038"/><polygon fill="#A80036" points="794,866.9038,798,876.9038,802,866.9038,798,870.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="882.9038" y2="914.9038"/><polygon fill="#A80036" points="491,904.9038,495,914.9038,499,904.9038,495,908.9038" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="948.8726" y2="968.8726"/><polygon fill="#A80036" points="491,958.8726,495,968.8726,499,958.8726,495,962.8726" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.5" x2="495" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="491,388.7188,495,398.7188,499,388.7188,495,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="1255" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1251,390.2852,1255,400.2852,1259,390.2852,1255,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="871,354.7188,875,364.7188,879,354.7188,875,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d147b9ea3fa7421813cf9b37cba2c337]
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberFetchLatestMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_srtsubscriber_t* - -
-  The SRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-    partition "find latest message" {
-    :access last read message;
-    while (Timestamp of next message is younger?) is (yes)
-      :proceed to next message;
-    endwhile (no)
-  }
-    partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchLatestMessage.uml b/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchLatestMessage.uml
deleted file mode 100644
index a712964..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchLatestMessage.uml
+++ /dev/null
@@ -1,71 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberFetchLatestMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_srtsubscriber_t* --
-  The SRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  $find_latest_message()
-  $fetch_message()
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchNextMessage.svg b/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchNextMessage.svg
deleted file mode 100644
index 8cdbf14..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchNextMessage.svg
+++ /dev/null
@@ -1,81 +0,0 @@
-<?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="1098px" preserveAspectRatio="none" style="width:1281px;height:1098px;" version="1.1" viewBox="0 0 1281 1098" width="1281px" zoomAndPan="magnify"><defs><filter height="300%" id="fz4g4g0k40qox" 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="595" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="325" x="477" y="47.6611">urtSrtSubscriberFetchNextMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="642.5" y="68.6143"/><path d="M631,72.8594 L631,304.7188 L1119,304.7188 L1119,82.8594 L1109,72.8594 L631,72.8594 " fill="#FBFB77" filter="url(#fz4g4g0k40qox)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1109,72.8594 L1109,82.8594 L1119,82.8594 L1109,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="762.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="766.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="766.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="848.5" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="987.5" x2="1119" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="312" x="637" y="105.0591">The SRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="637" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="717" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="749" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="819" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="823" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="823" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="886" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="931" x2="1119" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="637" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="723" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="826" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="830" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="830" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="875" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="924" x2="1119" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="637" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="799.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="803.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="803.5" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="860.5" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="950.5" x2="1119" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="637" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="637" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="687" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="719" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="1119" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="631" x2="804" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="808" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="808" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="857" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="946" x2="1119" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="690" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="798" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="637" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="690" y="296.6528">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="822" y="296.6528">if the subscriber is not associated to a topic.</text><ellipse cx="875" cy="334.7188" fill="#000000" filter="url(#fz4g4g0k40qox)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fz4g4g0k40qox)" points="812.5,364.7188,937.5,364.7188,949.5,376.7188,937.5,388.7188,812.5,388.7188,800.5,376.7188,812.5,364.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="812.5" y="380.5269">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="780.5" y="374.1245">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="949.5" y="374.1245">no</text><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="455" y="398.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="465" y="419.8574">lock topic</text><rect fill="#FFFFFF" filter="url(#fz4g4g0k40qox)" height="307.7651" style="stroke: #000000; stroke-width: 2.0;" width="365.5" x="322" y="443.4893"/><path d="M506,444.4893 L506,452.7861 L496,462.7861 L322,462.7861 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="174" x="325" y="457.4844">find oldest valid message</text><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="585.3169"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="606.4556">proceed to next message</text><polygon fill="#FEFECE" filter="url(#fz4g4g0k40qox)" points="378,528.1885,612,528.1885,624,540.1885,612,552.1885,378,552.1885,366,540.1885,378,528.1885" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="499" y="562.3989">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="378" y="543.9966">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="352" y="537.5942">no</text><polygon fill="#FEFECE" filter="url(#fz4g4g0k40qox)" points="345.5,479.7861,644.5,479.7861,656.5,491.7861,644.5,503.7861,345.5,503.7861,333.5,491.7861,345.5,479.7861" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="499" y="513.9966">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="299" x="345.5" y="495.5942">Timestamp of last read message euqals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="656.5" y="489.1919">yes</text><polygon fill="#FEFECE" filter="url(#fz4g4g0k40qox)" points="495,661.2856,507,673.2856,495,685.2856,483,673.2856,495,661.2856" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="404.5" y="705.2856"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="414.5" y="726.4243">proceed to next message</text><rect fill="#FFFFFF" filter="url(#fz4g4g0k40qox)" height="226.668" style="stroke: #000000; stroke-width: 2.0;" width="988" x="10" y="762.0562"/><path d="M123,763.0562 L123,771.353 L113,781.353 L10,781.353 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="13" y="776.0513">fetch message</text><rect fill="#000000" filter="url(#fz4g4g0k40qox)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="798.353"/><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="34" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="44" y="893.894">update message pointer</text><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="219" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="229" y="893.894">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="443" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="453" y="893.894">copy message payload</text><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="308" x="644" y="872.7554"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="654" y="893.894">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="678" y="893.894">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="211" x="731" y="893.894">value (now - message origin time)</text><polygon fill="#FEFECE" filter="url(#fz4g4g0k40qox)" points="678.5,824.353,917.5,824.353,929.5,836.353,917.5,848.353,678.5,848.353,666.5,836.353,678.5,824.353" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="802" y="858.5635">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="678.5" y="840.1611">Optional output argument</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="828.5" y="840.1611">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="881.5" y="840.1611">given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="929.5" y="833.7588">no</text><polygon fill="#FEFECE" filter="url(#fz4g4g0k40qox)" points="798,926.7241,810,938.7241,798,950.7241,786,938.7241,798,926.7241" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fz4g4g0k40qox)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="968" x="20" y="970.7241"/><rect fill="#FEFECE" filter="url(#fz4g4g0k40qox)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="447" y="1008.7241"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="457" y="1029.8628">unlock topic</text><path d="M282,1061.1265 L282,1086.2593 A0,0 0 0 0 282,1086.2593 L464,1086.2593 A0,0 0 0 0 464,1086.2593 L464,1079.1265 L484,1073.6929 L464,1071.1265 L464,1071.1265 L454,1061.1265 L282,1061.1265 A0,0 0 0 0 282,1061.1265 " fill="#FBFB77" filter="url(#fz4g4g0k40qox)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,1061.1265 L454,1071.1265 L464,1071.1265 L454,1061.1265 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="288" y="1078.1934">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="341" y="1078.1934">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="445" y="1078.1934">.</text><ellipse cx="495" cy="1073.6929" fill="#FFFFFF" filter="url(#fz4g4g0k40qox)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="495" cy="1073.6929" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1018,398.7188 L1018,423.8516 A0,0 0 0 0 1018,423.8516 L1224,423.8516 A0,0 0 0 0 1224,423.8516 L1224,416.7188 L1244,411.2852 L1224,408.7188 L1224,408.7188 L1214,398.7188 L1018,398.7188 A0,0 0 0 0 1018,398.7188 " fill="#FBFB77" filter="url(#fz4g4g0k40qox)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1214,398.7188 L1214,408.7188 L1224,408.7188 L1214,398.7188 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1024" y="415.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1077" y="415.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1205" y="415.7856">.</text><ellipse cx="1255" cy="411.2852" fill="#FFFFFF" filter="url(#fz4g4g0k40qox)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1255" cy="411.2852" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="871,314.7188,875,324.7188,879,314.7188,875,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="552.1885" y2="585.3169"/><polygon fill="#A80036" points="491,575.3169,495,585.3169,499,575.3169,495,579.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="619.2856" y2="629.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="636" y1="629.2856" y2="629.2856"/><polygon fill="#A80036" points="632,593.8989,636,583.8989,640,593.8989,636,589.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="636" y1="540.1885" y2="629.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="636" x2="624" y1="540.1885" y2="540.1885"/><polygon fill="#A80036" points="634,536.1885,624,540.1885,634,544.1885,630,540.1885" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="354" y1="540.1885" y2="540.1885"/><polygon fill="#A80036" points="350,579.8989,354,589.8989,358,579.8989,354,583.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="540.1885" y2="641.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="495" y1="641.2856" y2="641.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="641.2856" y2="661.2856"/><polygon fill="#A80036" points="491,651.2856,495,661.2856,499,651.2856,495,655.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="503.7861" y2="528.1885"/><polygon fill="#A80036" points="491,518.1885,495,528.1885,499,518.1885,495,522.1885" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="656.5" x2="668.5" y1="491.7861" y2="491.7861"/><polygon fill="#A80036" points="664.5,573.8989,668.5,583.8989,672.5,573.8989,668.5,577.8989" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="668.5" x2="668.5" y1="491.7861" y2="673.2856"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="668.5" x2="507" y1="673.2856" y2="673.2856"/><polygon fill="#A80036" points="517,669.2856,507,673.2856,517,677.2856,513,673.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="685.2856" y2="705.2856"/><polygon fill="#A80036" points="491,695.2856,495,705.2856,499,695.2856,495,699.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="432.6875" y2="479.7861"/><polygon fill="#A80036" points="491,469.7861,495,479.7861,499,469.7861,495,473.7861" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="848.353" y2="872.7554"/><polygon fill="#A80036" points="794,862.7554,798,872.7554,802,862.7554,798,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="929.5" x2="962" y1="836.353" y2="836.353"/><polygon fill="#A80036" points="958,879.7397,962,889.7397,966,879.7397,962,883.7397" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="962" y1="836.353" y2="938.7241"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="962" x2="810" y1="938.7241" y2="938.7241"/><polygon fill="#A80036" points="820,934.7241,810,938.7241,820,942.7241,816,938.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="906.7241" y2="926.7241"/><polygon fill="#A80036" points="794,916.7241,798,926.7241,802,916.7241,798,920.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="117.5,862.7554,121.5,872.7554,125.5,862.7554,121.5,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="313,862.7554,317,872.7554,321,862.7554,317,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="804.353" y2="872.7554"/><polygon fill="#A80036" points="520.5,862.7554,524.5,872.7554,528.5,862.7554,524.5,866.7554" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="804.353" y2="824.353"/><polygon fill="#A80036" points="794,814.353,798,824.353,802,814.353,798,818.353" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="121.5" x2="121.5" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="117.5,960.7241,121.5,970.7241,125.5,960.7241,121.5,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317" x2="317" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="313,960.7241,317,970.7241,321,960.7241,317,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="524.5" x2="524.5" y1="906.7241" y2="970.7241"/><polygon fill="#A80036" points="520.5,960.7241,524.5,970.7241,528.5,960.7241,524.5,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="798" x2="798" y1="950.7241" y2="970.7241"/><polygon fill="#A80036" points="794,960.7241,798,970.7241,802,960.7241,798,964.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="739.2544" y2="798.353"/><polygon fill="#A80036" points="491,788.353,495,798.353,499,788.353,495,792.353" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="976.7241" y2="1008.7241"/><polygon fill="#A80036" points="491,998.7241,495,1008.7241,499,998.7241,495,1002.7241" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="1042.6929" y2="1062.6929"/><polygon fill="#A80036" points="491,1052.6929,495,1062.6929,499,1052.6929,495,1056.6929" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="800.5" x2="495" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="495" x2="495" y1="376.7188" y2="398.7188"/><polygon fill="#A80036" points="491,388.7188,495,398.7188,499,388.7188,495,392.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="949.5" x2="1255" y1="376.7188" y2="376.7188"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255" x2="1255" y1="376.7188" y2="400.2852"/><polygon fill="#A80036" points="1251,390.2852,1255,400.2852,1259,390.2852,1255,394.2852" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="875" x2="875" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="871,354.7188,875,364.7188,879,354.7188,875,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d0e8935f6ecfbd1879e834f9bba79d84]
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberFetchNextMessage()\n
-
-
-
-
-
-
-
-note
-  - - **subscriber** : urt_srtsubscriber_t* - -
-  The SRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  - - **payload** : void* - -
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  - - **bytes** : size_t - -
-  Payload size in bytes.
-  - - **latency** : urt_delay_t* - -
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-    partition "find oldest valid message" {
-    if (Timestamp of last read message euqals local copy?) then (yes)
-    else (no)
-      while (Timestamp of next message is younger?) is (yes)
-        :proceed to next message;
-      endwhile (no)
-    endif
-    :proceed to next message;
-  }
-    partition "fetch message" {
-    fork
-      :update message pointer;
-    fork again
-        :copy timestamp of message;
-    fork again
-      :copy message payload;
-    fork again
-      if (Optional output argument ""latency"" given?) then (yes)
-        :set ""latency"" value (now - message origin time);
-      else (no)
-      endif
-    endfork
-  }
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchNextMessage.uml b/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchNextMessage.uml
deleted file mode 100644
index 3b1768e..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberFetchNextMessage.uml
+++ /dev/null
@@ -1,71 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberFetchNextMessage()\n
-
-!include ./functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_srtsubscriber_t* --
-  The SRT subscriber that shall fetch the message.
-  Must not be ""NULL"".
-  -- **payload** : void* --
-  Pointer where to copy the payload to.
-  May be ""NULL"" for messages without payload.
-  -- **bytes** : size_t --
-  Payload size in bytes.
-  -- **latency** : urt_delay_t* --
-  The latency can be returned by reference.
-  May be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :lock topic;
-  $find_oldest_message()
-  $fetch_message()
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberInit.svg b/doc/activitydiagrams/subscriber/urtSrtSubscriberInit.svg
deleted file mode 100644
index c69042b..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberInit.svg
+++ /dev/null
@@ -1,52 +0,0 @@
-<?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="495px" preserveAspectRatio="none" style="width:508px;height:495px;" version="1.1" viewBox="0 0 508 495" width="508px" zoomAndPan="magnify"><defs><filter height="300%" id="f15ks931pbyyq5" 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="208.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="188" x="159.25" y="47.6611">urtSrtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="256.25" y="68.6143"/><path d="M250.5,72.8594 L250.5,168.5234 L496.5,168.5234 L496.5,82.8594 L486.5,72.8594 L250.5,72.8594 " fill="#FBFB77" filter="url(#f15ks931pbyyq5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M486.5,72.8594 L486.5,82.8594 L496.5,82.8594 L486.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="261" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="265" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="265" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="347" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="486" x2="496.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="256.5" y="105.0591">The SRT subscriber to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="256.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="336.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="368.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="496.5" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="496.5" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="250.5" x2="302.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="306.5" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="306.5" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="355.5" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="444.5" x2="496.5" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="256.5" y="160.4575">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="353.5" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="457.5" y="160.4575">.</text><ellipse cx="373.5" cy="198.5234" fill="#000000" filter="url(#f15ks931pbyyq5)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,218.5234 L10,440.3828 A0,0 0 0 0 10,440.3828 L288,440.3828 A0,0 0 0 0 288,440.3828 L288,333.4531 L308,329.4531 L288,325.4531 L288,228.5234 L278,218.5234 L10,218.5234 A0,0 0 0 0 10,218.5234 " fill="#FBFB77" filter="url(#f15ks931pbyyq5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,218.5234 L278,228.5234 L288,228.5234 L278,218.5234 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="78" y1="231.0898" y2="231.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="82" y="235.0903">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="288" y1="231.0898" y2="231.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="16" y="250.7231">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="57" y="250.7231">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="72" y="250.7231">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="16" y="265.856">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="82" x="145" y="265.856">evtListener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="227" y="265.856">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="280.9888">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="113" y="280.9888">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="128" y="280.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="296.1216">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="148" y="296.1216">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="306.7539" y2="306.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="310.7544">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="306.7539" y2="306.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="16" y="326.3872">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="121" y="326.3872">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="16" y="341.52">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="193" y="341.52">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="85" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="89" y="356.1528">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="213" x2="288" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="97" x="16" y="371.7856">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="117" y="371.7856">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="132" y="371.7856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="74" x="16" y="386.9185">cbparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="94" y="386.9185">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="109" y="386.9185">NULL</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="397.5508" y2="397.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="401.5513">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="397.5508" y2="397.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="16" y="417.1841">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="104" y="417.1841">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="432.3169">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="432.3169">← 0</text><rect fill="#FEFECE" filter="url(#f15ks931pbyyq5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="308" y="312.4688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="318" y="333.6074">initialize members</text><path d="M160.5,458.8164 L160.5,483.9492 A0,0 0 0 0 160.5,483.9492 L342.5,483.9492 A0,0 0 0 0 342.5,483.9492 L342.5,476.8164 L362.5,471.3828 L342.5,468.8164 L342.5,468.8164 L332.5,458.8164 L160.5,458.8164 A0,0 0 0 0 160.5,458.8164 " fill="#FBFB77" filter="url(#f15ks931pbyyq5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M332.5,458.8164 L332.5,468.8164 L342.5,468.8164 L332.5,458.8164 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="166.5" y="475.8833">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="219.5" y="475.8833">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="323.5" y="475.8833">.</text><ellipse cx="373.5" cy="471.3828" fill="#FFFFFF" filter="url(#f15ks931pbyyq5)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="373.5" cy="471.3828" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="168.5234" y2="188.5234"/><polygon fill="#A80036" points="369.5,178.5234,373.5,188.5234,377.5,178.5234,373.5,182.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="208.5234" y2="312.4688"/><polygon fill="#A80036" points="369.5,302.4688,373.5,312.4688,377.5,302.4688,373.5,306.4688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.5" x2="373.5" y1="346.4375" y2="460.3828"/><polygon fill="#A80036" points="369.5,450.3828,373.5,460.3828,377.5,450.3828,373.5,454.3828" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0745453a98b4dfc33b42f23ddd6ecabe]
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberInit()\n
-
-
-note
-  - - **subscriber** : urt_srtsubscriber_t* - -
-  The SRT subscriber to initialize.
-  Must not be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Always returns ""URT_STATUS_OK"".
-endnote
-
-
-start
-:initialize members;
-note
-  - - urt_basesubscriber_t - -
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  - - urt_srtsubscriber_t - -
-  **usefulnesscb** ← ""NULL""
-  **cbparams** ← ""NULL""
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberInit.uml b/doc/activitydiagrams/subscriber/urtSrtSubscriberInit.uml
deleted file mode 100644
index d195378..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberInit.uml
+++ /dev/null
@@ -1,66 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberInit()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_srtsubscriber_t* --
-  The SRT subscriber to initialize.
-  Must not be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Always returns ""URT_STATUS_OK"".
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-:initialize members;
-note
-  -- urt_basesubscriber_t --
-  **topic** ← ""NULL""
-  urtEventListenerInit(**evtListener**)
-  **lastMessage** ← ""NULL""
-  **lastMessageTime** ← 0
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **sumLatencies** ← 0
-  **numMessagesReceived** ← 0
-  -- urt_srtsubscriber_t --
-  **usefulnesscb** ← ""NULL""
-  **cbparams** ← ""NULL""
-  .. URT_CFG_PUBSUB_PROFILING == true ..
-  **minLatency** ← 0xF..F
-  **maxLatency** ← 0
-endnote
-stop
-note
-  Returns ""URT_STATUS_OK"".
-endnote
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberSubscribe.svg b/doc/activitydiagrams/subscriber/urtSrtSubscriberSubscribe.svg
deleted file mode 100644
index 690fc96..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberSubscribe.svg
+++ /dev/null
@@ -1,89 +0,0 @@
-<?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="1035px" preserveAspectRatio="none" style="width:2404px;height:1035px;" version="1.1" viewBox="0 0 2404 1035" width="2404px" zoomAndPan="magnify"><defs><filter height="300%" id="fsb36lq446sek" 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="1156.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="244" x="1079" y="47.6611">urtSrtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1204" y="68.6143"/><path d="M525.25,72.8594 L525.25,395.5156 L1039.25,395.5156 L1039.25,82.8594 L1029.25,72.8594 L525.25,72.8594 " fill="#FBFB77" filter="url(#fsb36lq446sek)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1029.25,72.8594 L1029.25,82.8594 L1039.25,82.8594 L1029.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="669.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="673.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="673.75" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="755.75" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="894.75" x2="1039.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="326" x="531.25" y="105.0591">The SRT subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="531.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="611.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="643.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="716.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="720.25" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="720.25" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="761.25" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="848.25" x2="1039.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="531.25" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="531.25" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="611.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="643.25" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="683.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="687.25" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="687.25" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="766.25" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="881.25" x2="1039.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="531.25" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="567.25" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="531.25" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="531.25" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="531.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="581.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="617.25" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="645.75" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="649.75" y="255.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="97" x="649.75" y="255.8872">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="750.75" y="255.8872">: urt_srtusefulnessfunc_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="918.75" x2="1039.25" y1="251.8867" y2="251.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="374" x="531.25" y="271.52">Pointer to a function to calculate usefulness of a message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="531.25" y="286.6528">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="611.25" y="286.6528">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="643.25" y="286.6528">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="718.75" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="722.75" y="301.2856"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="74" x="722.75" y="301.2856">cbparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="800.75" y="301.2856">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="845.75" x2="1039.25" y1="297.2852" y2="297.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="309" x="531.25" y="316.9185">Optional parameters for the usefulness callback.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="531.25" y="332.0513">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="581.25" y="332.0513">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="617.25" y="332.0513">if the callback expects no parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="1039.25" y1="340.1172" y2="340.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="1039.25" y1="342.1172" y2="342.1172"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="525.25" x2="711.25" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="715.25" y="356.6841"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="715.25" y="356.6841">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="764.25" y="356.6841">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="853.25" x2="1039.25" y1="352.6836" y2="352.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="531.25" y="372.3169">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="584.25" y="372.3169">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="692.25" y="372.3169">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="531.25" y="387.4497">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="584.25" y="387.4497">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="308" x="716.25" y="387.4497">if the subscriber is already associated to a topic.</text><ellipse cx="782.25" cy="425.5156" fill="#000000" filter="url(#fsb36lq446sek)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fsb36lq446sek)" points="724.75,455.5156,839.75,455.5156,851.75,467.5156,839.75,479.5156,724.75,479.5156,712.75,467.5156,724.75,455.5156" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="724.75" y="471.3237">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="692.75" y="464.9214">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="851.75" y="464.9214">no</text><path d="M10,489.5156 L10,514.6484 A0,0 0 0 0 10,514.6484 L216,514.6484 A0,0 0 0 0 216,514.6484 L216,507.5156 L236,502.082 L216,499.5156 L216,499.5156 L206,489.5156 L10,489.5156 A0,0 0 0 0 10,489.5156 " fill="#FBFB77" filter="url(#fsb36lq446sek)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M206,489.5156 L206,499.5156 L216,499.5156 L206,489.5156 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="506.5825">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="69" y="506.5825">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="197" y="506.5825">.</text><ellipse cx="247" cy="502.082" fill="#FFFFFF" filter="url(#fsb36lq446sek)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="247" cy="502.082" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="491" x="1094" y="489.5156"/><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1108" y="515.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1118" y="536.6543">set topic</text><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="167" x="1211" y="515.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="1221" y="536.6543">set usefulness callback</text><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="1406" y="515.5156"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="145" x="1416" y="536.6543">set callback parameter</text><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="491" x="1094" y="569.4844"/><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1299.5" y="595.4844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1309.5" y="616.623">lock topic</text><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2125" x="268" y="649.4531"/><rect fill="#FFFFFF" filter="url(#fsb36lq446sek)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1168" x="280" y="721.9653"/><path d="M437,722.9653 L437,731.2622 L427,741.2622 L280,741.2622 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="283" y="735.9604">contribute messages</text><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="290" y="758.2622"/><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="304" y="784.2622"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="314" y="805.4009">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="806" y="784.2622"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="816" y="805.4009">set next pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="290" y="838.231"/><polygon fill="#FEFECE" filter="url(#fsb36lq446sek)" points="794,675.4531,934,675.4531,946,687.4531,934,699.4531,794,699.4531,782,687.4531,794,675.4531" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="868" y="709.6636">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="794" y="691.2612">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="946" y="684.8589">no</text><polygon fill="#FEFECE" filter="url(#fsb36lq446sek)" points="864,876.231,876,888.231,864,900.231,852,888.231,864,876.231" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="656" x="1498" y="750.1138"/><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1512" y="776.1138"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1522" y="797.2524">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="297" x="1845" y="776.1138"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="277" x="1855" y="797.2524">copy timestamp from topic's latest message</text><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="656" x="1498" y="830.0825"/><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="2164" y="776.1138"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="2174" y="797.2524">register to topic's event source</text><rect fill="#000000" filter="url(#fsb36lq446sek)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2125" x="268" y="920.231"/><rect fill="#FEFECE" filter="url(#fsb36lq446sek)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1291.5" y="946.231"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1301.5" y="967.3696">unlock topic</text><path d="M1126.5,998.6333 L1126.5,1023.7661 A0,0 0 0 0 1126.5,1023.7661 L1308.5,1023.7661 A0,0 0 0 0 1308.5,1023.7661 L1308.5,1016.6333 L1328.5,1011.1997 L1308.5,1008.6333 L1308.5,1008.6333 L1298.5,998.6333 L1126.5,998.6333 A0,0 0 0 0 1126.5,998.6333 " fill="#FBFB77" filter="url(#fsb36lq446sek)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1298.5,998.6333 L1298.5,1008.6333 L1308.5,1008.6333 L1298.5,998.6333 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1132.5" y="1015.7002">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1185.5" y="1015.7002">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1289.5" y="1015.7002">.</text><ellipse cx="1339.5" cy="1011.1997" fill="#FFFFFF" filter="url(#fsb36lq446sek)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1339.5" cy="1011.1997" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="782.25" x2="782.25" y1="395.5156" y2="415.5156"/><polygon fill="#A80036" points="778.25,405.5156,782.25,415.5156,786.25,405.5156,782.25,409.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1145.5" x2="1145.5" y1="495.5156" y2="515.5156"/><polygon fill="#A80036" points="1141.5,505.5156,1145.5,515.5156,1149.5,505.5156,1145.5,509.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1294.5" x2="1294.5" y1="495.5156" y2="515.5156"/><polygon fill="#A80036" points="1290.5,505.5156,1294.5,515.5156,1298.5,505.5156,1294.5,509.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1488.5" x2="1488.5" y1="495.5156" y2="515.5156"/><polygon fill="#A80036" points="1484.5,505.5156,1488.5,515.5156,1492.5,505.5156,1488.5,509.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1145.5" x2="1145.5" y1="549.4844" y2="569.4844"/><polygon fill="#A80036" points="1141.5,559.4844,1145.5,569.4844,1149.5,559.4844,1145.5,563.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1294.5" x2="1294.5" y1="549.4844" y2="569.4844"/><polygon fill="#A80036" points="1290.5,559.4844,1294.5,569.4844,1298.5,559.4844,1294.5,563.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1488.5" x2="1488.5" y1="549.4844" y2="569.4844"/><polygon fill="#A80036" points="1484.5,559.4844,1488.5,569.4844,1492.5,559.4844,1488.5,563.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="575.4844" y2="595.4844"/><polygon fill="#A80036" points="1335.5,585.4844,1339.5,595.4844,1343.5,585.4844,1339.5,589.4844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="764.2622" y2="784.2622"/><polygon fill="#A80036" points="537,774.2622,541,784.2622,545,774.2622,541,778.2622" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="764.2622" y2="784.2622"/><polygon fill="#A80036" points="1111,774.2622,1115,784.2622,1119,774.2622,1115,778.2622" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541" x2="541" y1="818.231" y2="838.231"/><polygon fill="#A80036" points="537,828.231,541,838.231,545,828.231,541,832.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1115" x2="1115" y1="818.231" y2="838.231"/><polygon fill="#A80036" points="1111,828.231,1115,838.231,1119,828.231,1115,832.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="699.4531" y2="758.2622"/><polygon fill="#A80036" points="860,748.2622,864,758.2622,868,748.2622,864,752.2622" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="946" x2="1458" y1="687.4531" y2="687.4531"/><polygon fill="#A80036" points="1454,783.0981,1458,793.0981,1462,783.0981,1458,787.0981" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1458" x2="1458" y1="687.4531" y2="888.231"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1458" x2="876" y1="888.231" y2="888.231"/><polygon fill="#A80036" points="886,884.231,876,888.231,886,892.231,882,888.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="844.231" y2="876.231"/><polygon fill="#A80036" points="860,866.231,864,876.231,868,866.231,864,870.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1668.5" x2="1668.5" y1="756.1138" y2="776.1138"/><polygon fill="#A80036" points="1664.5,766.1138,1668.5,776.1138,1672.5,766.1138,1668.5,770.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1993.5" x2="1993.5" y1="756.1138" y2="776.1138"/><polygon fill="#A80036" points="1989.5,766.1138,1993.5,776.1138,1997.5,766.1138,1993.5,770.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1668.5" x2="1668.5" y1="810.0825" y2="830.0825"/><polygon fill="#A80036" points="1664.5,820.0825,1668.5,830.0825,1672.5,820.0825,1668.5,824.0825" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1993.5" x2="1993.5" y1="810.0825" y2="830.0825"/><polygon fill="#A80036" points="1989.5,820.0825,1993.5,830.0825,1997.5,820.0825,1993.5,824.0825" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="655.4531" y2="675.4531"/><polygon fill="#A80036" points="860,665.4531,864,675.4531,868,665.4531,864,669.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1831" x2="1831" y1="655.4531" y2="750.1138"/><polygon fill="#A80036" points="1827,740.1138,1831,750.1138,1835,740.1138,1831,744.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2272.5" x2="2272.5" y1="655.4531" y2="776.1138"/><polygon fill="#A80036" points="2268.5,766.1138,2272.5,776.1138,2276.5,766.1138,2272.5,770.1138" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="864" x2="864" y1="900.231" y2="920.231"/><polygon fill="#A80036" points="860,910.231,864,920.231,868,910.231,864,914.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1831" x2="1831" y1="836.0825" y2="920.231"/><polygon fill="#A80036" points="1827,910.231,1831,920.231,1835,910.231,1831,914.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2272.5" x2="2272.5" y1="810.0825" y2="920.231"/><polygon fill="#A80036" points="2268.5,910.231,2272.5,920.231,2276.5,910.231,2272.5,914.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="629.4531" y2="649.4531"/><polygon fill="#A80036" points="1335.5,639.4531,1339.5,649.4531,1343.5,639.4531,1339.5,643.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="926.231" y2="946.231"/><polygon fill="#A80036" points="1335.5,936.231,1339.5,946.231,1343.5,936.231,1339.5,940.231" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="980.1997" y2="1000.1997"/><polygon fill="#A80036" points="1335.5,990.1997,1339.5,1000.1997,1343.5,990.1997,1339.5,994.1997" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="712.75" x2="247" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247" x2="247" y1="467.5156" y2="491.082"/><polygon fill="#A80036" points="243,481.082,247,491.082,251,481.082,247,485.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="851.75" x2="1339.5" y1="467.5156" y2="467.5156"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1339.5" x2="1339.5" y1="467.5156" y2="489.5156"/><polygon fill="#A80036" points="1335.5,479.5156,1339.5,489.5156,1343.5,479.5156,1339.5,483.5156" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="782.25" x2="782.25" y1="435.5156" y2="455.5156"/><polygon fill="#A80036" points="778.25,445.5156,782.25,455.5156,786.25,445.5156,782.25,449.5156" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[466fd5f7bba227dcaa054fe307dc96f6]
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberSubscribe()\n
-
-
-
-
-
-note
-  - - **subscriber** : urt_srtsubscriber_t* - -
-  The SRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  - - **topic** : urt_topic_t* - -
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  - - **messages** : urt_message_t* - -
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  - - **usefulnesscb** : urt_srtusefulnessfunc_t* - -
-  Pointer to a function to calculate usefulness of a message.
-  Must not be ""NULL"".
-  - - **cbparams** : void* - -
-  Optional parameters for the usefulness callback.
-  May be ""NULL"" if the callback expects no parameters.
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  fork
-    :set topic;
-  fork again
-    :set usefulness callback;
-  fork again
-    :set callback parameter;
-  endfork
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-        partition "contribute messages" {
-    fork
-      :set next pointer of topic's latest message to first message to contribute;
-    fork again
-      :set next pointer of last message to contribute to the message after the topic's latest message;
-    endfork
-  }
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberSubscribe.uml b/doc/activitydiagrams/subscriber/urtSrtSubscriberSubscribe.uml
deleted file mode 100644
index 9738d13..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberSubscribe.uml
+++ /dev/null
@@ -1,96 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberSubscribe()\n
-
-!include ../functions.iuml
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_srtsubscriber_t* --
-  The SRT subscriber which shall subscribe to a topic.
-  Must not be ""NULL"".
-  -- **topic** : urt_topic_t* --
-  The topic to subscribe to.
-  Must not be ""NULL"".
-  -- **messages** : urt_message_t* --
-  ""NULL"" terminated list of messages to contribute to the topic.
-  Messages must not be associated to another topic.
-  Once a message has been contributed, it cannot be removed later.
-  May be ""NULL"" (no messages to contribute).
-  -- **usefulnesscb** : urt_srtusefulnessfunc_t* --
-  Pointer to a function to calculate usefulness of a message.
-  Must not be ""NULL"".
-  -- **cbparams** : void* --
-  Optional parameters for the usefulness callback.
-  May be ""NULL"" if the callback expects no parameters.
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Is topic already set?) then (yes)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-else (no)
-  fork
-    :set topic;
-  fork again
-    :set usefulness callback;
-  fork again
-    :set callback parameter;
-  endfork
-  :lock topic;
-  fork
-    if (Messages to contribute?) then (yes)
-      $contribute_messages()
-    else (no)
-    endif
-  fork again
-    fork
-      :set message pointer to topic's latest message;
-    fork again
-      :copy timestamp from topic's latest message;
-    endfork
-  fork again
-    :register to topic's event source;
-  endfork
-  :unlock topic;
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberUnsubscribe.svg b/doc/activitydiagrams/subscriber/urtSrtSubscriberUnsubscribe.svg
deleted file mode 100644
index fca63b0..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberUnsubscribe.svg
+++ /dev/null
@@ -1,60 +0,0 @@
-<?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="583px" preserveAspectRatio="none" style="width:781px;height:583px;" version="1.1" viewBox="0 0 781 583" width="781px" zoomAndPan="magnify"><defs><filter height="300%" id="f14poi4zpuvyki" 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="345" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="266" x="256.5" y="47.6611">urtSrtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="392.5" y="68.6143"/><path d="M281,72.8594 L281,183.6563 L769,183.6563 L769,82.8594 L759,72.8594 L281,72.8594 " fill="#FBFB77" filter="url(#f14poi4zpuvyki)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M759,72.8594 L759,82.8594 L769,82.8594 L759,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="412.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="416.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="416.5" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="498.5" y="89.4263">: urt_srtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="637.5" x2="769" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="251" x="287" y="105.0591">The SRT subscriber to be unsubscribed.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="287" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="367" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="399" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="769" y1="128.2578" y2="128.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="769" y1="130.2578" y2="130.2578"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="281" x2="454" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="458" y="144.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="458" y="144.8247">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="507" y="144.8247">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="596" x2="769" y1="140.8242" y2="140.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="287" y="160.4575">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="340" y="160.4575">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="68" x="448" y="160.4575">on sucess.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="287" y="175.5903">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="340" y="175.5903">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="472" y="175.5903">if the subscriber is not associated to a topic.</text><ellipse cx="525" cy="213.6563" fill="#000000" filter="url(#f14poi4zpuvyki)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14poi4zpuvyki)" points="462.5,243.6563,587.5,243.6563,599.5,255.6563,587.5,267.6563,462.5,267.6563,450.5,255.6563,462.5,243.6563" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="462.5" y="259.4644">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="430.5" y="253.062">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="599.5" y="253.062">no</text><rect fill="#FEFECE" filter="url(#f14poi4zpuvyki)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="303.5" y="277.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="313.5" y="298.7949">unregister event</text><path d="M10,321.625 L10,528.3516 A0,0 0 0 0 10,528.3516 L288,528.3516 A0,0 0 0 0 288,528.3516 L288,428.9883 L308,424.9883 L288,420.9883 L288,331.625 L278,321.625 L10,321.625 A0,0 0 0 0 10,321.625 " fill="#FBFB77" filter="url(#f14poi4zpuvyki)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M278,321.625 L278,331.625 L288,331.625 L278,321.625 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="78" y1="334.1914" y2="334.1914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="82" y="338.1919">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="220" x2="288" y1="334.1914" y2="334.1914"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="16" y="353.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="57" y="353.8247">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="72" y="353.8247">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="368.9575">lastMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="113" y="368.9575">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="128" y="368.9575">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="384.0903">lastMessageTime</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="148" y="384.0903">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="394.7227" y2="394.7227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="398.7231">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="394.7227" y2="394.7227"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="101" x="16" y="414.356">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="121" y="414.356">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="173" x="16" y="429.4888">numMessagesReceived</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="193" y="429.4888">← 0</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="85" y1="440.1211" y2="440.1211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="89" y="444.1216">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="213" x2="288" y1="440.1211" y2="440.1211"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="97" x="16" y="459.7544">usefulnesscb</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="117" y="459.7544">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="132" y="459.7544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="74" x="16" y="474.8872">cbparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="94" y="474.8872">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="109" y="474.8872">NULL</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="485.5195" y2="485.5195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="24.5" y="489.52">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="277.5" x2="288" y1="485.5195" y2="485.5195"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="84" x="16" y="505.1528">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="104" y="505.1528">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="520.2856">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="108" y="520.2856">← 0</text><rect fill="#FEFECE" filter="url(#f14poi4zpuvyki)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="308" y="408.0039"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="318" y="429.1426">reset members</text><path d="M152.5,546.7852 L152.5,571.918 A0,0 0 0 0 152.5,571.918 L334.5,571.918 A0,0 0 0 0 334.5,571.918 L334.5,564.7852 L354.5,559.3516 L334.5,556.7852 L334.5,556.7852 L324.5,546.7852 L152.5,546.7852 A0,0 0 0 0 152.5,546.7852 " fill="#FBFB77" filter="url(#f14poi4zpuvyki)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M324.5,546.7852 L324.5,556.7852 L334.5,556.7852 L324.5,546.7852 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="158.5" y="563.8521">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="211.5" y="563.8521">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="315.5" y="563.8521">.</text><ellipse cx="365.5" cy="559.3516" fill="#FFFFFF" filter="url(#f14poi4zpuvyki)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="365.5" cy="559.3516" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M447.5,277.6563 L447.5,302.7891 A0,0 0 0 0 447.5,302.7891 L653.5,302.7891 A0,0 0 0 0 653.5,302.7891 L653.5,295.6563 L673.5,290.2227 L653.5,287.6563 L653.5,287.6563 L643.5,277.6563 L447.5,277.6563 A0,0 0 0 0 447.5,277.6563 " fill="#FBFB77" filter="url(#f14poi4zpuvyki)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M643.5,277.6563 L643.5,287.6563 L653.5,287.6563 L643.5,277.6563 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="453.5" y="294.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="506.5" y="294.7231">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="634.5" y="294.7231">.</text><ellipse cx="684.5" cy="290.2227" fill="#FFFFFF" filter="url(#f14poi4zpuvyki)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="684.5" cy="290.2227" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="525" x2="525" y1="183.6563" y2="203.6563"/><polygon fill="#A80036" points="521,193.6563,525,203.6563,529,193.6563,525,197.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="365.5" y1="311.625" y2="408.0039"/><polygon fill="#A80036" points="361.5,398.0039,365.5,408.0039,369.5,398.0039,365.5,402.0039" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="365.5" y1="441.9727" y2="548.3516"/><polygon fill="#A80036" points="361.5,538.3516,365.5,548.3516,369.5,538.3516,365.5,542.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="450.5" x2="365.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="365.5" y1="255.6563" y2="277.6563"/><polygon fill="#A80036" points="361.5,267.6563,365.5,277.6563,369.5,267.6563,365.5,271.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="599.5" x2="684.5" y1="255.6563" y2="255.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="684.5" x2="684.5" y1="255.6563" y2="279.2227"/><polygon fill="#A80036" points="680.5,269.2227,684.5,279.2227,688.5,269.2227,684.5,273.2227" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="525" x2="525" y1="223.6563" y2="243.6563"/><polygon fill="#A80036" points="521,233.6563,525,243.6563,529,233.6563,525,237.6563" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[81fdee88b368d86a548b42373ff2df74]
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberUnsubscribe()\n
-
-
-note
-  - - **subscriber** : urt_srtsubscriber_t* - -
-  The SRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  - - **return** : urt_status_t - -
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-
-start
-if (Associated to a topic?) then (yes)
-  :unregister event;
-  :reset members;
-  note
-    - - urt_basesubscriber_t - -
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    - - urt_srtsubscriber_t - -
-    **usefulnesscb** ← ""NULL""
-    **cbparams** ← ""NULL""
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-
-@enduml
-
-PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
-Operating System: Linux
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/activitydiagrams/subscriber/urtSrtSubscriberUnsubscribe.uml b/doc/activitydiagrams/subscriber/urtSrtSubscriberUnsubscribe.uml
deleted file mode 100644
index 3f29860..0000000
--- a/doc/activitydiagrams/subscriber/urtSrtSubscriberUnsubscribe.uml
+++ /dev/null
@@ -1,74 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/'### INTRO ##################################################################'/
-
-@startuml
-
-title **µRtWare**\nurtSrtSubscriberUnsubscribe()\n
-
-/'### PARAMETERS & RETURN ####################################################'/
-
-note
-  -- **subscriber** : urt_srtsubscriber_t* --
-  The SRT subscriber to be unsubscribed.
-  Must not be ""NULL"".
-  ====
-  -- **return** : urt_status_t --
-  Returns ""URT_STATUS_OK"" on sucess.
-  Returns ""URT_STATUS_ERROR"" if the subscriber is not associated to a topic.
-endnote
-
-/'### PROCEDURE ##############################################################'/
-
-start
-if (Associated to a topic?) then (yes)
-  :unregister event;
-  :reset members;
-  note
-    -- urt_basesubscriber_t --
-    **topic** ← ""NULL""
-    **lastMessage** ← ""NULL""
-    **lastMessageTime** ← 0
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **sumLatencies** ← 0
-    **numMessagesReceived** ← 0
-    -- urt_srtsubscriber_t --
-    **usefulnesscb** ← ""NULL""
-    **cbparams** ← ""NULL""
-    .. URT_CFG_PUBSUB_PROFILING == true ..
-    **minLatency** ← 0xF..F
-    **maxLatency** ← 0
-  endnote
-  stop
-  note
-    Returns ""URT_STATUS_OK"".
-  endnote
-else (no)
-  stop
-  note
-    Returns ""URT_STATUS_ERROR"".
-  endnote
-endif
-
-/'### OUTRO ##################################################################'/
-
-@enduml
diff --git a/doc/activitydiagrams/topic/urtTopicInit.svg b/doc/activitydiagrams/topic/urtTopicInit.svg
index 54e20c1..aa055e6 100644
--- a/doc/activitydiagrams/topic/urtTopicInit.svg
+++ b/doc/activitydiagrams/topic/urtTopicInit.svg
@@ -1,4 +1,4 @@
-<?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="1031px" preserveAspectRatio="none" style="width:999px;height:1031px;" version="1.1" viewBox="0 0 999 1031" width="999px" zoomAndPan="magnify"><defs><filter height="300%" id="fxpvnq5f0ubws" 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="454.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="117" x="440.25" y="47.6611">urtTopicInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="501.75" y="68.6143"/><path d="M223.75,72.8594 L223.75,213.9219 L774.75,213.9219 L774.75,82.8594 L764.75,72.8594 L223.75,72.8594 " fill="#FBFB77" filter="url(#fxpvnq5f0ubws)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M764.75,72.8594 L764.75,82.8594 L774.75,82.8594 L764.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="433.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="437.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="437.25" y="89.4263">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="478.25" y="89.4263">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="565.25" x2="774.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="229.75" y="105.0591">The topic to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="229.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="309.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="341.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="442.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="446.75" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="446.75" y="134.8247">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="87" x="464.75" y="134.8247">: urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="555.75" x2="774.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="229.75" y="150.4575">Unique, numeric identifier of the topic.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="774.75" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="774.75" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="428.25" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="432.25" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="432.25" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="481.25" y="175.0903">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="570.25" x2="774.75" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="229.75" y="190.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="282.75" y="190.7231">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="390.75" y="190.7231">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="229.75" y="205.856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="282.75" y="205.856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="345" x="414.75" y="205.856">if another topic with the same identifier already exists.</text><ellipse cx="499.25" cy="243.9219" fill="#000000" filter="url(#fxpvnq5f0ubws)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M80.75,263.9219 L80.75,485.7813 A0,0 0 0 0 80.75,485.7813 L413.75,485.7813 A0,0 0 0 0 413.75,485.7813 L413.75,378.8516 L433.75,374.8516 L413.75,370.8516 L413.75,273.9219 L403.75,263.9219 L80.75,263.9219 A0,0 0 0 0 80.75,263.9219 " fill="#FBFB77" filter="url(#fxpvnq5f0ubws)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M403.75,263.9219 L403.75,273.9219 L413.75,273.9219 L403.75,263.9219 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="86.75" y="280.9888">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="122.75" y="280.9888">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="137.75" y="280.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="86.75" y="296.1216">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="104.75" y="296.1216">← id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="86.75" y="311.2544">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="167.75" y="311.2544">lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="197.75" y="311.2544">)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="86.75" y="326.3872">urtEventSourceInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="73" x="209.75" y="326.3872">evtSource</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="282.75" y="326.3872">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="134" x="86.75" y="341.52">numHrtSubscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="224.75" y="341.52">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="108" x="86.75" y="356.6528">hrtSubscribers</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="198.75" y="356.6528">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="213.75" y="356.6528">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="95" x="86.75" y="371.7856">urtCondvarInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="181.75" y="371.7856">hrtReleased</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="270.75" y="371.7856">)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="86.75" y="386.9185">urtMessageInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="146" x="185.75" y="386.9185">mandatoryMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="331.75" y="386.9185">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="108" x="86.75" y="402.0513">latestMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="153" x="198.75" y="402.0513">← &amp;mandatoryMessage</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="80.75" x2="91.25" y1="412.6836" y2="412.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="304" x="95.25" y="416.6841">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="403.25" x2="413.75" y1="412.6836" y2="412.6836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="86.75" y="432.3169">urtTimerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="102" x="164.75" y="432.3169">qosRateTimer</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="266.75" y="432.3169">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="80.75" x2="118.75" y1="442.9492" y2="442.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="122.75" y="446.9497">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="375.75" x2="413.75" y1="442.9492" y2="442.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="181" x="86.75" y="462.5825">numDiscardedMessages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="271.75" y="462.5825">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="119" x="86.75" y="477.7153">numSubscribers</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="209.75" y="477.7153">← 0</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="433.75" y="357.8672"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="443.75" y="379.0059">initialize members</text><path d="M106.75,510.1992 L106.75,535.332 A0,0 0 0 0 106.75,535.332 L376.75,535.332 A0,0 0 0 0 376.75,535.332 L376.75,528.1992 L396.75,522.7656 L376.75,520.1992 L376.75,520.1992 L366.75,510.1992 L106.75,510.1992 A0,0 0 0 0 106.75,510.1992 " fill="#FBFB77" filter="url(#fxpvnq5f0ubws)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M366.75,510.1992 L366.75,520.1992 L376.75,520.1992 L366.75,510.1992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="112.75" y="527.2661">latestMessage</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="205.75" y="527.2661">-&gt;</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="140" x="221.75" y="527.2661">next ← latestMessage</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="205" x="396.75" y="505.7813"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="185" x="406.75" y="526.9199">close circular message buffer</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="460.75" y="559.75"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="470.75" y="580.8887">lock core</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="435.75" y="613.7188"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="107" x="445.75" y="634.8574">access first topic</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="421.75" y="725.0073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="431.75" y="746.146">proceed to next topic</text><polygon fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" points="438.25,667.6875,560.25,667.6875,572.25,680.4922,560.25,693.2969,438.25,693.2969,426.25,680.4922,438.25,667.6875" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="503.25" y="703.5073">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="438.25" y="677.8979">Topic is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="508.25" y="677.8979">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="438.25" y="690.7026">and topic ID is lower?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="412.25" y="677.8979">no</text><polygon fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" points="160,800.9761,286,800.9761,298,812.9761,286,824.9761,160,824.9761,148,812.9761,160,800.9761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="835.1865">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="160" y="816.7842">Current topic is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="252" y="816.7842">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="280" y="816.7842">?</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="110" y="856.6865"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="206" x="120" y="877.8252">append self to core's list of topic</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="925.6553"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="946.7939">unlock core</text><path d="M10,994.624 L10,1019.7568 A0,0 0 0 0 10,1019.7568 L192,1019.7568 A0,0 0 0 0 192,1019.7568 L192,1012.624 L212,1007.1904 L192,1004.624 L192,1004.624 L182,994.624 L10,994.624 A0,0 0 0 0 10,994.624 " fill="#FBFB77" filter="url(#fxpvnq5f0ubws)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,994.624 L182,1004.624 L192,1004.624 L182,994.624 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="1011.6909">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="1011.6909">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="1011.6909">.</text><ellipse cx="223" cy="1007.1904" fill="#FFFFFF" filter="url(#fxpvnq5f0ubws)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="1007.1904" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" points="491.5,800.9761,646.5,800.9761,658.5,812.9761,646.5,824.9761,491.5,824.9761,479.5,812.9761,491.5,800.9761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="573" y="835.1865">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="155" x="491.5" y="816.7842">Current topic ID is greater?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="658.5" y="810.3818">no</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="232" x="453" y="856.6865"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="212" x="463" y="877.8252">insert self in front of current topic</text><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="522.5" y="925.6553"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="532.5" y="946.7939">unlock core</text><path d="M356,994.624 L356,1019.7568 A0,0 0 0 0 356,1019.7568 L538,1019.7568 A0,0 0 0 0 538,1019.7568 L538,1012.624 L558,1007.1904 L538,1004.624 L538,1004.624 L528,994.624 L356,994.624 A0,0 0 0 0 356,994.624 " fill="#FBFB77" filter="url(#fxpvnq5f0ubws)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M528,994.624 L528,1004.624 L538,1004.624 L528,994.624 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="362" y="1011.6909">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="415" y="1011.6909">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="519" y="1011.6909">.</text><ellipse cx="569" cy="1007.1904" fill="#FFFFFF" filter="url(#fxpvnq5f0ubws)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="569" cy="1007.1904" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fxpvnq5f0ubws)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="895.5" y="887.7686"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="905.5" y="908.9072">unlock core</text><path d="M705,956.7373 L705,981.8701 A0,0 0 0 0 705,981.8701 L911,981.8701 A0,0 0 0 0 911,981.8701 L911,974.7373 L931,969.3037 L911,966.7373 L911,966.7373 L901,956.7373 L705,956.7373 A0,0 0 0 0 705,956.7373 " fill="#FBFB77" filter="url(#fxpvnq5f0ubws)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M901,956.7373 L901,966.7373 L911,966.7373 L901,956.7373 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="711" y="973.8042">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="764" y="973.8042">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="892" y="973.8042">.</text><ellipse cx="942" cy="969.3037" fill="#FFFFFF" filter="url(#fxpvnq5f0ubws)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="942" cy="969.3037" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="213.9219" y2="233.9219"/><polygon fill="#A80036" points="495.25,223.9219,499.25,233.9219,503.25,223.9219,499.25,227.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="253.9219" y2="357.8672"/><polygon fill="#A80036" points="495.25,347.8672,499.25,357.8672,503.25,347.8672,499.25,351.8672" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="391.8359" y2="505.7813"/><polygon fill="#A80036" points="495.25,495.7813,499.25,505.7813,503.25,495.7813,499.25,499.7813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="539.75" y2="559.75"/><polygon fill="#A80036" points="495.25,549.75,499.25,559.75,503.25,549.75,499.25,553.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="593.7188" y2="613.7188"/><polygon fill="#A80036" points="495.25,603.7188,499.25,613.7188,503.25,603.7188,499.25,607.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="693.2969" y2="725.0073"/><polygon fill="#A80036" points="495.25,715.0073,499.25,725.0073,503.25,715.0073,499.25,719.0073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="758.9761" y2="768.9761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="588.75" y1="768.9761" y2="768.9761"/><polygon fill="#A80036" points="584.75,733.187,588.75,723.187,592.75,733.187,588.75,729.187" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="588.75" x2="588.75" y1="680.4922" y2="768.9761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="588.75" x2="572.25" y1="680.4922" y2="680.4922"/><polygon fill="#A80036" points="582.25,676.4922,572.25,680.4922,582.25,684.4922,578.25,680.4922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426.25" x2="409.75" y1="680.4922" y2="680.4922"/><polygon fill="#A80036" points="405.75,719.187,409.75,729.187,413.75,719.187,409.75,723.187" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.75" x2="409.75" y1="680.4922" y2="780.9761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.75" x2="499.25" y1="780.9761" y2="780.9761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="780.9761" y2="785.9761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="499.25" y1="647.6875" y2="667.6875"/><polygon fill="#A80036" points="495.25,657.6875,499.25,667.6875,503.25,657.6875,499.25,661.6875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="890.6553" y2="925.6553"/><polygon fill="#A80036" points="219,915.6553,223,925.6553,227,915.6553,223,919.6553" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="959.624" y2="996.1904"/><polygon fill="#A80036" points="219,986.1904,223,996.1904,227,986.1904,223,990.1904" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="569" x2="569" y1="890.6553" y2="925.6553"/><polygon fill="#A80036" points="565,915.6553,569,925.6553,573,915.6553,569,919.6553" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="569" x2="569" y1="959.624" y2="996.1904"/><polygon fill="#A80036" points="565,986.1904,569,996.1904,573,986.1904,569,990.1904" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="942" x2="942" y1="921.7373" y2="958.3037"/><polygon fill="#A80036" points="938,948.3037,942,958.3037,946,948.3037,942,952.3037" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="824.9761" y2="856.6865"/><polygon fill="#A80036" points="219,846.6865,223,856.6865,227,846.6865,223,850.6865" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="569" x2="569" y1="824.9761" y2="856.6865"/><polygon fill="#A80036" points="565,846.6865,569,856.6865,573,846.6865,569,850.6865" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="479.5" y1="812.9761" y2="812.9761"/><polygon fill="#A80036" points="469.5,808.9761,479.5,812.9761,469.5,816.9761,473.5,812.9761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="499.25" x2="223" y1="785.9761" y2="785.9761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="785.9761" y2="800.9761"/><polygon fill="#A80036" points="219,790.9761,223,800.9761,227,790.9761,223,794.9761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="658.5" x2="942" y1="812.9761" y2="812.9761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="942" x2="942" y1="812.9761" y2="887.7686"/><polygon fill="#A80036" points="938,877.7686,942,887.7686,946,877.7686,942,881.7686" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[75588162bd2c775fc0dfe49fc5f43cd1]
+<?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="1046px" preserveAspectRatio="none" style="width:1079px;height:1046px;" version="1.1" viewBox="0 0 1079 1046" width="1079px" zoomAndPan="magnify"><defs><filter height="300%" id="f3yh9yl8gxttz" 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="494.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="117" x="480.25" y="47.6611">urtTopicInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="541.75" y="68.6143"/><path d="M223.75,72.8594 L223.75,213.9219 L854.75,213.9219 L854.75,82.8594 L844.75,72.8594 L223.75,72.8594 " fill="#FBFB77" filter="url(#f3yh9yl8gxttz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M844.75,72.8594 L844.75,82.8594 L854.75,82.8594 L844.75,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="473.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="477.25" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="477.25" y="89.4263">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="518.25" y="89.4263">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="605.25" x2="854.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="134" x="229.75" y="105.0591">The topic to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="229.75" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="309.75" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="341.75" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="482.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="486.75" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="486.75" y="134.8247">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="87" x="504.75" y="134.8247">: urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="595.75" x2="854.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="229.75" y="150.4575">Unique, numeric identifier of the topic.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="854.75" y1="158.5234" y2="158.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="854.75" y1="160.5234" y2="160.5234"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="223.75" x2="468.25" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="472.25" y="175.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="472.25" y="175.0903">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="521.25" y="175.0903">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="610.25" x2="854.75" y1="171.0898" y2="171.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="229.75" y="190.7231">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="282.75" y="190.7231">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="390.75" y="190.7231">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="229.75" y="205.856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="282.75" y="205.856">URT_STATUS_TOPIC_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="345" x="494.75" y="205.856">if another topic with the same identifier already exists.</text><ellipse cx="539.25" cy="243.9219" fill="#000000" filter="url(#f3yh9yl8gxttz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M120.75,263.9219 L120.75,500.9141 A0,0 0 0 0 120.75,500.9141 L453.75,500.9141 A0,0 0 0 0 453.75,500.9141 L453.75,386.418 L473.75,382.418 L453.75,378.418 L453.75,273.9219 L443.75,263.9219 L120.75,263.9219 A0,0 0 0 0 120.75,263.9219 " fill="#FBFB77" filter="url(#f3yh9yl8gxttz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M443.75,263.9219 L443.75,273.9219 L453.75,273.9219 L443.75,263.9219 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="132.25" cy="276.5547" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="137.75" y="280.9888">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="173.75" y="280.9888">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="188.75" y="280.9888">NULL</text><ellipse cx="132.25" cy="291.6875" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="137.75" y="296.1216">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="155.75" y="296.1216">← id</text><ellipse cx="132.25" cy="306.8203" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="137.75" y="311.2544">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="218.75" y="311.2544">lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="248.75" y="311.2544">)</text><ellipse cx="132.25" cy="321.9531" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="123" x="137.75" y="326.3872">urtEventSourceInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="73" x="260.75" y="326.3872">evtSource</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="333.75" y="326.3872">)</text><ellipse cx="132.25" cy="337.0859" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="134" x="137.75" y="341.52">numHrtSubscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="275.75" y="341.52">← 0</text><ellipse cx="132.25" cy="352.2188" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="95" x="137.75" y="356.6528">urtCondvarInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="232.75" y="356.6528">hrtReleased</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="321.75" y="356.6528">)</text><ellipse cx="132.25" cy="367.3516" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="99" x="137.75" y="371.7856">urtMessageInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="146" x="236.75" y="371.7856">mandatoryMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="382.75" y="371.7856">)</text><ellipse cx="132.25" cy="382.4844" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="108" x="137.75" y="386.9185">latestMessage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="153" x="249.75" y="386.9185">← &amp;mandatoryMessage</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="120.75" x2="131.25" y1="397.5508" y2="397.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="304" x="135.25" y="401.5513">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="443.25" x2="453.75" y1="397.5508" y2="397.5508"/><ellipse cx="132.25" cy="412.75" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="108" x="137.75" y="417.1841">hrtSubscribers</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="249.75" y="417.1841">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="264.75" y="417.1841">NULL</text><ellipse cx="132.25" cy="427.8828" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="78" x="137.75" y="432.3169">urtTimerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="102" x="215.75" y="432.3169">qosRateTimer</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="317.75" y="432.3169">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="120.75" x2="158.75" y1="442.9492" y2="442.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="162.75" y="446.9497">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="415.75" x2="453.75" y1="442.9492" y2="442.9492"/><ellipse cx="132.25" cy="458.1484" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="179" x="137.75" y="462.5825">numMessagesPublished</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="320.75" y="462.5825">← 0</text><ellipse cx="132.25" cy="473.2813" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="181" x="137.75" y="477.7153">numMessagesDiscarded</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="322.75" y="477.7153">← 0</text><ellipse cx="132.25" cy="488.4141" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="119" x="137.75" y="492.8481">numSubscribers</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="260.75" y="492.8481">← 0</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="473.75" y="365.4336"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="483.75" y="386.5723">initialize members</text><path d="M146.75,525.332 L146.75,550.4648 A0,0 0 0 0 146.75,550.4648 L416.75,550.4648 A0,0 0 0 0 416.75,550.4648 L416.75,543.332 L436.75,537.8984 L416.75,535.332 L416.75,535.332 L406.75,525.332 L146.75,525.332 A0,0 0 0 0 146.75,525.332 " fill="#FBFB77" filter="url(#f3yh9yl8gxttz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M406.75,525.332 L406.75,535.332 L416.75,535.332 L406.75,525.332 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="152.75" y="542.3989">latestMessage</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="245.75" y="542.3989">-&gt;</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="140" x="261.75" y="542.3989">next ← latestMessage</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="205" x="436.75" y="520.9141"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="185" x="446.75" y="542.0527">close circular message buffer</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="500.75" y="574.8828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="510.75" y="596.0215">lock core</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="475.75" y="628.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="107" x="485.75" y="649.9902">access first topic</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="461.75" y="740.1401"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="471.75" y="761.2788">proceed to next topic</text><polygon fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" points="478.25,682.8203,600.25,682.8203,612.25,695.625,600.25,708.4297,478.25,708.4297,466.25,695.625,478.25,682.8203" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="543.25" y="718.6401">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="66" x="478.25" y="693.0308">Topic is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="548.25" y="693.0308">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="478.25" y="705.8354">and topic ID is lower?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="452.25" y="693.0308">no</text><polygon fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" points="160,816.1089,286,816.1089,298,828.1089,286,840.1089,160,840.1089,148,828.1089,160,816.1089" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="850.3193">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="160" y="831.917">Current topic is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="252" y="831.917">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="280" y="831.917">?</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="110" y="871.8193"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="206" x="120" y="892.958">append self to core's list of topic</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="940.7881"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="961.9268">unlock core</text><path d="M10,1009.7568 L10,1034.8896 A0,0 0 0 0 10,1034.8896 L192,1034.8896 A0,0 0 0 0 192,1034.8896 L192,1027.7568 L212,1022.3232 L192,1019.7568 L192,1019.7568 L182,1009.7568 L10,1009.7568 A0,0 0 0 0 10,1009.7568 " fill="#FBFB77" filter="url(#f3yh9yl8gxttz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,1009.7568 L182,1019.7568 L192,1019.7568 L182,1009.7568 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="1026.8237">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="1026.8237">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="1026.8237">.</text><ellipse cx="223" cy="1022.3232" fill="#FFFFFF" filter="url(#f3yh9yl8gxttz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="1022.3232" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" points="491.5,816.1089,646.5,816.1089,658.5,828.1089,646.5,840.1089,491.5,840.1089,479.5,828.1089,491.5,816.1089" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="573" y="850.3193">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="155" x="491.5" y="831.917">Current topic ID is greater?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="658.5" y="825.5146">no</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="232" x="453" y="871.8193"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="212" x="463" y="892.958">insert self in front of current topic</text><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="522.5" y="940.7881"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="532.5" y="961.9268">unlock core</text><path d="M356,1009.7568 L356,1034.8896 A0,0 0 0 0 356,1034.8896 L538,1034.8896 A0,0 0 0 0 538,1034.8896 L538,1027.7568 L558,1022.3232 L538,1019.7568 L538,1019.7568 L528,1009.7568 L356,1009.7568 A0,0 0 0 0 356,1009.7568 " fill="#FBFB77" filter="url(#f3yh9yl8gxttz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M528,1009.7568 L528,1019.7568 L538,1019.7568 L528,1009.7568 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="362" y="1026.8237">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="415" y="1026.8237">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="519" y="1026.8237">.</text><ellipse cx="569" cy="1022.3232" fill="#FFFFFF" filter="url(#f3yh9yl8gxttz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="569" cy="1022.3232" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f3yh9yl8gxttz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="975.5" y="902.9014"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="985.5" y="924.04">unlock core</text><path d="M705,971.8701 L705,997.0029 A0,0 0 0 0 705,997.0029 L991,997.0029 A0,0 0 0 0 991,997.0029 L991,989.8701 L1011,984.4365 L991,981.8701 L991,981.8701 L981,971.8701 L705,971.8701 A0,0 0 0 0 705,971.8701 " fill="#FBFB77" filter="url(#f3yh9yl8gxttz)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M981,971.8701 L981,981.8701 L991,981.8701 L981,971.8701 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="711" y="988.937">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="764" y="988.937">URT_STATUS_TOPIC_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="972" y="988.937">.</text><ellipse cx="1022" cy="984.4365" fill="#FFFFFF" filter="url(#f3yh9yl8gxttz)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1022" cy="984.4365" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="213.9219" y2="233.9219"/><polygon fill="#A80036" points="535.25,223.9219,539.25,233.9219,543.25,223.9219,539.25,227.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="253.9219" y2="365.4336"/><polygon fill="#A80036" points="535.25,355.4336,539.25,365.4336,543.25,355.4336,539.25,359.4336" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="399.4023" y2="520.9141"/><polygon fill="#A80036" points="535.25,510.9141,539.25,520.9141,543.25,510.9141,539.25,514.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="554.8828" y2="574.8828"/><polygon fill="#A80036" points="535.25,564.8828,539.25,574.8828,543.25,564.8828,539.25,568.8828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="608.8516" y2="628.8516"/><polygon fill="#A80036" points="535.25,618.8516,539.25,628.8516,543.25,618.8516,539.25,622.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="708.4297" y2="740.1401"/><polygon fill="#A80036" points="535.25,730.1401,539.25,740.1401,543.25,730.1401,539.25,734.1401" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="774.1089" y2="784.1089"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="628.75" y1="784.1089" y2="784.1089"/><polygon fill="#A80036" points="624.75,748.3198,628.75,738.3198,632.75,748.3198,628.75,744.3198" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="628.75" x2="628.75" y1="695.625" y2="784.1089"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="628.75" x2="612.25" y1="695.625" y2="695.625"/><polygon fill="#A80036" points="622.25,691.625,612.25,695.625,622.25,699.625,618.25,695.625" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="466.25" x2="449.75" y1="695.625" y2="695.625"/><polygon fill="#A80036" points="445.75,734.3198,449.75,744.3198,453.75,734.3198,449.75,738.3198" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="449.75" x2="449.75" y1="695.625" y2="796.1089"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="449.75" x2="539.25" y1="796.1089" y2="796.1089"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="796.1089" y2="801.1089"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="539.25" y1="662.8203" y2="682.8203"/><polygon fill="#A80036" points="535.25,672.8203,539.25,682.8203,543.25,672.8203,539.25,676.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="905.7881" y2="940.7881"/><polygon fill="#A80036" points="219,930.7881,223,940.7881,227,930.7881,223,934.7881" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="974.7568" y2="1011.3232"/><polygon fill="#A80036" points="219,1001.3232,223,1011.3232,227,1001.3232,223,1005.3232" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="569" x2="569" y1="905.7881" y2="940.7881"/><polygon fill="#A80036" points="565,930.7881,569,940.7881,573,930.7881,569,934.7881" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="569" x2="569" y1="974.7568" y2="1011.3232"/><polygon fill="#A80036" points="565,1001.3232,569,1011.3232,573,1001.3232,569,1005.3232" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1022" x2="1022" y1="936.8701" y2="973.4365"/><polygon fill="#A80036" points="1018,963.4365,1022,973.4365,1026,963.4365,1022,967.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="840.1089" y2="871.8193"/><polygon fill="#A80036" points="219,861.8193,223,871.8193,227,861.8193,223,865.8193" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="569" x2="569" y1="840.1089" y2="871.8193"/><polygon fill="#A80036" points="565,861.8193,569,871.8193,573,861.8193,569,865.8193" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="298" x2="479.5" y1="828.1089" y2="828.1089"/><polygon fill="#A80036" points="469.5,824.1089,479.5,828.1089,469.5,832.1089,473.5,828.1089" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539.25" x2="223" y1="801.1089" y2="801.1089"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="801.1089" y2="816.1089"/><polygon fill="#A80036" points="219,806.1089,223,816.1089,227,806.1089,223,810.1089" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="658.5" x2="1022" y1="828.1089" y2="828.1089"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1022" x2="1022" y1="828.1089" y2="902.9014"/><polygon fill="#A80036" points="1018,892.9014,1022,902.9014,1026,892.9014,1022,896.9014" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[fe0afca51ebd473d286847938fa2571b]
 @startuml
 
 title **µRtWare**\nurtTopicInit()\n
@@ -13,27 +13,28 @@ note
   ====
   - - **return** : urt_status_t - -
   Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if another topic with the same identifier already exists.
+  Returns ""URT_STATUS_TOPIC_DUPLICATE"" if another topic with the same identifier already exists.
 endnote
 
 
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **id** ← id
-  urtMutexInit(**lock**)
-  urtEventSourceInit(**evtSource**)
-  **numHrtSubscriber** ← 0
-  **hrtSubscribers** ← ""NULL""
-  urtCondvarInit(**hrtReleased**)
-  urtMessageInit(**mandatoryMessage**)
-  **latestMessage** ← &mandatoryMessage
+  * **next** ← ""NULL""
+  * **id** ← id
+  * urtMutexInit(**lock**)
+  * urtEventSourceInit(**evtSource**)
+  * **numHrtSubscriber** ← 0
+  * urtCondvarInit(**hrtReleased**)
+  * urtMessageInit(**mandatoryMessage**)
+  * **latestMessage** ← &mandatoryMessage
   .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
-  urtTimerInit(**qosRateTimer**)
+  * **hrtSubscribers** ← ""NULL""
+  * urtTimerInit(**qosRateTimer**)
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  **numDiscardedMessages** ← 0
-  **numSubscribers** ← 0
+  * **numMessagesPublished** ← 0
+  * **numMessagesDiscarded** ← 0
+  * **numSubscribers** ← 0
 endnote
 :close circular message buffer;
 note
@@ -62,7 +63,7 @@ else (no)
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_ERROR"".
+    Returns ""URT_STATUS_TOPIC_DUPLICATE"".
   endnote
 endif
 
diff --git a/doc/activitydiagrams/topic/urtTopicInit.uml b/doc/activitydiagrams/topic/urtTopicInit.uml
index be8c5ae..5f60fde 100644
--- a/doc/activitydiagrams/topic/urtTopicInit.uml
+++ b/doc/activitydiagrams/topic/urtTopicInit.uml
@@ -36,7 +36,7 @@ note
   ====
   -- **return** : urt_status_t --
   Returns ""URT_STATUS_OK"" on success.
-  Returns ""URT_STATUS_ERROR"" if another topic with the same identifier already exists.
+  Returns ""URT_STATUS_TOPIC_DUPLICATE"" if another topic with the same identifier already exists.
 endnote
 
 /'### PROCEDURE ##############################################################'/
@@ -44,20 +44,21 @@ endnote
 start
 :initialize members;
 note
-  **next** ← ""NULL""
-  **id** ← id
-  urtMutexInit(**lock**)
-  urtEventSourceInit(**evtSource**)
-  **numHrtSubscriber** ← 0
-  **hrtSubscribers** ← ""NULL""
-  urtCondvarInit(**hrtReleased**)
-  urtMessageInit(**mandatoryMessage**)
-  **latestMessage** ← &mandatoryMessage
+  * **next** ← ""NULL""
+  * **id** ← id
+  * urtMutexInit(**lock**)
+  * urtEventSourceInit(**evtSource**)
+  * **numHrtSubscriber** ← 0
+  * urtCondvarInit(**hrtReleased**)
+  * urtMessageInit(**mandatoryMessage**)
+  * **latestMessage** ← &mandatoryMessage
   .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
-  urtTimerInit(**qosRateTimer**)
+  * **hrtSubscribers** ← ""NULL""
+  * urtTimerInit(**qosRateTimer**)
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  **numDiscardedMessages** ← 0
-  **numSubscribers** ← 0
+  * **numMessagesPublished** ← 0
+  * **numMessagesDiscarded** ← 0
+  * **numSubscribers** ← 0
 endnote
 :close circular message buffer;
 note
@@ -86,7 +87,7 @@ else (no)
   :unlock core;
   stop
   note
-    Returns ""URT_STATUS_ERROR"".
+    Returns ""URT_STATUS_TOPIC_DUPLICATE"".
   endnote
 endif
 
diff --git a/doc/classdiagrams/config.uml b/doc/classdiagrams/config.uml
index 2caf27f..87de3bb 100644
--- a/doc/classdiagrams/config.uml
+++ b/doc/classdiagrams/config.uml
@@ -25,7 +25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**\nConfiguration
 
-!include ../functions.iuml
+!include ./functions.iuml
 
 /'### ENTITIES ###############################################################'/
 
diff --git a/doc/classdiagrams/functions.iuml b/doc/classdiagrams/functions.iuml
new file mode 100644
index 0000000..a2d09f8
--- /dev/null
+++ b/doc/classdiagrams/functions.iuml
@@ -0,0 +1,60 @@
+/'
+µRtWare is a lightweight publish/subscribe middleware for real-time
+applications. It was developed as part of the software habitat for the
+Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
+
+Copyright (C) 2018..2020  Thomas Schöpping et al.
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+'/
+
+/' Generate a configuration object. '/
+!function $configuration($name)
+  class $name <<C,BFBFBF>>
+!endfunction
+
+/' Generate a enumeration definition. '/
+!function $enumeration($name)
+  class $name <<E,FF7F3F>>
+!endfunction
+
+/' Generate a type definition. '/
+!function $type($name)
+  class $name <<T,00CFFF>>
+!endfunction
+
+/' Generate a structure definition. '/
+!function $structure($name)
+  class $name <<S,BFAFFF>>
+!endfunction
+
+/' generate a union structure definition '/
+!function $union($name)
+  class $name <<U,7FCF7F>>
+!endfunction
+
+/' Generate a function declaration. '/
+!function $function($name)
+  class $name <<F,E0E0E0>>
+!endfunction
+
+/' Generate a group. '/
+!function $group($name)
+  package "$name" <<Rectangle>>
+!endfunction
+
+!function $module($name)
+  package "$name" <<Node>>
+!endfunction
+
diff --git a/doc/classdiagrams/osal.uml b/doc/classdiagrams/osal.uml
index e5d5765..f0746a8 100644
--- a/doc/classdiagrams/osal.uml
+++ b/doc/classdiagrams/osal.uml
@@ -25,7 +25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**\nOperating System Abstraction Layer (OSAL)
 
-!include ../functions.iuml
+!include ./functions.iuml
 
 /'### ENTITIES ###############################################################'/
 
diff --git a/doc/classdiagrams/overview.svg b/doc/classdiagrams/overview.svg
index bf91af2..3b46513 100644
--- a/doc/classdiagrams/overview.svg
+++ b/doc/classdiagrams/overview.svg
@@ -1,163 +1,163 @@
-<?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="1699px" preserveAspectRatio="none" style="width:15205px;height:1699px;" version="1.1" viewBox="0 0 15205 1699" width="15205px" zoomAndPan="magnify"><defs><filter height="300%" id="f15k70rgxcyvdd" 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="7544" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="87" x="7545" y="37.6611">Overview</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="7591.5" y="58.6143"/><!--MD5=[915f6a2b4bff9d90dc7327d570275f1b]
-cluster Configuration--><polygon fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" points="876.285,1427.8594,886.285,1417.8594,1182.285,1417.8594,1182.285,1677.8594,1172.285,1687.8594,876.285,1687.8594,876.285,1427.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1172.285" x2="1181.285" y1="1427.8594" y2="1418.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="876.285" x2="1172.285" y1="1427.8594" y2="1427.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1172.285" x2="1172.285" y1="1427.8594" y2="1687.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="107" x="971.785" y="1443.8545">Configuration</text><!--MD5=[1cb8ced355c85ab51f1ab55883ed8585]
-cluster Primitives--><polygon fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" points="645.285,1209.8594,655.285,1199.8594,2055.285,1199.8594,2055.285,1387.8594,2045.285,1397.8594,645.285,1397.8594,645.285,1209.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="2045.285" x2="2054.285" y1="1209.8594" y2="1200.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="645.285" x2="2045.285" y1="1209.8594" y2="1209.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="2045.285" x2="2045.285" y1="1209.8594" y2="1397.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="1307.785" y="1225.8545">Primitives</text><!--MD5=[ba9da179b6f0b3bb0ea21772c5f4ec75]
-cluster OSAL--><polygon fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" points="9645.285,746.8594,9655.285,736.8594,14923.285,736.8594,14923.285,1594.8594,14913.285,1604.8594,9645.285,1604.8594,9645.285,746.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14913.285" x2="14922.285" y1="746.8594" y2="737.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9645.285" x2="14913.285" y1="746.8594" y2="746.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14913.285" x2="14913.285" y1="746.8594" y2="1604.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="42" x="12259.285" y="762.8545">OSAL</text><!--MD5=[2e45f233f6bb64aa81ebe67fb6de8946]
-cluster condition variable--><rect fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" height="454.5" style="stroke: #000000; stroke-width: 1.5;" width="726" x="14189.285" y="907.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="14482.285" y="922.3545">condition variable</text><!--MD5=[c7113df1f710ca294cbd01734aa00974]
-cluster timer--><rect fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" height="448.5" style="stroke: #000000; stroke-width: 1.5;" width="798" x="13372.285" y="900.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="13750.785" y="915.8545">timer</text><!--MD5=[107bb3f79455a18bd83c75ada1ac7979]
-cluster thread--><rect fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" height="625" style="stroke: #000000; stroke-width: 1.5;" width="1039" x="12325.285" y="768.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="12818.785" y="783.8545">thread</text><!--MD5=[8d74b40516bd265adb19f202ab81f40d]
-cluster events--><rect fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" height="683" style="stroke: #000000; stroke-width: 1.5;" width="1642" x="10664.285" y="913.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="11458.285" y="928.8545">events</text><!--MD5=[4e1a3510868d06a507f098bb08f0dae0]
-cluster Middleware--><polygon fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" points="1898.285,88.8594,1908.285,78.8594,9582.285,78.8594,9582.285,1064.8594,9572.285,1074.8594,1898.285,1074.8594,1898.285,88.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9572.285" x2="9581.285" y1="88.8594" y2="79.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1898.285" x2="9572.285" y1="88.8594" y2="88.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9572.285" x2="9572.285" y1="88.8594" y2="1074.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="91" x="5690.785" y="104.8545">Middleware</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
-cluster node--><rect fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" height="570.5" style="stroke: #000000; stroke-width: 1.5;" width="1674" x="7256.285" y="451.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="8073.285" y="466.8545">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
-cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" points="1906.285,410.8594,1916.285,400.8594,7248.285,400.8594,7248.285,1056.8594,7238.285,1066.8594,1906.285,1066.8594,1906.285,410.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7238.285" x2="7247.285" y1="410.8594" y2="401.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1906.285" x2="7238.285" y1="410.8594" y2="410.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7238.285" x2="7238.285" y1="410.8594" y2="1066.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="4470.785" y="426.8545">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
-cluster subscriber--><rect fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" height="626" style="stroke: #000000; stroke-width: 1.5;" width="4101" x="3139.285" y="432.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="5147.285" y="447.8545">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
-cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#f15k70rgxcyvdd)" points="8938.285,461.3594,8948.285,451.3594,9574.285,451.3594,9574.285,1012.3594,9564.285,1022.3594,8938.285,1022.3594,8938.285,461.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9564.285" x2="9573.285" y1="461.3594" y2="452.3594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="8938.285" x2="9564.285" y1="461.3594" y2="461.3594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9564.285" x2="9564.285" y1="461.3594" y2="1022.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="9130.285" y="477.3545">Remote Procedure Call System</text><!--MD5=[e443ac33c80100c2d54e1f5fe669f6d7]
-class urt_config--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="230.4609" id="urt_config" style="stroke: #A80036; stroke-width: 1.5;" width="290" x="884.285" y="1449.8594"/><ellipse cx="994.035" cy="1465.8594" fill="#BFBFBF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M997.0038,1471.5 Q996.4256,1471.7969 995.785,1471.9375 Q995.1444,1472.0938 994.4413,1472.0938 Q991.9413,1472.0938 990.6131,1470.4531 Q989.3006,1468.7969 989.3006,1465.6719 Q989.3006,1462.5469 990.6131,1460.8906 Q991.9413,1459.2344 994.4413,1459.2344 Q995.1444,1459.2344 995.785,1459.3906 Q996.4413,1459.5469 997.0038,1459.8438 L997.0038,1462.5625 Q996.3788,1461.9844 995.785,1461.7188 Q995.1913,1461.4375 994.5663,1461.4375 Q993.2225,1461.4375 992.535,1462.5156 Q991.8475,1463.5781 991.8475,1465.6719 Q991.8475,1467.7656 992.535,1468.8438 Q993.2225,1469.9063 994.5663,1469.9063 Q995.1913,1469.9063 995.785,1469.6406 Q996.3788,1469.3594 997.0038,1468.7813 L997.0038,1471.5 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="1014.535" y="1470.0137">urt_config</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="885.285" x2="1173.285" y1="1481.8594" y2="1481.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="159" x="890.285" y="1496.0698">URT_CFG_DELAY_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="890.285" y="1508.8745">URT_CFG_TOPICID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="890.285" y="1521.6792">URT_CFG_SERVICEID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="890.285" y="1534.4839">URT_CFG_NODESTAGE_WIDTH : int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="885.285" x2="1173.285" y1="1541.0781" y2="1541.0781"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="890.285" y="1555.2886">URT_CFG_DEBUG_ENABLED : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="885.285" x2="1173.285" y1="1561.8828" y2="1561.8828"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="890.285" y="1576.0933">URT_CFG_PUBSUB_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="890.285" y="1588.8979">URT_CFG_PUBSUB_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="890.285" y="1601.7026">URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="252" x="890.285" y="1614.5073">URT_CFG_PUBSUB_QOS_RATECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="890.285" y="1627.312">URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="885.285" x2="1173.285" y1="1633.9063" y2="1633.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="890.285" y="1648.1167">URT_CFG_RPC_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="890.285" y="1660.9214">URT_CFG_RPC_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="890.285" y="1673.7261">URT_CFG_RPC_QOS_JITTERCHECKS : bool</text><!--MD5=[9f69b6f4e23017059189983d6906a1eb]
-class urt_nodestage_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="158.4375" id="urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="1160.285" y="1231.8594"/><ellipse cx="1212.535" cy="1247.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1213.3788,1254.6094 L1210.9256,1254.6094 L1210.9256,1244.3594 L1207.785,1244.3594 L1207.785,1242.2188 L1216.5194,1242.2188 L1216.5194,1244.3594 L1213.3788,1244.3594 L1213.3788,1254.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="1233.035" y="1252.0137">urt_nodestage_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1161.285" x2="1375.285" y1="1263.8594" y2="1263.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="1166.285" y="1294.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1161.285" x2="1167.785" y1="1278.2617" y2="1278.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="1167.785" y="1281.5698">URT_CFG_NODESTAGE_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1368.785" x2="1375.285" y1="1278.2617" y2="1278.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1166.285" y="1324.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1161.285" x2="1164.285" y1="1307.8711" y2="1307.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="1164.285" y="1311.1792">URT_CFG_NODESTAGE_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1372.285" x2="1375.285" y1="1307.8711" y2="1307.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1166.285" y="1354.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1161.285" x2="1164.285" y1="1337.4805" y2="1337.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="1164.285" y="1340.7886">URT_CFG_NODESTAGE_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1372.285" x2="1375.285" y1="1337.4805" y2="1337.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1166.285" y="1383.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1161.285" x2="1164.285" y1="1367.0898" y2="1367.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="1164.285" y="1370.3979">URT_CFG_NODESTAGE_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1372.285" x2="1375.285" y1="1367.0898" y2="1367.0898"/><!--MD5=[a55671f9c3a4eb2d749fd774fc81a82b]
-class urt_topicid_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="158.4375" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="933.785" y="1231.8594"/><ellipse cx="986.535" cy="1247.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M987.3788,1254.6094 L984.9256,1254.6094 L984.9256,1244.3594 L981.785,1244.3594 L981.785,1242.2188 L990.5194,1242.2188 L990.5194,1244.3594 L987.3788,1244.3594 L987.3788,1254.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="1007.035" y="1252.0137">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="934.785" x2="1123.785" y1="1263.8594" y2="1263.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="939.785" y="1294.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="934.785" x2="941.285" y1="1278.2617" y2="1278.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="941.285" y="1281.5698">URT_CFG_TOPICID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1117.285" x2="1123.785" y1="1278.2617" y2="1278.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="939.785" y="1324.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="934.785" x2="937.785" y1="1307.8711" y2="1307.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="937.785" y="1311.1792">URT_CFG_TOPICID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1120.785" x2="1123.785" y1="1307.8711" y2="1307.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="939.785" y="1354.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="934.785" x2="937.785" y1="1337.4805" y2="1337.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="937.785" y="1340.7886">URT_CFG_TOPICID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1120.785" x2="1123.785" y1="1337.4805" y2="1337.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="939.785" y="1383.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="934.785" x2="937.785" y1="1367.0898" y2="1367.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="937.785" y="1370.3979">URT_CFG_TOPICID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1120.785" x2="1123.785" y1="1367.0898" y2="1367.0898"/><!--MD5=[4d8326c7af3a397210cbde406c7c860c]
-class urt_serviceid_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="158.4375" id="urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.5;" width="204" x="1411.285" y="1231.8594"/><ellipse cx="1464.035" cy="1247.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1464.8788,1254.6094 L1462.4256,1254.6094 L1462.4256,1244.3594 L1459.285,1244.3594 L1459.285,1242.2188 L1468.0194,1242.2188 L1468.0194,1244.3594 L1464.8788,1244.3594 L1464.8788,1254.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="1484.535" y="1252.0137">urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1412.285" x2="1614.285" y1="1263.8594" y2="1263.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="1417.285" y="1294.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1412.285" x2="1418.785" y1="1278.2617" y2="1278.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="1418.785" y="1281.5698">URT_CFG_SERVICEID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1607.785" x2="1614.285" y1="1278.2617" y2="1278.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1417.285" y="1324.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1412.285" x2="1415.285" y1="1307.8711" y2="1307.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1415.285" y="1311.1792">URT_CFG_SERVICEID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1611.285" x2="1614.285" y1="1307.8711" y2="1307.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1417.285" y="1354.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1412.285" x2="1415.285" y1="1337.4805" y2="1337.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1415.285" y="1340.7886">URT_CFG_SERVICEID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1611.285" x2="1614.285" y1="1337.4805" y2="1337.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1417.285" y="1383.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1412.285" x2="1415.285" y1="1367.0898" y2="1367.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1415.285" y="1370.3979">URT_CFG_SERVICEID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1611.285" x2="1614.285" y1="1367.0898" y2="1367.0898"/><!--MD5=[e750dab3ce4ebe0433cc930181355272]
-class urt_status_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="73.6094" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="1650.285" y="1273.8594"/><ellipse cx="1698.535" cy="1289.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1699.3788,1296.6094 L1696.9256,1296.6094 L1696.9256,1286.3594 L1693.785,1286.3594 L1693.785,1284.2188 L1702.5194,1284.2188 L1702.5194,1286.3594 L1699.3788,1286.3594 L1699.3788,1296.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="1719.035" y="1294.0137">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1651.285" x2="1829.285" y1="1305.8594" y2="1305.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="1656.285" y="1320.0698">URT_STATUS_OK = 0x0..0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="168" x="1656.285" y="1332.8745">URT_STATUS_ERROR = 0x8..0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1651.285" x2="1829.285" y1="1339.4688" y2="1339.4688"/><!--MD5=[15452fea434e71f16c7de0feaca2b066]
-class urt_delay_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1865.785" y="1261.3594"/><ellipse cx="1918.035" cy="1277.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1918.8788,1284.1094 L1916.4256,1284.1094 L1916.4256,1273.8594 L1913.285,1273.8594 L1913.285,1271.7188 L1922.0194,1271.7188 L1922.0194,1273.8594 L1918.8788,1273.8594 L1918.8788,1284.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="1938.535" y="1281.5137">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1866.785" x2="2045.785" y1="1293.3594" y2="1293.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1871.785" y="1324.3745">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1866.785" x2="1869.785" y1="1307.7617" y2="1307.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="1869.785" y="1311.0698">URT_CFG_DELAY_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2042.785" x2="2045.785" y1="1307.7617" y2="1307.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1871.785" y="1353.9839">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1866.785" x2="1869.785" y1="1337.3711" y2="1337.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="1869.785" y="1340.6792">URT_CFG_DELAY_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2042.785" x2="2045.785" y1="1337.3711" y2="1337.3711"/><!--MD5=[f106a25c06a671b3918b1a8f37571a4d]
-class urt_debug--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_debug" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="653.785" y="1280.3594"/><ellipse cx="740.035" cy="1296.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M744.2694,1292.125 L738.9881,1292.125 L738.9881,1294.7969 L743.785,1294.7969 L743.785,1296.9531 L738.9881,1296.9531 L738.9881,1302.3594 L736.5506,1302.3594 L736.5506,1289.9688 L744.2694,1289.9688 L744.2694,1292.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="760.535" y="1300.5137">urt_debug</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="654.785" x2="897.785" y1="1312.3594" y2="1312.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="654.785" x2="897.785" y1="1320.3594" y2="1320.3594"/><ellipse cx="664.785" cy="1331.3594" 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="219" x="673.785" y="1334.5698">urtDebugAssert(condition : bool) : void</text><!--MD5=[3677786d1f00795918091b0110bfa4af]
-class urt_osTime_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="86.4141" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="425" x="9897.785" y="940.8594"/><ellipse cx="10066.535" cy="956.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10067.3788,963.6094 L10064.9256,963.6094 L10064.9256,953.3594 L10061.785,953.3594 L10061.785,951.2188 L10070.5194,951.2188 L10070.5194,953.3594 L10067.3788,953.3594 L10067.3788,963.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="10087.035" y="961.0137">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9898.785" x2="10321.785" y1="972.8594" y2="972.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9898.785" x2="10321.785" y1="980.8594" y2="980.8594"/><ellipse cx="9908.785" cy="991.8594" 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="231" x="9917.785" y="995.0698">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="9908.785" cy="1004.6641" 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="189" x="9917.785" y="1007.8745">urtTimeNow (void) : urt_osTime_t</text><ellipse cx="9908.785" cy="1017.4688" 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="399" x="9917.785" y="1020.6792">urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*</text><!--MD5=[532279a7a1cac9af7f32856ca2ae6b9b]
-class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="298" x="10358.285" y="934.3594"/><ellipse cx="10459.535" cy="950.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10460.3788,957.1094 L10457.9256,957.1094 L10457.9256,946.8594 L10454.785,946.8594 L10454.785,944.7188 L10463.5194,944.7188 L10463.5194,946.8594 L10460.3788,946.8594 L10460.3788,957.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="10480.035" y="954.5137">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10359.285" x2="10655.285" y1="966.3594" y2="966.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="10359.285" x2="10655.285" y1="974.3594" y2="974.3594"/><ellipse cx="10369.285" cy="985.3594" 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="245" x="10378.285" y="988.5698">urtMutexInit (mutex : urt_osMutex_t*) : void</text><ellipse cx="10369.285" cy="998.1641" 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="253" x="10378.285" y="1001.3745">urtMutexLock (mutex : urt_osMutex_t*) : void</text><ellipse cx="10369.285" cy="1010.9688" 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="272" x="10378.285" y="1014.1792">urtMutexTryLock (mutex : urt_osMutex_t*) : bool</text><ellipse cx="10369.285" cy="1023.7734" 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="265" x="10378.285" y="1026.9839">urtMutexUnlock (mutex : urt_osMutex_t*) : void</text><!--MD5=[0cf29100c96c506429a28b45d347cc92]
-class urt_streams--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="73.6094" id="urt_streams" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="9653.785" y="946.8594"/><ellipse cx="9716.535" cy="962.8594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9720.7694,958.625 L9715.4881,958.625 L9715.4881,961.2969 L9720.285,961.2969 L9720.285,963.4531 L9715.4881,963.4531 L9715.4881,968.8594 L9713.0506,968.8594 L9713.0506,956.4688 L9720.7694,956.4688 L9720.7694,958.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="9737.035" y="967.0137">urt_streams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9654.785" x2="9861.785" y1="978.8594" y2="978.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9654.785" x2="9861.785" y1="986.8594" y2="986.8594"/><ellipse cx="9664.785" cy="997.8594" 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="166" x="9673.785" y="1001.0698">urtPrintf(fmt : char*, ... ) : int</text><ellipse cx="9664.785" cy="1010.6641" 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="183" x="9673.785" y="1013.8745">urtErrPrintf(fmt : char*, ... ) : int</text><!--MD5=[52fa11869cb40c93fa7702378ddd839e]
-class urt_osCondvarWaitStatus_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="86.4141" id="urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="14417.285" y="1267.8594"/><ellipse cx="14463.535" cy="1283.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M14467.6444,1289.8594 L14459.9256,1289.8594 L14459.9256,1277.4688 L14467.6444,1277.4688 L14467.6444,1279.625 L14462.3788,1279.625 L14462.3788,1282.2969 L14467.1444,1282.2969 L14467.1444,1284.4531 L14462.3788,1284.4531 L14462.3788,1287.7031 L14467.6444,1287.7031 L14467.6444,1289.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="169" x="14484.035" y="1288.0137">urt_osCondvarWaitStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="14418.285" x2="14686.285" y1="1299.8594" y2="1299.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="14423.285" y="1314.0698">URT_CONDVAR_WAITSTATUS_SIGNAL = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="14423.285" y="1326.8745">URT_CONDVAR_WAITSTATUS_BROADCAST = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="14423.285" y="1339.6792">URT_CONDVAR_WAITSTATUS_TIMEOUT = 0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="14418.285" x2="14686.285" y1="1346.2734" y2="1346.2734"/><!--MD5=[004fc5dee471033e8e4138c1c73f0692]
-class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="710" x="14197.285" y="934.3594"/><ellipse cx="14497.535" cy="950.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M14498.3788,957.1094 L14495.9256,957.1094 L14495.9256,946.8594 L14492.785,946.8594 L14492.785,944.7188 L14501.5194,944.7188 L14501.5194,946.8594 L14498.3788,946.8594 L14498.3788,957.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="14518.035" y="954.5137">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="14198.285" x2="14906.285" y1="966.3594" y2="966.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="14198.285" x2="14906.285" y1="974.3594" y2="974.3594"/><ellipse cx="14208.285" cy="985.3594" 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="283" x="14217.285" y="988.5698">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="14208.285" cy="998.1641" 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="301" x="14217.285" y="1001.3745">urtCondvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="14208.285" cy="1010.9688" 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="324" x="14217.285" y="1014.1792">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="14208.285" cy="1023.7734" 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="684" x="14217.285" y="1026.9839">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t</text><!--MD5=[93799a03260ba286abda700174f4f205]
-class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="13628.285" y="1280.3594"/><ellipse cx="13699.035" cy="1296.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M13699.8788,1303.1094 L13697.4256,1303.1094 L13697.4256,1292.8594 L13694.285,1292.8594 L13694.285,1290.7188 L13703.0194,1290.7188 L13703.0194,1292.8594 L13699.8788,1292.8594 L13699.8788,1303.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="13719.535" y="1300.5137">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="13629.285" x2="13913.285" y1="1312.3594" y2="1312.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="13629.285" x2="13913.285" y1="1320.3594" y2="1320.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="13634.285" y="1334.5698">urt_osTimerCallback_t (parameter : void*) : void</text><!--MD5=[0b340d7b925b1eab6a1b7e084f68a7c2]
-class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="112.0234" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="782" x="13380.285" y="927.8594"/><ellipse cx="13725.035" cy="943.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M13725.8788,950.6094 L13723.4256,950.6094 L13723.4256,940.3594 L13720.285,940.3594 L13720.285,938.2188 L13729.0194,938.2188 L13729.0194,940.3594 L13725.8788,940.3594 L13725.8788,950.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="13745.535" y="948.0137">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="13381.285" x2="14161.285" y1="959.8594" y2="959.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="13381.285" x2="14161.285" y1="967.8594" y2="967.8594"/><ellipse cx="13391.285" cy="978.8594" 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="240" x="13400.285" y="982.0698">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="13391.285" cy="991.6641" 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="705" x="13400.285" y="994.8745">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="13391.285" cy="1004.4688" 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="756" x="13400.285" y="1007.6792">urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="13391.285" cy="1017.2734" 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="300" x="13400.285" y="1020.4839">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="13391.285" cy="1030.0781" 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="271" x="13400.285" y="1033.2886">urtTimerIsArmed (timer : urt_osTimer_t*) : bool</text><!--MD5=[86c16d91227b9a9ec3b6b9b0285de4e9]
-class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="150.4375" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="12594.785" y="1235.8594"/><ellipse cx="12630.935" cy="1251.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12631.7788,1258.6094 L12629.3256,1258.6094 L12629.3256,1248.3594 L12626.185,1248.3594 L12626.185,1246.2188 L12634.9194,1246.2188 L12634.9194,1248.3594 L12631.7788,1248.3594 L12631.7788,1258.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="12649.635" y="1256.0137">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12595.785" x2="12790.785" y1="1267.8594" y2="1267.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="12600.785" y="1282.0698">URT_THREAD_PRIO_LOW_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="12600.785" y="1294.8745">URT_THREAD_PRIO_LOW_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="12600.785" y="1307.6792">URT_THREAD_PRIO_NORMAL_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="12600.785" y="1320.4839">URT_THREAD_PRIO_NORMAL_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="164" x="12600.785" y="1333.2886">URT_THREAD_PRIO_HIGH_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="12600.785" y="1346.0933">URT_THREAD_PRIO_HIGH_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="12600.785" y="1358.8979">URT_THREAD_PRIO_RT_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="12600.785" y="1371.7026">URT_THREAD_PRIO_RT_MAX</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12595.785" x2="12790.785" y1="1378.2969" y2="1378.2969"/><!--MD5=[69d8aab9aa387a2f5052ea3da80e80ea]
-class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="13104.285" y="1280.3594"/><ellipse cx="13152.035" cy="1296.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M13152.8788,1303.1094 L13150.4256,1303.1094 L13150.4256,1292.8594 L13147.285,1292.8594 L13147.285,1290.7188 L13156.0194,1290.7188 L13156.0194,1292.8594 L13152.8788,1292.8594 L13152.8788,1303.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="13172.535" y="1300.5137">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="13105.285" x2="13355.285" y1="1312.3594" y2="1312.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="13105.285" x2="13355.285" y1="1320.3594" y2="1320.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="13110.285" y="1334.5698">urt_osThreadFunction_t (arg : void*) : void</text><!--MD5=[ab5f611d45c3fa10609c33f780d8c3e1]
-class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="12827.285" y="1273.8594"/><ellipse cx="12849.035" cy="1289.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12853.1444,1295.8594 L12845.4256,1295.8594 L12845.4256,1283.4688 L12853.1444,1283.4688 L12853.1444,1285.625 L12847.8788,1285.625 L12847.8788,1288.2969 L12852.6444,1288.2969 L12852.6444,1290.4531 L12847.8788,1290.4531 L12847.8788,1293.7031 L12853.1444,1293.7031 L12853.1444,1295.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="12864.535" y="1294.0137">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12828.285" x2="13068.285" y1="1305.8594" y2="1305.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="12833.285" y="1320.0698">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="12833.285" y="1332.8745">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12828.285" x2="13068.285" y1="1339.4688" y2="1339.4688"/><!--MD5=[47d14ad2c233fae1b32b8d0a283e820a]
-class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="137.6328" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="12333.285" y="1241.8594"/><ellipse cx="12378.035" cy="1257.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12382.1444,1263.8594 L12374.4256,1263.8594 L12374.4256,1251.4688 L12382.1444,1251.4688 L12382.1444,1253.625 L12376.8788,1253.625 L12376.8788,1256.2969 L12381.6444,1256.2969 L12381.6444,1258.4531 L12376.8788,1258.4531 L12376.8788,1261.7031 L12382.1444,1261.7031 L12382.1444,1263.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="12398.535" y="1262.0137">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12334.285" x2="12558.285" y1="1273.8594" y2="1273.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="12339.285" y="1288.0698">URT_THREAD_STATE_INACTIVE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="12339.285" y="1300.8745">URT_THREAD_STATE_RUNNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="12339.285" y="1313.6792">URT_THREAD_STATE_READY = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="12339.285" y="1326.4839">URT_THREAD_STATE_SLEEPING = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="12339.285" y="1339.2886">URT_THREAD_STATE_SUSPENDED = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="12339.285" y="1352.0933">URT_THREAD_STATE_WAITING = 5</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="12339.285" y="1364.8979">URT_THREAD_STATE_TERMINATED = 6</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12334.285" x2="12558.285" y1="1371.4922" y2="1371.4922"/><!--MD5=[0a16224ede9ffa9bb2d34e085a076e6d]
-class urt_osThread_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="376.1172" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="560" x="12333.285" y="795.8594"/><ellipse cx="12562.035" cy="811.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12562.8788,818.6094 L12560.4256,818.6094 L12560.4256,808.3594 L12557.285,808.3594 L12557.285,806.2188 L12566.0194,806.2188 L12566.0194,808.3594 L12562.8788,808.3594 L12562.8788,818.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="12582.535" y="816.0137">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12334.285" x2="12892.285" y1="827.8594" y2="827.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="12339.285" y="842.0698">URT_THREAD_SLEEP_MAX : float</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="12339.285" y="854.8745">URT_THREAD_SSLEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="12339.285" y="867.6792">URT_THREAD_MSLEEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="224" x="12339.285" y="880.4839">URT_THREAD_USLEEP_MAX : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="12334.285" x2="12892.285" y1="887.0781" y2="887.0781"/><ellipse cx="12344.285" cy="898.0781" 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="248" x="12353.285" y="901.2886">URT_THREAD_MEMORY (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="12334.285" x2="12892.285" y1="907.8828" y2="907.8828"/><ellipse cx="12344.285" cy="918.8828" 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="534" x="12353.285" y="922.0933">urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*</text><ellipse cx="12344.285" cy="931.6875" 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="490" x="12353.285" y="934.8979">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="12344.285" cy="944.4922" 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="153" x="12353.285" y="947.7026">urtThreadYield (void) : void</text><ellipse cx="12344.285" cy="957.2969" 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="271" x="12353.285" y="960.5073">urtThreadGetPriority (void) : urt_osThreadPrio_t</text><ellipse cx="12344.285" cy="970.1016" 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="304" x="12353.285" y="973.312">urtThreadSetPriority (prio : urt_osThreadPrio_t) : void</text><ellipse cx="12344.285" cy="982.9063" 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="294" x="12353.285" y="986.1167">urtThreadSuspend (thread : urt_osThread_t*) : void</text><ellipse cx="12344.285" cy="995.7109" 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="335" x="12353.285" y="998.9214">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="12344.285" cy="1008.5156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="12353.285" y="1011.7261">urtThreadSleep (seconds : float) : void</text><ellipse cx="12344.285" cy="1021.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="12353.285" y="1024.5308">urtThreadSSleep (seconds : urt_delay_t) : void</text><ellipse cx="12344.285" cy="1034.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="289" x="12353.285" y="1037.3354">urtThreadMSleep (milliseconds : urt_delay_t) : void</text><ellipse cx="12344.285" cy="1046.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="297" x="12353.285" y="1050.1401">urtThreadUSleep (microseconds : urt_delay_t) : void</text><ellipse cx="12344.285" cy="1059.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="271" x="12353.285" y="1062.9448">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="12344.285" cy="1072.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="146" x="12353.285" y="1075.7495">urtThreadExit (void) : void</text><ellipse cx="12344.285" cy="1085.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="518" x="12353.285" y="1088.5542">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="12344.285" cy="1098.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="264" x="12353.285" y="1101.3589">urtThreadJoin (thread : urt_osThread_t*) : void</text><ellipse cx="12344.285" cy="1110.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="387" x="12353.285" y="1114.1636">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="12344.285" cy="1123.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="237" x="12353.285" y="1126.9683">urtThreadGetSelf (void) : urt_osThread_t*</text><ellipse cx="12344.285" cy="1136.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="380" x="12353.285" y="1139.7729">urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="12344.285" cy="1149.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="371" x="12353.285" y="1152.5776">urtThreadGetSibling (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="12344.285" cy="1162.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="370" x="12353.285" y="1165.3823">urtThreadGetParent (thread : urt_osThread_t*) : urt_osThread_t*</text><!--MD5=[0a4e0f34d8da0ad3ed6ecf72f02e09c8]
-class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="10672.285" y="1280.3594"/><ellipse cx="10749.535" cy="1296.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10750.3788,1303.1094 L10747.9256,1303.1094 L10747.9256,1292.8594 L10744.785,1292.8594 L10744.785,1290.7188 L10753.5194,1290.7188 L10753.5194,1292.8594 L10750.3788,1292.8594 L10750.3788,1303.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="10770.035" y="1300.5137">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10673.285" x2="10951.285" y1="1312.3594" y2="1312.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="268" x="10678.285" y="1326.5698">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10673.285" x2="10951.285" y1="1333.1641" y2="1333.1641"/><!--MD5=[dc1cc33af288560680c15dec1e56eda0]
-class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="11393.285" y="1540.8594"/><ellipse cx="11408.285" cy="1556.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11409.1288,1563.6094 L11406.6756,1563.6094 L11406.6756,1553.3594 L11403.535,1553.3594 L11403.535,1551.2188 L11412.2694,1551.2188 L11412.2694,1553.3594 L11409.1288,1553.3594 L11409.1288,1563.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="11422.285" y="1561.0137">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11394.285" x2="11542.285" y1="1572.8594" y2="1572.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="11394.285" x2="11542.285" y1="1580.8594" y2="1580.8594"/><!--MD5=[e2bbbd64e6979bf7b755747a6c0ba948]
-class urt_osEventWait_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="86.4141" id="urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="10987.285" y="1267.8594"/><ellipse cx="11010.385" cy="1283.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11014.4944,1289.8594 L11006.7756,1289.8594 L11006.7756,1277.4688 L11014.4944,1277.4688 L11014.4944,1279.625 L11009.2288,1279.625 L11009.2288,1282.2969 L11013.9944,1282.2969 L11013.9944,1284.4531 L11009.2288,1284.4531 L11009.2288,1287.7031 L11014.4944,1287.7031 L11014.4944,1289.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="11026.185" y="1288.0137">urt_osEventWait_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10988.285" x2="11148.285" y1="1299.8594" y2="1299.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="10993.285" y="1314.0698">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="10993.285" y="1326.8745">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="10993.285" y="1339.6792">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10988.285" x2="11148.285" y1="1346.2734" y2="1346.2734"/><!--MD5=[d054ac2eda12ce4b1fe5a18c9be716c1]
-class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="11221.285" y="1267.8594"/><ellipse cx="11396.535" cy="1283.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11397.3788,1290.6094 L11394.9256,1290.6094 L11394.9256,1280.3594 L11391.785,1280.3594 L11391.785,1278.2188 L11400.5194,1278.2188 L11400.5194,1280.3594 L11397.3788,1280.3594 L11397.3788,1290.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="11417.035" y="1288.0137">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11222.285" x2="11714.285" y1="1299.8594" y2="1299.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="11222.285" x2="11714.285" y1="1307.8594" y2="1307.8594"/><ellipse cx="11232.285" cy="1318.8594" 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="341" x="11241.285" y="1322.0698">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="11232.285" cy="1331.6641" 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="458" x="11241.285" y="1334.8745">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="11232.285" cy="1344.4688" 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="468" x="11241.285" y="1347.6792">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--MD5=[4d6906f8b977dc26629fa492460e6327]
-class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="11750.785" y="1273.8594"/><ellipse cx="11955.535" cy="1289.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11956.3788,1296.6094 L11953.9256,1296.6094 L11953.9256,1286.3594 L11950.785,1286.3594 L11950.785,1284.2188 L11959.5194,1284.2188 L11959.5194,1286.3594 L11956.3788,1286.3594 L11956.3788,1296.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="11976.035" y="1294.0137">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11751.785" x2="12296.785" y1="1305.8594" y2="1305.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="11751.785" x2="12296.785" y1="1313.8594" y2="1313.8594"/><ellipse cx="11761.785" cy="1324.8594" 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="325" x="11770.785" y="1328.0698">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="11761.785" cy="1337.6641" 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="521" x="11770.785" y="1340.8745">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--MD5=[04a3b5a37031e2a4d723f19d8adf86f5]
-class urt_events--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="890" x="10691.285" y="940.8594"/><ellipse cx="11099.035" cy="956.8594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11103.2694,952.625 L11097.9881,952.625 L11097.9881,955.2969 L11102.785,955.2969 L11102.785,957.4531 L11097.9881,957.4531 L11097.9881,962.8594 L11095.5506,962.8594 L11095.5506,950.4688 L11103.2694,950.4688 L11103.2694,952.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="11119.535" y="961.0137">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10692.285" x2="11580.285" y1="972.8594" y2="972.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="10692.285" x2="11580.285" y1="980.8594" y2="980.8594"/><ellipse cx="10702.285" cy="991.8594" 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="864" x="10711.285" y="995.0698">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t</text><ellipse cx="10702.285" cy="1004.6641" 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="567" x="10711.285" y="1007.8745">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text><ellipse cx="10702.285" cy="1017.4688" 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="618" x="10711.285" y="1020.6792">urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWait_t, timeout : urt_delay_t) : urt_osEventMask_t</text><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
-class urt_core_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="281.6797" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="343" x="2729.785" y="110.8594"/><ellipse cx="2865.535" cy="126.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2865.0194,127.4219 Q2863.16,126.7188 2862.5038,125.9531 Q2861.8631,125.1719 2861.8631,123.8594 Q2861.8631,122.1719 2862.9413,121.2031 Q2864.0194,120.2344 2865.8944,120.2344 Q2866.7538,120.2344 2867.5975,120.4375 Q2868.4569,120.625 2869.3006,121.0156 L2869.3006,123.4063 Q2868.5194,122.8438 2867.6913,122.5625 Q2866.8788,122.2656 2866.0819,122.2656 Q2865.2069,122.2656 2864.7225,122.625 Q2864.2538,122.9844 2864.2538,123.6406 Q2864.2538,124.1563 2864.5975,124.5 Q2864.9413,124.8281 2866.035,125.2344 L2867.0975,125.6406 Q2868.5819,126.1875 2869.285,127.0938 Q2870.0038,128 2870.0038,129.375 Q2870.0038,131.25 2868.8944,132.1719 Q2867.785,133.0938 2865.535,133.0938 Q2864.6131,133.0938 2863.6913,132.875 Q2862.7694,132.6563 2861.91,132.2344 L2861.91,129.7031 Q2862.8788,130.3906 2863.8006,130.7344 Q2864.7225,131.0781 2865.6131,131.0781 Q2866.5194,131.0781 2867.0194,130.6719 Q2867.5194,130.25 2867.5194,129.5156 Q2867.5194,128.9531 2867.1756,128.5469 Q2866.8475,128.125 2866.2225,127.875 L2865.0194,127.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="2886.035" y="131.0137">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2730.785" x2="3071.785" y1="142.8594" y2="142.8594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2737.785" y="150.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="2749.785" y="157.0698">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2737.785" y="163.6641"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="2749.785" y="169.8745">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2737.785" y="176.4688"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="2749.785" y="182.6792">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2737.785" y="189.2734"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="122" x="2749.785" y="195.4839">_status : urt_status_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2737.785" y="218.8828"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="2749.785" y="225.0933">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2730.785" x2="2796.285" y1="208.4805" y2="208.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="2796.285" y="211.7886">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3006.285" x2="3071.785" y1="208.4805" y2="208.4805"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2737.785" y="248.4922"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="2749.785" y="254.7026">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2730.785" x2="2808.785" y1="238.0898" y2="238.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="2808.785" y="241.3979">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2993.785" x2="3071.785" y1="238.0898" y2="238.0898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2730.785" x2="3071.785" y1="261.2969" y2="261.2969"/><ellipse cx="2740.785" cy="272.2969" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="2749.785" y="275.5073">urtCoreInit (void) : urt_status_t</text><ellipse cx="2740.785" cy="285.1016" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="2749.785" y="288.312">urtCoreGetStatus (void) : urt_status_t</text><ellipse cx="2740.785" cy="297.9063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="2749.785" y="301.1167">urtCoreStartNodes (void) : urt_status_t</text><ellipse cx="2740.785" cy="310.7109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="309" x="2749.785" y="313.9214">urtCoreSynchronize (node : urt_node_t*) : urt_status_t</text><ellipse cx="2740.785" cy="323.5156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="317" x="2749.785" y="326.7261">urtCoreStopNodes (reason : urt_status_t) : urt_status_t</text><ellipse cx="2740.785" cy="353.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="273" x="2749.785" y="356.3354">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2730.785" x2="2796.285" y1="339.7227" y2="339.7227"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="2796.285" y="343.0308">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3006.285" x2="3071.785" y1="339.7227" y2="339.7227"/><ellipse cx="2740.785" cy="382.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="313" x="2749.785" y="385.9448">urtCoreGetService (id : urt_serviceid_t) : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2730.785" x2="2808.785" y1="369.332" y2="369.332"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="2808.785" y="372.6401">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2993.785" x2="3071.785" y1="369.332" y2="369.332"/><!--MD5=[a7dea26996a1231aa68629b332780450]
-class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="7817.285" y="953.3594"/><ellipse cx="7963.035" cy="969.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7963.8788,976.1094 L7961.4256,976.1094 L7961.4256,965.8594 L7958.285,965.8594 L7958.285,963.7188 L7967.0194,963.7188 L7967.0194,965.8594 L7963.8788,965.8594 L7963.8788,976.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="7983.535" y="973.5137">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7818.285" x2="8272.285" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7818.285" x2="8272.285" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="7823.285" y="1007.5698">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
-class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="8308.285" y="953.3594"/><ellipse cx="8536.535" cy="969.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8537.3788,976.1094 L8534.9256,976.1094 L8534.9256,965.8594 L8531.785,965.8594 L8531.785,963.7188 L8540.5194,963.7188 L8540.5194,965.8594 L8537.3788,965.8594 L8537.3788,976.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="8557.035" y="973.5137">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8309.285" x2="8921.285" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8309.285" x2="8921.285" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="8314.285" y="1007.5698">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[843db13320bebc2ca47f25c6a57c2ae5]
-class urt_nodeShutdownCallback_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="518" x="7264.285" y="953.3594"/><ellipse cx="7428.535" cy="969.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7429.3788,976.1094 L7426.9256,976.1094 L7426.9256,965.8594 L7423.785,965.8594 L7423.785,963.7188 L7432.5194,963.7188 L7432.5194,965.8594 L7429.3788,965.8594 L7429.3788,976.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="7449.035" y="973.5137">urt_nodeShutdownCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7265.285" x2="7781.285" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7265.285" x2="7781.285" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="506" x="7270.285" y="1007.5698">urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void</text><!--MD5=[d2563153d77472384a15c07b815d639f]
-class urt_node_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="231.2656" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1586" x="7267.285" y="478.8594"/><ellipse cx="8022.535" cy="494.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8022.0194,495.4219 Q8020.16,494.7188 8019.5038,493.9531 Q8018.8631,493.1719 8018.8631,491.8594 Q8018.8631,490.1719 8019.9413,489.2031 Q8021.0194,488.2344 8022.8944,488.2344 Q8023.7538,488.2344 8024.5975,488.4375 Q8025.4569,488.625 8026.3006,489.0156 L8026.3006,491.4063 Q8025.5194,490.8438 8024.6913,490.5625 Q8023.8788,490.2656 8023.0819,490.2656 Q8022.2069,490.2656 8021.7225,490.625 Q8021.2538,490.9844 8021.2538,491.6406 Q8021.2538,492.1563 8021.5975,492.5 Q8021.9413,492.8281 8023.035,493.2344 L8024.0975,493.6406 Q8025.5819,494.1875 8026.285,495.0938 Q8027.0038,496 8027.0038,497.375 Q8027.0038,499.25 8025.8944,500.1719 Q8024.785,501.0938 8022.535,501.0938 Q8021.6131,501.0938 8020.6913,500.875 Q8019.7694,500.6563 8018.91,500.2344 L8018.91,497.7031 Q8019.8788,498.3906 8020.8006,498.7344 Q8021.7225,499.0781 8022.6131,499.0781 Q8023.5194,499.0781 8024.0194,498.6719 Q8024.5194,498.25 8024.5194,497.5156 Q8024.5194,496.9531 8024.1756,496.5469 Q8023.8475,496.125 8023.2225,495.875 L8022.0194,495.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="8043.035" y="499.0137">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7268.285" x2="8852.285" y1="510.8594" y2="510.8594"/><ellipse cx="7278.285" cy="521.8594" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="7287.285" y="525.0698">next : urt_node_t*</text><ellipse cx="7278.285" cy="534.6641" fill="none" 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="7287.285" y="537.8745">thread : urt_osThread_t*</text><ellipse cx="7278.285" cy="547.4688" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="7287.285" y="550.6792">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="7278.285" cy="560.2734" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="7287.285" y="563.4839">setupparams : void*</text><ellipse cx="7278.285" cy="573.0781" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="7287.285" y="576.2886">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="7278.285" cy="585.8828" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="7287.285" y="589.0933">loopparams : void*</text><ellipse cx="7278.285" cy="598.6875" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="281" x="7287.285" y="601.8979">shutdowncallback : urt_nodeShutdownCallback_t*</text><ellipse cx="7278.285" cy="611.4922" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="7287.285" y="614.7026">shutdownparams : void*</text><ellipse cx="7278.285" cy="624.2969" fill="none" 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="7287.285" y="627.5073">stage : urt_nodestage_t</text><ellipse cx="7278.285" cy="637.1016" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="178" x="7287.285" y="640.312">listener : urt_osEventListener_t</text><ellipse cx="7278.285" cy="666.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="88" x="7287.285" y="669.9214">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7268.285" x2="7852.285" y1="653.3086" y2="653.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="7852.285" y="656.6167">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8268.285" x2="8852.285" y1="653.3086" y2="653.3086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7268.285" x2="8852.285" y1="676.5156" y2="676.5156"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="7275.285" y="684.5156"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="7287.285" y="690.7261">_main : urt_osThreadFunction_t</text><ellipse cx="7278.285" cy="700.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1560" x="7287.285" y="703.5308">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : urt_status_t</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
-class urt_message_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="2662.785" y="912.8594"/><ellipse cx="2838.035" cy="928.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2837.5194,929.4219 Q2835.66,928.7188 2835.0038,927.9531 Q2834.3631,927.1719 2834.3631,925.8594 Q2834.3631,924.1719 2835.4413,923.2031 Q2836.5194,922.2344 2838.3944,922.2344 Q2839.2538,922.2344 2840.0975,922.4375 Q2840.9569,922.625 2841.8006,923.0156 L2841.8006,925.4063 Q2841.0194,924.8438 2840.1913,924.5625 Q2839.3788,924.2656 2838.5819,924.2656 Q2837.7069,924.2656 2837.2225,924.625 Q2836.7538,924.9844 2836.7538,925.6406 Q2836.7538,926.1563 2837.0975,926.5 Q2837.4413,926.8281 2838.535,927.2344 L2839.5975,927.6406 Q2841.0819,928.1875 2841.785,929.0938 Q2842.5038,930 2842.5038,931.375 Q2842.5038,933.25 2841.3944,934.1719 Q2840.285,935.0938 2838.035,935.0938 Q2837.1131,935.0938 2836.1913,934.875 Q2835.2694,934.6563 2834.41,934.2344 L2834.41,931.7031 Q2835.3788,932.3906 2836.3006,932.7344 Q2837.2225,933.0781 2838.1131,933.0781 Q2839.0194,933.0781 2839.5194,932.6719 Q2840.0194,932.25 2840.0194,931.5156 Q2840.0194,930.9531 2839.6756,930.5469 Q2839.3475,930.125 2838.7225,929.875 L2837.5194,929.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="2858.535" y="933.0137">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2663.785" x2="3112.785" y1="944.8594" y2="944.8594"/><ellipse cx="2673.785" cy="955.8594" fill="none" 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="2682.785" y="959.0698">next : urt_message_t*</text><ellipse cx="2673.785" cy="968.6641" fill="none" 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="2682.785" y="971.8745">payload : void*</text><ellipse cx="2673.785" cy="981.4688" fill="none" 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="2682.785" y="984.6792">originTime : urt_osTime_t</text><ellipse cx="2673.785" cy="994.2734" fill="none" 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="2682.785" y="997.4839">numHrtConsumersLeft : unsigned int</text><ellipse cx="2673.785" cy="1023.8828" fill="none" 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="2682.785" y="1027.0933">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2663.785" x2="2779.785" y1="1010.4805" y2="1010.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2779.785" y="1013.7886">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2996.785" x2="3112.785" y1="1010.4805" y2="1010.4805"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2663.785" x2="3112.785" y1="1033.6875" y2="1033.6875"/><ellipse cx="2673.785" cy="1044.6875" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="425" x="2682.785" y="1047.8979">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
-class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="1914.785" y="529.8594"/><ellipse cx="2243.535" cy="545.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2243.0194,546.4219 Q2241.16,545.7188 2240.5038,544.9531 Q2239.8631,544.1719 2239.8631,542.8594 Q2239.8631,541.1719 2240.9413,540.2031 Q2242.0194,539.2344 2243.8944,539.2344 Q2244.7538,539.2344 2245.5975,539.4375 Q2246.4569,539.625 2247.3006,540.0156 L2247.3006,542.4063 Q2246.5194,541.8438 2245.6913,541.5625 Q2244.8788,541.2656 2244.0819,541.2656 Q2243.2069,541.2656 2242.7225,541.625 Q2242.2538,541.9844 2242.2538,542.6406 Q2242.2538,543.1563 2242.5975,543.5 Q2242.9413,543.8281 2244.035,544.2344 L2245.0975,544.6406 Q2246.5819,545.1875 2247.285,546.0938 Q2248.0038,547 2248.0038,548.375 Q2248.0038,550.25 2246.8944,551.1719 Q2245.785,552.0938 2243.535,552.0938 Q2242.6131,552.0938 2241.6913,551.875 Q2240.7694,551.6563 2239.91,551.2344 L2239.91,548.7031 Q2240.8788,549.3906 2241.8006,549.7344 Q2242.7225,550.0781 2243.6131,550.0781 Q2244.5194,550.0781 2245.0194,549.6719 Q2245.5194,549.25 2245.5194,548.5156 Q2245.5194,547.9531 2245.1756,547.5469 Q2244.8475,547.125 2244.2225,546.875 L2243.0194,546.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="2264.035" y="550.0137">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1915.785" x2="2672.785" y1="561.8594" y2="561.8594"/><ellipse cx="1925.785" cy="572.8594" fill="none" 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="1934.785" y="576.0698">topic : urt_topic_t*</text><ellipse cx="1925.785" cy="602.4688" fill="none" 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="1934.785" y="605.6792">publishAttempts : uint64_t</text><ellipse cx="1925.785" cy="615.2734" fill="none" 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="1934.785" y="618.4839">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1915.785" x2="2185.785" y1="589.0664" y2="589.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2185.785" y="592.3745">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2402.785" x2="2672.785" y1="589.0664" y2="589.0664"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1915.785" x2="2672.785" y1="625.0781" y2="625.0781"/><ellipse cx="1925.785" cy="636.0781" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="617" x="1934.785" y="639.2886">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1925.785" cy="648.8828" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="733" x="1934.785" y="652.0933">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
-class urt_topic_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="248.0703" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="2709.285" y="470.3594"/><ellipse cx="2864.035" cy="486.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2863.5194,486.9219 Q2861.66,486.2188 2861.0038,485.4531 Q2860.3631,484.6719 2860.3631,483.3594 Q2860.3631,481.6719 2861.4413,480.7031 Q2862.5194,479.7344 2864.3944,479.7344 Q2865.2538,479.7344 2866.0975,479.9375 Q2866.9569,480.125 2867.8006,480.5156 L2867.8006,482.9063 Q2867.0194,482.3438 2866.1913,482.0625 Q2865.3788,481.7656 2864.5819,481.7656 Q2863.7069,481.7656 2863.2225,482.125 Q2862.7538,482.4844 2862.7538,483.1406 Q2862.7538,483.6563 2863.0975,484 Q2863.4413,484.3281 2864.535,484.7344 L2865.5975,485.1406 Q2867.0819,485.6875 2867.785,486.5938 Q2868.5038,487.5 2868.5038,488.875 Q2868.5038,490.75 2867.3944,491.6719 Q2866.285,492.5938 2864.035,492.5938 Q2863.1131,492.5938 2862.1913,492.375 Q2861.2694,492.1563 2860.41,491.7344 L2860.41,489.2031 Q2861.3788,489.8906 2862.3006,490.2344 Q2863.2225,490.5781 2864.1131,490.5781 Q2865.0194,490.5781 2865.5194,490.1719 Q2866.0194,489.75 2866.0194,489.0156 Q2866.0194,488.4531 2865.6756,488.0469 Q2865.3475,487.625 2864.7225,487.375 L2863.5194,486.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="2884.535" y="490.5137">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2710.285" x2="3092.285" y1="502.3594" y2="502.3594"/><ellipse cx="2720.285" cy="513.3594" fill="none" 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="2729.285" y="516.5698">next : urt_topic_t*</text><ellipse cx="2720.285" cy="526.1641" fill="none" 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="2729.285" y="529.3745">id : urt_topicid_t</text><ellipse cx="2720.285" cy="538.9688" fill="none" 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="2729.285" y="542.1792">lock : urt_osMutex_t</text><ellipse cx="2720.285" cy="551.7734" fill="none" 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="2729.285" y="554.9839">evtSource : urt_osEventSource_t</text><ellipse cx="2720.285" cy="564.5781" fill="none" 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="2729.285" y="567.7886">numHrtSubscribers : unsigned int</text><ellipse cx="2720.285" cy="577.3828" fill="none" 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="2729.285" y="580.5933">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="2720.285" cy="590.1875" fill="none" 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="2729.285" y="593.3979">hrtReleased : urt_osCondvar_t</text><ellipse cx="2720.285" cy="602.9922" fill="none" 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="2729.285" y="606.2026">mandatoryMessage : urt_message_t</text><ellipse cx="2720.285" cy="615.7969" fill="none" 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="2729.285" y="619.0073">latestMessage : urt_message_t*</text><ellipse cx="2720.285" cy="645.4063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="2729.285" y="648.6167">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2710.285" x2="2768.785" y1="632.0039" y2="632.0039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2768.785" y="635.312">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3033.785" x2="3092.285" y1="632.0039" y2="632.0039"/><ellipse cx="2720.285" cy="675.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="197" x="2729.285" y="678.2261">numDiscardedMessages : uint64_t</text><ellipse cx="2720.285" cy="687.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="176" x="2729.285" y="691.0308">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2710.285" x2="2792.785" y1="661.6133" y2="661.6133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2792.785" y="664.9214">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3009.785" x2="3092.285" y1="661.6133" y2="661.6133"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2710.285" x2="3092.285" y1="697.625" y2="697.625"/><ellipse cx="2720.285" cy="708.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="358" x="2729.285" y="711.8354">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
-class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="4842.785" y="916.8594"/><ellipse cx="4885.235" cy="932.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4884.7194,933.4219 Q4882.86,932.7188 4882.2038,931.9531 Q4881.5631,931.1719 4881.5631,929.8594 Q4881.5631,928.1719 4882.6413,927.2031 Q4883.7194,926.2344 4885.5944,926.2344 Q4886.4538,926.2344 4887.2975,926.4375 Q4888.1569,926.625 4889.0006,927.0156 L4889.0006,929.4063 Q4888.2194,928.8438 4887.3913,928.5625 Q4886.5788,928.2656 4885.7819,928.2656 Q4884.9069,928.2656 4884.4225,928.625 Q4883.9538,928.9844 4883.9538,929.6406 Q4883.9538,930.1563 4884.2975,930.5 Q4884.6413,930.8281 4885.735,931.2344 L4886.7975,931.6406 Q4888.2819,932.1875 4888.985,933.0938 Q4889.7038,934 4889.7038,935.375 Q4889.7038,937.25 4888.5944,938.1719 Q4887.485,939.0938 4885.235,939.0938 Q4884.3131,939.0938 4883.3913,938.875 Q4882.4694,938.6563 4881.61,938.2344 L4881.61,935.7031 Q4882.5788,936.3906 4883.5006,936.7344 Q4884.4225,937.0781 4885.3131,937.0781 Q4886.2194,937.0781 4886.7194,936.6719 Q4887.2194,936.25 4887.2194,935.5156 Q4887.2194,934.9531 4886.8756,934.5469 Q4886.5475,934.125 4885.9225,933.875 L4884.7194,933.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="4905.335" y="937.0137">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4843.785" x2="5066.785" y1="948.8594" y2="948.8594"/><ellipse cx="4853.785" cy="959.8594" fill="none" 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="4862.785" y="963.0698">topic : urt_topic_t*</text><ellipse cx="4853.785" cy="972.6641" fill="none" 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="4862.785" y="975.8745">evtListener : urt_osEventListener_t</text><ellipse cx="4853.785" cy="985.4688" fill="none" 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="4862.785" y="988.6792">lastMessage : urt_message_t*</text><ellipse cx="4853.785" cy="998.2734" fill="none" 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="4862.785" y="1001.4839">lastMessageTime : urt_osTime_t</text><ellipse cx="4853.785" cy="1027.8828" fill="none" 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="4862.785" y="1031.0933">sumLatencies : uint64_t</text><ellipse cx="4853.785" cy="1040.6875" fill="none" 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="4862.785" y="1043.8979">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4843.785" x2="4846.785" y1="1014.4805" y2="1014.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4846.785" y="1017.7886">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5063.785" x2="5066.785" y1="1014.4805" y2="1014.4805"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
-class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="6036.285" y="953.3594"/><ellipse cx="6145.535" cy="969.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6149.7694,965.125 L6144.4881,965.125 L6144.4881,967.7969 L6149.285,967.7969 L6149.285,969.9531 L6144.4881,969.9531 L6144.4881,975.3594 L6142.0506,975.3594 L6142.0506,962.9688 L6149.7694,962.9688 L6149.7694,965.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="6166.035" y="973.5137">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6037.285" x2="6409.285" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6037.285" x2="6409.285" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="6042.285" y="1007.5698">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
-class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="3146.785" y="517.3594"/><ellipse cx="3493.535" cy="533.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3493.0194,533.9219 Q3491.16,533.2188 3490.5038,532.4531 Q3489.8631,531.6719 3489.8631,530.3594 Q3489.8631,528.6719 3490.9413,527.7031 Q3492.0194,526.7344 3493.8944,526.7344 Q3494.7538,526.7344 3495.5975,526.9375 Q3496.4569,527.125 3497.3006,527.5156 L3497.3006,529.9063 Q3496.5194,529.3438 3495.6913,529.0625 Q3494.8788,528.7656 3494.0819,528.7656 Q3493.2069,528.7656 3492.7225,529.125 Q3492.2538,529.4844 3492.2538,530.1406 Q3492.2538,530.6563 3492.5975,531 Q3492.9413,531.3281 3494.035,531.7344 L3495.0975,532.1406 Q3496.5819,532.6875 3497.285,533.5938 Q3498.0038,534.5 3498.0038,535.875 Q3498.0038,537.75 3496.8944,538.6719 Q3495.785,539.5938 3493.535,539.5938 Q3492.6131,539.5938 3491.6913,539.375 Q3490.7694,539.1563 3489.91,538.7344 L3489.91,536.2031 Q3490.8788,536.8906 3491.8006,537.2344 Q3492.7225,537.5781 3493.6131,537.5781 Q3494.5194,537.5781 3495.0194,537.1719 Q3495.5194,536.75 3495.5194,536.0156 Q3495.5194,535.4531 3495.1756,535.0469 Q3494.8475,534.625 3494.2225,534.375 L3493.0194,533.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="3514.035" y="537.5137">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3147.785" x2="3966.785" y1="549.3594" y2="549.3594"/><ellipse cx="3157.785" cy="577.1641" fill="none" 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="3166.785" y="580.3745">minLatency : urt_delay_t</text><ellipse cx="3157.785" cy="589.9688" fill="none" 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="3166.785" y="593.1792">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3147.785" x2="3448.785" y1="563.7617" y2="563.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3448.785" y="567.0698">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3665.785" x2="3966.785" y1="563.7617" y2="563.7617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3147.785" x2="3966.785" y1="599.7734" y2="599.7734"/><ellipse cx="3157.785" cy="610.7734" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="3166.785" y="613.9839">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><ellipse cx="3157.785" cy="623.5781" 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="3166.785" y="626.7886">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="3157.785" cy="636.3828" 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="3166.785" y="639.5933">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3157.785" cy="649.1875" 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="3166.785" y="652.3979">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3157.785" cy="661.9922" 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="3166.785" y="665.2026">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
-class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="6148.285" y="497.8594"/><ellipse cx="6627.035" cy="513.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6626.5194,514.4219 Q6624.66,513.7188 6624.0038,512.9531 Q6623.3631,512.1719 6623.3631,510.8594 Q6623.3631,509.1719 6624.4413,508.2031 Q6625.5194,507.2344 6627.3944,507.2344 Q6628.2538,507.2344 6629.0975,507.4375 Q6629.9569,507.625 6630.8006,508.0156 L6630.8006,510.4063 Q6630.0194,509.8438 6629.1913,509.5625 Q6628.3788,509.2656 6627.5819,509.2656 Q6626.7069,509.2656 6626.2225,509.625 Q6625.7538,509.9844 6625.7538,510.6406 Q6625.7538,511.1563 6626.0975,511.5 Q6626.4413,511.8281 6627.535,512.2344 L6628.5975,512.6406 Q6630.0819,513.1875 6630.785,514.0938 Q6631.5038,515 6631.5038,516.375 Q6631.5038,518.25 6630.3944,519.1719 Q6629.285,520.0938 6627.035,520.0938 Q6626.1131,520.0938 6625.1913,519.875 Q6624.2694,519.6563 6623.41,519.2344 L6623.41,516.7031 Q6624.3788,517.3906 6625.3006,517.7344 Q6626.2225,518.0781 6627.1131,518.0781 Q6628.0194,518.0781 6628.5194,517.6719 Q6629.0194,517.25 6629.0194,516.5156 Q6629.0194,515.9531 6628.6756,515.5469 Q6628.3475,515.125 6627.7225,514.875 L6626.5194,514.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="6647.535" y="518.0137">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6149.285" x2="7231.285" y1="529.8594" y2="529.8594"/><ellipse cx="6159.285" cy="540.8594" fill="none" 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="6168.285" y="544.0698">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="6159.285" cy="553.6641" fill="none" 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="6168.285" y="556.8745">cbparams : void*</text><ellipse cx="6159.285" cy="583.2734" fill="none" 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="6168.285" y="586.4839">minLatency : urt_delay_t</text><ellipse cx="6159.285" cy="596.0781" fill="none" 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="6168.285" y="599.2886">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6149.285" x2="6581.785" y1="569.8711" y2="569.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="6581.785" y="573.1792">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6798.785" x2="7231.285" y1="569.8711" y2="569.8711"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6149.285" x2="7231.285" y1="605.8828" y2="605.8828"/><ellipse cx="6159.285" cy="616.8828" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="6168.285" y="620.0933">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><ellipse cx="6159.285" cy="629.6875" 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="6168.285" y="632.8979">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="6159.285" cy="642.4922" 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="6168.285" y="645.7026">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="6159.285" cy="655.2969" 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="6168.285" y="658.5073">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="6159.285" cy="668.1016" 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="6168.285" y="671.312">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="6159.285" cy="680.9063" 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="6168.285" y="684.1167">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
-class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="4002.285" y="481.3594"/><ellipse cx="4427.535" cy="497.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4427.0194,497.9219 Q4425.16,497.2188 4424.5038,496.4531 Q4423.8631,495.6719 4423.8631,494.3594 Q4423.8631,492.6719 4424.9413,491.7031 Q4426.0194,490.7344 4427.8944,490.7344 Q4428.7538,490.7344 4429.5975,490.9375 Q4430.4569,491.125 4431.3006,491.5156 L4431.3006,493.9063 Q4430.5194,493.3438 4429.6913,493.0625 Q4428.8788,492.7656 4428.0819,492.7656 Q4427.2069,492.7656 4426.7225,493.125 Q4426.2538,493.4844 4426.2538,494.1406 Q4426.2538,494.6563 4426.5975,495 Q4426.9413,495.3281 4428.035,495.7344 L4429.0975,496.1406 Q4430.5819,496.6875 4431.285,497.5938 Q4432.0038,498.5 4432.0038,499.875 Q4432.0038,501.75 4430.8944,502.6719 Q4429.785,503.5938 4427.535,503.5938 Q4426.6131,503.5938 4425.6913,503.375 Q4424.7694,503.1563 4423.91,502.7344 L4423.91,500.2031 Q4424.8788,500.8906 4425.8006,501.2344 Q4426.7225,501.5781 4427.6131,501.5781 Q4428.5194,501.5781 4429.0194,501.1719 Q4429.5194,500.75 4429.5194,500.0156 Q4429.5194,499.4531 4429.1756,499.0469 Q4428.8475,498.625 4428.2225,498.375 L4427.0194,497.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="4448.035" y="501.5137">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4003.285" x2="4975.285" y1="513.3594" y2="513.3594"/><ellipse cx="4013.285" cy="541.1641" fill="none" 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="4022.285" y="544.3745">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4003.285" x2="4343.785" y1="527.7617" y2="527.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="4343.785" y="531.0698">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4634.785" x2="4975.285" y1="527.7617" y2="527.7617"/><ellipse cx="4013.285" cy="570.7734" fill="none" 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="4022.285" y="573.9839">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4003.285" x2="4353.785" y1="557.3711" y2="557.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="4353.785" y="560.6792">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4624.785" x2="4975.285" y1="557.3711" y2="557.3711"/><ellipse cx="4013.285" cy="600.3828" fill="none" 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="4022.285" y="603.5933">minLatency : urt_delay_t</text><ellipse cx="4013.285" cy="613.1875" fill="none" 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="4022.285" y="616.3979">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4003.285" x2="4235.285" y1="586.9805" y2="586.9805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="4235.285" y="590.2886">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="4743.285" x2="4975.285" y1="586.9805" y2="586.9805"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4003.285" x2="4975.285" y1="622.9922" y2="622.9922"/><ellipse cx="4013.285" cy="633.9922" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="387" x="4022.285" y="637.2026">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><ellipse cx="4013.285" cy="646.7969" 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="4022.285" y="650.0073">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="4013.285" cy="659.6016" 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="4022.285" y="662.812">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4013.285" cy="672.4063" 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="4022.285" y="675.6167">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4013.285" cy="685.2109" 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="4022.285" y="688.4214">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="4013.285" cy="698.0156" 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="4022.285" y="701.2261">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
-class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="5011.285" y="459.8594"/><ellipse cx="5489.535" cy="475.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5489.0194,476.4219 Q5487.16,475.7188 5486.5038,474.9531 Q5485.8631,474.1719 5485.8631,472.8594 Q5485.8631,471.1719 5486.9413,470.2031 Q5488.0194,469.2344 5489.8944,469.2344 Q5490.7538,469.2344 5491.5975,469.4375 Q5492.4569,469.625 5493.3006,470.0156 L5493.3006,472.4063 Q5492.5194,471.8438 5491.6913,471.5625 Q5490.8788,471.2656 5490.0819,471.2656 Q5489.2069,471.2656 5488.7225,471.625 Q5488.2538,471.9844 5488.2538,472.6406 Q5488.2538,473.1563 5488.5975,473.5 Q5488.9413,473.8281 5490.035,474.2344 L5491.0975,474.6406 Q5492.5819,475.1875 5493.285,476.0938 Q5494.0038,477 5494.0038,478.375 Q5494.0038,480.25 5492.8944,481.1719 Q5491.785,482.0938 5489.535,482.0938 Q5488.6131,482.0938 5487.6913,481.875 Q5486.7694,481.6563 5485.91,481.2344 L5485.91,478.7031 Q5486.8788,479.3906 5487.8006,479.7344 Q5488.7225,480.0781 5489.6131,480.0781 Q5490.5194,480.0781 5491.0194,479.6719 Q5491.5194,479.25 5491.5194,478.5156 Q5491.5194,477.9531 5491.1756,477.5469 Q5490.8475,477.125 5490.2225,476.875 L5489.0194,476.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="5510.035" y="480.0137">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5012.285" x2="6094.285" y1="491.8594" y2="491.8594"/><ellipse cx="5022.285" cy="502.8594" fill="none" 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="5031.285" y="506.0698">next : urt_hrtsubscriber_t*</text><ellipse cx="5022.285" cy="532.4688" fill="none" 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="5031.285" y="535.6792">deadlineOffset : urt_delay_t</text><ellipse cx="5022.285" cy="545.2734" fill="none" 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="5031.285" y="548.4839">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5012.285" x2="5407.785" y1="519.0664" y2="519.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="5407.785" y="522.3745">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5698.785" x2="6094.285" y1="519.0664" y2="519.0664"/><ellipse cx="5022.285" cy="574.8828" fill="none" 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="5031.285" y="578.0933">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5012.285" x2="5417.785" y1="561.4805" y2="561.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="5417.785" y="564.7886">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5688.785" x2="6094.285" y1="561.4805" y2="561.4805"/><ellipse cx="5022.285" cy="604.4922" fill="none" 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="5031.285" y="607.7026">minLatency : urt_delay_t</text><ellipse cx="5022.285" cy="617.2969" fill="none" 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="5031.285" y="620.5073">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5012.285" x2="5301.285" y1="591.0898" y2="591.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="5301.285" y="594.3979">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="5805.285" x2="6094.285" y1="591.0898" y2="591.0898"/><ellipse cx="5022.285" cy="646.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="150" x="5031.285" y="650.1167">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5012.285" x2="5420.785" y1="633.5039" y2="633.5039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="5420.785" y="636.812">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5685.785" x2="6094.285" y1="633.5039" y2="633.5039"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5012.285" x2="6094.285" y1="656.7109" y2="656.7109"/><ellipse cx="5022.285" cy="667.7109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="5031.285" y="670.9214">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><ellipse cx="5022.285" cy="680.5156" 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="5031.285" y="683.7261">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="5022.285" cy="693.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="5031.285" y="696.5308">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="5022.285" cy="706.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="795" x="5031.285" y="709.3354">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="5022.285" cy="718.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="446" x="5031.285" y="722.1401">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
-class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="8956.785" y="953.3594"/><ellipse cx="9125.035" cy="969.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9129.2694,965.125 L9123.9881,965.125 L9123.9881,967.7969 L9128.785,967.7969 L9128.785,969.9531 L9123.9881,969.9531 L9123.9881,975.3594 L9121.5506,975.3594 L9121.5506,962.9688 L9129.2694,962.9688 L9129.2694,965.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="9145.535" y="973.5137">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8957.785" x2="9406.785" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8957.785" x2="9406.785" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="8962.785" y="1007.5698">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
-class urt_service_t--><rect fill="#FEFECE" filter="url(#f15k70rgxcyvdd)" height="222.4609" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="8946.285" y="483.3594"/><ellipse cx="9203.535" cy="499.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9203.0194,499.9219 Q9201.16,499.2188 9200.5038,498.4531 Q9199.8631,497.6719 9199.8631,496.3594 Q9199.8631,494.6719 9200.9413,493.7031 Q9202.0194,492.7344 9203.8944,492.7344 Q9204.7538,492.7344 9205.5975,492.9375 Q9206.4569,493.125 9207.3006,493.5156 L9207.3006,495.9063 Q9206.5194,495.3438 9205.6913,495.0625 Q9204.8788,494.7656 9204.0819,494.7656 Q9203.2069,494.7656 9202.7225,495.125 Q9202.2538,495.4844 9202.2538,496.1406 Q9202.2538,496.6563 9202.5975,497 Q9202.9413,497.3281 9204.035,497.7344 L9205.0975,498.1406 Q9206.5819,498.6875 9207.285,499.5938 Q9208.0038,500.5 9208.0038,501.875 Q9208.0038,503.75 9206.8944,504.6719 Q9205.785,505.5938 9203.535,505.5938 Q9202.6131,505.5938 9201.6913,505.375 Q9200.7694,505.1563 9199.91,504.7344 L9199.91,502.2031 Q9200.8788,502.8906 9201.8006,503.2344 Q9202.7225,503.5781 9203.6131,503.5781 Q9204.5194,503.5781 9205.0194,503.1719 Q9205.5194,502.75 9205.5194,502.0156 Q9205.5194,501.4531 9205.1756,501.0469 Q9204.8475,500.625 9204.2225,500.375 L9203.0194,499.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="9224.035" y="503.5137">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8947.285" x2="9547.285" y1="515.3594" y2="515.3594"/><ellipse cx="8957.285" cy="526.3594" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="8966.285" y="529.5698">next : urt_service_t*</text><ellipse cx="8957.285" cy="539.1641" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="8966.285" y="542.3745">id : urt_serviceid_t</text><ellipse cx="8957.285" cy="551.9688" fill="none" 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="8966.285" y="555.1792">lock : urt_osMutex_t</text><ellipse cx="8957.285" cy="564.7734" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="8966.285" y="567.9839">callback : urt_servicefunc_t*</text><ellipse cx="8957.285" cy="594.3828" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="8966.285" y="597.5933">sumDurations : uint64_t</text><ellipse cx="8957.285" cy="607.1875" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="8966.285" y="610.3979">numCalls : uint64_t</text><ellipse cx="8957.285" cy="619.9922" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="8966.285" y="623.2026">numTimeouts : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8947.285" x2="9151.285" y1="580.9805" y2="580.9805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="9151.285" y="584.2886">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9343.285" x2="9547.285" y1="580.9805" y2="580.9805"/><ellipse cx="8957.285" cy="649.6016" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="8966.285" y="652.812">minDuration : urt_delay_t</text><ellipse cx="8957.285" cy="662.4063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="8966.285" y="665.6167">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8947.285" x2="9020.285" y1="636.1992" y2="636.1992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="9020.285" y="639.5073">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9474.285" x2="9547.285" y1="636.1992" y2="636.1992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8947.285" x2="9547.285" y1="672.2109" y2="672.2109"/><ellipse cx="8957.285" cy="683.2109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="576" x="8966.285" y="686.4214">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="8957.285" cy="696.0156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="557" x="8966.285" y="699.2261">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[5fff9a13948f7f5b5e6ca18c1c7a9716]
-link urt_nodestage_t to urt_config--><path d="M1193.647,1390.1818 C1176.9546,1407.9219 1158.896,1427.1139 1141.0674,1446.0614 " fill="none" id="urt_nodestage_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1137.5052,1449.8471,1146.5858,1446.0335,1140.9315,1446.2056,1140.7594,1440.5514,1137.5052,1449.8471" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7db439499cb1afd557b9be4c8c52b2ba]
-link urt_topicid_t to urt_config--><path d="M1029.285,1390.1818 C1029.285,1407.4784 1029.285,1426.1552 1029.285,1444.6399 " fill="none" id="urt_topicid_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1029.285,1449.8471,1033.285,1440.8471,1029.285,1444.8471,1025.285,1440.8471,1029.285,1449.8471" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e851a4e79ca88682282ceaaad2100c63]
-link urt_serviceid_t to urt_config--><path d="M1411.2848,1387.4152 C1405.6042,1391.0532 1399.9151,1394.5592 1394.285,1397.8594 C1326.0353,1437.866 1246.5382,1475.2316 1179.1908,1504.4309 " fill="none" id="urt_serviceid_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1174.3631,1506.5191,1184.2115,1506.6174,1178.9522,1504.5341,1181.0355,1499.2748,1174.3631,1506.5191" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[844001065b3bef53527c5dd4ba0c22e5]
-link urt_delay_t to urt_config--><path d="M1905.0579,1360.3928 C1888.128,1374.3932 1868.4384,1388.3806 1848.285,1397.8594 C1629.6691,1500.6819 1349.0225,1540.3964 1179.4829,1555.5983 " fill="none" id="urt_delay_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1174.4996,1556.041,1183.8182,1559.2289,1179.48,1555.5986,1183.1104,1551.2603,1174.4996,1556.041" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7766572fa0c619a5409829048dc0b6d6]
-link urt_osCondvar_t to urt_osCondvarWaitStatus_t--><path d="M14552.285,1033.5237 C14552.285,1095.6504 14552.285,1201.3099 14552.285,1262.7161 " fill="none" id="urt_osCondvar_t-&gt;urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="14552.285,1267.7881,14556.285,1258.7881,14552.285,1262.7881,14548.285,1258.7881,14552.285,1267.7881" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9b2507ea88616aeae65e3c4d63560016]
-link urt_osCondvar_t to urt_osMutex_t--><path d="M14506.5957,934.0805 C14438.9573,865.6475 14304.5957,749.0857 14160.785,732.8594 C14136.75,730.1475 10701.82,730.1475 10677.785,732.8594 C10585.3853,743.2849 10539.347,858.6638 10519.6657,929.3074 " fill="none" id="urt_osCondvar_t-&gt;urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10518.294,934.3144,10524.5301,926.6913,10519.6153,929.4921,10516.8145,924.5773,10518.294,934.3144" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[83094e108045c8f9585007cdb3b7cb2e]
-link urt_osTimer_t to urt_osTimerCallback_t--><path d="M13771.285,1040.0727 C13771.285,1107.2944 13771.285,1217.836 13771.285,1274.6535 " fill="none" id="urt_osTimer_t-&gt;urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="13771.285,1279.981,13775.285,1270.981,13771.285,1274.981,13767.285,1270.981,13771.285,1279.981" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8d8c3240b5b2b5edf6544088e583ffa5]
-link urt_osThread_t to urt_osThreadPrio_t--><path d="M12659.3578,1172.182 C12664.3741,1192.6858 12669.2598,1212.6564 12673.6896,1230.7632 " fill="none" id="urt_osThread_t-&gt;urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="12674.9267,1235.8198,12676.6732,1226.127,12673.7384,1230.963,12668.9024,1228.0283,12674.9267,1235.8198" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d7d1d43fd970fb07a484642bc19fcb13]
-link urt_osThread_t to urt_osThreadFunction_t--><path d="M12893.2959,1098.4093 C12958.4742,1128.6132 13026.5364,1163.1281 13087.285,1199.8594 C13124.7097,1222.488 13163.7012,1253.3138 13191.498,1276.7389 " fill="none" id="urt_osThread_t-&gt;urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="13195.5164,1280.1395,13191.2303,1271.2721,13191.6997,1276.9095,13186.0624,1277.3789,13195.5164,1280.1395" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6564761b32ad7eeb5abb8896c72cfca5]
-link urt_osThread_t to urt_osThreadTerminateSignal_t--><path d="M12806.2149,1172.182 C12844.0602,1209.1235 12880.1322,1244.3341 12906.4588,1270.032 " fill="none" id="urt_osThread_t-&gt;urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="12910.2714,1273.7536,12906.6251,1264.6046,12906.6934,1270.261,12901.037,1270.3294,12910.2714,1273.7536" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[92ba23225d8de8f8080583fedda5e6f8]
-link urt_osThread_t to urt_osThreadState_t--><path d="M12517.1081,1172.182 C12505.4777,1194.9552 12494.1833,1217.0705 12484.1559,1236.705 " fill="none" id="urt_osThread_t-&gt;urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="12481.6344,1241.6423,12489.2902,1235.4464,12483.9086,1237.1894,12482.1656,1231.8078,12481.6344,1241.6423" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[78b286ab2177e5f7b31e6e832d821818]
-link urt_osThread_t to urt_osTime_t--><path d="M12443.3119,795.577 C12399.8082,763.7085 12350.096,738.8745 12296.785,732.8594 C12270.0381,729.8415 10385.532,729.8415 10358.785,732.8594 C10247.8836,745.3725 10169.0683,866.9621 10132.7712,936.2069 " fill="none" id="urt_osThread_t-&gt;urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10130.4419,940.6905,10138.1407,934.5481,10132.747,936.2535,10131.0415,930.8599,10130.4419,940.6905" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[659af6ab57e6a38ebfd5c07c5616787c]
-link urt_osEventListener_t to urt_osEventFlags_t--><path d="M11468.285,1353.947 C11468.285,1405.6304 11468.285,1490.8733 11468.285,1535.518 " fill="none" id="urt_osEventListener_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11468.285,1540.7562,11472.285,1531.7562,11468.285,1535.7562,11464.285,1531.7562,11468.285,1540.7562" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[eac11679f26c499aa1c571e1f795945d]
-link urt_osEventSource_t to urt_osEventFlags_t--><path d="M11943.1403,1347.9291 C11829.357,1399.9092 11625.2124,1493.1695 11525.8142,1538.5781 " fill="none" id="urt_osEventSource_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11521.1609,1540.7039,11531.0092,1540.6024,11525.7088,1538.6262,11527.685,1533.3258,11521.1609,1540.7039" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0259cdb10c6c32168d1d17d25519d939]
-link urt_events to urt_osEventSource_t--><path d="M11257.141,1026.8963 C11377.8979,1070.0601 11568.7503,1138.7192 11733.285,1199.8594 C11796.7578,1223.4456 11867.7665,1250.5178 11923.7495,1272.0214 " fill="none" id="urt_events-&gt;urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11928.4348,1273.8216,11921.4682,1266.8598,11923.7674,1272.0283,11918.599,1274.3276,11928.4348,1273.8216" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0ce043e0e9532fc393f3f8836f5de19a]
-link urt_events to urt_osEventListener_t--><path d="M11180.0296,1026.9452 C11242.3526,1088.3296 11356.2658,1200.5272 11420.6553,1263.947 " fill="none" id="urt_events-&gt;urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11424.4436,1267.6782,11420.8383,1258.5129,11420.8813,1264.1696,11415.2246,1264.2126,11424.4436,1267.6782" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[430bebba9cd89d3ba8f63b2078968bca]
-link urt_events to urt_osEventMask_t--><path d="M11093.5945,1026.9452 C11028.5227,1092.6195 10905.8208,1216.4576 10846.3343,1276.4949 " fill="none" id="urt_events-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10842.5087,1280.3559,10851.6846,1276.7779,10846.0278,1276.804,10846.0017,1271.1472,10842.5087,1280.3559" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b1b185abc2161e087cab32ae7fdb2c40]
-link urt_events to urt_osEventFlags_t--><path d="M11142.4012,1027.0035 C11157.1207,1129.9158 11194.0571,1382.41 11204.285,1397.8594 C11249.8754,1466.7244 11334.6434,1512.7533 11395.8468,1538.7465 " fill="none" id="urt_events-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11400.5811,1540.7372,11393.8354,1533.5611,11395.9721,1538.7989,11390.7342,1540.9356,11400.5811,1540.7372" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[706a1974d1b474cbba7e7b0213f243a1]
-link urt_events to urt_osEventWait_t--><path d="M11127.3253,1026.9452 C11114.6621,1087.8404 11091.5999,1198.7424 11078.3577,1262.4218 " fill="none" id="urt_events-&gt;urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11077.2646,1267.6782,11083.0132,1259.6811,11078.2826,1262.7829,11075.1808,1258.0523,11077.2646,1267.6782" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5f656ccbf337bb70e2692ec6599b22aa]
-link urt_osCondvar_t to urt_delay_t--><path d="M14478.894,1033.5721 C14406.2055,1079.6173 14289.9013,1144.9154 14178.285,1171.8594 C14083.1804,1194.8175 10754.1162,1198.8464 10656.285,1199.8594 C7108.7811,1236.5912 2747.8318,1299.3518 2051.8706,1309.4654 " fill="none" id="urt_osCondvar_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2046.8266,1309.5387,2055.8838,1313.4074,2051.8261,1309.466,2055.7675,1305.4082,2046.8266,1309.5387" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2da0e339f7ca878d257c4a5336e8cad5]
-link urt_osThread_t to urt_delay_t--><path d="M12333.2275,1165.7489 C12326.9242,1167.9483 12320.6064,1169.9912 12314.285,1171.8594 C12281.7503,1181.4747 3095.6549,1296.6121 2052.3945,1309.6585 " fill="none" id="urt_osThread_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2047.1083,1309.7246,2056.1577,1313.6116,2052.1079,1309.662,2056.0575,1305.6123,2047.1083,1309.7246" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4dd831efde278dc905a11b75839a39d0]
-link urt_osThread_t to urt_status_t--><path d="M12333.2548,1165.8424 C12326.9433,1168.0135 12320.6164,1170.0252 12314.285,1171.8594 C12174.6646,1212.3085 1982.1218,1143.1344 1848.285,1199.8594 C1814.6822,1214.1015 1786.3504,1244.4472 1767.1471,1269.8153 " fill="none" id="urt_osThread_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1764.1441,1273.8407,1772.7318,1269.0188,1767.1339,1269.833,1766.3196,1264.2351,1764.1441,1273.8407" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8bf77663ad208115c32fd5300d37f092]
-link urt_osTimer_t to urt_delay_t--><path d="M13681.4694,1039.9847 C13603.1647,1085.4611 13484.8041,1146.069 13372.285,1171.8594 C13225.2023,1205.5721 10807.1719,1198.1191 10656.285,1199.8594 C7108.8269,1240.7755 2747.8394,1300.0428 2051.8715,1309.551 " fill="none" id="urt_osTimer_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2046.8275,1309.6199,2055.8814,1313.4963,2051.827,1309.5514,2055.7719,1305.4971,2046.8275,1309.6199" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[97e66fd6906ece822f393f9bfe719297]
-link urt_osTimer_t to urt_status_t--><path d="M13681.9095,1039.9827 C13603.64,1085.6244 13485.0916,1146.4704 13372.285,1171.8594 C13216.135,1207.0035 1995.6588,1137.4182 1848.285,1199.8594 C1814.6805,1214.0974 1786.3488,1244.4433 1767.146,1269.8126 " fill="none" id="urt_osTimer_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1764.143,1273.8382,1772.7305,1269.0159,1767.1326,1269.8304,1766.3181,1264.2325,1764.143,1273.8382" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a4e2abbbace7909006fa5f13364d6021]
-link urt_events to urt_delay_t--><path d="M11058.9456,1026.9954 C10971.7324,1073.0377 10824.1834,1143.2205 10687.285,1171.8594 C10242.5925,1264.8883 2973.2168,1305.5826 2052.0087,1310.3747 " fill="none" id="urt_events-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2047.0032,1310.4007,2056.024,1314.3536,2052.0031,1310.3745,2055.9822,1306.3537,2047.0032,1310.4007" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0549e7b45a7543f4046fb7eaa1b75598]
-link urt_events to urt_status_t--><path d="M11059.8012,1026.9035 C10972.7508,1073.2292 10824.7773,1144.01 10687.285,1171.8594 C10566.964,1196.2307 1961.3044,1151.9247 1848.285,1199.8594 C1814.6858,1214.1098 1786.3537,1244.455 1767.1494,1269.8208 " fill="none" id="urt_events-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1764.1462,1273.8458,1772.7343,1269.0246,1767.1363,1269.8384,1766.3225,1264.2404,1764.1462,1273.8458" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
-reverse link urt_node_t to urt_node_t--><path d="M8865.5,567.0749 C8880.2009,574.9176 8888.285,584.0124 8888.285,594.3594 C8888.285,607.2178 8875.8003,618.1424 8853.6471,627.1332 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8853.6471,561.5856,8857.4105,567.7367,8864.536,566.6286,8860.7726,560.4775,8853.6471,561.5856" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8862.3682" y="558.2112">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="8862.4557" y="624.4758">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
-reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M8043.2512,723.1081 C8038.3755,804.7675 8036.1556,903.9849 8039.1948,953.1633 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8044.0729,709.9044,8039.7079,715.6443,8043.3274,721.8812,8047.6924,716.1413,8044.0729,709.9044" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8034.7149" y="730.2339">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="8011.4637" y="942.3861">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
-reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M8068.2254,715.3429 C8067.1513,798.3813 8061.5117,902.4149 8054.1673,953.1633 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8068.2895,709.9044,8064.1836,718.8565,8068.2305,714.904,8072.183,718.9509,8068.2895,709.9044" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
-reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M8244.8916,717.0723 C8254.8795,723.6748 8264.7307,730.2942 8274.285,736.8594 C8381.2567,810.3648 8501.3449,905.4013 8567.045,953.3352 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8234.0077,709.9178,8236.8243,716.5561,8244.0352,716.5093,8241.2187,709.871,8234.0077,709.9178" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8237.4109" y="730.2482">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8547.6175" y="942.1202">1</text><!--MD5=[b913f036db99e36b937989146817bd94]
-reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M8273.1221,712.6505 C8285.463,720.7145 8297.5963,728.8275 8309.285,736.8594 C8416.2567,810.3648 8536.3449,905.4013 8589.1549,953.3352 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8268.9292,709.9178,8274.285,718.1831,8273.118,712.6479,8278.6532,711.4809,8268.9292,709.9178" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
-reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M7812.6916,717.0071 C7802.6239,723.5245 7792.7805,730.1549 7783.285,736.8594 C7685.911,805.6121 7584.6146,903.987 7542.3324,953.2659 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7823.6983,709.9813,7816.4886,709.8378,7813.5833,716.4378,7820.793,716.5812,7823.6983,709.9813" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7799.5339" y="730.316">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7519.7859" y="942.5098">0..1</text><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
-reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M7854.1042,712.8628 C7841.8283,720.7063 7829.8008,728.7285 7818.285,736.8594 C7720.911,805.6121 7619.6146,903.987 7564.1236,953.2659 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7858.6376,709.9813,7848.8964,711.4334,7854.4179,712.6634,7853.1878,718.1849,7858.6376,709.9813" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[536025241394544a90bc53fb552f3a08]
-reverse link urt_message_t to urt_message_t--><path d="M3125.426,941.2588 C3140.0129,951.3423 3148.785,965.5425 3148.785,983.8594 C3148.785,1006.6221 3135.2379,1023.0272 3113.819,1033.0748 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3113.819,934.644,3117.0513,941.0901,3124.2447,940.5857,3121.0124,934.1396,3113.819,934.644" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3122.0679" y="929.6816">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3121.6131" y="1031.5187">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
-link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M3759.526,671.3649 C3829.9111,694.539 3910.0848,716.9609 3985.285,728.8594 C4008.7168,732.5669 4819.3194,724.0466 4839.285,736.8594 C4894.269,772.1451 4923.6759,841.0899 4939.1064,897.1912 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="4945.9498,895.6995,4944.0905,916.8074,4932.3809,899.1471,4945.9498,895.6995" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
-link urt_nrtsubscriber_t to urt_message_t--><path d="M3265.6425,671.3866 C3218.9901,689.4264 3172.5458,711.0953 3131.285,736.8594 C3058.1612,782.5196 2990.7556,854.4637 2945.5818,908.9549 " 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="2942.3679,912.8475,2951.1825,908.454,2945.5513,908.9918,2945.0135,903.3606,2942.3679,912.8475" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
-link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M6327.0429,690.9146 C6262.2174,705.5213 6195.032,718.9827 6131.285,728.8594 C6081.9688,736.5002 6068.6315,729.4163 6019.285,736.8594 C5679.255,788.1473 5287.0766,890.7093 5087.2393,946.1719 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="5089.0696,952.9285,5067.9247,951.5522,5085.3127,939.442,5089.0696,952.9285" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
-reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M6564.4589,699.3043 C6462.2639,784.5397 6324.837,899.1603 6260.0277,953.2143 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6574.5469,690.8904,6567.3772,691.6616,6565.3314,698.5764,6572.5012,697.8052,6574.5469,690.8904" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6557.3795" y="710.9329">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6241.1309" y="942.4476">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
-link urt_srtsubscriber_t to urt_message_t--><path d="M6344.0564,690.9257 C6274.153,706.66 6200.7843,720.522 6131.285,728.8594 C6110.5999,731.3409 3150.4891,728.7827 3131.285,736.8594 C3048.7047,771.5904 2979.9683,849.5029 2936.9159,908.6023 " 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="2933.8606,912.8241,2942.3776,907.8782,2936.792,908.7735,2935.8967,903.188,2933.8606,912.8241" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
-link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M4803.7097,707.5095 C4816.2782,716.5919 4828.2201,726.3598 4839.285,736.8594 C4885.0186,780.2566 4914.551,845.282 4932.3674,897.722 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="4939.0339,895.587,4938.5205,916.7704,4925.7117,899.8904,4939.0339,895.587" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
-link urt_frtsubscriber_t to urt_message_t--><path d="M4105.3768,707.414 C4065.1061,716.0836 4024.5451,723.5238 3985.285,728.8594 C3961.7779,732.0541 3153.1221,727.5891 3131.285,736.8594 C3048.9567,771.8095 2980.2915,849.479 2937.1893,908.457 " 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="2934.1303,912.6703,2942.6548,907.7375,2937.0679,908.6242,2936.1812,903.0373,2934.1303,912.6703" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
-link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M5346.65,728.9486 C5256.1017,787.9262 5153.0213,855.0663 5075.3877,905.632 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="5078.8055,911.7597,5058.2264,916.8098,5071.1646,900.0287,5078.8055,911.7597" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
-reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M6107.1963,562.2057 C6121.9784,571.0773 6130.285,581.7952 6130.285,594.3594 C6130.285,609.9732 6117.4568,622.7356 6095.3142,632.6467 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6095.3142,556.0721,6098.811,562.3786,6105.9773,561.5764,6102.4805,555.2699,6095.3142,556.0721" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6102.9927" y="552.4969">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6103.1052" y="630.1483">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
-link urt_hrtsubscriber_t to urt_message_t--><path d="M5011.0788,726.7353 C5005.4585,727.4774 4999.8593,728.1861 4994.285,728.8594 C4968.5965,731.9623 3155.1285,726.8087 3131.285,736.8594 C3048.733,771.6576 2979.992,849.5591 2936.9307,908.6376 " 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="2933.8748,912.8578,2942.3932,907.9144,2936.8074,908.8081,2935.9137,903.2223,2933.8748,912.8578" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
-reverse link urt_publisher_t to urt_topic_t--><path d="M2687.11,594.3594 C2694.4175,594.3594 2701.725,594.3594 2709.0325,594.3594 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2673.9564,594.3594,2679.9564,598.3594,2685.9564,594.3594,2679.9564,590.3594,2673.9564,594.3594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2681.7497" y="591.277">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2693.3664" y="591.1345">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
-link urt_publisher_t to urt_message_t--><path d="M2392.7052,658.8959 C2498.0927,728.0009 2665.0445,837.4752 2775.6174,909.9805 " 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="2779.8546,912.759,2774.5219,904.4788,2775.6734,910.0172,2770.135,911.1687,2779.8546,912.759" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
-reverse link urt_topic_t to urt_topic_t--><path d="M3104.9079,547.3034 C3119.4198,557.9801 3128.285,573.6654 3128.285,594.3594 C3128.285,620.0762 3114.594,638.0579 3093.3889,648.3044 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3093.3889,540.4144,3096.4851,546.9269,3103.6876,546.5737,3100.5913,540.0611,3093.3889,540.4144" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3101.0492" y="535.0823">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3101.3617" y="647.1867">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
-reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M3014.5331,461.5725 C3052.8635,429.3774 3098.7654,402.5032 3148.785,396.8594 C3174.0138,394.0128 4951.5562,394.0128 4976.785,396.8594 C5064.7001,406.7789 5156.695,431.2924 5240.7231,459.8069 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3004.4411,470.3196,3011.5949,469.4124,3013.509,462.46,3006.3552,463.3671,3004.4411,470.3196" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3002.4834" y="459.3727">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="5223.3469" y="448.6688">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
-reverse link urt_topic_t to urt_message_t--><path d="M2896.7008,731.7109 C2894.661,792.8247 2892.3449,862.2196 2890.6595,912.7164 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2897.145,718.4026,2892.9471,724.2658,2896.7447,730.3959,2900.9426,724.5327,2897.145,718.4026" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2888.649" y="738.4873">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2882.4919" y="901.699">1</text><!--MD5=[05f2c35569573d3273c65d3342945557]
-reverse link urt_service_t to urt_service_t--><path d="M9559.6453,553.6948 C9574.5414,563.9122 9583.285,577.4671 9583.285,594.3594 C9583.285,615.1499 9570.0402,630.8849 9548.3815,641.5645 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="9548.3815,547.1543,9551.5616,553.6263,9558.7589,553.1801,9555.5788,546.708,9548.3815,547.1543" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9556.4856" y="542.7637">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="9556.6981" y="639.6817">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
-reverse link urt_service_t to urt_servicefunc_t--><path d="M9226.5645,718.5231 C9212.7884,801.0738 9195.7467,903.1928 9187.3914,953.2605 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="9228.7456,705.4532,9223.8125,710.7129,9226.7702,717.2895,9231.7033,712.0298,9228.7456,705.4532" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9219.1608" y="725.8472">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="9161.9696" y="942.5033">0..1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
-reverse link urt_core_t to urt_node_t--><path d="M3085.9281,253.2797 C3805.8266,259.5781 6425.0096,289.7914 7248.285,400.8594 C7378.9779,418.4912 7519.3591,448.0381 7646.0266,478.8014 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3072.8812,253.1664,3078.8462,257.2184,3084.8807,253.2707,3078.9157,249.2187,3072.8812,253.1664" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3080.8379" y="265.6426">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7594.7194" y="467.9806">0..1</text><!--MD5=[250695c91040478b50550bc37a8775c7]
-reverse link urt_core_t to urt_topic_t--><path d="M2901.285,406.3732 C2901.285,427.711 2901.285,449.3988 2901.285,470.0942 " fill="none" id="urt_core_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2901.285,393.1447,2897.285,399.1447,2901.285,405.1447,2905.285,399.1447,2901.285,393.1447" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2893.0913" y="412.4293">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2876.5538" y="459.1335">0..1</text><!--MD5=[8d0a227ec56585cdbc167f8316b34b64]
-reverse link urt_core_t to urt_service_t--><path d="M3086.2549,253.6721 C4069.7373,263.6573 8651.6002,314.6611 8938.285,400.8594 C8996.9306,418.4925 9055.3831,450.4353 9105.4121,483.353 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3073.0914,253.5387,3079.0505,257.5993,3085.0908,253.6604,3079.1317,249.5997,3073.0914,253.5387" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3080.5611" y="250.0899">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="9071.0738" y="472.4467">0..1</text><!--MD5=[a42c921bb2ae3ef3cd6ba12c97758939]
-reverse link urt_core_t to urt_osEventSource_t--><path d="M3086.0564,252.6433 C3899.0415,256.7469 7239.0738,280.4524 9978.285,400.8594 C11095.701,449.9774 14236.2442,-80.0082 15000.285,736.8594 C15132.3505,878.056 15136.2772,1034.4406 15000.285,1171.8594 C14974.0719,1198.3475 12353.9062,1192.9574 12317.285,1199.8594 C12240.5772,1214.3165 12157.8017,1247.4434 12099.8635,1273.767 " fill="none" id="urt_core_t&lt;-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3072.8166,252.5771,3078.7965,256.6071,3084.8164,252.6372,3078.8366,248.6072,3072.8166,252.5771" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3080.7704" y="265.0266">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="12105.0608" y="1262.6604">1</text><!--MD5=[b9eb8460041bde16ab6e44c28de7b0fc]
-reverse link urt_core_t to urt_osMutex_t--><path d="M3086.3167,253.9348 C4131.0739,265.9116 9257.0007,328.1975 9582.285,400.8594 C9941.9247,481.1955 10057.6714,500.3766 10340.285,736.8594 C10406.1847,792.0023 10456.8395,879.4882 10484.3111,934.1862 " fill="none" id="urt_core_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3073.0944,253.7835,3079.0482,257.8519,3085.0936,253.9209,3079.1398,249.8524,3073.0944,253.7835" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3080.5114" y="250.6247">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10472.5179" y="923.207">1</text><!--MD5=[53eb1ed31b8ffcbb98ca8a87ecf3ad40]
-link urt_core_t to urt_status_t--><path d="M2729.4871,263.825 C2270.1995,299.8466 1033.1174,424.6571 802.285,736.8594 C687.3456,892.3158 667.8993,1032.8693 802.285,1171.8594 C834.3936,1205.0681 1591.0826,1181.0781 1633.285,1199.8594 C1666.111,1214.468 1693.9314,1244.2754 1712.9703,1269.3261 " fill="none" id="urt_core_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1716.1856,1273.6221,1713.9952,1264.0199,1713.1896,1269.6191,1707.5904,1268.8135,1716.1856,1273.6221" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f6f8ae0abb3c85244c8639cf15039f58]
-link urt_core_t to urt_nodestage_t--><path d="M2729.6681,256.593 C2202.7447,271.9331 639.1294,323.787 563.285,400.8594 C510.4851,454.5142 518.4851,1141.6723 547.285,1171.8594 C592.9712,1219.7461 1080.9358,1175.0274 1142.285,1199.8594 C1159.3285,1206.758 1175.6219,1216.9948 1190.5003,1228.5063 " fill="none" id="urt_core_t-&gt;urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1194.6587,1231.7852,1190.0681,1223.0716,1190.7324,1228.6893,1185.1147,1229.3537,1194.6587,1231.7852" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e894174e7ccaed139fbaaa0f9b9ae8dc]
-link urt_core_t to urt_topicid_t--><path d="M2729.4379,256.2221 C2194.9464,270.6184 592.9289,320.3402 517.285,400.8594 C269.6804,664.4224 482.8432,961.9129 777.285,1171.8594 C828.5959,1208.4457 860.6112,1170.3333 916.285,1199.8594 C930.596,1207.4491 944.3041,1217.4231 956.9289,1228.2823 " fill="none" id="urt_core_t-&gt;urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="960.8117,1231.6792,956.6717,1222.7427,957.0485,1228.387,951.4042,1228.7638,960.8117,1231.6792" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[972bd788fc5a0ee0badfa994920a3622]
-link urt_core_t to urt_serviceid_t--><path d="M2729.7397,253.1823 C2256.3683,258.3334 956.8409,283.1582 807.285,400.8594 C535.4281,614.8122 460.6423,922.3532 700.285,1171.8594 C753.7439,1227.5186 1323.068,1170.1283 1394.285,1199.8594 C1410.7284,1206.7241 1426.2926,1216.9436 1440.4126,1228.4484 " fill="none" id="urt_core_t-&gt;urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1444.3564,1231.7257,1439.9908,1222.8972,1440.5108,1228.5301,1434.8779,1229.0501,1444.3564,1231.7257" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[addb2e74eebae0995b3a6bf162197d46]
-reverse link urt_node_t to urt_osThread_t--><path d="M8755.9826,711.4347 C8814.8157,718.4376 8873.5024,724.4286 8930.285,728.8594 C8953.7139,730.6876 12292.1809,728.8807 12314.285,736.8594 C12352.4423,750.6327 12389.2006,771.6042 12423.1048,795.6229 " fill="none" id="urt_node_t&lt;-urt_osThread_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8743.0303,709.877,8748.5097,714.5648,8754.9444,711.3099,8749.465,706.622,8743.0303,709.877" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8780.6335" y="730.2047">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="12407.5196" y="785.0441">1</text><!--MD5=[71f626b81c482d35e653d2b548781872]
-reverse link urt_node_t to urt_nodestage_t--><path d="M7410.5971,711.5663 C7355.828,718.5263 7301.1839,724.4722 7248.285,728.8594 C7237.9697,729.7149 1293.7131,729.651 1286.285,736.8594 C1154.1867,865.0522 1203.2626,1106.8891 1240.8968,1231.7765 " fill="none" id="urt_node_t&lt;-urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="7423.771,709.8731,7417.31,706.6706,7411.8689,711.4029,7418.3299,714.6053,7423.771,709.8731" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7372.7365" y="730.2005">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1230.0032" y="1220.8475">1</text><!--MD5=[ecbb69d8dc7b8a34ff21337736794c2a]
-reverse link urt_node_t to urt_osEventListener_t--><path d="M8755.4261,711.4331 C8814.445,718.4502 8873.3226,724.444 8930.285,728.8594 C8940.6584,729.6635 14915.9328,729.4974 14923.285,736.8594 C15059.9011,873.6579 15059.3911,1034.5535 14923.285,1171.8594 C14892.0929,1203.3266 11776.685,1190.9388 11733.285,1199.8594 C11668.4254,1213.1909 11599.5741,1242.544 11548.3116,1267.7177 " fill="none" id="urt_node_t&lt;-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="8742.4329,709.8721,8747.9129,714.5592,8754.3472,711.3035,8748.8672,706.6163,8742.4329,709.8721" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8859.4664" y="726.8416">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="11552.4283" y="1256.6911">1</text><!--MD5=[a052f483eba01ccbd89eefaa281cffa6]
-reverse link urt_node_t to urt_osThreadFunction_t--><path d="M8755.4259,711.4349 C8814.4449,718.4516 8873.3226,724.4449 8930.285,728.8594 C8940.8904,729.6813 15049.7683,729.3329 15057.285,736.8594 C15193.9031,873.6559 15192.8573,1034.0264 15057.285,1171.8594 C15024.303,1205.3915 13408.4001,1183.5475 13364.285,1199.8594 C13320.3674,1216.0982 13280.5079,1253.3646 13255.8922,1280.2425 " fill="none" id="urt_node_t&lt;-urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8742.4328,709.874,8747.9129,714.5611,8754.3471,711.3053,8748.8671,706.6182,8742.4328,709.874" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="8789.0373" y="730.2015">0..*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="13252.3487" y="1269.4816">1</text><!--MD5=[0cba389305cd35ebcbacaedacb3fbe88]
-link urt_node_t to urt_status_t--><path d="M7423.7704,709.8657 C7364.6002,717.557 7305.4244,724.117 7248.285,728.8594 C7238.8297,729.6442 1790.2353,730.4008 1783.285,736.8594 C1633.0382,876.4766 1696.0664,1161.172 1726.9664,1268.578 " fill="none" id="urt_node_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1728.4126,1273.5573,1729.7434,1263.7987,1727.0179,1268.7557,1722.0609,1266.0303,1728.4126,1273.5573" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b00c0c61b5ae38465e12763fb588229]
-link urt_nodeSetupCallback_t to urt_osEventMask_t--><path d="M8073.1061,1014.4987 C8115.3063,1058.5697 8200.2721,1138.2433 8291.285,1171.8594 C8513.9117,1254.0878 10164.0806,1296.6685 10667.1319,1307.8347 " fill="none" id="urt_nodeSetupCallback_t-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10672.2672,1307.9485,10663.3581,1303.7499,10667.2684,1307.8376,10663.1807,1311.7479,10672.2672,1307.9485" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[aa0b59559007c8ad9b783f6dc5ed8ad9]
-link urt_nodeLoopCallback_t to urt_osEventMask_t--><path d="M8653.1852,1014.6013 C8709.6484,1058.4169 8820.9706,1137.3362 8930.285,1171.8594 C9253.5756,1273.9597 10284.1806,1301.8231 10667.1564,1308.7515 " fill="none" id="urt_nodeLoopCallback_t-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10672.1897,1308.842,10663.2632,1304.6806,10667.1905,1308.752,10663.1192,1312.6793,10672.1897,1308.842" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b3fa89608aace108b23bbfcd22712ec]
-link urt_publisher_t to urt_config--><path d="M1914.4973,605.4262 C1297.8606,625.2671 140.9912,671.0558 79.285,736.8594 C-21.1916,844.0078 -15.1627,1285.3606 79.285,1397.8594 C179.624,1517.3754 637.386,1551.3836 878.9619,1561.0416 " fill="none" id="urt_publisher_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="884.2736,1561.2515,875.4386,1556.8992,879.2775,1561.054,875.1227,1564.893,884.2736,1561.2515" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[48a81098d0aa451a4923659bb2bbea3c]
-link urt_publisher_t to urt_status_t--><path d="M1914.3924,606.2208 C1513.559,622.7455 930.0559,659.8116 860.285,736.8594 C795.3989,808.513 793.1799,1102.2796 860.285,1171.8594 C919.9474,1233.722 1554.8086,1164.8162 1633.285,1199.8594 C1666.0926,1214.5094 1693.9139,1244.3149 1712.9577,1269.3542 " fill="none" id="urt_publisher_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1716.174,1273.6482,1713.9799,1264.0468,1713.1764,1269.6463,1707.5769,1268.8429,1716.174,1273.6482" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c16173558393ca1d9128284d70afa235]
-link urt_publisher_t to urt_delay_t--><path d="M1914.5188,634.053 C1697.2625,660.6923 1461.3339,697.9279 1428.285,736.8594 C1303.1673,884.2478 1296.2028,1030.6785 1428.285,1171.8594 C1460.2377,1206.0132 1805.8279,1180.2419 1848.285,1199.8594 C1875.7433,1212.5466 1899.9249,1235.5186 1918.4071,1257.2861 " fill="none" id="urt_publisher_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1921.7913,1261.3338,1919.0871,1251.8634,1918.5841,1257.4979,1912.9497,1256.9949,1921.7913,1261.3338" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3f75a4ca5db56e37c381a718c71f2950]
-reverse link urt_topic_t to urt_topicid_t--><path d="M2708.3513,723.2185 C2702.6804,725.2872 2696.9865,727.1765 2691.285,728.8594 C2679.1697,732.4355 881.1976,727.9076 872.285,736.8594 C735.8787,873.867 779.2513,1002.3823 872.285,1171.8594 C883.4392,1192.1786 898.1396,1185.4363 916.285,1199.8594 C928.5557,1209.6129 940.9642,1220.5259 952.8407,1231.5986 " fill="none" id="urt_topic_t&lt;-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2720.7229,718.4135,2713.6818,716.857,2709.5369,722.7579,2716.578,724.3143,2720.7229,718.4135" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2701.4761" y="738.4989">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="937.6761" y="1220.9248">1</text><!--MD5=[2ea2859f8de074b5c128ff5997404a58]
-reverse link urt_topic_t to urt_osMutex_t--><path d="M3105.89,720.8346 C3114.3311,723.8599 3122.812,726.5588 3131.285,728.8594 C3155.4417,735.4185 10318.1838,725.1078 10340.285,736.8594 C10418.5537,778.476 10466.8379,874.9436 10490.2293,934.2547 " fill="none" id="urt_topic_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3093.5569,716.1768,3097.7567,722.0387,3104.783,720.4165,3100.5832,714.5546,3093.5569,716.1768" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3101.2238" y="717.7104">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10479.2683" y="923.2852">1</text><!--MD5=[ee40dc1875ed5325eec4e6c8c8102744]
-reverse link urt_topic_t to urt_osEventSource_t--><path d="M3105.8888,720.8393 C3114.3302,723.8633 3122.8115,726.5606 3131.285,728.8594 C3151.0431,734.2196 14908.8139,722.3784 14923.285,736.8594 C15059.946,873.6131 15059.256,1034.4197 14923.285,1171.8594 C14897.8281,1197.5913 12352.8543,1193.15 12317.285,1199.8594 C12240.5795,1214.3283 12157.8037,1247.4538 12099.8648,1273.7738 " fill="none" id="urt_topic_t&lt;-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3093.5552,716.1833,3097.7558,722.0446,3104.7818,720.4215,3100.5813,714.5602,3093.5552,716.1833" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3100.558" y="738.5582">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="12114.5373" y="1262.6685">1</text><!--MD5=[f5e2f818dfb7c47ef0a661b061d2efd0]
-link urt_topic_t to urt_config--><path d="M2720.7274,718.4287 C2710.9898,722.4311 2701.1488,725.9546 2691.285,728.8594 C2674.3579,733.8444 162.7429,724.3622 150.285,736.8594 C46.5825,840.8889 56.6124,1284.7144 150.285,1397.8594 C241.0751,1507.5226 652.5232,1545.7625 878.8709,1558.6371 " fill="none" id="urt_topic_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="884.183,1558.9366,875.4224,1554.4363,879.1909,1558.6551,874.9721,1562.4237,884.183,1558.9366" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a01366c261f16bb61c03de8616a1256c]
-reverse link urt_topic_t to urt_osTimer_t--><path d="M3105.8891,720.8382 C3114.3304,723.8625 3122.8117,726.5602 3131.285,728.8594 C3199.9211,747.4837 13303.8886,717.3734 13372.285,736.8594 C13502.5451,773.9702 13631.8935,867.0499 13706.5785,927.7534 " fill="none" id="urt_topic_t&lt;-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3093.5556,716.1817,3097.756,722.0431,3104.7821,720.4202,3100.5817,714.5588,3093.5556,716.1817" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3101.2224" y="733.3014">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="13672.7505" y="916.6778">0..1</text><!--MD5=[23aed2412a22c58889d68b772ca9654f]
-link urt_topic_t to urt_status_t--><path d="M2720.7224,718.4117 C2710.9861,722.4186 2701.1467,725.9477 2691.285,728.8594 C2679.5629,732.3204 939.9079,728.1973 931.285,736.8594 C863.0869,805.3682 864.3073,1102.157 931.285,1171.8594 C985.3721,1228.1468 1562.065,1167.9002 1633.285,1199.8594 C1666.0657,1214.5694 1693.8883,1244.3719 1712.9395,1269.3949 " fill="none" id="urt_topic_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1716.1571,1273.6859,1713.9579,1264.0857,1713.1574,1269.6856,1707.5575,1268.8852,1716.1571,1273.6859" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[40d97a101b79fe2b6aede42ee911a5e3]
-reverse link urt_message_t to urt_osTime_t--><path d="M2933.479,901.461 C2977.7678,832.5247 3052.5731,743.7151 3148.785,732.8594 C3195.116,727.6318 9816.454,727.6318 9862.785,732.8594 C9975.8959,745.6218 10055.2961,872.34 10090.261,940.6848 " fill="none" id="urt_message_t&lt;-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2926.3676,912.7724,2932.9474,909.8218,2932.7545,902.6133,2926.1747,905.5639,2926.3676,912.7724" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2921.8824" y="901.7608">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10078.4322" y="929.653">1</text><!--MD5=[7527c1e2a180419f2ba2182e8f11877d]
-reverse link urt_message_t to urt_osMutex_t--><path d="M2933.479,901.461 C2977.7678,832.5247 3052.5731,743.7151 3148.785,732.8594 C3173.5377,730.0665 10298.0324,730.0665 10322.785,732.8594 C10419.7882,743.8043 10471.7232,864.0961 10493.9195,934.0975 " fill="none" id="urt_message_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2926.3676,912.7724,2932.9474,909.8218,2932.7545,902.6133,2926.1747,905.5639,2926.3676,912.7724" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2930.7074" y="901.7608">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10492.661" y="923.464">1</text><!--MD5=[107def0b4b669b7e1be29db2eeb634c8]
-reverse link urt_message_t to urt_osCondvar_t--><path d="M2933.479,901.461 C2977.7678,832.5247 3052.5731,743.7151 3148.785,732.8594 C3186.7801,728.5724 14122.79,728.5724 14160.785,732.8594 C14304.5957,749.0857 14438.9573,865.6475 14506.5957,934.0805 " fill="none" id="urt_message_t&lt;-urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2926.3676,912.7724,2932.9474,909.8218,2932.7545,902.6133,2926.1747,905.5639,2926.3676,912.7724" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2921.8824" y="901.7608">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="14491.9187" y="923.4447">1</text><!--MD5=[2bb9471b6fda5815e085c87a24a67f11]
-link urt_message_t to urt_config--><path d="M2774.9051,1054.8663 C2620.1379,1148.4297 2331.2771,1311.2413 2063.285,1397.8594 C1758.7117,1496.3011 1384.1156,1538.3224 1179.7947,1554.97 " fill="none" id="urt_message_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1174.7,1555.3827,1183.9937,1558.6427,1179.6837,1554.9788,1183.3475,1550.6688,1174.7,1555.3827" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[570f5794230ed2cf7946261591bb6cd1]
-link urt_message_t to urt_status_t--><path d="M2662.7164,1014.9069 C2400.4443,1053.731 1985.8999,1124.3333 1848.285,1199.8594 C1817.3134,1216.8573 1789.6829,1245.6491 1770.1233,1269.6497 " fill="none" id="urt_message_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1766.8106,1273.7637,1775.5708,1269.2626,1769.9465,1269.8693,1769.3398,1264.2451,1766.8106,1273.7637" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0614ecc40a2323571c35dab79c646fe8]
-reverse link urt_basesubscriber_t to urt_osEventListener_t--><path d="M5080.5664,1013.1173 C5278.553,1057.7362 5676.5203,1140.8707 6019.285,1171.8594 C6304.1275,1197.6114 10885.8693,1148.8339 11167.285,1199.8594 C11240.1736,1213.0754 11318.5701,1242.5194 11377.0779,1267.7624 " fill="none" id="urt_basesubscriber_t&lt;-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5067.8173,1010.2349,5072.7875,1015.4595,5079.5219,1012.8811,5074.5517,1007.6564,5067.8173,1010.2349" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5075.6468" y="1008.5868">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="11353.9043" y="1256.743">1</text><!--MD5=[60df476f9c89db6ca6af2af6f6dc5b29]
-reverse link urt_basesubscriber_t to urt_osTime_t--><path d="M5080.4037,944.8322 C5280.1474,884.8089 5684.4932,772.6088 6036.785,732.8594 C6063.1869,729.8805 9836.3831,729.8805 9862.785,732.8594 C9975.8959,745.6218 10055.2961,872.34 10090.261,940.6848 " fill="none" id="urt_basesubscriber_t&lt;-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5067.8373,948.6208,5074.7365,950.7186,5079.3265,945.1569,5072.4273,943.0591,5067.8373,948.6208" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5075.6682" y="942.833">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10087.7072" y="929.653">1</text><!--MD5=[45abaca6e1a4b5e9e9e5f81f99145f21]
-link urt_basesubscriber_t to urt_config--><path d="M4931.6356,1051.2483 C4913.2228,1093.1882 4883.304,1144.239 4839.285,1171.8594 C4524.0885,1369.6345 1847.3498,1522.0054 1179.6856,1557.1725 " fill="none" id="urt_basesubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1174.3357,1557.4541,1183.5335,1560.9754,1179.3288,1557.1912,1183.113,1552.9865,1174.3357,1557.4541" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[fb477f5fd8787be5b7605dfea5d27dc3]
-link urt_basesubscriber_t to urt_status_t--><path d="M4933.0567,1051.2258 C4915.0507,1094.0155 4885.0468,1146.0419 4839.285,1171.8594 C4766.9202,1212.6856 1924.6757,1167.1805 1848.285,1199.8594 C1814.8474,1214.1636 1786.5936,1244.3407 1767.3807,1269.6236 " fill="none" id="urt_basesubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1764.3753,1273.6362,1772.9722,1268.8306,1767.3727,1269.6342,1766.569,1264.0347,1764.3753,1273.6362" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c18fda7f16d94dac1a94387e8df76308]
-reverse link urt_nrtsubscriber_t to urt_delay_t--><path d="M3349.9158,675.5902 C3284.8093,697.3113 3211.9792,717.8092 3143.285,728.8594 C3132.0131,730.6726 1507.3383,728.7669 1499.285,736.8594 C1431.0979,805.3792 1433.7215,1100.8251 1499.285,1171.8594 C1552.0556,1229.0333 1777.877,1166.7491 1848.285,1199.8594 C1877.2391,1213.4755 1902.6116,1238.4177 1921.4758,1261.2141 " fill="none" id="urt_nrtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3362.4045,671.3775,3355.4407,669.5051,3351.034,675.2131,3357.9978,677.0855,3362.4045,671.3775" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3334.8272" y="691.7491">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1918.2683" y="1250.2389">0..2</text><!--MD5=[cf4e9b81c32b9b138596f59fa1fb3fd6]
-link urt_nrtsubscriber_t to urt_config--><path d="M3362.6796,671.3774 C3294.4281,694.6686 3216.5123,717.1599 3143.285,728.8594 C3133.2662,730.4601 228.4494,729.6754 221.285,736.8594 C117.5612,840.8676 128.5241,1283.9658 221.285,1397.8594 C302.6385,1497.7467 668.5552,1539.7119 878.9968,1555.8377 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="884.2483,1556.2372,875.5777,1551.566,879.2627,1555.8579,874.9708,1559.5429,884.2483,1556.2372" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[249ee4d4a0d0f021e94ff447977fc36f]
-link urt_nrtsubscriber_t to urt_status_t--><path d="M3362.4121,671.4247 C3294.2223,694.6808 3216.4131,717.1383 3143.285,728.8594 C3128.6043,731.2125 1012.7787,726.3264 1002.285,736.8594 C934.0592,805.3406 935.4636,1102.0071 1002.285,1171.8594 C1050.7974,1222.5722 1569.3206,1170.9838 1633.285,1199.8594 C1666.0327,1214.6428 1693.8569,1244.4417 1712.9171,1269.4447 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1716.1363,1273.7321,1713.931,1264.1333,1713.1341,1269.7337,1707.5337,1268.9368,1716.1363,1273.7321" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[af3bb42c2cc648980c9a8c0bd0e49df3]
-reverse link urt_srtsubscriber_t to urt_delay_t--><path d="M6331.6809,693.7274 C6265.5323,708.3117 6196.6958,721.0389 6131.285,728.8594 C6116.5393,730.6224 1864.7763,726.3485 1854.285,736.8594 C1717.7056,873.6945 1794.1059,988.1306 1854.285,1171.8594 C1865.0928,1204.8558 1887.0489,1236.489 1907.8311,1261.2195 " fill="none" id="urt_srtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6344.4355,690.8853,6337.7091,688.2861,6332.7228,693.4954,6339.4492,696.0945,6344.4355,690.8853" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6309.6501" y="710.9274">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1875.3298" y="1250.245">0..2</text><!--MD5=[57f9c03e706aa97ce919c51d40a1f0dd]
-link urt_srtsubscriber_t to urt_config--><path d="M7035.8912,690.8835 C7105.6698,706.6213 7178.9082,720.4954 7248.285,728.8594 C7264.3494,730.7961 9566.8632,725.3983 9578.285,736.8594 C9646.5212,805.3303 9645.0508,1101.9539 9578.285,1171.8594 C9276.2392,1488.1094 2297.0684,1555.0767 1179.5895,1563.7839 " fill="none" id="urt_srtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1174.3055,1563.825,1183.3364,1567.7547,1179.3053,1563.786,1183.274,1559.7549,1174.3055,1563.825" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ddfd53c980ad9ebb8f86954377552edb]
-link urt_srtsubscriber_t to urt_status_t--><path d="M6344.4357,690.8873 C6274.4196,706.6526 6200.9116,720.5361 6131.285,728.8594 C6116.2462,730.6572 1780.2521,726.4133 1769.285,736.8594 C1620.9974,878.1034 1691.842,1161.8171 1725.7646,1268.7699 " fill="none" id="urt_srtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1727.351,1273.728,1728.4178,1263.9371,1725.8271,1268.9658,1720.7984,1266.3752,1727.351,1273.728" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b350769e483c42ea2704e388ea6a04f2]
-reverse link urt_frtsubscriber_t to urt_delay_t--><path d="M4093.8945,710.0876 C4057.4158,717.6636 4020.8202,724.1395 3985.285,728.8594 C3968.6601,731.0676 1582.1242,724.9809 1570.285,736.8594 C1502.0447,805.3262 1505.4467,1100.1626 1570.285,1171.8594 C1611.9316,1217.9113 1792.3689,1172.8669 1848.285,1199.8594 C1876.9782,1213.7105 1902.2487,1238.5223 1921.1171,1261.1796 " fill="none" id="urt_frtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4106.7906,707.3631,4100.0933,704.6897,4095.0498,709.8436,4101.747,712.517,4106.7906,707.3631" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4071.6152" y="727.8914">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1917.8591" y="1250.1995">0..4</text><!--MD5=[7be759a40cf40f1b9231b6649fee3f4f]
-link urt_frtsubscriber_t to urt_config--><path d="M4106.7961,707.4044 C4066.0645,716.1455 4025.0126,723.6032 3985.285,728.8594 C3973.3061,730.4443 513.8379,728.3238 505.285,736.8594 C297.342,944.3826 329.8067,1160.7699 503.285,1397.8594 C548.261,1459.3273 740.2543,1508.8586 879.3059,1537.5713 " fill="none" id="urt_frtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="884.2298,1538.5839,876.2202,1532.8528,879.3323,1537.5766,874.6085,1540.6887,884.2298,1538.5839" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[29df74e07807e6378398cb43d45b3c27]
-link urt_frtsubscriber_t to urt_status_t--><path d="M4106.7936,707.3861 C4066.0626,716.1307 4025.0114,723.5943 3985.285,728.8594 C3975.2615,730.1879 1080.4249,729.6999 1073.285,736.8594 C1005.0253,805.3069 1006.6599,1101.8198 1073.285,1171.8594 C1116.2237,1216.9987 1576.575,1174.0668 1633.285,1199.8594 C1665.9911,1214.7346 1693.8173,1244.5291 1712.8888,1269.5071 " fill="none" id="urt_frtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1716.1101,1273.7899,1713.897,1264.1929,1713.1046,1269.794,1707.5036,1269.0016,1716.1101,1273.7899" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bc1cc9ca99c1274e9c895cd105ca1d4c]
-reverse link urt_hrtsubscriber_t to urt_delay_t--><path d="M4997.9471,728.4159 C4996.7252,728.5655 4995.5045,728.7133 4994.285,728.8594 C4982.7253,730.2445 1649.5076,728.6172 1641.285,736.8594 C1573.013,805.2945 1577.6774,1099.0685 1641.285,1171.8594 C1671.8292,1206.8133 1806.8318,1178.9706 1848.285,1199.8594 C1876.6181,1214.1368 1901.7776,1238.8356 1920.6695,1261.3152 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5011.0806,726.7506,5004.6251,723.5372,4999.1759,728.2602,5005.6315,731.4736,5011.0806,726.7506" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4995.3996" y="725.5756">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1889.9736" y="1250.3542">0..5</text><!--MD5=[47265b8b91af56102ad98d46909bef01]
-reverse link urt_hrtsubscriber_t to urt_osTimer_t--><path d="M6108.2904,726.0376 C6115.9949,727.0379 6123.6628,727.98 6131.285,728.8594 C6181.2384,734.6228 13323.9268,723.0738 13372.285,736.8594 C13502.5391,773.9913 13631.8892,867.0646 13706.5763,927.7612 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6095.2915,724.2998,6100.7085,729.0596,6107.1857,725.89,6101.7687,721.1302,6095.2915,724.2998" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6102.9697" y="723.0903">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="13698.798" y="916.6866">1</text><!--MD5=[c255c4720016d78ffa1594ef43d10003]
-link urt_hrtsubscriber_t to urt_config--><path d="M5011.0811,726.7549 C5005.4601,727.4908 4999.8601,728.1929 4994.285,728.8594 C4979.298,730.651 658.75,727.0422 647.285,736.8594 C422.7804,929.0981 405.0838,1155.5188 574.285,1397.8594 C610.4834,1449.705 760.9994,1498.234 879.1304,1529.4715 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="884.0237,1530.7605,876.3396,1524.5998,879.1886,1529.4868,874.3017,1532.3359,884.0237,1530.7605" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[acfaba0e8df90d54cbfcf78ceb19e2ee]
-link urt_hrtsubscriber_t to urt_status_t--><path d="M5011.0809,726.753 C5005.4599,727.4895 4999.86,728.1923 4994.285,728.8594 C4981.0116,730.4478 1153.7279,727.3969 1144.285,736.8594 C1076.0024,805.284 1077.9139,1101.5791 1144.285,1171.8594 C1181.6513,1211.4265 1583.8277,1177.149 1633.285,1199.8594 C1665.822,1214.8001 1693.5699,1244.432 1712.6502,1269.3237 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1715.8739,1273.5924,1713.642,1263.9997,1712.8606,1269.6024,1707.258,1268.821,1715.8739,1273.5924" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[19bf7f91edc926705d1714d4ed8cf052]
-link urt_srtusefulnessfunc_t to urt_delay_t--><path d="M6074.022,1014.3676 C5857.2778,1057.3323 5442.2867,1134.5756 5085.285,1171.8594 C4475.1949,1235.5747 2510.1467,1294.9464 2052.2763,1308.1425 " fill="none" id="urt_srtusefulnessfunc_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2046.9593,1308.2956,2056.0708,1312.0347,2051.9572,1308.1516,2055.8404,1304.038,2046.9593,1308.2956" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[85137379eadac9ac066ccd1aa3005a20]
-reverse link urt_service_t to urt_serviceid_t--><path d="M9007.9419,709.667 C8984.7951,717.4176 8961.3451,724.0448 8938.285,728.8594 C8913.8807,733.9546 1779.0803,723.1084 1758.285,736.8594 C1589.6163,848.3922 1536.6635,1102.3597 1520.3503,1231.8173 " fill="none" id="urt_service_t&lt;-urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="9020.3886,705.3832,9013.4135,703.5535,9009.0418,709.2884,9016.017,711.1181,9020.3886,705.3832" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8996.1537" y="725.7722">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1512.6329" y="1220.892">1</text><!--MD5=[bfc39859b663e58a9d342532110a4ed9]
-reverse link urt_service_t to urt_osMutex_t--><path d="M9561.3719,658.3899 C9705.7045,685.0884 9879.5228,713.426 10037.285,728.8594 C10054.0442,730.4989 10325.5181,728.7665 10340.285,736.8594 C10417.9078,779.4 10466.3439,875.316 10489.9509,934.3204 " fill="none" id="urt_service_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="9548.3854,655.9774,9553.5539,661.006,9560.1835,658.1692,9555.0151,653.1406,9548.3854,655.9774" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9556.4896" y="654.4774">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10488.0758" y="923.3601">1</text><!--MD5=[33249c42c81fffc5b10022c232aa2b33]
-link urt_service_t to urt_config--><path d="M9020.3888,705.3842 C8993.2369,714.9777 8965.4896,723.18 8938.285,728.8594 C8887.8719,739.384 1572.29,724.5406 1522.285,736.8594 C1091.2622,843.0429 867.186,820.1211 637.285,1199.8594 C591.7098,1275.1382 588.7626,1324.4457 637.285,1397.8594 C690.8276,1478.8685 792.5289,1520.7093 878.9227,1542.2505 " fill="none" id="urt_service_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="883.8058,1543.4506,876.0206,1537.418,878.9503,1542.2572,874.1112,1545.1868,883.8058,1543.4506" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ac5bbcedbd2eba97f2e594f2b75734f9]
-reverse link urt_service_t to urt_delay_t--><path d="M9007.9418,709.6664 C8984.795,717.4171 8961.345,724.0446 8938.285,728.8594 C8926.3276,731.3561 1910.9176,728.217 1902.285,736.8594 C1833.9702,805.2519 1884.4777,1076.8471 1902.285,1171.8594 C1908.0557,1202.649 1920.4351,1235.386 1931.8867,1261.3509 " fill="none" id="urt_service_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="9020.3885,705.3826,9013.4134,703.553,9009.0417,709.2879,9016.0169,711.1175,9020.3885,705.3826" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9004.7161" y="725.7716">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1888.3226" y="1250.8151">0..2</text><!--MD5=[5471b15d17b5493f5e528354308bf7b4]
-link urt_service_t to urt_status_t--><path d="M9020.3885,705.3828 C8993.2366,714.9766 8965.4895,723.1793 8938.285,728.8594 C8926.2545,731.3713 1868.8123,729.0958 1859.285,736.8594 C1838.3234,753.9407 1770.1342,1138.3602 1747.5928,1268.3495 " fill="none" id="urt_service_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1746.682,1273.6067,1752.1597,1265.4216,1747.5356,1268.6801,1744.2771,1264.0559,1746.682,1273.6067" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0826203957815bb9ddac9132e239afa7]
-link urt_servicefunc_t to urt_delay_t--><path d="M9155.2397,1014.5439 C9113.7609,1059.0624 9029.595,1139.7448 8938.285,1171.8594 C8598.2897,1291.4389 2864.5437,1308.8019 2051.796,1310.6651 " fill="none" id="urt_servicefunc_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2046.7896,1310.6765,2055.7987,1314.6559,2051.7896,1310.665,2055.7804,1306.6559,2046.7896,1310.6765" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3a1e539c88376aaf116c25a44ec54d4f]
-link urt_servicefunc_t to urt_status_t--><path d="M9155.647,1014.3616 C9114.3737,1059.042 9030.1013,1140.3877 8938.285,1171.8594 C8845.1324,1203.7892 1938.9262,1161.3742 1848.285,1199.8594 C1814.6913,1214.1229 1786.359,1244.4673 1767.1531,1269.8295 " fill="none" id="urt_servicefunc_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1764.1497,1273.8539,1772.7383,1269.0335,1767.1402,1269.8468,1766.327,1264.2487,1764.1497,1273.8539" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f0b45c138270280c4ccd65b0e18f34c2]
+<?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="1807px" preserveAspectRatio="none" style="width:15241px;height:1807px;" version="1.1" viewBox="0 0 15241 1807" width="15241px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ujiseu7zzykl" 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="7562" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="87" x="7563" y="37.6611">Overview</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="7609.5" y="58.6143"/><!--MD5=[915f6a2b4bff9d90dc7327d570275f1b]
+cluster Configuration--><polygon fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" points="875.2145,1535.8594,885.2145,1525.8594,1181.2145,1525.8594,1181.2145,1785.8594,1171.2145,1795.8594,875.2145,1795.8594,875.2145,1535.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1171.2145" x2="1180.2145" y1="1535.8594" y2="1526.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="875.2145" x2="1171.2145" y1="1535.8594" y2="1535.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1171.2145" x2="1171.2145" y1="1535.8594" y2="1795.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="107" x="970.7145" y="1551.8545">Configuration</text><!--MD5=[1cb8ced355c85ab51f1ab55883ed8585]
+cluster Primitives--><polygon fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" points="644.2145,1209.8594,654.2145,1199.8594,2103.2145,1199.8594,2103.2145,1495.8594,2093.2145,1505.8594,644.2145,1505.8594,644.2145,1209.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="2093.2145" x2="2102.2145" y1="1209.8594" y2="1200.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="644.2145" x2="2093.2145" y1="1209.8594" y2="1209.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="2093.2145" x2="2093.2145" y1="1209.8594" y2="1505.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="77" x="1331.2145" y="1225.8545">Primitives</text><!--MD5=[ba9da179b6f0b3bb0ea21772c5f4ec75]
+cluster OSAL--><polygon fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" points="9681.2145,746.8594,9691.2145,736.8594,14959.2145,736.8594,14959.2145,1702.8594,14949.2145,1712.8594,9681.2145,1712.8594,9681.2145,746.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14949.2145" x2="14958.2145" y1="746.8594" y2="737.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9681.2145" x2="14949.2145" y1="746.8594" y2="746.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14949.2145" x2="14949.2145" y1="746.8594" y2="1712.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="42" x="12295.2145" y="762.8545">OSAL</text><!--MD5=[2e45f233f6bb64aa81ebe67fb6de8946]
+cluster condition variable--><rect fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" height="508.5" style="stroke: #000000; stroke-width: 1.5;" width="726" x="14225.2145" y="907.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="140" x="14518.2145" y="922.3545">condition variable</text><!--MD5=[c7113df1f710ca294cbd01734aa00974]
+cluster timer--><rect fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" height="502.5" style="stroke: #000000; stroke-width: 1.5;" width="798" x="13408.2145" y="900.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="13786.7145" y="915.8545">timer</text><!--MD5=[107bb3f79455a18bd83c75ada1ac7979]
+cluster thread--><rect fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" height="679" style="stroke: #000000; stroke-width: 1.5;" width="1039" x="12361.2145" y="768.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="12854.7145" y="783.8545">thread</text><!--MD5=[8d74b40516bd265adb19f202ab81f40d]
+cluster events--><rect fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" height="791" style="stroke: #000000; stroke-width: 1.5;" width="1642" x="10700.2145" y="913.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="54" x="11494.2145" y="928.8545">events</text><!--MD5=[4e1a3510868d06a507f098bb08f0dae0]
+cluster Middleware--><polygon fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" points="1910.2145,88.8594,1920.2145,78.8594,9618.2145,78.8594,9618.2145,1064.8594,9608.2145,1074.8594,1910.2145,1074.8594,1910.2145,88.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9608.2145" x2="9617.2145" y1="88.8594" y2="79.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1910.2145" x2="9608.2145" y1="88.8594" y2="88.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9608.2145" x2="9608.2145" y1="88.8594" y2="1074.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="91" x="5714.7145" y="104.8545">Middleware</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
+cluster node--><rect fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" height="570.5" style="stroke: #000000; stroke-width: 1.5;" width="1674" x="7292.2145" y="451.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="8109.2145" y="466.8545">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
+cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" points="1918.2145,410.8594,1928.2145,400.8594,7284.2145,400.8594,7284.2145,1056.8594,7274.2145,1066.8594,1918.2145,1066.8594,1918.2145,410.8594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7274.2145" x2="7283.2145" y1="410.8594" y2="401.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="1918.2145" x2="7274.2145" y1="410.8594" y2="410.8594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7274.2145" x2="7274.2145" y1="410.8594" y2="1066.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="4494.7145" y="426.8545">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
+cluster subscriber--><rect fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" height="626" style="stroke: #000000; stroke-width: 1.5;" width="4101" x="3175.2145" y="432.8594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="5183.2145" y="447.8545">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
+cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#f1ujiseu7zzykl)" points="8974.2145,469.3594,8984.2145,459.3594,9610.2145,459.3594,9610.2145,1012.3594,9600.2145,1022.3594,8974.2145,1022.3594,8974.2145,469.3594" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9600.2145" x2="9609.2145" y1="469.3594" y2="460.3594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="8974.2145" x2="9600.2145" y1="469.3594" y2="469.3594"/><line style="stroke: #000000; stroke-width: 1.5;" x1="9600.2145" x2="9600.2145" y1="469.3594" y2="1022.3594"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="9166.2145" y="485.3545">Remote Procedure Call System</text><!--MD5=[e443ac33c80100c2d54e1f5fe669f6d7]
+class urt_config--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="230.4609" id="urt_config" style="stroke: #A80036; stroke-width: 1.5;" width="290" x="883.2145" y="1557.8594"/><ellipse cx="992.9645" cy="1573.8594" fill="#BFBFBF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M995.9333,1579.5 Q995.3551,1579.7969 994.7145,1579.9375 Q994.0739,1580.0938 993.3708,1580.0938 Q990.8708,1580.0938 989.5426,1578.4531 Q988.2301,1576.7969 988.2301,1573.6719 Q988.2301,1570.5469 989.5426,1568.8906 Q990.8708,1567.2344 993.3708,1567.2344 Q994.0739,1567.2344 994.7145,1567.3906 Q995.3708,1567.5469 995.9333,1567.8438 L995.9333,1570.5625 Q995.3083,1569.9844 994.7145,1569.7188 Q994.1208,1569.4375 993.4958,1569.4375 Q992.152,1569.4375 991.4645,1570.5156 Q990.777,1571.5781 990.777,1573.6719 Q990.777,1575.7656 991.4645,1576.8438 Q992.152,1577.9063 993.4958,1577.9063 Q994.1208,1577.9063 994.7145,1577.6406 Q995.3083,1577.3594 995.9333,1576.7813 L995.9333,1579.5 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="62" x="1013.4645" y="1578.0137">urt_config</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="884.2145" x2="1172.2145" y1="1589.8594" y2="1589.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="159" x="889.2145" y="1604.0698">URT_CFG_DELAY_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="889.2145" y="1616.8745">URT_CFG_TOPICID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="889.2145" y="1629.6792">URT_CFG_SERVICEID_WIDTH : int</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="889.2145" y="1642.4839">URT_CFG_NODESTAGE_WIDTH : int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="884.2145" x2="1172.2145" y1="1649.0781" y2="1649.0781"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="889.2145" y="1663.2886">URT_CFG_DEBUG_ENABLED : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="884.2145" x2="1172.2145" y1="1669.8828" y2="1669.8828"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="889.2145" y="1684.0933">URT_CFG_PUBSUB_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="204" x="889.2145" y="1696.8979">URT_CFG_PUBSUB_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="889.2145" y="1709.7026">URT_CFG_PUBSUB_QOS_DEADLINECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="252" x="889.2145" y="1722.5073">URT_CFG_PUBSUB_QOS_RATECHECKS : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="889.2145" y="1735.312">URT_CFG_PUBSUB_QOS_JITTERCHECKS : bool</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="884.2145" x2="1172.2145" y1="1741.9063" y2="1741.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="889.2145" y="1756.1167">URT_CFG_RPC_ENABLED : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="889.2145" y="1768.9214">URT_CFG_RPC_PROFILING : bool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="233" x="889.2145" y="1781.7261">URT_CFG_RPC_QOS_JITTERCHECKS : bool</text><!--MD5=[9f69b6f4e23017059189983d6906a1eb]
+class urt_nodestage_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="158.4375" id="urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="1159.2145" y="1285.8594"/><ellipse cx="1211.4645" cy="1301.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1212.3083,1308.6094 L1209.8551,1308.6094 L1209.8551,1298.3594 L1206.7145,1298.3594 L1206.7145,1296.2188 L1215.4489,1296.2188 L1215.4489,1298.3594 L1212.3083,1298.3594 L1212.3083,1308.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="1231.9645" y="1306.0137">urt_nodestage_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1160.2145" x2="1374.2145" y1="1317.8594" y2="1317.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="1165.2145" y="1348.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1160.2145" x2="1166.7145" y1="1332.2617" y2="1332.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="1166.7145" y="1335.5698">URT_CFG_NODESTAGE_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1367.7145" x2="1374.2145" y1="1332.2617" y2="1332.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1165.2145" y="1378.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1160.2145" x2="1163.2145" y1="1361.8711" y2="1361.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="1163.2145" y="1365.1792">URT_CFG_NODESTAGE_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1371.2145" x2="1374.2145" y1="1361.8711" y2="1361.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1165.2145" y="1408.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1160.2145" x2="1163.2145" y1="1391.4805" y2="1391.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="1163.2145" y="1394.7886">URT_CFG_NODESTAGE_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1371.2145" x2="1374.2145" y1="1391.4805" y2="1391.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1165.2145" y="1437.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1160.2145" x2="1163.2145" y1="1421.0898" y2="1421.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="1163.2145" y="1424.3979">URT_CFG_NODESTAGE_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1371.2145" x2="1374.2145" y1="1421.0898" y2="1421.0898"/><!--MD5=[a55671f9c3a4eb2d749fd774fc81a82b]
+class urt_topicid_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="158.4375" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="932.7145" y="1285.8594"/><ellipse cx="985.4645" cy="1301.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M986.3083,1308.6094 L983.8551,1308.6094 L983.8551,1298.3594 L980.7145,1298.3594 L980.7145,1296.2188 L989.4489,1296.2188 L989.4489,1298.3594 L986.3083,1298.3594 L986.3083,1308.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="1005.9645" y="1306.0137">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="933.7145" x2="1122.7145" y1="1317.8594" y2="1317.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="938.7145" y="1348.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="933.7145" x2="940.2145" y1="1332.2617" y2="1332.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="940.2145" y="1335.5698">URT_CFG_TOPICID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1116.2145" x2="1122.7145" y1="1332.2617" y2="1332.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="938.7145" y="1378.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="933.7145" x2="936.7145" y1="1361.8711" y2="1361.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="936.7145" y="1365.1792">URT_CFG_TOPICID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1119.7145" x2="1122.7145" y1="1361.8711" y2="1361.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="938.7145" y="1408.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="933.7145" x2="936.7145" y1="1391.4805" y2="1391.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="936.7145" y="1394.7886">URT_CFG_TOPICID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1119.7145" x2="1122.7145" y1="1391.4805" y2="1391.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="938.7145" y="1437.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="933.7145" x2="936.7145" y1="1421.0898" y2="1421.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="936.7145" y="1424.3979">URT_CFG_TOPICID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1119.7145" x2="1122.7145" y1="1421.0898" y2="1421.0898"/><!--MD5=[4d8326c7af3a397210cbde406c7c860c]
+class urt_serviceid_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="158.4375" id="urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.5;" width="204" x="1410.2145" y="1285.8594"/><ellipse cx="1462.9645" cy="1301.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1463.8083,1308.6094 L1461.3551,1308.6094 L1461.3551,1298.3594 L1458.2145,1298.3594 L1458.2145,1296.2188 L1466.9489,1296.2188 L1466.9489,1298.3594 L1463.8083,1298.3594 L1463.8083,1308.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="1483.4645" y="1306.0137">urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1411.2145" x2="1613.2145" y1="1317.8594" y2="1317.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="1416.2145" y="1348.8745">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1411.2145" x2="1417.7145" y1="1332.2617" y2="1332.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="1417.7145" y="1335.5698">URT_CFG_SERVICEID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1606.7145" x2="1613.2145" y1="1332.2617" y2="1332.2617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1416.2145" y="1378.4839">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1411.2145" x2="1414.2145" y1="1361.8711" y2="1361.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1414.2145" y="1365.1792">URT_CFG_SERVICEID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1610.2145" x2="1613.2145" y1="1361.8711" y2="1361.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1416.2145" y="1408.0933">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1411.2145" x2="1414.2145" y1="1391.4805" y2="1391.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1414.2145" y="1394.7886">URT_CFG_SERVICEID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1610.2145" x2="1613.2145" y1="1391.4805" y2="1391.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1416.2145" y="1437.7026">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1411.2145" x2="1414.2145" y1="1421.0898" y2="1421.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1414.2145" y="1424.3979">URT_CFG_SERVICEID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1610.2145" x2="1613.2145" y1="1421.0898" y2="1421.0898"/><!--MD5=[e750dab3ce4ebe0433cc930181355272]
+class urt_status_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="265.6797" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="229" x="1649.7145" y="1231.8594"/><ellipse cx="1722.4645" cy="1247.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1726.5739,1253.8594 L1718.8551,1253.8594 L1718.8551,1241.4688 L1726.5739,1241.4688 L1726.5739,1243.625 L1721.3083,1243.625 L1721.3083,1246.2969 L1726.0739,1246.2969 L1726.0739,1248.4531 L1721.3083,1248.4531 L1721.3083,1251.7031 L1726.5739,1251.7031 L1726.5739,1253.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="1742.9645" y="1252.0137">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1650.7145" x2="1877.7145" y1="1263.8594" y2="1263.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="1655.7145" y="1278.0698">URT_STATUS_OK = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1655.7145" y="1290.8745">URT_STATUS_DEADLINEVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="1655.7145" y="1303.6792">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="1655.7145" y="1316.4839">URT_STATUS_RATEVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="1655.7145" y="1329.2886">URT_STATUS_SYNC_PENDING</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="1655.7145" y="1342.0933">URT_STATUS_SYNC_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="200" x="1655.7145" y="1354.8979">URT_STATUS_NODE_INVALEVTMASK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="1655.7145" y="1384.5073">URT_STATUS_TOPIC_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="1655.7145" y="1397.312">URT_STATUS_PUBLISH_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="206" x="1655.7145" y="1410.1167">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="1655.7145" y="1422.9214">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="1655.7145" y="1435.7261">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1655.7145" y="1448.5308">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1650.7145" x2="1659.2145" y1="1367.8945" y2="1367.8945"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="1659.2145" y="1371.2026">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1869.2145" x2="1877.7145" y1="1367.8945" y2="1367.8945"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="1655.7145" y="1478.1401">URT_STATUS_SERVICE_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="1655.7145" y="1490.9448">URT_STATUS_SERVICE_TIMEOUT</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1650.7145" x2="1671.7145" y1="1461.5273" y2="1461.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="1671.7145" y="1464.8354">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1856.7145" x2="1877.7145" y1="1461.5273" y2="1461.5273"/><!--MD5=[15452fea434e71f16c7de0feaca2b066]
+class urt_delay_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1913.7145" y="1315.3594"/><ellipse cx="1965.9645" cy="1331.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1966.8083,1338.1094 L1964.3551,1338.1094 L1964.3551,1327.8594 L1961.2145,1327.8594 L1961.2145,1325.7188 L1969.9489,1325.7188 L1969.9489,1327.8594 L1966.8083,1327.8594 L1966.8083,1338.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="1986.4645" y="1335.5137">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1914.7145" x2="2093.7145" y1="1347.3594" y2="1347.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1919.7145" y="1378.3745">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1914.7145" x2="1917.7145" y1="1361.7617" y2="1361.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="1917.7145" y="1365.0698">URT_CFG_DELAY_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2090.7145" x2="2093.7145" y1="1361.7617" y2="1361.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="1919.7145" y="1407.9839">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1914.7145" x2="1917.7145" y1="1391.3711" y2="1391.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="1917.7145" y="1394.6792">URT_CFG_DELAY_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2090.7145" x2="2093.7145" y1="1391.3711" y2="1391.3711"/><!--MD5=[f106a25c06a671b3918b1a8f37571a4d]
+class urt_debug--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_debug" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="652.7145" y="1334.3594"/><ellipse cx="738.9645" cy="1350.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M743.1989,1346.125 L737.9176,1346.125 L737.9176,1348.7969 L742.7145,1348.7969 L742.7145,1350.9531 L737.9176,1350.9531 L737.9176,1356.3594 L735.4801,1356.3594 L735.4801,1343.9688 L743.1989,1343.9688 L743.1989,1346.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="759.4645" y="1354.5137">urt_debug</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="653.7145" x2="896.7145" y1="1366.3594" y2="1366.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="653.7145" x2="896.7145" y1="1374.3594" y2="1374.3594"/><ellipse cx="663.7145" cy="1385.3594" 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="219" x="672.7145" y="1388.5698">urtDebugAssert(condition : bool) : void</text><!--MD5=[3677786d1f00795918091b0110bfa4af]
+class urt_osTime_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="86.4141" id="urt_osTime_t" style="stroke: #A80036; stroke-width: 1.5;" width="425" x="9933.7145" y="940.8594"/><ellipse cx="10102.4645" cy="956.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10103.3083,963.6094 L10100.8551,963.6094 L10100.8551,953.3594 L10097.7145,953.3594 L10097.7145,951.2188 L10106.4489,951.2188 L10106.4489,953.3594 L10103.3083,953.3594 L10103.3083,963.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="10122.9645" y="961.0137">urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9934.7145" x2="10357.7145" y1="972.8594" y2="972.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9934.7145" x2="10357.7145" y1="980.8594" y2="980.8594"/><ellipse cx="9944.7145" cy="991.8594" 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="231" x="9953.7145" y="995.0698">urtTime2Us (t : urt_osTime_t*) : uint64_t</text><ellipse cx="9944.7145" cy="1004.6641" 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="189" x="9953.7145" y="1007.8745">urtTimeNow (void) : urt_osTime_t</text><ellipse cx="9944.7145" cy="1017.4688" 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="399" x="9953.7145" y="1020.6792">urtTimeAddUs (time : urt_osTime_t*, offset : uint32_t) : urt_osTime_t*</text><!--MD5=[532279a7a1cac9af7f32856ca2ae6b9b]
+class urt_osMutex_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="99.2188" id="urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.5;" width="298" x="10394.2145" y="934.3594"/><ellipse cx="10495.4645" cy="950.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10496.3083,957.1094 L10493.8551,957.1094 L10493.8551,946.8594 L10490.7145,946.8594 L10490.7145,944.7188 L10499.4489,944.7188 L10499.4489,946.8594 L10496.3083,946.8594 L10496.3083,957.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="10515.9645" y="954.5137">urt_osMutex_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10395.2145" x2="10691.2145" y1="966.3594" y2="966.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="10395.2145" x2="10691.2145" y1="974.3594" y2="974.3594"/><ellipse cx="10405.2145" cy="985.3594" 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="245" x="10414.2145" y="988.5698">urtMutexInit (mutex : urt_osMutex_t*) : void</text><ellipse cx="10405.2145" cy="998.1641" 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="253" x="10414.2145" y="1001.3745">urtMutexLock (mutex : urt_osMutex_t*) : void</text><ellipse cx="10405.2145" cy="1010.9688" 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="272" x="10414.2145" y="1014.1792">urtMutexTryLock (mutex : urt_osMutex_t*) : bool</text><ellipse cx="10405.2145" cy="1023.7734" 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="265" x="10414.2145" y="1026.9839">urtMutexUnlock (mutex : urt_osMutex_t*) : void</text><!--MD5=[0cf29100c96c506429a28b45d347cc92]
+class urt_streams--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="73.6094" id="urt_streams" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="9689.7145" y="946.8594"/><ellipse cx="9752.4645" cy="962.8594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9756.6989,958.625 L9751.4176,958.625 L9751.4176,961.2969 L9756.2145,961.2969 L9756.2145,963.4531 L9751.4176,963.4531 L9751.4176,968.8594 L9748.9801,968.8594 L9748.9801,956.4688 L9756.6989,956.4688 L9756.6989,958.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="9772.9645" y="967.0137">urt_streams</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9690.7145" x2="9897.7145" y1="978.8594" y2="978.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9690.7145" x2="9897.7145" y1="986.8594" y2="986.8594"/><ellipse cx="9700.7145" cy="997.8594" 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="166" x="9709.7145" y="1001.0698">urtPrintf(fmt : char*, ... ) : int</text><ellipse cx="9700.7145" cy="1010.6641" 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="183" x="9709.7145" y="1013.8745">urtErrPrintf(fmt : char*, ... ) : int</text><!--MD5=[52fa11869cb40c93fa7702378ddd839e]
+class urt_osCondvarWaitStatus_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="86.4141" id="urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.5;" width="270" x="14453.2145" y="1321.8594"/><ellipse cx="14499.4645" cy="1337.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M14503.5739,1343.8594 L14495.8551,1343.8594 L14495.8551,1331.4688 L14503.5739,1331.4688 L14503.5739,1333.625 L14498.3083,1333.625 L14498.3083,1336.2969 L14503.0739,1336.2969 L14503.0739,1338.4531 L14498.3083,1338.4531 L14498.3083,1341.7031 L14503.5739,1341.7031 L14503.5739,1343.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="169" x="14519.9645" y="1342.0137">urt_osCondvarWaitStatus_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="14454.2145" x2="14722.2145" y1="1353.8594" y2="1353.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="14459.2145" y="1368.0698">URT_CONDVAR_WAITSTATUS_SIGNAL = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="14459.2145" y="1380.8745">URT_CONDVAR_WAITSTATUS_BROADCAST = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="239" x="14459.2145" y="1393.6792">URT_CONDVAR_WAITSTATUS_TIMEOUT = 0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="14454.2145" x2="14722.2145" y1="1400.2734" y2="1400.2734"/><!--MD5=[004fc5dee471033e8e4138c1c73f0692]
+class urt_osCondvar_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="99.2188" id="urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.5;" width="710" x="14233.2145" y="934.3594"/><ellipse cx="14533.4645" cy="950.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M14534.3083,957.1094 L14531.8551,957.1094 L14531.8551,946.8594 L14528.7145,946.8594 L14528.7145,944.7188 L14537.4489,944.7188 L14537.4489,946.8594 L14534.3083,946.8594 L14534.3083,957.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="14553.9645" y="954.5137">urt_osCondvar_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="14234.2145" x2="14942.2145" y1="966.3594" y2="966.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="14234.2145" x2="14942.2145" y1="974.3594" y2="974.3594"/><ellipse cx="14244.2145" cy="985.3594" 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="283" x="14253.2145" y="988.5698">urtCondvarInit (condvar : urt_osCondvar_t*) : void</text><ellipse cx="14244.2145" cy="998.1641" 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="301" x="14253.2145" y="1001.3745">urtCondvarSignal (condvar : urt_osCondvar_t*) : void</text><ellipse cx="14244.2145" cy="1010.9688" 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="324" x="14253.2145" y="1014.1792">urtCondvarBroadcast (condvar : urt_osCondvar_t*) : void</text><ellipse cx="14244.2145" cy="1023.7734" 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="684" x="14253.2145" y="1026.9839">urtCondvarWait (condvar : urt_osCondvar_t*, mutex : urt_osMutex_t*, timeout : urt_delay_t) : urt_osCondvarWaitStatus_t</text><!--MD5=[93799a03260ba286abda700174f4f205]
+class urt_osTimerCallback_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="13664.2145" y="1334.3594"/><ellipse cx="13734.9645" cy="1350.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M13735.8083,1357.1094 L13733.3551,1357.1094 L13733.3551,1346.8594 L13730.2145,1346.8594 L13730.2145,1344.7188 L13738.9489,1344.7188 L13738.9489,1346.8594 L13735.8083,1346.8594 L13735.8083,1357.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="13755.4645" y="1354.5137">urt_osTimerCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="13665.2145" x2="13949.2145" y1="1366.3594" y2="1366.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="13665.2145" x2="13949.2145" y1="1374.3594" y2="1374.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="274" x="13670.2145" y="1388.5698">urt_osTimerCallback_t (parameter : void*) : void</text><!--MD5=[0b340d7b925b1eab6a1b7e084f68a7c2]
+class urt_osTimer_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="112.0234" id="urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.5;" width="782" x="13416.2145" y="927.8594"/><ellipse cx="13760.9645" cy="943.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M13761.8083,950.6094 L13759.3551,950.6094 L13759.3551,940.3594 L13756.2145,940.3594 L13756.2145,938.2188 L13764.9489,938.2188 L13764.9489,940.3594 L13761.8083,940.3594 L13761.8083,950.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="13781.4645" y="948.0137">urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="13417.2145" x2="14197.2145" y1="959.8594" y2="959.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="13417.2145" x2="14197.2145" y1="967.8594" y2="967.8594"/><ellipse cx="13427.2145" cy="978.8594" 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="240" x="13436.2145" y="982.0698">urtTimerInit (timer : urt_osTimer_t*) : void</text><ellipse cx="13427.2145" cy="991.6641" 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="705" x="13436.2145" y="994.8745">urtTimerSet (timer : urt_osTimer_t*, delay : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="13427.2145" cy="1004.4688" 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="756" x="13436.2145" y="1007.6792">urtTimerSetPeriodic (timer : urt_osTimer_t*, period : urt_delay_t, callback : urt_osTimerCallback_t*, parameter : void*) : urt_status_t</text><ellipse cx="13427.2145" cy="1017.2734" 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="300" x="13436.2145" y="1020.4839">urtTimerReset (timer : urt_osTimer_t*) : urt_status_t</text><ellipse cx="13427.2145" cy="1030.0781" 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="271" x="13436.2145" y="1033.2886">urtTimerIsArmed (timer : urt_osTimer_t*) : bool</text><!--MD5=[86c16d91227b9a9ec3b6b9b0285de4e9]
+class urt_osThreadPrio_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="150.4375" id="urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="12630.7145" y="1289.8594"/><ellipse cx="12666.8645" cy="1305.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12667.7083,1312.6094 L12665.2551,1312.6094 L12665.2551,1302.3594 L12662.1145,1302.3594 L12662.1145,1300.2188 L12670.8489,1300.2188 L12670.8489,1302.3594 L12667.7083,1302.3594 L12667.7083,1312.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="12685.5645" y="1310.0137">urt_osThreadPrio_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12631.7145" x2="12826.7145" y1="1321.8594" y2="1321.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="12636.7145" y="1336.0698">URT_THREAD_PRIO_LOW_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="12636.7145" y="1348.8745">URT_THREAD_PRIO_LOW_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="12636.7145" y="1361.6792">URT_THREAD_PRIO_NORMAL_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="12636.7145" y="1374.4839">URT_THREAD_PRIO_NORMAL_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="164" x="12636.7145" y="1387.2886">URT_THREAD_PRIO_HIGH_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="12636.7145" y="1400.0933">URT_THREAD_PRIO_HIGH_MAX</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="12636.7145" y="1412.8979">URT_THREAD_PRIO_RT_MIN</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="12636.7145" y="1425.7026">URT_THREAD_PRIO_RT_MAX</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12631.7145" x2="12826.7145" y1="1432.2969" y2="1432.2969"/><!--MD5=[69d8aab9aa387a2f5052ea3da80e80ea]
+class urt_osThreadFunction_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="13140.2145" y="1334.3594"/><ellipse cx="13187.9645" cy="1350.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M13188.8083,1357.1094 L13186.3551,1357.1094 L13186.3551,1346.8594 L13183.2145,1346.8594 L13183.2145,1344.7188 L13191.9489,1344.7188 L13191.9489,1346.8594 L13188.8083,1346.8594 L13188.8083,1357.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="13208.4645" y="1354.5137">urt_osThreadFunction_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="13141.2145" x2="13391.2145" y1="1366.3594" y2="1366.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="13141.2145" x2="13391.2145" y1="1374.3594" y2="1374.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="13146.2145" y="1388.5698">urt_osThreadFunction_t (arg : void*) : void</text><!--MD5=[ab5f611d45c3fa10609c33f780d8c3e1]
+class urt_osThreadTerminateSignal_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="73.6094" id="urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="12863.2145" y="1327.8594"/><ellipse cx="12884.9645" cy="1343.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12889.0739,1349.8594 L12881.3551,1349.8594 L12881.3551,1337.4688 L12889.0739,1337.4688 L12889.0739,1339.625 L12883.8083,1339.625 L12883.8083,1342.2969 L12888.5739,1342.2969 L12888.5739,1344.4531 L12883.8083,1344.4531 L12883.8083,1347.7031 L12889.0739,1347.7031 L12889.0739,1349.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="195" x="12900.4645" y="1348.0137">urt_osThreadTerminateSignal_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12864.2145" x2="13104.2145" y1="1359.8594" y2="1359.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="230" x="12869.2145" y="1374.0698">URT_THREAD_TERMINATE_REQUEST = 15</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="12869.2145" y="1386.8745">URT_THREAD_TERMINATE_KILL = 9</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12864.2145" x2="13104.2145" y1="1393.4688" y2="1393.4688"/><!--MD5=[47d14ad2c233fae1b32b8d0a283e820a]
+class urt_osThreadState_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="137.6328" id="urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="12369.2145" y="1295.8594"/><ellipse cx="12413.9645" cy="1311.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12418.0739,1317.8594 L12410.3551,1317.8594 L12410.3551,1305.4688 L12418.0739,1305.4688 L12418.0739,1307.625 L12412.8083,1307.625 L12412.8083,1310.2969 L12417.5739,1310.2969 L12417.5739,1312.4531 L12412.8083,1312.4531 L12412.8083,1315.7031 L12418.0739,1315.7031 L12418.0739,1317.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="12434.4645" y="1316.0137">urt_osThreadState_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12370.2145" x2="12594.2145" y1="1327.8594" y2="1327.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="12375.2145" y="1342.0698">URT_THREAD_STATE_INACTIVE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="12375.2145" y="1354.8745">URT_THREAD_STATE_RUNNING = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="12375.2145" y="1367.6792">URT_THREAD_STATE_READY = 2</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="199" x="12375.2145" y="1380.4839">URT_THREAD_STATE_SLEEPING = 3</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="213" x="12375.2145" y="1393.2886">URT_THREAD_STATE_SUSPENDED = 4</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="12375.2145" y="1406.0933">URT_THREAD_STATE_WAITING = 5</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="12375.2145" y="1418.8979">URT_THREAD_STATE_TERMINATED = 6</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12370.2145" x2="12594.2145" y1="1425.4922" y2="1425.4922"/><!--MD5=[0a16224ede9ffa9bb2d34e085a076e6d]
+class urt_osThread_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="376.1172" id="urt_osThread_t" style="stroke: #A80036; stroke-width: 1.5;" width="560" x="12369.2145" y="795.8594"/><ellipse cx="12597.9645" cy="811.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M12598.8083,818.6094 L12596.3551,818.6094 L12596.3551,808.3594 L12593.2145,808.3594 L12593.2145,806.2188 L12601.9489,806.2188 L12601.9489,808.3594 L12598.8083,808.3594 L12598.8083,818.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="12618.4645" y="816.0137">urt_osThread_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="12370.2145" x2="12928.2145" y1="827.8594" y2="827.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="179" x="12375.2145" y="842.0698">URT_THREAD_SLEEP_MAX : float</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="12375.2145" y="854.8745">URT_THREAD_SSLEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="225" x="12375.2145" y="867.6792">URT_THREAD_MSLEEP_MAX : urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="224" x="12375.2145" y="880.4839">URT_THREAD_USLEEP_MAX : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="12370.2145" x2="12928.2145" y1="887.0781" y2="887.0781"/><ellipse cx="12380.2145" cy="898.0781" 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="248" x="12389.2145" y="901.2886">URT_THREAD_MEMORY (varname, stacksize)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="12370.2145" x2="12928.2145" y1="907.8828" y2="907.8828"/><ellipse cx="12380.2145" cy="918.8828" 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="534" x="12389.2145" y="922.0933">urtThreadInit (memory : void*, size : size_t, func : urt_osThreadFunction_t*) : urt_osThread_t*</text><ellipse cx="12380.2145" cy="931.6875" 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="490" x="12389.2145" y="934.8979">urtThreadStart (thread : urt_osThread_t*, prio : urt_osThreadPrio_t, arg : void*) : void</text><ellipse cx="12380.2145" cy="944.4922" 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="153" x="12389.2145" y="947.7026">urtThreadYield (void) : void</text><ellipse cx="12380.2145" cy="957.2969" 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="271" x="12389.2145" y="960.5073">urtThreadGetPriority (void) : urt_osThreadPrio_t</text><ellipse cx="12380.2145" cy="970.1016" 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="304" x="12389.2145" y="973.312">urtThreadSetPriority (prio : urt_osThreadPrio_t) : void</text><ellipse cx="12380.2145" cy="982.9063" 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="294" x="12389.2145" y="986.1167">urtThreadSuspend (thread : urt_osThread_t*) : void</text><ellipse cx="12380.2145" cy="995.7109" 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="335" x="12389.2145" y="998.9214">urtThreadResume (thread : urt_osThread_t*) : urt_status_t</text><ellipse cx="12380.2145" cy="1008.5156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="220" x="12389.2145" y="1011.7261">urtThreadSleep (seconds : float) : void</text><ellipse cx="12380.2145" cy="1021.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="12389.2145" y="1024.5308">urtThreadSSleep (seconds : urt_delay_t) : void</text><ellipse cx="12380.2145" cy="1034.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="289" x="12389.2145" y="1037.3354">urtThreadMSleep (milliseconds : urt_delay_t) : void</text><ellipse cx="12380.2145" cy="1046.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="297" x="12389.2145" y="1050.1401">urtThreadUSleep (microseconds : urt_delay_t) : void</text><ellipse cx="12380.2145" cy="1059.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="271" x="12389.2145" y="1062.9448">urtThreadSleepUntil (time : urt_osTime_t) : void</text><ellipse cx="12380.2145" cy="1072.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="146" x="12389.2145" y="1075.7495">urtThreadExit (void) : void</text><ellipse cx="12380.2145" cy="1085.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="518" x="12389.2145" y="1088.5542">urtThreadTerminate (thread : urt_osThread_t*, sig : urt_osThreadTerminateSignal_t) : void</text><ellipse cx="12380.2145" cy="1098.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="264" x="12389.2145" y="1101.3589">urtThreadJoin (thread : urt_osThread_t*) : void</text><ellipse cx="12380.2145" cy="1110.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="387" x="12389.2145" y="1114.1636">urtThreadGetState (thread : urt_osThread_t*) : urt_osThreadState_t</text><ellipse cx="12380.2145" cy="1123.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="237" x="12389.2145" y="1126.9683">urtThreadGetSelf (void) : urt_osThread_t*</text><ellipse cx="12380.2145" cy="1136.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="380" x="12389.2145" y="1139.7729">urtThreadGetChildren (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="12380.2145" cy="1149.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="371" x="12389.2145" y="1152.5776">urtThreadGetSibling (thread : urt_osThread_t*) : urt_osThread_t*</text><ellipse cx="12380.2145" cy="1162.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="370" x="12389.2145" y="1165.3823">urtThreadGetParent (thread : urt_osThread_t*) : urt_osThread_t*</text><!--MD5=[0a4e0f34d8da0ad3ed6ecf72f02e09c8]
+class urt_osEventMask_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="10708.2145" y="1334.3594"/><ellipse cx="10785.4645" cy="1350.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10786.3083,1357.1094 L10783.8551,1357.1094 L10783.8551,1346.8594 L10780.7145,1346.8594 L10780.7145,1344.7188 L10789.4489,1344.7188 L10789.4489,1346.8594 L10786.3083,1346.8594 L10786.3083,1357.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="10805.9645" y="1354.5137">urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10709.2145" x2="10987.2145" y1="1366.3594" y2="1366.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="268" x="10714.2145" y="1380.5698">URT_EVENTMASK_MAXPRIO : urt_osEventMask_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10709.2145" x2="10987.2145" y1="1387.1641" y2="1387.1641"/><!--MD5=[dc1cc33af288560680c15dec1e56eda0]
+class urt_osEventFlags_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="48" id="urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.5;" width="150" x="11429.2145" y="1648.8594"/><ellipse cx="11444.2145" cy="1664.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11445.0583,1671.6094 L11442.6051,1671.6094 L11442.6051,1661.3594 L11439.4645,1661.3594 L11439.4645,1659.2188 L11448.1989,1659.2188 L11448.1989,1661.3594 L11445.0583,1661.3594 L11445.0583,1671.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="11458.2145" y="1669.0137">urt_osEventFlags_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11430.2145" x2="11578.2145" y1="1680.8594" y2="1680.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="11430.2145" x2="11578.2145" y1="1688.8594" y2="1688.8594"/><!--MD5=[e2bbbd64e6979bf7b755747a6c0ba948]
+class urt_osEventWait_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="86.4141" id="urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="11023.2145" y="1321.8594"/><ellipse cx="11046.3145" cy="1337.8594" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11050.4239,1343.8594 L11042.7051,1343.8594 L11042.7051,1331.4688 L11050.4239,1331.4688 L11050.4239,1333.625 L11045.1583,1333.625 L11045.1583,1336.2969 L11049.9239,1336.2969 L11049.9239,1338.4531 L11045.1583,1338.4531 L11045.1583,1341.7031 L11050.4239,1341.7031 L11050.4239,1343.8594 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="11062.1145" y="1342.0137">urt_osEventWait_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11024.2145" x2="11184.2145" y1="1353.8594" y2="1353.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="11029.2145" y="1368.0698">URT_EVENT_WAIT_ONE = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="148" x="11029.2145" y="1380.8745">URT_EVENT_WAIT_ANY = 1</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="11029.2145" y="1393.6792">URT_EVENT_WAIT_ALL = 2</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11024.2145" x2="11184.2145" y1="1400.2734" y2="1400.2734"/><!--MD5=[d054ac2eda12ce4b1fe5a18c9be716c1]
+class urt_osEventListener_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="86.4141" id="urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.5;" width="494" x="11257.2145" y="1321.8594"/><ellipse cx="11432.4645" cy="1337.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11433.3083,1344.6094 L11430.8551,1344.6094 L11430.8551,1334.3594 L11427.7145,1334.3594 L11427.7145,1332.2188 L11436.4489,1332.2188 L11436.4489,1334.3594 L11433.3083,1334.3594 L11433.3083,1344.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="11452.9645" y="1342.0137">urt_osEventListener_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11258.2145" x2="11750.2145" y1="1353.8594" y2="1353.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="11258.2145" x2="11750.2145" y1="1361.8594" y2="1361.8594"/><ellipse cx="11268.2145" cy="1372.8594" 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="341" x="11277.2145" y="1376.0698">urtEventListenerInit (listener : urt_osEventListener_t*) : void</text><ellipse cx="11268.2145" cy="1385.6641" 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="458" x="11277.2145" y="1388.8745">urtEventListenerGetFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><ellipse cx="11268.2145" cy="1398.4688" 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="468" x="11277.2145" y="1401.6792">urtEventListenerClearFlags (listener : urt_osEventListener_t*) : urt_osEventFlags_t</text><!--MD5=[4d6906f8b977dc26629fa492460e6327]
+class urt_osEventSource_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="73.6094" id="urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.5;" width="547" x="11786.7145" y="1327.8594"/><ellipse cx="11991.4645" cy="1343.8594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11992.3083,1350.6094 L11989.8551,1350.6094 L11989.8551,1340.3594 L11986.7145,1340.3594 L11986.7145,1338.2188 L11995.4489,1338.2188 L11995.4489,1340.3594 L11992.3083,1340.3594 L11992.3083,1350.6094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="129" x="12011.9645" y="1348.0137">urt_osEventSource_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="11787.7145" x2="12332.7145" y1="1359.8594" y2="1359.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="11787.7145" x2="12332.7145" y1="1367.8594" y2="1367.8594"/><ellipse cx="11797.7145" cy="1378.8594" 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="325" x="11806.7145" y="1382.0698">urtEventSourceInit (source : urt_osEventSource_t*) : void</text><ellipse cx="11797.7145" cy="1391.6641" 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="521" x="11806.7145" y="1394.8745">urtEventSourceBroadcast (source : urt_osEventSource_t*, flags : urt_osEventFlags_t) : void</text><!--MD5=[04a3b5a37031e2a4d723f19d8adf86f5]
+class urt_events--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="86.4141" id="urt_events" style="stroke: #A80036; stroke-width: 1.5;" width="890" x="10727.2145" y="940.8594"/><ellipse cx="11134.9645" cy="956.8594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M11139.1989,952.625 L11133.9176,952.625 L11133.9176,955.2969 L11138.7145,955.2969 L11138.7145,957.4531 L11133.9176,957.4531 L11133.9176,962.8594 L11131.4801,962.8594 L11131.4801,950.4688 L11139.1989,950.4688 L11139.1989,952.625 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="11155.4645" y="961.0137">urt_events</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="10728.2145" x2="11616.2145" y1="972.8594" y2="972.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="10728.2145" x2="11616.2145" y1="980.8594" y2="980.8594"/><ellipse cx="10738.2145" cy="991.8594" 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="864" x="10747.2145" y="995.0698">urtEventRegister (source : urt_osEventSource_t*, listener : urt_osEventListener_t*, mask : urt_osEventMask_t, flags : urt_osEventFlags_t) : urt_status_t</text><ellipse cx="10738.2145" cy="1004.6641" 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="567" x="10747.2145" y="1007.8745">urtEventUnregister (source _ urt_osEventSource_t*, listener : urt_osEventListener_t*) : urt_status_t</text><ellipse cx="10738.2145" cy="1017.4688" 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="618" x="10747.2145" y="1020.6792">urtEventWait (mask : urt_osEventMask_t, type : urt_osEventWait_t, timeout : urt_delay_t) : urt_osEventMask_t</text><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
+class urt_core_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="281.6797" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="343" x="2765.7145" y="110.8594"/><ellipse cx="2901.4645" cy="126.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2900.9489,127.4219 Q2899.0895,126.7188 2898.4333,125.9531 Q2897.7926,125.1719 2897.7926,123.8594 Q2897.7926,122.1719 2898.8708,121.2031 Q2899.9489,120.2344 2901.8239,120.2344 Q2902.6833,120.2344 2903.527,120.4375 Q2904.3864,120.625 2905.2301,121.0156 L2905.2301,123.4063 Q2904.4489,122.8438 2903.6208,122.5625 Q2902.8083,122.2656 2902.0114,122.2656 Q2901.1364,122.2656 2900.652,122.625 Q2900.1833,122.9844 2900.1833,123.6406 Q2900.1833,124.1563 2900.527,124.5 Q2900.8708,124.8281 2901.9645,125.2344 L2903.027,125.6406 Q2904.5114,126.1875 2905.2145,127.0938 Q2905.9333,128 2905.9333,129.375 Q2905.9333,131.25 2904.8239,132.1719 Q2903.7145,133.0938 2901.4645,133.0938 Q2900.5426,133.0938 2899.6208,132.875 Q2898.6989,132.6563 2897.8395,132.2344 L2897.8395,129.7031 Q2898.8083,130.3906 2899.7301,130.7344 Q2900.652,131.0781 2901.5426,131.0781 Q2902.4489,131.0781 2902.9489,130.6719 Q2903.4489,130.25 2903.4489,129.5156 Q2903.4489,128.9531 2903.1051,128.5469 Q2902.777,128.125 2902.152,127.875 L2900.9489,127.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="2921.9645" y="131.0137">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2766.7145" x2="3107.7145" y1="142.8594" y2="142.8594"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2773.7145" y="150.8594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="2785.7145" y="157.0698">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2773.7145" y="163.6641"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="2785.7145" y="169.8745">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2773.7145" y="176.4688"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="2785.7145" y="182.6792">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2773.7145" y="189.2734"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="122" x="2785.7145" y="195.4839">_status : urt_status_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2773.7145" y="218.8828"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="2785.7145" y="225.0933">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2766.7145" x2="2832.2145" y1="208.4805" y2="208.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="2832.2145" y="211.7886">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3042.2145" x2="3107.7145" y1="208.4805" y2="208.4805"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="2773.7145" y="248.4922"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="2785.7145" y="254.7026">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2766.7145" x2="2844.7145" y1="238.0898" y2="238.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="2844.7145" y="241.3979">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3029.7145" x2="3107.7145" y1="238.0898" y2="238.0898"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2766.7145" x2="3107.7145" y1="261.2969" y2="261.2969"/><ellipse cx="2776.7145" cy="272.2969" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="130" x="2785.7145" y="275.5073">urtCoreInit (void) : void</text><ellipse cx="2776.7145" cy="285.1016" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="2785.7145" y="288.312">urtCoreGetStatus (void) : urt_status_t</text><ellipse cx="2776.7145" cy="297.9063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="177" x="2785.7145" y="301.1167">urtCoreStartNodes (void) : void</text><ellipse cx="2776.7145" cy="310.7109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="309" x="2785.7145" y="313.9214">urtCoreSynchronize (node : urt_node_t*) : urt_status_t</text><ellipse cx="2776.7145" cy="323.5156" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="317" x="2785.7145" y="326.7261">urtCoreStopNodes (reason : urt_status_t) : urt_status_t</text><ellipse cx="2776.7145" cy="353.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="273" x="2785.7145" y="356.3354">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2766.7145" x2="2832.2145" y1="339.7227" y2="339.7227"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="2832.2145" y="343.0308">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3042.2145" x2="3107.7145" y1="339.7227" y2="339.7227"/><ellipse cx="2776.7145" cy="382.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="313" x="2785.7145" y="385.9448">urtCoreGetService (id : urt_serviceid_t) : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2766.7145" x2="2844.7145" y1="369.332" y2="369.332"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="2844.7145" y="372.6401">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3029.7145" x2="3107.7145" y1="369.332" y2="369.332"/><!--MD5=[a7dea26996a1231aa68629b332780450]
+class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="7853.2145" y="953.3594"/><ellipse cx="7998.9645" cy="969.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7999.8083,976.1094 L7997.3551,976.1094 L7997.3551,965.8594 L7994.2145,965.8594 L7994.2145,963.7188 L8002.9489,963.7188 L8002.9489,965.8594 L7999.8083,965.8594 L7999.8083,976.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="8019.4645" y="973.5137">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7854.2145" x2="8308.2145" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7854.2145" x2="8308.2145" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="7859.2145" y="1007.5698">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
+class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="8344.2145" y="953.3594"/><ellipse cx="8572.4645" cy="969.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8573.3083,976.1094 L8570.8551,976.1094 L8570.8551,965.8594 L8567.7145,965.8594 L8567.7145,963.7188 L8576.4489,963.7188 L8576.4489,965.8594 L8573.3083,965.8594 L8573.3083,976.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="8592.9645" y="973.5137">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8345.2145" x2="8957.2145" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8345.2145" x2="8957.2145" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="8350.2145" y="1007.5698">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[843db13320bebc2ca47f25c6a57c2ae5]
+class urt_nodeShutdownCallback_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="518" x="7300.2145" y="953.3594"/><ellipse cx="7464.4645" cy="969.3594" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7465.3083,976.1094 L7462.8551,976.1094 L7462.8551,965.8594 L7459.7145,965.8594 L7459.7145,963.7188 L7468.4489,963.7188 L7468.4489,965.8594 L7465.3083,965.8594 L7465.3083,976.1094 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="7484.9645" y="973.5137">urt_nodeShutdownCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7301.2145" x2="7817.2145" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7301.2145" x2="7817.2145" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="506" x="7306.2145" y="1007.5698">urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void</text><!--MD5=[d2563153d77472384a15c07b815d639f]
+class urt_node_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="231.2656" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1541" x="7310.7145" y="478.8594"/><ellipse cx="8043.4645" cy="494.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8042.9489,495.4219 Q8041.0895,494.7188 8040.4333,493.9531 Q8039.7926,493.1719 8039.7926,491.8594 Q8039.7926,490.1719 8040.8708,489.2031 Q8041.9489,488.2344 8043.8239,488.2344 Q8044.6833,488.2344 8045.527,488.4375 Q8046.3864,488.625 8047.2301,489.0156 L8047.2301,491.4063 Q8046.4489,490.8438 8045.6208,490.5625 Q8044.8083,490.2656 8044.0114,490.2656 Q8043.1364,490.2656 8042.652,490.625 Q8042.1833,490.9844 8042.1833,491.6406 Q8042.1833,492.1563 8042.527,492.5 Q8042.8708,492.8281 8043.9645,493.2344 L8045.027,493.6406 Q8046.5114,494.1875 8047.2145,495.0938 Q8047.9333,496 8047.9333,497.375 Q8047.9333,499.25 8046.8239,500.1719 Q8045.7145,501.0938 8043.4645,501.0938 Q8042.5426,501.0938 8041.6208,500.875 Q8040.6989,500.6563 8039.8395,500.2344 L8039.8395,497.7031 Q8040.8083,498.3906 8041.7301,498.7344 Q8042.652,499.0781 8043.5426,499.0781 Q8044.4489,499.0781 8044.9489,498.6719 Q8045.4489,498.25 8045.4489,497.5156 Q8045.4489,496.9531 8045.1051,496.5469 Q8044.777,496.125 8044.152,495.875 L8042.9489,495.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="8063.9645" y="499.0137">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7311.7145" x2="8850.7145" y1="510.8594" y2="510.8594"/><ellipse cx="7321.7145" cy="521.8594" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="7330.7145" y="525.0698">next : urt_node_t*</text><ellipse cx="7321.7145" cy="534.6641" fill="none" 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="7330.7145" y="537.8745">thread : urt_osThread_t*</text><ellipse cx="7321.7145" cy="547.4688" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="7330.7145" y="550.6792">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="7321.7145" cy="560.2734" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="7330.7145" y="563.4839">setupparams : void*</text><ellipse cx="7321.7145" cy="573.0781" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="7330.7145" y="576.2886">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="7321.7145" cy="585.8828" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="7330.7145" y="589.0933">loopparams : void*</text><ellipse cx="7321.7145" cy="598.6875" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="281" x="7330.7145" y="601.8979">shutdowncallback : urt_nodeShutdownCallback_t*</text><ellipse cx="7321.7145" cy="611.4922" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="7330.7145" y="614.7026">shutdownparams : void*</text><ellipse cx="7321.7145" cy="624.2969" fill="none" 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="7330.7145" y="627.5073">stage : urt_nodestage_t</text><ellipse cx="7321.7145" cy="637.1016" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="178" x="7330.7145" y="640.312">listener : urt_osEventListener_t</text><ellipse cx="7321.7145" cy="666.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="88" x="7330.7145" y="669.9214">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7311.7145" x2="7873.2145" y1="653.3086" y2="653.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="7873.2145" y="656.6167">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8289.2145" x2="8850.7145" y1="653.3086" y2="653.3086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7311.7145" x2="8850.7145" y1="676.5156" y2="676.5156"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="7318.7145" y="684.5156"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="7330.7145" y="690.7261">_main : urt_osThreadFunction_t</text><ellipse cx="7321.7145" cy="700.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1515" x="7330.7145" y="703.5308">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
+class urt_message_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="406" x="2743.2145" y="912.8594"/><ellipse cx="2895.9645" cy="928.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2895.4489,929.4219 Q2893.5895,928.7188 2892.9333,927.9531 Q2892.2926,927.1719 2892.2926,925.8594 Q2892.2926,924.1719 2893.3708,923.2031 Q2894.4489,922.2344 2896.3239,922.2344 Q2897.1833,922.2344 2898.027,922.4375 Q2898.8864,922.625 2899.7301,923.0156 L2899.7301,925.4063 Q2898.9489,924.8438 2898.1208,924.5625 Q2897.3083,924.2656 2896.5114,924.2656 Q2895.6364,924.2656 2895.152,924.625 Q2894.6833,924.9844 2894.6833,925.6406 Q2894.6833,926.1563 2895.027,926.5 Q2895.3708,926.8281 2896.4645,927.2344 L2897.527,927.6406 Q2899.0114,928.1875 2899.7145,929.0938 Q2900.4333,930 2900.4333,931.375 Q2900.4333,933.25 2899.3239,934.1719 Q2898.2145,935.0938 2895.9645,935.0938 Q2895.0426,935.0938 2894.1208,934.875 Q2893.1989,934.6563 2892.3395,934.2344 L2892.3395,931.7031 Q2893.3083,932.3906 2894.2301,932.7344 Q2895.152,933.0781 2896.0426,933.0781 Q2896.9489,933.0781 2897.4489,932.6719 Q2897.9489,932.25 2897.9489,931.5156 Q2897.9489,930.9531 2897.6051,930.5469 Q2897.277,930.125 2896.652,929.875 L2895.4489,929.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="2916.4645" y="933.0137">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2744.2145" x2="3148.2145" y1="944.8594" y2="944.8594"/><ellipse cx="2754.2145" cy="955.8594" fill="none" 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="2763.2145" y="959.0698">next : urt_message_t*</text><ellipse cx="2754.2145" cy="968.6641" fill="none" 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="2763.2145" y="971.8745">payload : void*</text><ellipse cx="2754.2145" cy="981.4688" fill="none" 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="2763.2145" y="984.6792">originTime : urt_osTime_t</text><ellipse cx="2754.2145" cy="994.2734" fill="none" 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="2763.2145" y="997.4839">numHrtConsumersLeft : unsigned int</text><ellipse cx="2754.2145" cy="1023.8828" fill="none" 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="2763.2145" y="1027.0933">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2744.2145" x2="2837.7145" y1="1010.4805" y2="1010.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2837.7145" y="1013.7886">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3054.7145" x2="3148.2145" y1="1010.4805" y2="1010.4805"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2744.2145" x2="3148.2145" y1="1033.6875" y2="1033.6875"/><ellipse cx="2754.2145" cy="1044.6875" 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="2763.2145" y="1047.8979">urtMessageInit (message : urt_message_t*, payload : void*) : void</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
+class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="783" x="1926.7145" y="529.8594"/><ellipse cx="2267.4645" cy="545.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2266.9489,546.4219 Q2265.0895,545.7188 2264.4333,544.9531 Q2263.7926,544.1719 2263.7926,542.8594 Q2263.7926,541.1719 2264.8708,540.2031 Q2265.9489,539.2344 2267.8239,539.2344 Q2268.6833,539.2344 2269.527,539.4375 Q2270.3864,539.625 2271.2301,540.0156 L2271.2301,542.4063 Q2270.4489,541.8438 2269.6208,541.5625 Q2268.8083,541.2656 2268.0114,541.2656 Q2267.1364,541.2656 2266.652,541.625 Q2266.1833,541.9844 2266.1833,542.6406 Q2266.1833,543.1563 2266.527,543.5 Q2266.8708,543.8281 2267.9645,544.2344 L2269.027,544.6406 Q2270.5114,545.1875 2271.2145,546.0938 Q2271.9333,547 2271.9333,548.375 Q2271.9333,550.25 2270.8239,551.1719 Q2269.7145,552.0938 2267.4645,552.0938 Q2266.5426,552.0938 2265.6208,551.875 Q2264.6989,551.6563 2263.8395,551.2344 L2263.8395,548.7031 Q2264.8083,549.3906 2265.7301,549.7344 Q2266.652,550.0781 2267.5426,550.0781 Q2268.4489,550.0781 2268.9489,549.6719 Q2269.4489,549.25 2269.4489,548.5156 Q2269.4489,547.9531 2269.1051,547.5469 Q2268.777,547.125 2268.152,546.875 L2266.9489,546.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="2287.9645" y="550.0137">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1927.7145" x2="2708.7145" y1="561.8594" y2="561.8594"/><ellipse cx="1937.7145" cy="572.8594" fill="none" 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="1946.7145" y="576.0698">topic : urt_topic_t*</text><ellipse cx="1937.7145" cy="602.4688" fill="none" 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="1946.7145" y="605.6792">publishAttempts : uint64_t</text><ellipse cx="1937.7145" cy="615.2734" fill="none" 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="1946.7145" y="618.4839">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1927.7145" x2="2209.7145" y1="589.0664" y2="589.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2209.7145" y="592.3745">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2426.7145" x2="2708.7145" y1="589.0664" y2="589.0664"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1927.7145" x2="2708.7145" y1="625.0781" y2="625.0781"/><ellipse cx="1937.7145" cy="636.0781" 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="1946.7145" y="639.2886">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void</text><ellipse cx="1937.7145" cy="648.8828" 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="1946.7145" y="652.0933">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
+class urt_topic_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="260.875" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="2745.2145" y="463.8594"/><ellipse cx="2899.9645" cy="479.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2899.4489,480.4219 Q2897.5895,479.7188 2896.9333,478.9531 Q2896.2926,478.1719 2896.2926,476.8594 Q2896.2926,475.1719 2897.3708,474.2031 Q2898.4489,473.2344 2900.3239,473.2344 Q2901.1833,473.2344 2902.027,473.4375 Q2902.8864,473.625 2903.7301,474.0156 L2903.7301,476.4063 Q2902.9489,475.8438 2902.1208,475.5625 Q2901.3083,475.2656 2900.5114,475.2656 Q2899.6364,475.2656 2899.152,475.625 Q2898.6833,475.9844 2898.6833,476.6406 Q2898.6833,477.1563 2899.027,477.5 Q2899.3708,477.8281 2900.4645,478.2344 L2901.527,478.6406 Q2903.0114,479.1875 2903.7145,480.0938 Q2904.4333,481 2904.4333,482.375 Q2904.4333,484.25 2903.3239,485.1719 Q2902.2145,486.0938 2899.9645,486.0938 Q2899.0426,486.0938 2898.1208,485.875 Q2897.1989,485.6563 2896.3395,485.2344 L2896.3395,482.7031 Q2897.3083,483.3906 2898.2301,483.7344 Q2899.152,484.0781 2900.0426,484.0781 Q2900.9489,484.0781 2901.4489,483.6719 Q2901.9489,483.25 2901.9489,482.5156 Q2901.9489,481.9531 2901.6051,481.5469 Q2901.277,481.125 2900.652,480.875 L2899.4489,480.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="2920.4645" y="484.0137">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2746.2145" x2="3128.2145" y1="495.8594" y2="495.8594"/><ellipse cx="2756.2145" cy="506.8594" fill="none" 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="2765.2145" y="510.0698">next : urt_topic_t*</text><ellipse cx="2756.2145" cy="519.6641" fill="none" 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="2765.2145" y="522.8745">id : urt_topicid_t</text><ellipse cx="2756.2145" cy="532.4688" fill="none" 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="2765.2145" y="535.6792">lock : urt_osMutex_t</text><ellipse cx="2756.2145" cy="545.2734" fill="none" 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="2765.2145" y="548.4839">evtSource : urt_osEventSource_t</text><ellipse cx="2756.2145" cy="558.0781" fill="none" 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="2765.2145" y="561.2886">numHrtSubscribers : unsigned int</text><ellipse cx="2756.2145" cy="570.8828" fill="none" 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="2765.2145" y="574.0933">hrtReleased : urt_osCondvar_t</text><ellipse cx="2756.2145" cy="583.6875" fill="none" 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="2765.2145" y="586.8979">mandatoryMessage : urt_message_t</text><ellipse cx="2756.2145" cy="596.4922" fill="none" 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="2765.2145" y="599.7026">latestMessage : urt_message_t*</text><ellipse cx="2756.2145" cy="626.1016" fill="none" 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="2765.2145" y="629.312">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="2756.2145" cy="638.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="170" x="2765.2145" y="642.1167">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2746.2145" x2="2804.7145" y1="612.6992" y2="612.6992"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2804.7145" y="616.0073">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3069.7145" x2="3128.2145" y1="612.6992" y2="612.6992"/><ellipse cx="2756.2145" cy="668.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="195" x="2765.2145" y="671.7261">numMessagesPublished : uint64_t</text><ellipse cx="2756.2145" cy="681.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="197" x="2765.2145" y="684.5308">numMessagesDiscarded : uint64_t</text><ellipse cx="2756.2145" cy="694.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="176" x="2765.2145" y="697.3354">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2746.2145" x2="2828.7145" y1="655.1133" y2="655.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2828.7145" y="658.4214">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3045.7145" x2="3128.2145" y1="655.1133" y2="655.1133"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2746.2145" x2="3128.2145" y1="703.9297" y2="703.9297"/><ellipse cx="2756.2145" cy="714.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="358" x="2765.2145" y="718.1401">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
+class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="4878.7145" y="916.8594"/><ellipse cx="4921.1645" cy="932.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4920.6489,933.4219 Q4918.7895,932.7188 4918.1333,931.9531 Q4917.4926,931.1719 4917.4926,929.8594 Q4917.4926,928.1719 4918.5708,927.2031 Q4919.6489,926.2344 4921.5239,926.2344 Q4922.3833,926.2344 4923.227,926.4375 Q4924.0864,926.625 4924.9301,927.0156 L4924.9301,929.4063 Q4924.1489,928.8438 4923.3208,928.5625 Q4922.5083,928.2656 4921.7114,928.2656 Q4920.8364,928.2656 4920.352,928.625 Q4919.8833,928.9844 4919.8833,929.6406 Q4919.8833,930.1563 4920.227,930.5 Q4920.5708,930.8281 4921.6645,931.2344 L4922.727,931.6406 Q4924.2114,932.1875 4924.9145,933.0938 Q4925.6333,934 4925.6333,935.375 Q4925.6333,937.25 4924.5239,938.1719 Q4923.4145,939.0938 4921.1645,939.0938 Q4920.2426,939.0938 4919.3208,938.875 Q4918.3989,938.6563 4917.5395,938.2344 L4917.5395,935.7031 Q4918.5083,936.3906 4919.4301,936.7344 Q4920.352,937.0781 4921.2426,937.0781 Q4922.1489,937.0781 4922.6489,936.6719 Q4923.1489,936.25 4923.1489,935.5156 Q4923.1489,934.9531 4922.8051,934.5469 Q4922.477,934.125 4921.852,933.875 L4920.6489,933.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="4941.2645" y="937.0137">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4879.7145" x2="5102.7145" y1="948.8594" y2="948.8594"/><ellipse cx="4889.7145" cy="959.8594" fill="none" 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="4898.7145" y="963.0698">topic : urt_topic_t*</text><ellipse cx="4889.7145" cy="972.6641" fill="none" 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="4898.7145" y="975.8745">evtListener : urt_osEventListener_t</text><ellipse cx="4889.7145" cy="985.4688" fill="none" 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="4898.7145" y="988.6792">lastMessage : urt_message_t*</text><ellipse cx="4889.7145" cy="998.2734" fill="none" 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="4898.7145" y="1001.4839">lastMessageTime : urt_osTime_t</text><ellipse cx="4889.7145" cy="1027.8828" fill="none" 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="4898.7145" y="1031.0933">sumLatencies : uint64_t</text><ellipse cx="4889.7145" cy="1040.6875" fill="none" 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="4898.7145" y="1043.8979">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4879.7145" x2="4882.7145" y1="1014.4805" y2="1014.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4882.7145" y="1017.7886">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5099.7145" x2="5102.7145" y1="1014.4805" y2="1014.4805"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
+class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="6072.2145" y="953.3594"/><ellipse cx="6181.4645" cy="969.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6185.6989,965.125 L6180.4176,965.125 L6180.4176,967.7969 L6185.2145,967.7969 L6185.2145,969.9531 L6180.4176,969.9531 L6180.4176,975.3594 L6177.9801,975.3594 L6177.9801,962.9688 L6185.6989,962.9688 L6185.6989,965.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="6201.9645" y="973.5137">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6073.2145" x2="6445.2145" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6073.2145" x2="6445.2145" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="6078.2145" y="1007.5698">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
+class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="3182.7145" y="517.3594"/><ellipse cx="3529.4645" cy="533.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3528.9489,533.9219 Q3527.0895,533.2188 3526.4333,532.4531 Q3525.7926,531.6719 3525.7926,530.3594 Q3525.7926,528.6719 3526.8708,527.7031 Q3527.9489,526.7344 3529.8239,526.7344 Q3530.6833,526.7344 3531.527,526.9375 Q3532.3864,527.125 3533.2301,527.5156 L3533.2301,529.9063 Q3532.4489,529.3438 3531.6208,529.0625 Q3530.8083,528.7656 3530.0114,528.7656 Q3529.1364,528.7656 3528.652,529.125 Q3528.1833,529.4844 3528.1833,530.1406 Q3528.1833,530.6563 3528.527,531 Q3528.8708,531.3281 3529.9645,531.7344 L3531.027,532.1406 Q3532.5114,532.6875 3533.2145,533.5938 Q3533.9333,534.5 3533.9333,535.875 Q3533.9333,537.75 3532.8239,538.6719 Q3531.7145,539.5938 3529.4645,539.5938 Q3528.5426,539.5938 3527.6208,539.375 Q3526.6989,539.1563 3525.8395,538.7344 L3525.8395,536.2031 Q3526.8083,536.8906 3527.7301,537.2344 Q3528.652,537.5781 3529.5426,537.5781 Q3530.4489,537.5781 3530.9489,537.1719 Q3531.4489,536.75 3531.4489,536.0156 Q3531.4489,535.4531 3531.1051,535.0469 Q3530.777,534.625 3530.152,534.375 L3528.9489,533.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="3549.9645" y="537.5137">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3183.7145" x2="4002.7145" y1="549.3594" y2="549.3594"/><ellipse cx="3193.7145" cy="577.1641" fill="none" 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="3202.7145" y="580.3745">minLatency : urt_delay_t</text><ellipse cx="3193.7145" cy="589.9688" fill="none" 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="3202.7145" y="593.1792">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3183.7145" x2="3484.7145" y1="563.7617" y2="563.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3484.7145" y="567.0698">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3701.7145" x2="4002.7145" y1="563.7617" y2="563.7617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3183.7145" x2="4002.7145" y1="599.7734" y2="599.7734"/><ellipse cx="3193.7145" cy="610.7734" 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="3202.7145" y="613.9839">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void</text><ellipse cx="3193.7145" cy="623.5781" 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="3202.7145" y="626.7886">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="3193.7145" cy="636.3828" 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="3202.7145" y="639.5933">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3193.7145" cy="649.1875" 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="3202.7145" y="652.3979">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3193.7145" cy="661.9922" 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="3202.7145" y="665.2026">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
+class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="6184.2145" y="497.8594"/><ellipse cx="6662.9645" cy="513.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6662.4489,514.4219 Q6660.5895,513.7188 6659.9333,512.9531 Q6659.2926,512.1719 6659.2926,510.8594 Q6659.2926,509.1719 6660.3708,508.2031 Q6661.4489,507.2344 6663.3239,507.2344 Q6664.1833,507.2344 6665.027,507.4375 Q6665.8864,507.625 6666.7301,508.0156 L6666.7301,510.4063 Q6665.9489,509.8438 6665.1208,509.5625 Q6664.3083,509.2656 6663.5114,509.2656 Q6662.6364,509.2656 6662.152,509.625 Q6661.6833,509.9844 6661.6833,510.6406 Q6661.6833,511.1563 6662.027,511.5 Q6662.3708,511.8281 6663.4645,512.2344 L6664.527,512.6406 Q6666.0114,513.1875 6666.7145,514.0938 Q6667.4333,515 6667.4333,516.375 Q6667.4333,518.25 6666.3239,519.1719 Q6665.2145,520.0938 6662.9645,520.0938 Q6662.0426,520.0938 6661.1208,519.875 Q6660.1989,519.6563 6659.3395,519.2344 L6659.3395,516.7031 Q6660.3083,517.3906 6661.2301,517.7344 Q6662.152,518.0781 6663.0426,518.0781 Q6663.9489,518.0781 6664.4489,517.6719 Q6664.9489,517.25 6664.9489,516.5156 Q6664.9489,515.9531 6664.6051,515.5469 Q6664.277,515.125 6663.652,514.875 L6662.4489,514.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="6683.4645" y="518.0137">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6185.2145" x2="7267.2145" y1="529.8594" y2="529.8594"/><ellipse cx="6195.2145" cy="540.8594" fill="none" 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="6204.2145" y="544.0698">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="6195.2145" cy="553.6641" fill="none" 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="6204.2145" y="556.8745">cbparams : void*</text><ellipse cx="6195.2145" cy="583.2734" fill="none" 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="6204.2145" y="586.4839">minLatency : urt_delay_t</text><ellipse cx="6195.2145" cy="596.0781" fill="none" 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="6204.2145" y="599.2886">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6185.2145" x2="6617.7145" y1="569.8711" y2="569.8711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="6617.7145" y="573.1792">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6834.7145" x2="7267.2145" y1="569.8711" y2="569.8711"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6185.2145" x2="7267.2145" y1="605.8828" y2="605.8828"/><ellipse cx="6195.2145" cy="616.8828" 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="6204.2145" y="620.0933">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void</text><ellipse cx="6195.2145" cy="629.6875" 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="6204.2145" y="632.8979">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="6195.2145" cy="642.4922" 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="6204.2145" y="645.7026">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="6195.2145" cy="655.2969" 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="6204.2145" y="658.5073">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="6195.2145" cy="668.1016" 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="6204.2145" y="671.312">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="6195.2145" cy="680.9063" 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="6204.2145" y="684.1167">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
+class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="4038.2145" y="481.3594"/><ellipse cx="4463.4645" cy="497.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4462.9489,497.9219 Q4461.0895,497.2188 4460.4333,496.4531 Q4459.7926,495.6719 4459.7926,494.3594 Q4459.7926,492.6719 4460.8708,491.7031 Q4461.9489,490.7344 4463.8239,490.7344 Q4464.6833,490.7344 4465.527,490.9375 Q4466.3864,491.125 4467.2301,491.5156 L4467.2301,493.9063 Q4466.4489,493.3438 4465.6208,493.0625 Q4464.8083,492.7656 4464.0114,492.7656 Q4463.1364,492.7656 4462.652,493.125 Q4462.1833,493.4844 4462.1833,494.1406 Q4462.1833,494.6563 4462.527,495 Q4462.8708,495.3281 4463.9645,495.7344 L4465.027,496.1406 Q4466.5114,496.6875 4467.2145,497.5938 Q4467.9333,498.5 4467.9333,499.875 Q4467.9333,501.75 4466.8239,502.6719 Q4465.7145,503.5938 4463.4645,503.5938 Q4462.5426,503.5938 4461.6208,503.375 Q4460.6989,503.1563 4459.8395,502.7344 L4459.8395,500.2031 Q4460.8083,500.8906 4461.7301,501.2344 Q4462.652,501.5781 4463.5426,501.5781 Q4464.4489,501.5781 4464.9489,501.1719 Q4465.4489,500.75 4465.4489,500.0156 Q4465.4489,499.4531 4465.1051,499.0469 Q4464.777,498.625 4464.152,498.375 L4462.9489,497.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="4483.9645" y="501.5137">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4039.2145" x2="5011.2145" y1="513.3594" y2="513.3594"/><ellipse cx="4049.2145" cy="541.1641" fill="none" 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="4058.2145" y="544.3745">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4039.2145" x2="4379.7145" y1="527.7617" y2="527.7617"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="4379.7145" y="531.0698">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4670.7145" x2="5011.2145" y1="527.7617" y2="527.7617"/><ellipse cx="4049.2145" cy="570.7734" fill="none" 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="4058.2145" y="573.9839">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4039.2145" x2="4389.7145" y1="557.3711" y2="557.3711"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="4389.7145" y="560.6792">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4660.7145" x2="5011.2145" y1="557.3711" y2="557.3711"/><ellipse cx="4049.2145" cy="600.3828" fill="none" 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="4058.2145" y="603.5933">minLatency : urt_delay_t</text><ellipse cx="4049.2145" cy="613.1875" fill="none" 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="4058.2145" y="616.3979">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4039.2145" x2="4271.2145" y1="586.9805" y2="586.9805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="4271.2145" y="590.2886">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="4779.2145" x2="5011.2145" y1="586.9805" y2="586.9805"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4039.2145" x2="5011.2145" y1="622.9922" y2="622.9922"/><ellipse cx="4049.2145" cy="633.9922" 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="4058.2145" y="637.2026">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void</text><ellipse cx="4049.2145" cy="646.7969" 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="4058.2145" y="650.0073">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="4049.2145" cy="659.6016" 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="4058.2145" y="662.812">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4049.2145" cy="672.4063" 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="4058.2145" y="675.6167">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4049.2145" cy="685.2109" 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="4058.2145" y="688.4214">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="4049.2145" cy="698.0156" 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="4058.2145" y="701.2261">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
+class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="5047.2145" y="459.8594"/><ellipse cx="5525.4645" cy="475.8594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5524.9489,476.4219 Q5523.0895,475.7188 5522.4333,474.9531 Q5521.7926,474.1719 5521.7926,472.8594 Q5521.7926,471.1719 5522.8708,470.2031 Q5523.9489,469.2344 5525.8239,469.2344 Q5526.6833,469.2344 5527.527,469.4375 Q5528.3864,469.625 5529.2301,470.0156 L5529.2301,472.4063 Q5528.4489,471.8438 5527.6208,471.5625 Q5526.8083,471.2656 5526.0114,471.2656 Q5525.1364,471.2656 5524.652,471.625 Q5524.1833,471.9844 5524.1833,472.6406 Q5524.1833,473.1563 5524.527,473.5 Q5524.8708,473.8281 5525.9645,474.2344 L5527.027,474.6406 Q5528.5114,475.1875 5529.2145,476.0938 Q5529.9333,477 5529.9333,478.375 Q5529.9333,480.25 5528.8239,481.1719 Q5527.7145,482.0938 5525.4645,482.0938 Q5524.5426,482.0938 5523.6208,481.875 Q5522.6989,481.6563 5521.8395,481.2344 L5521.8395,478.7031 Q5522.8083,479.3906 5523.7301,479.7344 Q5524.652,480.0781 5525.5426,480.0781 Q5526.4489,480.0781 5526.9489,479.6719 Q5527.4489,479.25 5527.4489,478.5156 Q5527.4489,477.9531 5527.1051,477.5469 Q5526.777,477.125 5526.152,476.875 L5524.9489,476.4219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="5545.9645" y="480.0137">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5048.2145" x2="6130.2145" y1="491.8594" y2="491.8594"/><ellipse cx="5058.2145" cy="502.8594" fill="none" 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="5067.2145" y="506.0698">next : urt_hrtsubscriber_t*</text><ellipse cx="5058.2145" cy="532.4688" fill="none" 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="5067.2145" y="535.6792">deadlineOffset : urt_delay_t</text><ellipse cx="5058.2145" cy="545.2734" fill="none" 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="5067.2145" y="548.4839">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5048.2145" x2="5443.7145" y1="519.0664" y2="519.0664"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="5443.7145" y="522.3745">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5734.7145" x2="6130.2145" y1="519.0664" y2="519.0664"/><ellipse cx="5058.2145" cy="574.8828" fill="none" 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="5067.2145" y="578.0933">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5048.2145" x2="5453.7145" y1="561.4805" y2="561.4805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="5453.7145" y="564.7886">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5724.7145" x2="6130.2145" y1="561.4805" y2="561.4805"/><ellipse cx="5058.2145" cy="604.4922" fill="none" 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="5067.2145" y="607.7026">minLatency : urt_delay_t</text><ellipse cx="5058.2145" cy="617.2969" fill="none" 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="5067.2145" y="620.5073">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5048.2145" x2="5337.2145" y1="591.0898" y2="591.0898"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="5337.2145" y="594.3979">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="5841.2145" x2="6130.2145" y1="591.0898" y2="591.0898"/><ellipse cx="5058.2145" cy="646.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="150" x="5067.2145" y="650.1167">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5048.2145" x2="5456.7145" y1="633.5039" y2="633.5039"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="5456.7145" y="636.812">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5721.7145" x2="6130.2145" y1="633.5039" y2="633.5039"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5048.2145" x2="6130.2145" y1="656.7109" y2="656.7109"/><ellipse cx="5058.2145" cy="667.7109" 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="5067.2145" y="670.9214">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void</text><ellipse cx="5058.2145" cy="680.5156" 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="5067.2145" y="683.7261">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="5058.2145" cy="693.3203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="5067.2145" y="696.5308">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="5058.2145" cy="706.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="795" x="5067.2145" y="709.3354">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="5058.2145" cy="718.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="446" x="5067.2145" y="722.1401">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
+class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="8992.7145" y="953.3594"/><ellipse cx="9160.9645" cy="969.3594" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9165.1989,965.125 L9159.9176,965.125 L9159.9176,967.7969 L9164.7145,967.7969 L9164.7145,969.9531 L9159.9176,969.9531 L9159.9176,975.3594 L9157.4801,975.3594 L9157.4801,962.9688 L9165.1989,962.9688 L9165.1989,965.125 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="9181.4645" y="973.5137">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8993.7145" x2="9442.7145" y1="985.3594" y2="985.3594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8993.7145" x2="9442.7145" y1="993.3594" y2="993.3594"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="8998.7145" y="1007.5698">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
+class urt_service_t--><rect fill="#FEFECE" filter="url(#f1ujiseu7zzykl)" height="205.6563" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="8982.2145" y="491.3594"/><ellipse cx="9239.4645" cy="507.3594" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9238.9489,507.9219 Q9237.0895,507.2188 9236.4333,506.4531 Q9235.7926,505.6719 9235.7926,504.3594 Q9235.7926,502.6719 9236.8708,501.7031 Q9237.9489,500.7344 9239.8239,500.7344 Q9240.6833,500.7344 9241.527,500.9375 Q9242.3864,501.125 9243.2301,501.5156 L9243.2301,503.9063 Q9242.4489,503.3438 9241.6208,503.0625 Q9240.8083,502.7656 9240.0114,502.7656 Q9239.1364,502.7656 9238.652,503.125 Q9238.1833,503.4844 9238.1833,504.1406 Q9238.1833,504.6563 9238.527,505 Q9238.8708,505.3281 9239.9645,505.7344 L9241.027,506.1406 Q9242.5114,506.6875 9243.2145,507.5938 Q9243.9333,508.5 9243.9333,509.875 Q9243.9333,511.75 9242.8239,512.6719 Q9241.7145,513.5938 9239.4645,513.5938 Q9238.5426,513.5938 9237.6208,513.375 Q9236.6989,513.1563 9235.8395,512.7344 L9235.8395,510.2031 Q9236.8083,510.8906 9237.7301,511.2344 Q9238.652,511.5781 9239.5426,511.5781 Q9240.4489,511.5781 9240.9489,511.1719 Q9241.4489,510.75 9241.4489,510.0156 Q9241.4489,509.4531 9241.1051,509.0469 Q9240.777,508.625 9240.152,508.375 L9238.9489,507.9219 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="9259.9645" y="511.5137">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8983.2145" x2="9583.2145" y1="523.3594" y2="523.3594"/><ellipse cx="8993.2145" cy="534.3594" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="9002.2145" y="537.5698">next : urt_service_t*</text><ellipse cx="8993.2145" cy="547.1641" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="9002.2145" y="550.3745">id : urt_serviceid_t</text><ellipse cx="8993.2145" cy="559.9688" fill="none" 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="9002.2145" y="563.1792">lock : urt_osMutex_t</text><ellipse cx="8993.2145" cy="572.7734" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="9002.2145" y="575.9839">callback : urt_servicefunc_t*</text><ellipse cx="8993.2145" cy="602.3828" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="9002.2145" y="605.5933">sumDurations : uint64_t</text><ellipse cx="8993.2145" cy="615.1875" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="9002.2145" y="618.3979">numCalls : uint64_t</text><ellipse cx="8993.2145" cy="627.9922" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="9002.2145" y="631.2026">numTimeouts : uint64_t</text><ellipse cx="8993.2145" cy="640.7969" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="9002.2145" y="644.0073">minDuration : urt_delay_t</text><ellipse cx="8993.2145" cy="653.6016" fill="none" 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="9002.2145" y="656.812">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8983.2145" x2="9187.2145" y1="588.9805" y2="588.9805"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="9187.2145" y="592.2886">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9379.2145" x2="9583.2145" y1="588.9805" y2="588.9805"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8983.2145" x2="9583.2145" y1="663.4063" y2="663.4063"/><ellipse cx="8993.2145" cy="674.4063" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="576" x="9002.2145" y="677.6167">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="8993.2145" cy="687.2109" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="557" x="9002.2145" y="690.4214">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[5fff9a13948f7f5b5e6ca18c1c7a9716]
+link urt_nodestage_t to urt_config--><path d="M1205.6661,1444.1771 C1179.7775,1477.5397 1149.101,1517.0726 1120.5975,1553.8052 " fill="none" id="urt_nodestage_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1117.4907,1557.8089,1126.1683,1553.1507,1120.5559,1553.8586,1119.848,1548.2463,1117.4907,1557.8089" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7db439499cb1afd557b9be4c8c52b2ba]
+link urt_topicid_t to urt_config--><path d="M1028.2145,1444.1771 C1028.2145,1477.1345 1028.2145,1516.1132 1028.2145,1552.4655 " fill="none" id="urt_topicid_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1028.2145,1557.8089,1032.2145,1548.8089,1028.2145,1552.8089,1024.2145,1548.8089,1028.2145,1557.8089" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e851a4e79ca88682282ceaaad2100c63]
+link urt_serviceid_t to urt_config--><path d="M1455.6538,1444.2061 C1437.4591,1466.0731 1416.0466,1488.5219 1393.2145,1505.8594 C1328.8545,1554.731 1247.9044,1593.5946 1178.6015,1621.4886 " fill="none" id="urt_serviceid_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1173.6322,1623.478,1183.4742,1623.8465,1178.2741,1621.6197,1180.5009,1616.4196,1173.6322,1623.478" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[844001065b3bef53527c5dd4ba0c22e5]
+link urt_delay_t to urt_config--><path d="M1978.5783,1414.5689 C1959.9292,1445.6774 1931.7549,1483.8921 1896.2145,1505.8594 C1778.2739,1578.7576 1394.3539,1631.9505 1178.7108,1656.9352 " fill="none" id="urt_delay_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1173.6484,1657.5202,1183.0481,1660.4605,1178.6153,1656.9462,1182.1297,1652.5134,1173.6484,1657.5202" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7766572fa0c619a5409829048dc0b6d6]
+link urt_osCondvar_t to urt_osCondvarWaitStatus_t--><path d="M14588.2145,1033.6685 C14588.2145,1107.2408 14588.2145,1244.0695 14588.2145,1316.6892 " fill="none" id="urt_osCondvar_t-&gt;urt_osCondvarWaitStatus_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="14588.2145,1321.8051,14592.2145,1312.8051,14588.2145,1316.8051,14584.2145,1312.8051,14588.2145,1321.8051" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9b2507ea88616aeae65e3c4d63560016]
+link urt_osCondvar_t to urt_osMutex_t--><path d="M14542.5252,934.0805 C14474.8868,865.6475 14340.5252,749.0857 14196.7145,732.8594 C14172.6795,730.1475 10737.7495,730.1475 10713.7145,732.8594 C10621.3147,743.2849 10575.2765,858.6638 10555.5952,929.3074 " fill="none" id="urt_osCondvar_t-&gt;urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10554.2234,934.3144,10560.4595,926.6913,10555.5447,929.4921,10552.7439,924.5773,10554.2234,934.3144" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[83094e108045c8f9585007cdb3b7cb2e]
+link urt_osTimer_t to urt_osTimerCallback_t--><path d="M13807.2145,1040.0773 C13807.2145,1119.5626 13807.2145,1262.5074 13807.2145,1329.0138 " fill="none" id="urt_osTimer_t-&gt;urt_osTimerCallback_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="13807.2145,1334.0536,13811.2145,1325.0536,13807.2145,1329.0536,13803.2145,1325.0536,13807.2145,1334.0536" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8d8c3240b5b2b5edf6544088e583ffa5]
+link urt_osThread_t to urt_osThreadPrio_t--><path d="M12688.7458,1172.127 C12697.0411,1211.6334 12705.3633,1251.2679 12712.285,1284.2328 " fill="none" id="urt_osThread_t-&gt;urt_osThreadPrio_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="12713.3837,1289.4652,12715.4487,1279.8352,12712.3561,1284.5719,12707.6195,1281.4793,12713.3837,1289.4652" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[d7d1d43fd970fb07a484642bc19fcb13]
+link urt_osThread_t to urt_osThreadFunction_t--><path d="M12929.2667,1087.4557 C12995.9871,1118.4882 13064.7352,1156.1239 13123.2145,1199.8594 C13172.6586,1236.8377 13217.0732,1293.5549 13242.8428,1329.9242 " fill="none" id="urt_osThread_t-&gt;urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="13245.8921,1334.2559,13243.9823,1324.594,13243.014,1330.1673,13237.4406,1329.199,13245.8921,1334.2559" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6564761b32ad7eeb5abb8896c72cfca5]
+link urt_osThread_t to urt_osThreadTerminateSignal_t--><path d="M12820.6595,1171.9786 C12828.9925,1181.3788 12837.2149,1190.7106 12845.2145,1199.8594 C12881.7002,1241.5863 12922.4517,1290.2076 12950.3452,1323.8092 " fill="none" id="urt_osThread_t-&gt;urt_osThreadTerminateSignal_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="12953.682,1327.831,12951.0138,1318.3504,12950.4894,1323.9829,12944.8569,1323.4586,12953.682,1327.831" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[92ba23225d8de8f8080583fedda5e6f8]
+link urt_osThread_t to urt_osThreadState_t--><path d="M12566.693,1172.127 C12548.2088,1214.2977 12529.6606,1256.6142 12514.6723,1290.809 " fill="none" id="urt_osThread_t-&gt;urt_osThreadState_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="12512.4872,1295.7942,12519.7638,1289.1571,12514.4945,1291.2148,12512.4368,1285.9454,12512.4872,1295.7942" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[78b286ab2177e5f7b31e6e832d821818]
+link urt_osThread_t to urt_osTime_t--><path d="M12479.2414,795.577 C12435.7377,763.7085 12386.0255,738.8745 12332.7145,732.8594 C12305.9676,729.8415 10421.4615,729.8415 10394.7145,732.8594 C10283.8131,745.3725 10204.9977,866.9621 10168.7006,936.2069 " fill="none" id="urt_osThread_t-&gt;urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10166.3714,940.6905,10174.0702,934.5481,10168.6765,936.2535,10166.971,930.8599,10166.3714,940.6905" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[659af6ab57e6a38ebfd5c07c5616787c]
+link urt_osEventListener_t to urt_osEventFlags_t--><path d="M11504.2145,1408.0098 C11504.2145,1471.6825 11504.2145,1589.1375 11504.2145,1643.6498 " fill="none" id="urt_osEventListener_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11504.2145,1648.7248,11508.2145,1639.7248,11504.2145,1643.7248,11500.2145,1639.7248,11504.2145,1648.7248" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[eac11679f26c499aa1c571e1f795945d]
+link urt_osEventSource_t to urt_osEventFlags_t--><path d="M11993.1479,1402.0114 C11879.4226,1465.0103 11651.4481,1591.2983 11552.2098,1646.2721 " fill="none" id="urt_osEventSource_t-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11547.5824,1648.8355,11557.3934,1647.9732,11551.9561,1646.4126,11553.5168,1640.9752,11547.5824,1648.8355" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0259cdb10c6c32168d1d17d25519d939]
+link urt_events to urt_osEventSource_t--><path d="M11311.7928,1026.9538 C11434.5031,1066.5746 11616.7833,1129.6775 11769.2145,1199.8594 C11850.4496,1237.2614 11939.2464,1289.3682 11997.1154,1324.9566 " fill="none" id="urt_events-&gt;urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="12001.5745,1327.7039,11996.0101,1319.5775,11997.3176,1325.0812,11991.8139,1326.3886,12001.5745,1327.7039" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0ce043e0e9532fc393f3f8836f5de19a]
+link urt_events to urt_osEventListener_t--><path d="M11209.9759,1027.194 C11272.8391,1099.3353 11398.4371,1243.4702 11463.3192,1317.9283 " fill="none" id="urt_events-&gt;urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11466.7429,1321.8573,11463.8458,1312.4442,11463.458,1318.0877,11457.8145,1317.6999,11466.7429,1321.8573" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[430bebba9cd89d3ba8f63b2078968bca]
+link urt_events to urt_osEventMask_t--><path d="M11135.363,1027.194 C11070.4776,1103.4945 10937.1061,1260.3295 10877.7866,1330.0848 " fill="none" id="urt_events-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10874.3309,1334.1484,10883.2085,1329.8835,10877.57,1330.3394,10877.1141,1324.701,10874.3309,1334.1484" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b1b185abc2161e087cab32ae7fdb2c40]
+link urt_events to urt_osEventFlags_t--><path d="M11178.7325,1027.261 C11185.2103,1070.8488 11195.2952,1139.9552 11203.2145,1199.8594 C11212.1915,1267.7639 11203.625,1447.9559 11240.2145,1505.8594 C11284.1207,1575.3417 11368.5642,1621.0844 11430.1615,1646.8441 " fill="none" id="urt_events-&gt;urt_osEventFlags_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11434.9281,1648.8168,11428.1417,1641.6792,11430.3081,1646.9048,11425.0825,1649.0712,11434.9281,1648.8168" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[706a1974d1b474cbba7e7b0213f243a1]
+link urt_events to urt_osEventWait_t--><path d="M11164.4802,1027.194 C11151.6814,1098.905 11126.1862,1241.7535 11112.8298,1316.5887 " fill="none" id="urt_events-&gt;urt_osEventWait_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="11111.8894,1321.8573,11117.4086,1313.7001,11112.768,1316.9351,11109.533,1312.2945,11111.8894,1321.8573" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[5f656ccbf337bb70e2692ec6599b22aa]
+link urt_osCondvar_t to urt_delay_t--><path d="M14514.8235,1033.5721 C14442.1349,1079.6173 14325.8308,1144.9154 14214.2145,1171.8594 C14119.1099,1194.8175 10790.0421,1198.5416 10692.2145,1199.8594 C7149.8549,1247.5766 2795.7893,1346.5915 2099.9407,1362.6402 " fill="none" id="urt_osCondvar_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2094.8974,1362.7565,2103.9873,1366.5476,2099.8961,1362.641,2103.8027,1358.5498,2094.8974,1362.7565" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2da0e339f7ca878d257c4a5336e8cad5]
+link urt_osThread_t to urt_delay_t--><path d="M12369.148,1165.7187 C12362.8474,1167.9273 12356.5327,1169.9802 12350.2145,1171.8594 C12261.9132,1198.1225 10784.3239,1198.207 10692.2145,1199.8594 C7150.1035,1263.404 2795.8304,1349.209 2099.9458,1362.9649 " fill="none" id="urt_osThread_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2094.9023,1363.0646,2103.9796,1366.8858,2099.9013,1362.9657,2103.8215,1358.8874,2094.9023,1363.0646" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[4dd831efde278dc905a11b75839a39d0]
+link urt_osThread_t to urt_status_t--><path d="M12369.1843,1165.8424 C12362.8727,1168.0134 12356.5459,1170.0251 12350.2145,1171.8594 C12210.7542,1212.2624 2026.9948,1136.7874 1896.2145,1199.8594 C1881.2421,1207.0802 1867.4344,1216.9142 1854.8483,1228.2102 " fill="none" id="urt_osThread_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1850.9815,1231.7614,1860.3158,1228.6196,1854.6641,1228.3792,1854.9044,1222.7275,1850.9815,1231.7614" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8bf77663ad208115c32fd5300d37f092]
+link urt_osTimer_t to urt_delay_t--><path d="M13717.3988,1039.9847 C13639.0941,1085.4611 13520.7336,1146.069 13408.2145,1171.8594 C13261.1318,1205.5721 10843.0952,1197.649 10692.2145,1199.8594 C7149.9137,1251.7549 2795.7991,1347.2825 2099.9419,1362.7259 " fill="none" id="urt_osTimer_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2094.8986,1362.8379,2103.9852,1366.6371,2099.8974,1362.7269,2103.8076,1358.6391,2094.8986,1362.8379" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[97e66fd6906ece822f393f9bfe719297]
+link urt_osTimer_t to urt_status_t--><path d="M13717.839,1039.9827 C13639.5695,1085.6243 13521.0211,1146.4703 13408.2145,1171.8594 C13330.2208,1189.4132 1968.2267,1165.1407 1896.2145,1199.8594 C1881.2412,1207.0784 1867.433,1216.9112 1854.8465,1228.2064 " fill="none" id="urt_osTimer_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1850.9796,1231.7575,1860.3141,1228.6162,1854.6624,1228.3756,1854.903,1222.7238,1850.9796,1231.7575" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a4e2abbbace7909006fa5f13364d6021]
+link urt_events to urt_delay_t--><path d="M11094.4457,1027.0441 C11007.1527,1072.9487 10859.8165,1142.8393 10723.2145,1171.8594 C10279.4257,1266.1392 3021.5543,1353.0829 2100.1473,1363.7607 " fill="none" id="urt_events-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2094.8108,1363.8226,2103.8566,1367.7179,2099.8105,1363.7646,2103.7638,1359.7184,2094.8108,1363.8226" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0549e7b45a7543f4046fb7eaa1b75598]
+link urt_events to urt_status_t--><path d="M11095.7307,1026.9034 C11008.6803,1073.229 10860.7067,1144.0097 10723.2145,1171.8594 C10603.0568,1196.1979 2006.628,1146.5762 1896.2145,1199.8594 C1881.2439,1207.0839 1867.4374,1216.9203 1854.8519,1228.2177 " fill="none" id="urt_events-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1850.9854,1231.7694,1860.3194,1228.6268,1854.6677,1228.3869,1854.9076,1222.7352,1850.9854,1231.7694" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
+reverse link urt_node_t to urt_node_t--><path d="M8863.7055,566.618 C8878.5406,574.5637 8886.7145,583.8108 8886.7145,594.3594 C8886.7145,607.4683 8874.0912,618.5673 8851.7477,627.6565 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8851.7477,561.0623,8855.5037,567.218,8862.6305,566.1185,8858.8745,559.9628,8851.7477,561.0623" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8860.2192" y="557.6822">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="8860.3067" y="625.0048">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
+reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M8069.1389,723.1081 C8067.408,804.7675 8069.009,903.9849 8073.9421,953.1633 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8069.4521,709.9044,8065.3109,715.8078,8069.1674,721.901,8073.3086,715.9976,8069.4521,709.9044" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8060.3931" y="730.2339">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="8045.9672" y="942.3861">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
+reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M8093.8141,715.3429 C8095.9379,798.3813 8094.3047,902.4149 8088.9147,953.1633 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8093.6688,709.9044,8089.9107,719.008,8093.8024,714.9026,8097.9078,718.7943,8093.6688,709.9044" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
+reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M8279.8011,717.1013 C8290.1475,723.6662 8300.3389,730.2729 8310.2145,736.8594 C8418.3412,808.974 8538.1713,904.8188 8603.4839,953.1746 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8268.5209,709.9969,8271.4662,716.5791,8278.6749,716.3919,8275.7296,709.8098,8268.5209,709.9969" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8272.8368" y="730.3326">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8584.8145" y="942.3997">1</text><!--MD5=[b913f036db99e36b937989146817bd94]
+reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M8307.7923,712.7083 C8320.5782,720.7133 8333.1326,728.8014 8345.2145,736.8594 C8453.1941,808.8759 8572.8453,904.5581 8625.3269,952.977 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="8303.4476,709.9969,8308.9651,718.1551,8307.6894,712.644,8313.2005,711.3682,8303.4476,709.9969" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
+reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M7847.4284,717.1983 C7837.7752,723.6786 7828.3308,730.2473 7819.2145,736.8594 C7722.9836,806.6559 7621.5831,904.1423 7578.8119,953.153 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7858.4096,709.9217,7851.1985,709.9015,7848.4065,716.5502,7855.6175,716.5703,7858.4096,709.9217" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7835.1711" y="730.2524">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7556.3789" y="942.3736">0..1</text><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
+reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M7888.9522,712.8224 C7877.0572,720.7143 7865.3893,728.7543 7854.2145,736.8594 C7757.9836,806.6559 7656.5831,904.1423 7600.71,953.153 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="7893.3444,709.9217,7883.63,711.5436,7889.1721,712.6771,7888.0387,718.2192,7893.3444,709.9217" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[536025241394544a90bc53fb552f3a08]
+reverse link urt_message_t to urt_message_t--><path d="M3099.4452,912.6749 C3146.9161,914.071 3184.2145,937.7992 3184.2145,983.8594 C3184.2145,1034.1426 3139.7632,1057.8111 3086.1525,1054.8648 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3086.1525,912.854,3092.2059,916.7727,3098.1514,912.6922,3092.098,908.7734,3086.1525,912.854" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3092.1711" y="901.8508">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3074.3466" y="1074.438">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
+link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M3795.4555,671.3649 C3865.8405,694.539 3946.0143,716.9609 4021.2145,728.8594 C4044.6463,732.5669 4855.2489,724.0466 4875.2145,736.8594 C4930.1985,772.1451 4959.6054,841.0899 4975.0359,897.1912 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="4981.8793,895.6995,4980.02,916.8074,4968.3104,899.1471,4981.8793,895.6995" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
+link urt_nrtsubscriber_t to urt_message_t--><path d="M3296.3112,671.3785 C3251.2116,689.297 3206.6324,710.9296 3167.2145,736.8594 C3098.4594,782.0877 3037.5485,853.8755 2997.1774,908.4288 " 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="2994.0642,912.6566,3002.6216,907.7811,2997.0289,908.6303,2996.1796,903.0376,2994.0642,912.6566" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
+link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M6362.9724,690.9146 C6298.1469,705.5213 6230.9615,718.9827 6167.2145,728.8594 C6117.8983,736.5002 6104.5609,729.4163 6055.2145,736.8594 C5715.1845,788.1473 5323.006,890.7093 5123.1688,946.1719 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="5124.999,952.9285,5103.8541,951.5522,5121.2421,939.442,5124.999,952.9285" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
+reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M6600.3884,699.3043 C6498.1934,784.5397 6360.7665,899.1603 6295.9572,953.2143 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6610.4764,690.8904,6603.3067,691.6616,6601.2609,698.5764,6608.4307,697.8052,6610.4764,690.8904" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6593.309" y="710.9329">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6277.0604" y="942.4476">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
+link urt_srtsubscriber_t to urt_message_t--><path d="M6379.9859,690.9257 C6310.0825,706.66 6236.7138,720.522 6167.2145,728.8594 C6146.5294,731.3409 3186.2221,728.3305 3167.2145,736.8594 C3089.1593,771.8836 3027.2247,849.5412 2989.0144,908.4961 " 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="2986.3044,912.7077,2994.5384,907.3038,2989.0101,908.503,2987.8109,902.9747,2986.3044,912.7077" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
+link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M4839.6392,707.5095 C4852.2076,716.5919 4864.1496,726.3598 4875.2145,736.8594 C4920.9481,780.2566 4950.4804,845.282 4968.2969,897.722 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="4974.9633,895.587,4974.45,916.7704,4961.6411,899.8904,4974.9633,895.587" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
+link urt_frtsubscriber_t to urt_message_t--><path d="M4141.3063,707.414 C4101.0356,716.0836 4060.4745,723.5238 4021.2145,728.8594 C3997.7073,732.0541 3188.826,727.075 3167.2145,736.8594 C3089.2771,772.1449 3027.3234,849.7603 2989.0765,908.6339 " 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="2986.3638,912.8396,2994.6036,907.4446,2989.074,908.6378,2987.8808,903.1082,2986.3638,912.8396" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
+link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M5382.5795,728.9486 C5292.0311,787.9262 5188.9507,855.0663 5111.3172,905.632 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="5114.735,911.7597,5094.1559,916.8098,5107.0941,900.0287,5114.735,911.7597" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
+reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M6143.1257,562.2057 C6157.9079,571.0773 6166.2145,581.7952 6166.2145,594.3594 C6166.2145,609.9732 6153.3862,622.7356 6131.2437,632.6467 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6131.2437,556.0721,6134.7404,562.3786,6141.9068,561.5765,6138.41,555.2699,6131.2437,556.0721" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6138.9222" y="552.4969">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6139.0347" y="630.1483">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
+link urt_hrtsubscriber_t to urt_message_t--><path d="M5047.0083,726.7353 C5041.3879,727.4774 5035.7888,728.1861 5030.2145,728.8594 C5004.526,731.9623 3190.8134,726.2472 3167.2145,736.8594 C3089.1879,771.9471 3027.2486,849.5945 2989.0295,908.5296 " 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="2986.3188,912.7398,2994.5541,907.3379,2989.0255,908.5358,2987.8277,903.0072,2986.3188,912.7398" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
+reverse link urt_publisher_t to urt_topic_t--><path d="M2723.0767,594.3594 C2730.3829,594.3594 2737.6892,594.3594 2744.9954,594.3594 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="2709.9254,594.3594,2715.9254,598.3594,2721.9254,594.3594,2715.9254,590.3594,2709.9254,594.3594" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2717.9633" y="591.277">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2729.3306" y="591.1383">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
+link urt_publisher_t to urt_message_t--><path d="M2422.2682,658.8959 C2533.6879,728.0009 2710.1959,837.4752 2827.0979,909.9805 " 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="2831.5776,912.759,2826.0377,904.6159,2827.3286,910.1235,2821.821,911.4144,2831.5776,912.759" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
+reverse link urt_topic_t to urt_topic_t--><path d="M3140.8373,547.3034 C3155.3493,557.9801 3164.2145,573.6654 3164.2145,594.3594 C3164.2145,620.0762 3150.5235,638.0579 3129.3184,648.3044 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3129.3184,540.4144,3132.4146,546.927,3139.617,546.5738,3136.5208,540.0612,3129.3184,540.4144" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3136.9787" y="535.0861">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3137.2912" y="647.1906">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
+reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M3058.2261,455.2111 C3094.9296,425.8896 3138.0284,402.127 3184.7145,396.8594 C3209.9433,394.0128 4987.4857,394.0128 5012.7145,396.8594 C5100.6296,406.7789 5192.6244,431.2924 5276.6526,459.8069 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3048.0457,463.6179,3055.2191,462.8817,3057.2986,455.9769,3050.1252,456.7131,3048.0457,463.6179" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3046.2219" y="452.7001">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="5259.2764" y="448.6688">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
+reverse link urt_topic_t to urt_message_t--><path d="M2940.5388,738.2281 C2941.9122,797.6648 2943.4427,863.9011 2944.568,912.6003 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2940.2301,724.8697,2936.3698,730.9605,2940.5074,736.8665,2944.3677,730.7756,2940.2301,724.8697" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2932.1732" y="744.9227">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2935.9857" y="901.5709">1</text><!--MD5=[05f2c35569573d3273c65d3342945557]
+reverse link urt_service_t to urt_service_t--><path d="M9595.5747,553.6948 C9610.4708,563.9122 9619.2145,577.4671 9619.2145,594.3594 C9619.2145,615.1499 9605.9697,630.8849 9584.311,641.5645 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="9584.311,547.1543,9587.4911,553.6263,9594.6884,553.1801,9591.5083,546.708,9584.311,547.1543" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9592.4151" y="542.7744">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="9592.6276" y="639.6924">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
+reverse link urt_service_t to urt_servicefunc_t--><path d="M9263.8431,710.4387 C9249.8532,794.2708 9231.9618,901.4813 9223.3286,953.2144 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="9266.0089,697.4605,9261.0758,702.7202,9264.0335,709.2968,9268.9666,704.0371,9266.0089,697.4605" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9256.5841" y="716.9744">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="9197.9084" y="942.4477">0..1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
+reverse link urt_core_t to urt_node_t--><path d="M3121.8717,253.1763 C3841.8228,259.0876 6461.1763,288.0464 7284.2145,400.8594 C7412.6752,418.4674 7550.5913,448.0324 7674.9818,478.8201 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3108.8237,253.07,3114.7909,257.1188,3120.8233,253.1678,3114.8561,249.119,3108.8237,253.07" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3116.781" y="265.5418">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7622.8818" y="467.6158">0..1</text><!--MD5=[250695c91040478b50550bc37a8775c7]
+reverse link urt_core_t to urt_topic_t--><path d="M2937.2145,406.3776 C2937.2145,425.5745 2937.2145,445.0546 2937.2145,463.8405 " fill="none" id="urt_core_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2937.2145,393.1447,2933.2145,399.1447,2937.2145,405.1447,2941.2145,399.1447,2937.2145,393.1447" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2929.0208" y="412.4293">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2912.5208" y="452.9356">0..1</text><!--MD5=[8d0a227ec56585cdbc167f8316b34b64]
+reverse link urt_core_t to urt_service_t--><path d="M3122.1844,253.6721 C4105.6668,263.6573 8687.5296,314.6611 8974.2145,400.8594 C9037.5578,419.905 9100.6758,455.6445 9153.1976,491.2754 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3109.0209,253.5387,3114.98,257.5993,3121.0203,253.6604,3115.0612,249.5997,3109.0209,253.5387" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3116.4906" y="250.0899">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="9118.7682" y="480.2388">0..1</text><!--MD5=[a42c921bb2ae3ef3cd6ba12c97758939]
+reverse link urt_core_t to urt_osEventSource_t--><path d="M3121.9858,252.6433 C3934.971,256.7469 7275.0032,280.4524 10014.2145,400.8594 C11131.6305,449.9774 14272.1737,-80.0082 15036.2145,736.8594 C15168.28,878.056 15172.2066,1034.4406 15036.2145,1171.8594 C14983.7882,1224.8356 12425.2095,1180.5795 12353.2145,1199.8594 C12259.3214,1225.0035 12163.6214,1287.2369 12108.1823,1327.6785 " fill="none" id="urt_core_t&lt;-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3108.7461,252.5771,3114.726,256.6071,3120.7459,252.6372,3114.7661,248.6072,3108.7461,252.5771" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3116.6999" y="265.0266">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="12108.0141" y="1316.8332">1</text><!--MD5=[b9eb8460041bde16ab6e44c28de7b0fc]
+reverse link urt_core_t to urt_osMutex_t--><path d="M3122.2462,253.9348 C4167.0034,265.9116 9292.9301,328.1975 9618.2145,400.8594 C9977.8541,481.1955 10093.6009,500.3766 10376.2145,736.8594 C10442.1142,792.0023 10492.7689,879.4882 10520.2406,934.1862 " fill="none" id="urt_core_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3109.0238,253.7835,3114.9776,257.852,3121.023,253.921,3115.0693,249.8525,3109.0238,253.7835" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3116.4408" y="250.6247">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10508.4474" y="923.207">1</text><!--MD5=[53eb1ed31b8ffcbb98ca8a87ecf3ad40]
+link urt_core_t to urt_status_t--><path d="M2765.5303,263.3039 C2302.6319,298.1965 1047.9043,420.7924 814.2145,736.8594 C699.275,892.3158 679.8659,1032.8334 814.2145,1171.8594 C877.4108,1237.2559 1550.934,1159.0678 1632.2145,1199.8594 C1646.7741,1207.1663 1660.2543,1216.9029 1672.5917,1228.0066 " fill="none" id="urt_core_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1676.3837,1231.4952,1672.4685,1222.458,1672.704,1228.1099,1667.0521,1228.3455,1676.3837,1231.4952" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f6f8ae0abb3c85244c8639cf15039f58]
+link urt_core_t to urt_nodestage_t--><path d="M2765.7106,256.4742 C2235.2266,271.5541 651.9495,322.9323 575.2145,400.8594 C522.4097,454.4846 530.4083,1141.634 559.2145,1171.8594 C603.8801,1218.7256 1083.8896,1169.771 1141.2145,1199.8594 C1175.7278,1217.9746 1203.5669,1250.2297 1224.2116,1281.4455 " fill="none" id="urt_core_t-&gt;urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1226.9488,1285.6424,1225.3828,1275.9188,1224.2174,1281.4543,1218.6819,1280.289,1226.9488,1285.6424" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e894174e7ccaed139fbaaa0f9b9ae8dc]
+link urt_core_t to urt_topicid_t--><path d="M2765.5346,256.1063 C2227.5709,270.2405 605.7318,319.4611 529.2145,400.8594 C281.0376,664.8675 501.3367,958.5178 794.2145,1171.8594 C838.8312,1204.3596 869.6213,1168.7439 915.2145,1199.8594 C945.1446,1220.2855 969.452,1251.4809 987.7467,1281.2697 " fill="none" id="urt_core_t-&gt;urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="990.4022,1285.6531,989.1598,1275.8829,987.8114,1281.3767,982.3176,1280.0282,990.4022,1285.6531" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[972bd788fc5a0ee0badfa994920a3622]
+link urt_core_t to urt_serviceid_t--><path d="M2765.4225,253.0348 C2288.0686,257.8043 970.7047,281.7342 819.2145,400.8594 C547.2718,614.7031 472.6678,922.2611 712.2145,1171.8594 C764.6526,1226.4979 1326.5213,1163.9827 1393.2145,1199.8594 C1426.7144,1217.8802 1453.0896,1249.943 1472.4055,1281.0427 " fill="none" id="urt_core_t-&gt;urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1475.2042,1285.6224,1473.9242,1275.857,1472.5969,1281.356,1467.098,1280.0287,1475.2042,1285.6224" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[addb2e74eebae0995b3a6bf162197d46]
+reverse link urt_node_t to urt_osThread_t--><path d="M8788.944,711.4331 C8848.7833,718.4364 8908.4698,724.4278 8966.2145,728.8594 C8989.6457,730.6576 12328.1104,728.8807 12350.2145,736.8594 C12388.3718,750.6327 12425.1301,771.6042 12459.0342,795.6229 " fill="none" id="urt_node_t&lt;-urt_osThread_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8775.7701,709.8754,8781.2588,714.5523,8787.6871,711.2847,8782.1983,706.6077,8775.7701,709.8754" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8814.1668" y="730.2029">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="12443.449" y="785.0441">1</text><!--MD5=[71f626b81c482d35e653d2b548781872]
+reverse link urt_node_t to urt_nodestage_t--><path d="M7443.5715,711.5668 C7389.8046,718.5267 7336.1559,724.4725 7284.2145,728.8594 C7273.859,729.734 1305.7372,729.6893 1298.2145,736.8594 C1149.5624,878.5441 1202.6475,1151.1261 1241.247,1285.7091 " fill="none" id="urt_node_t&lt;-urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="7456.5043,709.8737,7450.0358,706.6865,7444.6059,711.4316,7451.0744,714.6188,7456.5043,709.8737" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7406.2628" y="730.2011">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1230.4844" y="1274.7739">1</text><!--MD5=[ecbb69d8dc7b8a34ff21337736794c2a]
+reverse link urt_node_t to urt_osEventListener_t--><path d="M8788.378,711.4326 C8848.4063,718.4498 8908.287,724.4438 8966.2145,728.8594 C8976.5889,729.6502 14951.8623,729.4974 14959.2145,736.8594 C15095.8305,873.6579 15095.3205,1034.5535 14959.2145,1171.8594 C14928.0223,1203.3266 11811.7613,1187.494 11769.2145,1199.8594 C11686.7267,1223.8329 11604.7982,1281.3708 11554.3569,1321.721 " fill="none" id="urt_node_t&lt;-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="8775.1626,709.8716,8780.6519,714.5478,8787.0797,711.2793,8781.5904,706.603,8775.1626,709.8716" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="8813.5185" y="730.1989">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="11553.7108" y="1310.695">1</text><!--MD5=[a052f483eba01ccbd89eefaa281cffa6]
+reverse link urt_node_t to urt_osThreadFunction_t--><path d="M8788.3779,711.4345 C8848.4062,718.4513 8908.287,724.4447 8966.2145,728.8594 C8976.8209,729.6677 15085.6978,729.3329 15093.2145,736.8594 C15229.8325,873.6559 15228.7868,1034.0264 15093.2145,1171.8594 C15027.2504,1238.9235 13484.8105,1158.7209 13400.2145,1199.8594 C13342.1381,1228.1016 13300.8448,1294.836 13280.528,1334.2389 " fill="none" id="urt_node_t&lt;-urt_osThreadFunction_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="8775.1624,709.8736,8780.6518,714.5497,8787.0796,711.2811,8781.5902,706.605,8775.1624,709.8736" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="8822.5597" y="730.201">0..*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="13274.6552" y="1323.4773">1</text><!--MD5=[0cba389305cd35ebcbacaedacb3fbe88]
+link urt_node_t to urt_status_t--><path d="M7456.5037,709.8664 C7398.417,717.5576 7340.3197,724.1174 7284.2145,728.8594 C7274.7188,729.662 1802.1122,730.2842 1795.2145,736.8594 C1665.9801,860.0514 1689.2293,1082.1787 1722.8699,1226.5326 " fill="none" id="urt_node_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1724.0708,1231.6346,1725.9021,1221.9575,1722.9251,1226.7676,1718.115,1223.7906,1724.0708,1231.6346" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b00c0c61b5ae38465e12763fb588229]
+link urt_nodeSetupCallback_t to urt_osEventMask_t--><path d="M8109.4831,1014.6103 C8151.9219,1058.4373 8236.8163,1137.3705 8327.2145,1171.8594 C8549.2633,1256.5759 10199.832,1336.0814 10703.0202,1358.5632 " fill="none" id="urt_nodeSetupCallback_t-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10708.157,1358.7925,10699.3444,1354.3951,10703.162,1358.5695,10698.9876,1362.3871,10708.157,1358.7925" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[aa0b59559007c8ad9b783f6dc5ed8ad9]
+link urt_nodeLoopCallback_t to urt_osEventMask_t--><path d="M8689.7207,1014.5525 C8746.4958,1057.9297 8857.7048,1135.8839 8966.2145,1171.8594 C9288.828,1278.8194 10319.8507,1338.9782 10703.0113,1358.1011 " fill="none" id="urt_nodeLoopCallback_t-&gt;urt_osEventMask_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="10708.0471,1358.352,10699.2573,1353.909,10703.0533,1358.1031,10698.8592,1361.8991,10708.0471,1358.352" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b3fa89608aace108b23bbfcd22712ec]
+link urt_publisher_t to urt_config--><path d="M1926.7072,605.66 C1304.3937,625.5548 152.9441,671.0537 91.2145,736.8594 C-25.7004,861.4945 -18.51,1374.8497 91.2145,1505.8594 C189.7532,1623.5133 638.6226,1658.3526 877.5398,1668.6136 " fill="none" id="urt_publisher_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="882.7936,1668.8367,873.9715,1664.4582,877.7981,1668.6244,873.6319,1672.4509,882.7936,1668.8367" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[48a81098d0aa451a4923659bb2bbea3c]
+link urt_publisher_t to urt_status_t--><path d="M1926.4603,606.3487 C1522.5913,622.8468 942.0923,659.7568 872.2145,736.8594 C807.2991,808.4865 805.1309,1102.2588 872.2145,1171.8594 C930.856,1232.7012 1556.7397,1161.8581 1632.2145,1199.8594 C1646.7645,1207.1853 1660.2386,1216.9343 1672.5721,1228.0455 " fill="none" id="urt_publisher_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1676.363,1231.5363,1672.4518,1222.4973,1672.6848,1228.1494,1667.0328,1228.3824,1676.363,1231.5363" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c16173558393ca1d9128284d70afa235]
+link urt_publisher_t to urt_delay_t--><path d="M1926.4242,634.5394 C1708.064,660.9904 1473.4085,697.8436 1440.2145,736.8594 C1314.9354,884.1107 1307.7627,1031.0251 1440.2145,1171.8594 C1474.9914,1208.8372 1852.3214,1174.3606 1896.2145,1199.8594 C1938.3166,1224.3178 1966.9715,1272.5243 1984.1262,1310.5442 " fill="none" id="urt_publisher_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1986.1614,1315.1281,1986.1651,1305.2792,1984.1324,1310.5583,1978.8534,1308.5256,1986.1614,1315.1281" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3f75a4ca5db56e37c381a718c71f2950]
+reverse link urt_topic_t to urt_topicid_t--><path d="M2732.4819,727.246 C2730.7271,727.8029 2728.9712,728.3409 2727.2145,728.8594 C2714.9393,732.4824 893.2449,727.7897 884.2145,736.8594 C747.8042,873.8631 805.7162,995.1795 884.2145,1171.8594 C891.7527,1188.826 902.9956,1185.8812 915.2145,1199.8594 C938.2933,1226.2611 960.7505,1257.5133 979.4842,1285.679 " fill="none" id="urt_topic_t&lt;-urt_topicid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2744.9245,722.9833,2737.952,721.1438,2733.5722,726.8724,2740.5447,728.7119,2744.9245,722.9833" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2729.2569" y="724.7866">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="966.6231" y="1274.741">1</text><!--MD5=[2ea2859f8de074b5c128ff5997404a58]
+reverse link urt_topic_t to urt_osMutex_t--><path d="M3141.8195,720.8346 C3150.2606,723.8599 3158.7415,726.5588 3167.2145,728.8594 C3191.3711,735.4185 10354.1133,725.1078 10376.2145,736.8594 C10454.4832,778.476 10502.7674,874.9436 10526.1588,934.2547 " fill="none" id="urt_topic_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3129.4864,716.1768,3133.6861,722.0387,3140.7124,720.4166,3136.5127,714.5547,3129.4864,716.1768" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3137.1533" y="717.7142">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10515.1978" y="923.2852">1</text><!--MD5=[ee40dc1875ed5325eec4e6c8c8102744]
+reverse link urt_topic_t to urt_osEventSource_t--><path d="M3141.8182,720.8393 C3150.2597,723.8633 3158.741,726.5606 3167.2145,728.8594 C3186.9725,734.2196 14944.7434,722.3784 14959.2145,736.8594 C15095.8754,873.6131 15095.1855,1034.4197 14959.2145,1171.8594 C14908.3006,1223.3233 12423.1406,1181.122 12353.2145,1199.8594 C12259.3253,1225.018 12163.6241,1287.2471 12108.1838,1327.6838 " fill="none" id="urt_topic_t&lt;-urt_osEventSource_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3129.4847,716.1833,3133.6853,722.0446,3140.7113,720.4215,3136.5108,714.5602,3129.4847,716.1833" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3137.0758" y="738.9705">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="12117.4408" y="1316.8394">1</text><!--MD5=[f5e2f818dfb7c47ef0a661b061d2efd0]
+link urt_topic_t to urt_config--><path d="M2744.9273,722.993 C2739.0429,725.1511 2733.1328,727.1166 2727.2145,728.8594 C2710.1274,733.8912 174.7902,724.2444 162.2145,736.8594 C41.5664,857.8844 53.418,1374.078 162.2145,1505.8594 C251.2579,1613.7145 654.2277,1652.6798 877.7305,1666.152 " fill="none" id="urt_topic_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="882.9765,1666.4655,874.2312,1661.9357,877.9854,1666.1672,873.7539,1669.9214,882.9765,1666.4655" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a01366c261f16bb61c03de8616a1256c]
+reverse link urt_topic_t to urt_osTimer_t--><path d="M3141.8185,720.8382 C3150.2599,723.8625 3158.7411,726.5602 3167.2145,728.8594 C3235.8506,747.4837 13339.818,717.3734 13408.2145,736.8594 C13538.4746,773.9702 13667.8229,867.0499 13742.508,927.7534 " fill="none" id="urt_topic_t&lt;-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3129.4851,716.1817,3133.6855,722.0432,3140.7116,720.4203,3136.5112,714.5588,3129.4851,716.1817" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3137.1519" y="733.3053">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="13708.68" y="916.6778">0..1</text><!--MD5=[23aed2412a22c58889d68b772ca9654f]
+link urt_topic_t to urt_status_t--><path d="M2744.9241,722.9822 C2739.0406,725.1434 2733.1316,727.1125 2727.2145,728.8594 C2715.3325,732.3672 951.9552,728.0794 943.2145,736.8594 C875.0143,805.3661 876.263,1102.1318 943.2145,1171.8594 C996.2808,1227.126 1563.846,1165.2736 1632.2145,1199.8594 C1646.7506,1207.2128 1660.2156,1216.9799 1672.5436,1228.102 " fill="none" id="urt_topic_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1676.3329,1231.596,1672.4279,1222.5543,1672.6571,1228.2066,1667.0048,1228.4357,1676.3329,1231.596" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[40d97a101b79fe2b6aede42ee911a5e3]
+reverse link urt_message_t to urt_osTime_t--><path d="M2985.9355,900.8125 C3025.236,831.7882 3092.8165,743.2283 3184.7145,732.8594 C3231.0455,727.6318 9852.3835,727.6318 9898.7145,732.8594 C10011.8254,745.6218 10091.2255,872.34 10126.1904,940.6848 " fill="none" id="urt_message_t&lt;-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2979.3995,912.5769,2985.81,909.2746,2985.2274,902.0871,2978.8168,905.3894,2979.3995,912.5769" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2974.2724" y="901.9132">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10114.3616" y="929.653">1</text><!--MD5=[7527c1e2a180419f2ba2182e8f11877d]
+reverse link urt_message_t to urt_osMutex_t--><path d="M2985.9355,900.8125 C3025.236,831.7882 3092.8165,743.2283 3184.7145,732.8594 C3209.4672,730.0665 10333.9618,730.0665 10358.7145,732.8594 C10455.7177,743.8043 10507.6527,864.0961 10529.8489,934.0975 " fill="none" id="urt_message_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2979.3995,912.5769,2985.81,909.2746,2985.2274,902.0871,2978.8168,905.3894,2979.3995,912.5769" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2983.0599" y="901.9132">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10528.5904" y="923.464">1</text><!--MD5=[107def0b4b669b7e1be29db2eeb634c8]
+reverse link urt_message_t to urt_osCondvar_t--><path d="M2985.9355,900.8125 C3025.236,831.7882 3092.8165,743.2283 3184.7145,732.8594 C3222.7095,728.5724 14158.7195,728.5724 14196.7145,732.8594 C14340.5252,749.0857 14474.8868,865.6475 14542.5252,934.0805 " fill="none" id="urt_message_t&lt;-urt_osCondvar_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="2979.3995,912.5769,2985.81,909.2746,2985.2274,902.0871,2978.8168,905.3894,2979.3995,912.5769" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="2974.2724" y="901.9132">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="14527.8482" y="923.4447">1</text><!--MD5=[2bb9471b6fda5815e085c87a24a67f11]
+link urt_message_t to urt_config--><path d="M2859.6278,1054.985 C2714.5994,1170.0173 2409.0806,1395.1503 2111.2145,1505.8594 C1942.9644,1568.3936 1434.3193,1629.4754 1178.5156,1657.2688 " fill="none" id="urt_message_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1173.2696,1657.838,1182.6485,1660.8439,1178.2404,1657.2987,1181.7857,1652.8906,1173.2696,1657.838" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[570f5794230ed2cf7946261591bb6cd1]
+link urt_message_t to urt_status_t--><path d="M2743.0403,1008.9751 C2479.1658,1044.4092 2035.7836,1114.3907 1896.2145,1199.8594 C1883.2851,1207.777 1871.0901,1217.4385 1859.7294,1228.0744 " fill="none" id="urt_message_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1855.9087,1231.7177,1865.1825,1228.4015,1859.5272,1228.2671,1859.6616,1222.6119,1855.9087,1231.7177" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0614ecc40a2323571c35dab79c646fe8]
+reverse link urt_basesubscriber_t to urt_osEventListener_t--><path d="M5116.4959,1013.1173 C5314.4825,1057.7362 5712.4497,1140.8707 6055.2145,1171.8594 C6197.6358,1184.7354 11064.7805,1164.0038 11203.2145,1199.8594 C11294.7969,1223.58 11388.5438,1281.3315 11446.5532,1321.7859 " fill="none" id="urt_basesubscriber_t&lt;-urt_osEventListener_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5103.7467,1010.2349,5108.7169,1015.4595,5115.4513,1012.8811,5110.4811,1007.6564,5103.7467,1010.2349" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5111.5762" y="1008.5868">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="11428.7259" y="1310.7702">1</text><!--MD5=[60df476f9c89db6ca6af2af6f6dc5b29]
+reverse link urt_basesubscriber_t to urt_osTime_t--><path d="M5116.3332,944.8322 C5316.0769,884.8089 5720.4226,772.6088 6072.7145,732.8594 C6099.1164,729.8805 9872.3126,729.8805 9898.7145,732.8594 C10011.8254,745.6218 10091.2255,872.34 10126.1904,940.6848 " fill="none" id="urt_basesubscriber_t&lt;-urt_osTime_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5103.7667,948.6208,5110.6659,950.7186,5115.2559,945.1569,5108.3567,943.0591,5103.7667,948.6208" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5111.5976" y="942.833">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10123.6366" y="929.653">1</text><!--MD5=[45abaca6e1a4b5e9e9e5f81f99145f21]
+link urt_basesubscriber_t to urt_config--><path d="M4967.0614,1051.2443 C4948.509,1092.9036 4918.6244,1143.6416 4875.2145,1171.8594 C3949.3801,1773.6805 3508.5081,1365.5384 2413.2145,1505.8594 C1964.3719,1563.3618 1432.9531,1625.8844 1178.5761,1655.4697 " fill="none" id="urt_basesubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1173.363,1656.0759,1182.7648,1659.0095,1178.3295,1655.4983,1181.8407,1651.063,1173.363,1656.0759" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[fb477f5fd8787be5b7605dfea5d27dc3]
+link urt_basesubscriber_t to urt_status_t--><path d="M4968.9859,1051.2252 C4950.9797,1094.0147 4920.9758,1146.0411 4875.2145,1171.8594 C4803.1407,1212.5231 1970.6314,1163.6613 1896.2145,1199.8594 C1881.4159,1207.0578 1867.7505,1216.7999 1855.2754,1227.9733 " fill="none" id="urt_basesubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1851.4422,1231.4856,1860.7802,1228.3547,1855.1287,1228.1078,1855.3757,1222.4563,1851.4422,1231.4856" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c18fda7f16d94dac1a94387e8df76308]
+reverse link urt_nrtsubscriber_t to urt_delay_t--><path d="M3385.8457,675.5932 C3320.7393,697.3143 3247.9091,717.8116 3179.2145,728.8594 C3167.778,730.6987 1519.3856,728.649 1511.2145,736.8594 C1443.025,805.3768 1445.3866,1101.0701 1511.2145,1171.8594 C1569.6299,1234.6775 1822.2848,1156.3523 1896.2145,1199.8594 C1939.884,1225.5586 1969.1573,1276.6908 1986.0844,1315.2597 " fill="none" id="urt_nrtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="3398.3344,671.3804,3391.3706,669.508,3386.9639,675.2159,3393.9277,677.0883,3398.3344,671.3804" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3370.7571" y="691.7523">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1985.2224" y="1304.2909">0..2</text><!--MD5=[cf4e9b81c32b9b138596f59fa1fb3fd6]
+link urt_nrtsubscriber_t to urt_config--><path d="M3398.6093,671.3783 C3330.3577,694.6696 3252.4419,717.1608 3179.2145,728.8594 C3169.1134,730.4731 240.4378,729.6164 233.2145,736.8594 C112.542,857.86 125.5122,1373.1822 233.2145,1505.8594 C312.8231,1603.9283 670.2528,1646.5198 877.7395,1663.2562 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="882.9179,1663.671,874.2662,1658.9648,877.9339,1663.2716,873.6271,1666.9392,882.9179,1663.671" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[249ee4d4a0d0f021e94ff447977fc36f]
+link urt_nrtsubscriber_t to urt_status_t--><path d="M3398.3418,671.4264 C3330.1521,694.6827 3252.3429,717.1398 3179.2145,728.8594 C3164.3691,731.2385 1024.8261,726.2085 1014.2145,736.8594 C945.9873,805.3392 947.4256,1101.976 1014.2145,1171.8594 C1061.7063,1221.5516 1570.9514,1168.6885 1632.2145,1199.8594 C1646.7334,1207.2467 1660.1872,1217.0359 1672.5084,1228.1713 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1676.2958,1231.6692,1672.3981,1222.6244,1672.6227,1228.2768,1666.9703,1228.5014,1676.2958,1231.6692" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[af3bb42c2cc648980c9a8c0bd0e49df3]
+reverse link urt_srtsubscriber_t to urt_delay_t--><path d="M6367.6105,693.728 C6301.4618,708.3122 6232.6253,721.0392 6167.2145,728.8594 C6152.386,730.6322 1876.7646,726.2896 1866.2145,736.8594 C1729.6344,873.6938 1789.1618,994.5443 1866.2145,1171.8594 C1873.4834,1188.5868 1884.4689,1185.9065 1896.2145,1199.8594 C1926.6413,1236.0042 1955.6477,1281.1275 1975.9235,1315.046 " fill="none" id="urt_srtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6380.365,690.8859,6373.6386,688.2867,6368.6523,693.496,6375.3787,696.0951,6380.365,690.8859" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6345.5796" y="710.9281">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1946.5094" y="1304.4056">0..2</text><!--MD5=[57f9c03e706aa97ce919c51d40a1f0dd]
+link urt_srtsubscriber_t to urt_config--><path d="M7071.8207,690.8835 C7141.5993,706.6213 7214.8377,720.4954 7284.2145,728.8594 C7300.2788,730.7961 9602.7927,725.3983 9614.2145,736.8594 C9682.4507,805.3303 9680.5474,1101.5431 9614.2145,1171.8594 C9312.5938,1491.5929 2299.9111,1647.0419 1178.7578,1669.887 " fill="none" id="urt_srtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1173.4565,1669.9949,1182.5361,1673.8107,1178.4555,1669.893,1182.3731,1665.8124,1173.4565,1669.9949" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ddfd53c980ad9ebb8f86954377552edb]
+link urt_srtsubscriber_t to urt_status_t--><path d="M6380.3652,690.888 C6310.3492,706.6532 6236.8412,720.5365 6167.2145,728.8594 C6152.0757,730.669 1787.0882,726.172 1776.2145,736.8594 C1649.2026,861.6948 1679.3598,1082.8325 1717.8464,1226.5973 " fill="none" id="urt_srtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1719.2188,1231.6786,1720.7338,1221.9469,1717.9151,1226.8515,1713.0105,1224.0328,1719.2188,1231.6786" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b350769e483c42ea2704e388ea6a04f2]
+reverse link urt_frtsubscriber_t to urt_delay_t--><path d="M4129.8241,710.0889 C4093.3454,717.6646 4056.7497,724.1401 4021.2145,728.8594 C4004.4243,731.0892 1594.1715,724.8631 1582.2145,736.8594 C1513.973,805.3251 1516.967,1100.5347 1582.2145,1171.8594 C1629.4996,1223.5486 1836.1311,1163.8367 1896.2145,1199.8594 C1939.5258,1225.8264 1968.7808,1276.6462 1985.7989,1315.0595 " fill="none" id="urt_frtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="4142.7202,707.3644,4136.023,704.691,4130.9794,709.8448,4137.6766,712.5182,4142.7202,707.3644" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4107.5448" y="727.8927">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1945.4505" y="1304.3671">0..4</text><!--MD5=[7be759a40cf40f1b9231b6649fee3f4f]
+link urt_frtsubscriber_t to urt_config--><path d="M4142.7256,707.4051 C4101.9941,716.146 4060.9421,723.6035 4021.2145,728.8594 C4009.1529,730.4551 525.9462,728.3867 517.2145,736.8594 C271.8844,974.9133 300.3543,1229.9809 502.2145,1505.8594 C547.1905,1567.3273 739.1837,1616.8586 878.2354,1645.5713 " fill="none" id="urt_frtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="883.1593,1646.5839,875.1497,1640.8528,878.2618,1645.5766,873.538,1648.6887,883.1593,1646.5839" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[29df74e07807e6378398cb43d45b3c27]
+link urt_frtsubscriber_t to urt_status_t--><path d="M4142.7232,707.3871 C4101.9921,716.1315 4060.9409,723.5947 4021.2145,728.8594 C4011.1084,730.1987 1092.4133,729.641 1085.2145,736.8594 C1016.954,805.3061 1018.6309,1101.7804 1085.2145,1171.8594 C1127.1328,1215.9783 1578.0556,1172.1028 1632.2145,1199.8594 C1646.7117,1207.2893 1660.1513,1217.1062 1672.4638,1228.2586 " fill="none" id="urt_frtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1676.2487,1231.7613,1672.3602,1222.7126,1672.579,1228.3652,1666.9264,1228.584,1676.2487,1231.7613" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bc1cc9ca99c1274e9c895cd105ca1d4c]
+reverse link urt_hrtsubscriber_t to urt_delay_t--><path d="M5033.8766,728.416 C5032.6547,728.5655 5031.434,728.7133 5030.2145,728.8594 C5018.572,730.2543 1661.496,728.5582 1653.2145,736.8594 C1584.9419,805.294 1588.8919,1099.6995 1653.2145,1171.8594 C1689.3842,1212.4361 1849.9583,1171.3097 1896.2145,1199.8594 C1939.1874,1226.3826 1968.4939,1277.1177 1985.6166,1315.3592 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5047.0101,726.7507,5040.5546,723.5372,5035.1054,728.2602,5041.5609,731.4737,5047.0101,726.7507" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5031.3291" y="725.5757">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1957.3138" y="1304.4044">0..5</text><!--MD5=[47265b8b91af56102ad98d46909bef01]
+reverse link urt_hrtsubscriber_t to urt_osTimer_t--><path d="M6144.2199,726.0376 C6151.9244,727.0379 6159.5923,727.98 6167.2145,728.8594 C6217.1679,734.6228 13359.8563,723.0738 13408.2145,736.8594 C13538.4686,773.9913 13667.8187,867.0646 13742.5058,927.7612 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_osTimer_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6131.2209,724.2998,6136.638,729.0595,6143.1151,725.8899,6137.698,721.1301,6131.2209,724.2998" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6138.8991" y="723.0903">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="13734.7275" y="916.6866">1</text><!--MD5=[c255c4720016d78ffa1594ef43d10003]
+link urt_hrtsubscriber_t to urt_config--><path d="M5047.0106,726.755 C5041.3896,727.4909 5035.7896,728.193 5030.2145,728.8594 C5015.1447,730.6608 670.8763,727.1462 659.2145,736.8594 C527.088,846.9086 474.776,1364.8697 573.2145,1505.8594 C609.4129,1557.705 759.9289,1606.234 878.0599,1637.4715 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="882.9532,1638.7605,875.2691,1632.5998,878.1181,1637.4868,873.2312,1640.3359,882.9532,1638.7605" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[acfaba0e8df90d54cbfcf78ceb19e2ee]
+link urt_hrtsubscriber_t to urt_status_t--><path d="M5047.0104,726.7531 C5041.3894,727.4896 5035.7895,728.1923 5030.2145,728.8594 C5016.8584,730.4576 1165.7163,727.338 1156.2145,736.8594 C1087.9315,805.2836 1089.8981,1101.5274 1156.2145,1171.8594 C1192.5607,1210.4064 1585.1579,1175.5162 1632.2145,1199.8594 C1646.5357,1207.268 1659.8303,1216.9965 1672.0287,1228.0299 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1675.7792,1231.4948,1671.883,1222.4494,1672.1066,1228.1018,1666.4542,1228.3254,1675.7792,1231.4948" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[19bf7f91edc926705d1714d4ed8cf052]
+link urt_srtusefulnessfunc_t to urt_delay_t--><path d="M6105.2946,1014.4106 C5887.2172,1056.5241 5475.3902,1131.7447 5121.2145,1171.8594 C3934.4514,1306.2747 2482.1175,1352.2696 2099.99,1362.4868 " fill="none" id="urt_srtusefulnessfunc_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2094.7173,1362.6274,2103.8207,1366.386,2099.7155,1362.4941,2103.6075,1358.3889,2094.7173,1362.6274" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[85137379eadac9ac066ccd1aa3005a20]
+reverse link urt_service_t to urt_serviceid_t--><path d="M9065.6459,702.0253 C9035.5454,713.06 9004.5427,722.5274 8974.2145,728.8594 C8949.7524,733.9667 1798.0307,723.0331 1777.2145,736.8594 C1590.047,861.1783 1534.7423,1146.5567 1518.6595,1285.6891 " fill="none" id="urt_service_t&lt;-urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="9078.0319,697.3791,9071.0093,695.7412,9066.7964,701.5937,9073.819,703.2316,9078.0319,697.3791" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9055.3237" y="717.2336">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1510.8849" y="1274.752">1</text><!--MD5=[bfc39859b663e58a9d342532110a4ed9]
+reverse link urt_service_t to urt_osMutex_t--><path d="M9597.3014,658.3899 C9741.634,685.0884 9915.4522,713.426 10073.2145,728.8594 C10089.9737,730.4989 10361.4475,728.7665 10376.2145,736.8594 C10453.8373,779.4 10502.2733,875.316 10525.8804,934.3204 " fill="none" id="urt_service_t&lt;-urt_osMutex_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="9584.3149,655.9774,9589.4834,661.006,9596.113,658.1692,9590.9446,653.1406,9584.3149,655.9774" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9592.4191" y="654.4881">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="10524.0053" y="923.3601">1</text><!--MD5=[33249c42c81fffc5b10022c232aa2b33]
+link urt_service_t to urt_config--><path d="M9078.0321,697.3802 C9044.1014,710.3927 9008.7214,721.6556 8974.2145,728.8594 C8923.611,739.4236 1580.4338,724.5982 1530.2145,736.8594 C1095.5255,842.9903 868.7456,817.5669 636.2145,1199.8594 C565.5391,1316.0532 561.2253,1392.4018 636.2145,1505.8594 C689.757,1586.8685 791.4584,1628.7093 877.8521,1650.2505 " fill="none" id="urt_service_t-&gt;urt_config" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="882.7352,1651.4506,874.95,1645.418,877.8797,1650.2572,873.0406,1653.1868,882.7352,1651.4506" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ac5bbcedbd2eba97f2e594f2b75734f9]
+reverse link urt_service_t to urt_delay_t--><path d="M9065.6457,702.0247 C9035.5453,713.0595 9004.5426,722.5271 8974.2145,728.8594 C8962.2163,731.3646 1922.8766,728.1875 1914.2145,736.8594 C1845.8996,805.2518 1893.2915,1077.4842 1914.2145,1171.8594 C1925.6176,1223.2942 1952.2123,1277.2684 1973.5527,1315.018 " fill="none" id="urt_service_t&lt;-urt_delay_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="9078.0318,697.3785,9071.0092,695.7406,9066.7963,701.5931,9073.8189,703.231,9078.0318,697.3785" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="9063.8861" y="717.233">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1971.045" y="1304.3738">0..2</text><!--MD5=[5471b15d17b5493f5e528354308bf7b4]
+link urt_service_t to urt_status_t--><path d="M9078.0318,697.3787 C9044.1011,710.3913 9008.7212,721.6547 8974.2145,728.8594 C8962.1415,731.3801 1879.6288,728.8919 1870.2145,736.8594 C1833.2058,768.1806 1797.1514,1051.375 1778.116,1226.6043 " fill="none" id="urt_service_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1777.5578,1231.7567,1782.504,1223.2399,1778.0964,1226.7858,1774.5505,1222.3782,1777.5578,1231.7567" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0826203957815bb9ddac9132e239afa7]
+link urt_servicefunc_t to urt_delay_t--><path d="M9191.1368,1014.4525 C9149.6168,1058.8544 9065.3989,1139.39 8974.2145,1171.8594 C8635.252,1292.5588 2912.4707,1355.5486 2099.8869,1363.9005 " fill="none" id="urt_servicefunc_t-&gt;urt_delay_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="2094.8814,1363.9519,2103.9221,1367.8591,2099.8811,1363.9004,2103.8398,1359.8595,2094.8814,1363.9519" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[3a1e539c88376aaf116c25a44ec54d4f]
+link urt_servicefunc_t to urt_status_t--><path d="M9191.5764,1014.3616 C9150.3031,1059.0418 9066.0307,1140.3873 8974.2145,1171.8594 C8881.2196,1203.7355 1984.7339,1157.099 1896.2145,1199.8594 C1881.2467,1207.0898 1867.442,1216.93 1854.8577,1228.2296 " fill="none" id="urt_servicefunc_t-&gt;urt_status_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1850.9914,1231.7819,1860.3251,1228.6382,1854.6733,1228.399,1854.9125,1222.7472,1850.9914,1231.7819" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[57f2d85e337abdc0ac29c5f49a215cf6]
 @startuml
 
 title **µRtWare**\nOverview\n
@@ -232,9 +232,24 @@ title **µRtWare**\nOverview\n
   uint64_t
 }
 
-  class urt_status_t <<T,00CFFF>> {
-  URT_STATUS_OK = 0x0..0
-  URT_STATUS_ERROR = 0x8..0
+  class urt_status_t <<E,FF7F3F>> {
+  URT_STATUS_OK = 0
+  URT_STATUS_DEADLINEVIOLATION
+  URT_STATUS_JITTERVIOLATION
+  URT_STATUS_RATEVIOLATION
+  URT_STATUS_SYNC_PENDING
+  URT_STATUS_SYNC_ERROR
+  URT_STATUS_NODE_INVALEVTMASK
+  .. URT_CFG_PUBSUB_ENABLED == true ..
+  URT_STATUS_TOPIC_DUPLICATE
+  URT_STATUS_PUBLISH_TIMEOUT
+  URT_STATUS_SUBSCRIBE_TOPICSET
+  URT_STATUS_FETCH_NOTOPIC
+  URT_STATUS_FETCH_NOMESSAGE
+  URT_STATUS_UNSUBSCRIBE_NOTOPIC
+  .. URT_CFG_RPC_ENABLED == true ..
+  URT_STATUS_SERVICE_DUPLICATE
+  URT_STATUS_SERVICE_TIMEOUT
 }
 
   class urt_delay_t <<T,00CFFF>> {
@@ -407,9 +422,9 @@ title **µRtWare**\nOverview\n
   .. URT_CFG_RPC_ENABLED == true ..
   - {field} {static} _services : urt_service_t*
   __
-  + {method} urtCoreInit (void) : urt_status_t
+  + {method} urtCoreInit (void) : void
   + {method} urtCoreGetStatus (void) : urt_status_t
-  + {method} urtCoreStartNodes (void) : urt_status_t
+  + {method} urtCoreStartNodes (void) : void
   + {method} urtCoreSynchronize (node : urt_node_t*) : urt_status_t
   + {method} urtCoreStopNodes (reason : urt_status_t) : urt_status_t
   .. URT_CFG_PUBSUB_ENABLED == true ..
@@ -446,7 +461,7 @@ title **µRtWare**\nOverview\n
     + {field} loops : uint64_t
     __
     - {method} {static} _main : urt_osThreadFunction_t
-    + {method} urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : urt_status_t
+    + {method} urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void
   }
 } 
 
@@ -460,7 +475,7 @@ title **µRtWare**\nOverview\n
   .. URT_CFG_PUBSUB_PROFILING == true ..
   + {field} numConsumersLeft : unsigned int
   __
-  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
+  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : void
 }
 
   package "subscriber" <<Rectangle>> {
@@ -483,7 +498,7 @@ title **µRtWare**\nOverview\n
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t
+    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void
     + {method} urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
     + {method} urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -497,7 +512,7 @@ title **µRtWare**\nOverview\n
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t
+    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void
     + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
     + {method} urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -514,7 +529,7 @@ title **µRtWare**\nOverview\n
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t
+    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void
     + {method} urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t
     + {method} urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -535,7 +550,7 @@ title **µRtWare**\nOverview\n
     .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
     + {field} expectedRate : urt_delay_t
     __
-    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t
+    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void
     + {method} urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t
     + {method} urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -549,8 +564,8 @@ title **µRtWare**\nOverview\n
   + {field} publishAttempts : uint64_t
   + {field} publishFails : uint64_t
   __
-  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
-  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
+  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void
+  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
 }
 
   class urt_topic_t <<S,BFAFFF>> {
@@ -559,14 +574,15 @@ title **µRtWare**\nOverview\n
   + {field} lock : urt_osMutex_t
   + {field} evtSource : urt_osEventSource_t
   + {field} numHrtSubscribers : unsigned int
-  + {field} hrtSubscribers : urt_hrtsubscriber_t*
   + {field} hrtReleased : urt_osCondvar_t
   + {field} mandatoryMessage : urt_message_t
   + {field} latestMessage : urt_message_t*
   .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
+  + {field} hrtSubscribers : urt_hrtsubscriber_t*
   + {field} qosRateTimer : urt_osTimer_t
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  + {field} numDiscardedMessages : uint64_t
+  + {field} numMessagesPublished : uint64_t
+  + {field} numMessagesDiscarded : uint64_t
   + {field} numSubscribers : unsigned int
   __
   + {method} urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
@@ -589,7 +605,6 @@ title **µRtWare**\nOverview\n
   + {field} sumDurations : uint64_t
   + {field} numCalls : uint64_t
   + {field} numTimeouts : uint64_t
-  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true  ..
   + {field} minDuration : urt_delay_t
   + {field} maxDuration : urt_delay_t
   __
diff --git a/doc/classdiagrams/overview.uml b/doc/classdiagrams/overview.uml
index db74f01..86122d4 100644
--- a/doc/classdiagrams/overview.uml
+++ b/doc/classdiagrams/overview.uml
@@ -25,7 +25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**\nOverview\n
 
-!include ../functions.iuml
+!include ./functions.iuml
 
 /'### ENTITIES ###############################################################'/
 
diff --git a/doc/classdiagrams/primitives.svg b/doc/classdiagrams/primitives.svg
index 3d0a8b2..aa67930 100644
--- a/doc/classdiagrams/primitives.svg
+++ b/doc/classdiagrams/primitives.svg
@@ -1,15 +1,15 @@
-<?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="378px" preserveAspectRatio="none" style="width:711px;height:378px;" version="1.1" viewBox="0 0 711 378" width="711px" zoomAndPan="magnify"><defs><filter height="300%" id="f1vrmgz8ekumzz" 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="315" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="88" x="315.5" y="37.6611">Primitives</text><!--MD5=[9f69b6f4e23017059189983d6906a1eb]
-class urt_nodestage_t--><rect fill="#FEFECE" filter="url(#f1vrmgz8ekumzz)" height="158.4375" id="urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="6" y="49.9063"/><ellipse cx="58.25" cy="65.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M59.0938,72.6563 L56.6406,72.6563 L56.6406,62.4063 L53.5,62.4063 L53.5,60.2656 L62.2344,60.2656 L62.2344,62.4063 L59.0938,62.4063 L59.0938,72.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="78.75" y="70.0605">urt_nodestage_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="221" y1="81.9063" y2="81.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="12" y="112.9214">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="13.5" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="13.5" y="99.6167">URT_CFG_NODESTAGE_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="214.5" x2="221" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="12" y="142.5308">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="10" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="10" y="129.2261">URT_CFG_NODESTAGE_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="218" x2="221" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="12" y="172.1401">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="10" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="10" y="158.8354">URT_CFG_NODESTAGE_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="218" x2="221" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="12" y="201.7495">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="10" y1="185.1367" y2="185.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="10" y="188.4448">URT_CFG_NODESTAGE_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="218" x2="221" y1="185.1367" y2="185.1367"/><!--MD5=[a55671f9c3a4eb2d749fd774fc81a82b]
-class urt_topicid_t--><rect fill="#FEFECE" filter="url(#f1vrmgz8ekumzz)" height="158.4375" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="257.5" y="49.9063"/><ellipse cx="310.25" cy="65.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M311.0938,72.6563 L308.6406,72.6563 L308.6406,62.4063 L305.5,62.4063 L305.5,60.2656 L314.2344,60.2656 L314.2344,62.4063 L311.0938,62.4063 L311.0938,72.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="330.75" y="70.0605">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="258.5" x2="447.5" y1="81.9063" y2="81.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="263.5" y="112.9214">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="258.5" x2="265" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="265" y="99.6167">URT_CFG_TOPICID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="441" x2="447.5" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="263.5" y="142.5308">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="258.5" x2="261.5" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="261.5" y="129.2261">URT_CFG_TOPICID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="444.5" x2="447.5" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="263.5" y="172.1401">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="258.5" x2="261.5" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="261.5" y="158.8354">URT_CFG_TOPICID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="444.5" x2="447.5" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="263.5" y="201.7495">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="258.5" x2="261.5" y1="185.1367" y2="185.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="261.5" y="188.4448">URT_CFG_TOPICID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="444.5" x2="447.5" y1="185.1367" y2="185.1367"/><!--MD5=[4d8326c7af3a397210cbde406c7c860c]
-class urt_serviceid_t--><rect fill="#FEFECE" filter="url(#f1vrmgz8ekumzz)" height="158.4375" id="urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.5;" width="204" x="484" y="49.9063"/><ellipse cx="536.75" cy="65.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M537.5938,72.6563 L535.1406,72.6563 L535.1406,62.4063 L532,62.4063 L532,60.2656 L540.7344,60.2656 L540.7344,62.4063 L537.5938,62.4063 L537.5938,72.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="557.25" y="70.0605">urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="485" x2="687" y1="81.9063" y2="81.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="490" y="112.9214">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="485" x2="491.5" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="491.5" y="99.6167">URT_CFG_SERVICEID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="680.5" x2="687" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="490" y="142.5308">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="485" x2="488" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="488" y="129.2261">URT_CFG_SERVICEID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="684" x2="687" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="490" y="172.1401">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="485" x2="488" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="488" y="158.8354">URT_CFG_SERVICEID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="684" x2="687" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="490" y="201.7495">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="485" x2="488" y1="185.1367" y2="185.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="488" y="188.4448">URT_CFG_SERVICEID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="684" x2="687" y1="185.1367" y2="185.1367"/><!--MD5=[e750dab3ce4ebe0433cc930181355272]
-class urt_status_t--><rect fill="#FEFECE" filter="url(#f1vrmgz8ekumzz)" height="73.6094" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="24" y="280.4063"/><ellipse cx="72.25" cy="296.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M73.0938,303.1563 L70.6406,303.1563 L70.6406,292.9063 L67.5,292.9063 L67.5,290.7656 L76.2344,290.7656 L76.2344,292.9063 L73.0938,292.9063 L73.0938,303.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="92.75" y="300.5605">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="25" x2="203" y1="312.4063" y2="312.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="30" y="326.6167">URT_STATUS_OK = 0x0..0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="168" x="30" y="339.4214">URT_STATUS_ERROR = 0x8..0</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="25" x2="203" y1="346.0156" y2="346.0156"/><!--MD5=[15452fea434e71f16c7de0feaca2b066]
-class urt_delay_t--><rect fill="#FEFECE" filter="url(#f1vrmgz8ekumzz)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="239.5" y="267.9063"/><ellipse cx="291.75" cy="283.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M292.5938,290.6563 L290.1406,290.6563 L290.1406,280.4063 L287,280.4063 L287,278.2656 L295.7344,278.2656 L295.7344,280.4063 L292.5938,280.4063 L292.5938,290.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="312.25" y="288.0605">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="240.5" x2="419.5" y1="299.9063" y2="299.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="245.5" y="330.9214">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="240.5" x2="243.5" y1="314.3086" y2="314.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="243.5" y="317.6167">URT_CFG_DELAY_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="416.5" x2="419.5" y1="314.3086" y2="314.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="245.5" y="360.5308">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="240.5" x2="243.5" y1="343.918" y2="343.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="243.5" y="347.2261">URT_CFG_DELAY_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="416.5" x2="419.5" y1="343.918" y2="343.918"/><!--MD5=[f106a25c06a671b3918b1a8f37571a4d]
-class urt_debug--><rect fill="#FEFECE" filter="url(#f1vrmgz8ekumzz)" height="60.8047" id="urt_debug" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="455.5" y="286.9063"/><ellipse cx="541.75" cy="302.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M545.9844,298.6719 L540.7031,298.6719 L540.7031,301.3438 L545.5,301.3438 L545.5,303.5 L540.7031,303.5 L540.7031,308.9063 L538.2656,308.9063 L538.2656,296.5156 L545.9844,296.5156 L545.9844,298.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="562.25" y="307.0605">urt_debug</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="456.5" x2="699.5" y1="318.9063" y2="318.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="456.5" x2="699.5" y1="326.9063" y2="326.9063"/><ellipse cx="466.5" cy="337.9063" 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="219" x="475.5" y="341.1167">urtDebugAssert(condition : bool) : void</text><!--MD5=[f9393016d83893cc69adca47e14d25aa]
+<?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="544px" preserveAspectRatio="none" style="width:742px;height:544px;" version="1.1" viewBox="0 0 742 544" width="742px" zoomAndPan="magnify"><defs><filter height="300%" id="f1n8vfecdhgn2c" 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="330" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="88" x="330.5" y="37.6611">Primitives</text><!--MD5=[9f69b6f4e23017059189983d6906a1eb]
+class urt_nodestage_t--><rect fill="#FEFECE" filter="url(#f1n8vfecdhgn2c)" height="158.4375" id="urt_nodestage_t" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="12.5" y="49.9063"/><ellipse cx="64.75" cy="65.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M65.5938,72.6563 L63.1406,72.6563 L63.1406,62.4063 L60,62.4063 L60,60.2656 L68.7344,60.2656 L68.7344,62.4063 L65.5938,62.4063 L65.5938,72.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="103" x="85.25" y="70.0605">urt_nodestage_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="13.5" x2="227.5" y1="81.9063" y2="81.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="18.5" y="112.9214">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="13.5" x2="20" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="201" x="20" y="99.6167">URT_CFG_NODESTAGE_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="221" x2="227.5" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="18.5" y="142.5308">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="13.5" x2="16.5" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="16.5" y="129.2261">URT_CFG_NODESTAGE_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="224.5" x2="227.5" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="18.5" y="172.1401">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="13.5" x2="16.5" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="16.5" y="158.8354">URT_CFG_NODESTAGE_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="224.5" x2="227.5" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="18.5" y="201.7495">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="13.5" x2="16.5" y1="185.1367" y2="185.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="208" x="16.5" y="188.4448">URT_CFG_NODESTAGE_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="224.5" x2="227.5" y1="185.1367" y2="185.1367"/><!--MD5=[a55671f9c3a4eb2d749fd774fc81a82b]
+class urt_topicid_t--><rect fill="#FEFECE" filter="url(#f1n8vfecdhgn2c)" height="158.4375" id="urt_topicid_t" style="stroke: #A80036; stroke-width: 1.5;" width="191" x="264" y="49.9063"/><ellipse cx="316.75" cy="65.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M317.5938,72.6563 L315.1406,72.6563 L315.1406,62.4063 L312,62.4063 L312,60.2656 L320.7344,60.2656 L320.7344,62.4063 L317.5938,62.4063 L317.5938,72.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="337.25" y="70.0605">urt_topicid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="265" x2="454" y1="81.9063" y2="81.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="270" y="112.9214">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="265" x2="271.5" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="271.5" y="99.6167">URT_CFG_TOPICID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="447.5" x2="454" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="270" y="142.5308">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="265" x2="268" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="268" y="129.2261">URT_CFG_TOPICID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="451" x2="454" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="270" y="172.1401">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="265" x2="268" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="268" y="158.8354">URT_CFG_TOPICID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="451" x2="454" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="270" y="201.7495">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="265" x2="268" y1="185.1367" y2="185.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="268" y="188.4448">URT_CFG_TOPICID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="451" x2="454" y1="185.1367" y2="185.1367"/><!--MD5=[4d8326c7af3a397210cbde406c7c860c]
+class urt_serviceid_t--><rect fill="#FEFECE" filter="url(#f1n8vfecdhgn2c)" height="158.4375" id="urt_serviceid_t" style="stroke: #A80036; stroke-width: 1.5;" width="204" x="490.5" y="49.9063"/><ellipse cx="543.25" cy="65.9063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M544.0938,72.6563 L541.6406,72.6563 L541.6406,62.4063 L538.5,62.4063 L538.5,60.2656 L547.2344,60.2656 L547.2344,62.4063 L544.0938,62.4063 L544.0938,72.6563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="563.75" y="70.0605">urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="491.5" x2="693.5" y1="81.9063" y2="81.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="34" x="496.5" y="112.9214">uin8_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="491.5" x2="498" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="498" y="99.6167">URT_CFG_SERVICEID_WIDTH == 8</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="687" x2="693.5" y1="96.3086" y2="96.3086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="496.5" y="142.5308">uint16_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="491.5" x2="494.5" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="494.5" y="129.2261">URT_CFG_SERVICEID_WIDTH == 16</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="690.5" x2="693.5" y1="125.918" y2="125.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="496.5" y="172.1401">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="491.5" x2="494.5" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="494.5" y="158.8354">URT_CFG_SERVICEID_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="690.5" x2="693.5" y1="155.5273" y2="155.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="496.5" y="201.7495">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="491.5" x2="494.5" y1="185.1367" y2="185.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="494.5" y="188.4448">URT_CFG_SERVICEID_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="690.5" x2="693.5" y1="185.1367" y2="185.1367"/><!--MD5=[e750dab3ce4ebe0433cc930181355272]
+class urt_status_t--><rect fill="#FEFECE" filter="url(#f1n8vfecdhgn2c)" height="265.6797" id="urt_status_t" style="stroke: #A80036; stroke-width: 1.5;" width="229" x="6" y="267.9063"/><ellipse cx="78.75" cy="283.9063" fill="#FF7F3F" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M82.8594,289.9063 L75.1406,289.9063 L75.1406,277.5156 L82.8594,277.5156 L82.8594,279.6719 L77.5938,279.6719 L77.5938,282.3438 L82.3594,282.3438 L82.3594,284.5 L77.5938,284.5 L77.5938,287.75 L82.8594,287.75 L82.8594,289.9063 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="99.25" y="288.0605">urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="234" y1="299.9063" y2="299.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="12" y="314.1167">URT_STATUS_OK = 0</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="12" y="326.9214">URT_STATUS_DEADLINEVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="12" y="339.7261">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="12" y="352.5308">URT_STATUS_RATEVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="166" x="12" y="365.3354">URT_STATUS_SYNC_PENDING</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="12" y="378.1401">URT_STATUS_SYNC_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="200" x="12" y="390.9448">URT_STATUS_NODE_INVALEVTMASK</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="12" y="420.5542">URT_STATUS_TOPIC_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="12" y="433.3589">URT_STATUS_PUBLISH_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="206" x="12" y="446.1636">URT_STATUS_SUBSCRIBE_TOPICSET</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="12" y="458.9683">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="12" y="471.7729">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="12" y="484.5776">URT_STATUS_UNSUBSCRIBE_NOTOPIC</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="15.5" y1="403.9414" y2="403.9414"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="15.5" y="407.2495">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="225.5" x2="234" y1="403.9414" y2="403.9414"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="12" y="514.187">URT_STATUS_SERVICE_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="12" y="526.9917">URT_STATUS_SERVICE_TIMEOUT</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="28" y1="497.5742" y2="497.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="28" y="500.8823">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="213" x2="234" y1="497.5742" y2="497.5742"/><!--MD5=[15452fea434e71f16c7de0feaca2b066]
+class urt_delay_t--><rect fill="#FEFECE" filter="url(#f1n8vfecdhgn2c)" height="99.2188" id="urt_delay_t" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="270" y="351.4063"/><ellipse cx="322.25" cy="367.4063" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M323.0938,374.1563 L320.6406,374.1563 L320.6406,363.9063 L317.5,363.9063 L317.5,361.7656 L326.2344,361.7656 L326.2344,363.9063 L323.0938,363.9063 L323.0938,374.1563 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="68" x="342.75" y="371.5605">urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="271" x2="450" y1="383.4063" y2="383.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="276" y="414.4214">uint32_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="271" x2="274" y1="397.8086" y2="397.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="274" y="401.1167">URT_CFG_DELAY_WIDTH == 32</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="447" x2="450" y1="397.8086" y2="397.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="45" x="276" y="444.0308">uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="271" x2="274" y1="427.418" y2="427.418"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="274" y="430.7261">URT_CFG_DELAY_WIDTH == 64</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="447" x2="450" y1="427.418" y2="427.418"/><!--MD5=[f106a25c06a671b3918b1a8f37571a4d]
+class urt_debug--><rect fill="#FEFECE" filter="url(#f1n8vfecdhgn2c)" height="60.8047" id="urt_debug" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="486" y="370.4063"/><ellipse cx="572.25" cy="386.4063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M576.4844,382.1719 L571.2031,382.1719 L571.2031,384.8438 L576,384.8438 L576,387 L571.2031,387 L571.2031,392.4063 L568.7656,392.4063 L568.7656,380.0156 L576.4844,380.0156 L576.4844,382.1719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="592.75" y="390.5605">urt_debug</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="487" x2="730" y1="402.4063" y2="402.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="487" x2="730" y1="410.4063" y2="410.4063"/><ellipse cx="497" cy="421.4063" 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="219" x="506" y="424.6167">urtDebugAssert(condition : bool) : void</text><!--MD5=[f9393016d83893cc69adca47e14d25aa]
 link urt_nodestage_t to urt_topicid_t--><!--MD5=[c6f96cd30898e29141426d9ce096f647]
 link urt_topicid_t to urt_serviceid_t--><!--MD5=[57d19166c65e42cc1c6ff95821e3adaa]
 link urt_nodestage_t to urt_status_t--><!--MD5=[813d32f7bec798f07672e4472717de3c]
 link urt_status_t to urt_delay_t--><!--MD5=[ae008965e40a1a222e02eb93f0709805]
-link urt_delay_t to urt_debug--><!--MD5=[76b30d8fefefa10a1e5a550aa620ce3f]
+link urt_delay_t to urt_debug--><!--MD5=[6d59fee34feaf6c8d5b457836bfb3f6e]
 @startuml
 
 title **µRtWare**\nPrimitives
@@ -59,9 +59,24 @@ title **µRtWare**\nPrimitives
   uint64_t
 }
 
-  class urt_status_t <<T,00CFFF>> {
-  URT_STATUS_OK = 0x0..0
-  URT_STATUS_ERROR = 0x8..0
+  class urt_status_t <<E,FF7F3F>> {
+  URT_STATUS_OK = 0
+  URT_STATUS_DEADLINEVIOLATION
+  URT_STATUS_JITTERVIOLATION
+  URT_STATUS_RATEVIOLATION
+  URT_STATUS_SYNC_PENDING
+  URT_STATUS_SYNC_ERROR
+  URT_STATUS_NODE_INVALEVTMASK
+  .. URT_CFG_PUBSUB_ENABLED == true ..
+  URT_STATUS_TOPIC_DUPLICATE
+  URT_STATUS_PUBLISH_TIMEOUT
+  URT_STATUS_SUBSCRIBE_TOPICSET
+  URT_STATUS_FETCH_NOTOPIC
+  URT_STATUS_FETCH_NOMESSAGE
+  URT_STATUS_UNSUBSCRIBE_NOTOPIC
+  .. URT_CFG_RPC_ENABLED == true ..
+  URT_STATUS_SERVICE_DUPLICATE
+  URT_STATUS_SERVICE_TIMEOUT
 }
 
   class urt_delay_t <<T,00CFFF>> {
diff --git a/doc/classdiagrams/primitives.uml b/doc/classdiagrams/primitives.uml
index 93bda57..28d5944 100644
--- a/doc/classdiagrams/primitives.uml
+++ b/doc/classdiagrams/primitives.uml
@@ -25,7 +25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**\nPrimitives
 
-!include ../functions.iuml
+!include ./functions.iuml
 
 /'### ENTITIES ###############################################################'/
 
@@ -68,11 +68,39 @@ $type("urt_serviceid_t") {
 }
 
 /' Well defined error codes. '/
-$type("urt_status_t") {
-    'No bit set indicates success.
-  URT_STATUS_OK = 0x0..0
-    'MSB set indicates an error.
-  URT_STATUS_ERROR = 0x8..0
+$enumeration("urt_status_t") {
+    'Staus indicating success.
+  URT_STATUS_OK = 0
+    'Error status indicating a violated HRT deadline.
+  URT_STATUS_DEADLINEVIOLATION
+    'Error status indicating violated HRT jitter.
+  URT_STATUS_JITTERVIOLATION
+    'Error status indicating a violated HRT rate.
+  URT_STATUS_RATEVIOLATION
+    'Synchronization status indicating that further nodes need to synchronize.
+  URT_STATUS_SYNC_PENDING
+    'Synchronization status indicating a synchronization error.
+  URT_STATUS_SYNC_ERROR
+    'Status indicating that a node's ""_main"" thread encountered an invalid event mask.
+  URT_STATUS_NODE_INVALEVTMASK
+  .. URT_CFG_PUBSUB_ENABLED == true ..
+    'Status indicating that another topic with identical ID has been found.
+  URT_STATUS_TOPIC_DUPLICATE
+    'Status indicating a timeout during a urtPublisherPublish() call.
+  URT_STATUS_PUBLISH_TIMEOUT
+    'Status indicating that the topic was already set.
+  URT_STATUS_SUBSCRIBE_TOPICSET
+    'Status indicating that there is no associated topic.
+  URT_STATUS_FETCH_NOTOPIC
+    'Status indicating that there is no (new) message.
+  URT_STATUS_FETCH_NOMESSAGE
+    'Status indicating that there is no topic to unsubscribe from.
+  URT_STATUS_UNSUBSCRIBE_NOTOPIC
+  .. URT_CFG_RPC_ENABLED == true ..
+    'Status indicating that another service with identical ID has been found.
+  URT_STATUS_SERVICE_DUPLICATE
+    'Status indicating that a service call timed out.
+  URT_STATUS_SERVICE_TIMEOUT
 }
 
 /' Temporal delay in microseconds. '/
diff --git a/doc/classdiagrams/pubsub.svg b/doc/classdiagrams/pubsub.svg
index 6238811..1537f3d 100644
--- a/doc/classdiagrams/pubsub.svg
+++ b/doc/classdiagrams/pubsub.svg
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="611px" preserveAspectRatio="none" style="width:5343px;height:611px;" version="1.1" viewBox="0 0 5343 611" width="5343px" zoomAndPan="magnify"><defs><filter height="300%" id="fijp6wls75jyj" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="2635" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="225" x="2567" y="37.6611">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
-cluster subscriber--><rect fill="#FFFFFF" filter="url(#fijp6wls75jyj)" height="502" style="stroke: #000000; stroke-width: 1.5;" width="4103" x="1229.5" y="98.9063"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3238.5" y="113.9014">subscriber</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
-class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="3039" y="458.9063"/><ellipse cx="3081.45" cy="474.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3080.9344,475.4688 Q3079.075,474.7656 3078.4188,474 Q3077.7781,473.2188 3077.7781,471.9063 Q3077.7781,470.2188 3078.8563,469.25 Q3079.9344,468.2813 3081.8094,468.2813 Q3082.6688,468.2813 3083.5125,468.4844 Q3084.3719,468.6719 3085.2156,469.0625 L3085.2156,471.4531 Q3084.4344,470.8906 3083.6063,470.6094 Q3082.7938,470.3125 3081.9969,470.3125 Q3081.1219,470.3125 3080.6375,470.6719 Q3080.1688,471.0313 3080.1688,471.6875 Q3080.1688,472.2031 3080.5125,472.5469 Q3080.8563,472.875 3081.95,473.2813 L3083.0125,473.6875 Q3084.4969,474.2344 3085.2,475.1406 Q3085.9188,476.0469 3085.9188,477.4219 Q3085.9188,479.2969 3084.8094,480.2188 Q3083.7,481.1406 3081.45,481.1406 Q3080.5281,481.1406 3079.6063,480.9219 Q3078.6844,480.7031 3077.825,480.2813 L3077.825,477.75 Q3078.7938,478.4375 3079.7156,478.7813 Q3080.6375,479.125 3081.5281,479.125 Q3082.4344,479.125 3082.9344,478.7188 Q3083.4344,478.2969 3083.4344,477.5625 Q3083.4344,477 3083.0906,476.5938 Q3082.7625,476.1719 3082.1375,475.9219 L3080.9344,475.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="3101.55" y="479.0605">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3040" x2="3263" y1="490.9063" y2="490.9063"/><ellipse cx="3050" cy="501.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="3059" y="505.1167">topic : urt_topic_t*</text><ellipse cx="3050" cy="514.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="3059" y="517.9214">evtListener : urt_osEventListener_t</text><ellipse cx="3050" cy="527.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="3059" y="530.7261">lastMessage : urt_message_t*</text><ellipse cx="3050" cy="540.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="3059" y="543.5308">lastMessageTime : urt_osTime_t</text><ellipse cx="3050" cy="569.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="3059" y="573.1401">sumLatencies : uint64_t</text><ellipse cx="3050" cy="582.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="3059" y="585.9448">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3040" x2="3043" y1="556.5273" y2="556.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3043" y="559.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3260" x2="3263" y1="556.5273" y2="556.5273"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
-class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="4595.5" y="495.4063"/><ellipse cx="4704.75" cy="511.4063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4708.9844,507.1719 L4703.7031,507.1719 L4703.7031,509.8438 L4708.5,509.8438 L4708.5,512 L4703.7031,512 L4703.7031,517.4063 L4701.2656,517.4063 L4701.2656,505.0156 L4708.9844,505.0156 L4708.9844,507.1719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="4725.25" y="515.5605">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4596.5" x2="4968.5" y1="527.4063" y2="527.4063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4596.5" x2="4968.5" y1="535.4063" y2="535.4063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="4601.5" y="549.6167">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
-class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="2247" y="183.4063"/><ellipse cx="2593.75" cy="199.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2593.2344,199.9688 Q2591.375,199.2656 2590.7188,198.5 Q2590.0781,197.7188 2590.0781,196.4063 Q2590.0781,194.7188 2591.1563,193.75 Q2592.2344,192.7813 2594.1094,192.7813 Q2594.9688,192.7813 2595.8125,192.9844 Q2596.6719,193.1719 2597.5156,193.5625 L2597.5156,195.9531 Q2596.7344,195.3906 2595.9063,195.1094 Q2595.0938,194.8125 2594.2969,194.8125 Q2593.4219,194.8125 2592.9375,195.1719 Q2592.4688,195.5313 2592.4688,196.1875 Q2592.4688,196.7031 2592.8125,197.0469 Q2593.1563,197.375 2594.25,197.7813 L2595.3125,198.1875 Q2596.7969,198.7344 2597.5,199.6406 Q2598.2188,200.5469 2598.2188,201.9219 Q2598.2188,203.7969 2597.1094,204.7188 Q2596,205.6406 2593.75,205.6406 Q2592.8281,205.6406 2591.9063,205.4219 Q2590.9844,205.2031 2590.125,204.7813 L2590.125,202.25 Q2591.0938,202.9375 2592.0156,203.2813 Q2592.9375,203.625 2593.8281,203.625 Q2594.7344,203.625 2595.2344,203.2188 Q2595.7344,202.7969 2595.7344,202.0625 Q2595.7344,201.5 2595.3906,201.0938 Q2595.0625,200.6719 2594.4375,200.4219 L2593.2344,199.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2614.25" y="203.5605">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2248" x2="3067" y1="215.4063" y2="215.4063"/><ellipse cx="2258" cy="243.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2267" y="246.4214">minLatency : urt_delay_t</text><ellipse cx="2258" cy="256.0156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2267" y="259.2261">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2248" x2="2549" y1="229.8086" y2="229.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2549" y="233.1167">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2766" x2="3067" y1="229.8086" y2="229.8086"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2248" x2="3067" y1="265.8203" y2="265.8203"/><ellipse cx="2258" cy="276.8203" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="2267" y="280.0308">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><ellipse cx="2258" cy="289.625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="715" x="2267" y="292.8354">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="2258" cy="302.4297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="2267" y="305.6401">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2258" cy="315.2344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="2267" y="318.4448">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2258" cy="328.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="2267" y="331.2495">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
-class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="4240.5" y="163.9063"/><ellipse cx="4719.25" cy="179.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4718.7344,180.4688 Q4716.875,179.7656 4716.2188,179 Q4715.5781,178.2188 4715.5781,176.9063 Q4715.5781,175.2188 4716.6563,174.25 Q4717.7344,173.2813 4719.6094,173.2813 Q4720.4688,173.2813 4721.3125,173.4844 Q4722.1719,173.6719 4723.0156,174.0625 L4723.0156,176.4531 Q4722.2344,175.8906 4721.4063,175.6094 Q4720.5938,175.3125 4719.7969,175.3125 Q4718.9219,175.3125 4718.4375,175.6719 Q4717.9688,176.0313 4717.9688,176.6875 Q4717.9688,177.2031 4718.3125,177.5469 Q4718.6563,177.875 4719.75,178.2813 L4720.8125,178.6875 Q4722.2969,179.2344 4723,180.1406 Q4723.7188,181.0469 4723.7188,182.4219 Q4723.7188,184.2969 4722.6094,185.2188 Q4721.5,186.1406 4719.25,186.1406 Q4718.3281,186.1406 4717.4063,185.9219 Q4716.4844,185.7031 4715.625,185.2813 L4715.625,182.75 Q4716.5938,183.4375 4717.5156,183.7813 Q4718.4375,184.125 4719.3281,184.125 Q4720.2344,184.125 4720.7344,183.7188 Q4721.2344,183.2969 4721.2344,182.5625 Q4721.2344,182 4720.8906,181.5938 Q4720.5625,181.1719 4719.9375,180.9219 L4718.7344,180.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4739.75" y="184.0605">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4241.5" x2="5323.5" y1="195.9063" y2="195.9063"/><ellipse cx="4251.5" cy="206.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="229" x="4260.5" y="210.1167">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="4251.5" cy="219.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="4260.5" y="222.9214">cbparams : void*</text><ellipse cx="4251.5" cy="249.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="4260.5" y="252.5308">minLatency : urt_delay_t</text><ellipse cx="4251.5" cy="262.125" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="4260.5" y="265.3354">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4241.5" x2="4674" y1="235.918" y2="235.918"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4674" y="239.2261">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4891" x2="5323.5" y1="235.918" y2="235.918"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4241.5" x2="5323.5" y1="271.9297" y2="271.9297"/><ellipse cx="4251.5" cy="282.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="4260.5" y="286.1401">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><ellipse cx="4251.5" cy="295.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="4260.5" y="298.9448">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t</text><ellipse cx="4251.5" cy="308.5391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="4260.5" y="311.7495">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4251.5" cy="321.3438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="4260.5" y="324.5542">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4251.5" cy="334.1484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="4260.5" y="337.3589">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4251.5" cy="346.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="4260.5" y="350.1636">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
-class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="1237.5" y="147.4063"/><ellipse cx="1662.75" cy="163.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1662.2344,163.9688 Q1660.375,163.2656 1659.7188,162.5 Q1659.0781,161.7188 1659.0781,160.4063 Q1659.0781,158.7188 1660.1563,157.75 Q1661.2344,156.7813 1663.1094,156.7813 Q1663.9688,156.7813 1664.8125,156.9844 Q1665.6719,157.1719 1666.5156,157.5625 L1666.5156,159.9531 Q1665.7344,159.3906 1664.9063,159.1094 Q1664.0938,158.8125 1663.2969,158.8125 Q1662.4219,158.8125 1661.9375,159.1719 Q1661.4688,159.5313 1661.4688,160.1875 Q1661.4688,160.7031 1661.8125,161.0469 Q1662.1563,161.375 1663.25,161.7813 L1664.3125,162.1875 Q1665.7969,162.7344 1666.5,163.6406 Q1667.2188,164.5469 1667.2188,165.9219 Q1667.2188,167.7969 1666.1094,168.7188 Q1665,169.6406 1662.75,169.6406 Q1661.8281,169.6406 1660.9063,169.4219 Q1659.9844,169.2031 1659.125,168.7813 L1659.125,166.25 Q1660.0938,166.9375 1661.0156,167.2813 Q1661.9375,167.625 1662.8281,167.625 Q1663.7344,167.625 1664.2344,167.2188 Q1664.7344,166.7969 1664.7344,166.0625 Q1664.7344,165.5 1664.3906,165.0938 Q1664.0625,164.6719 1663.4375,164.4219 L1662.2344,163.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="1683.25" y="167.5605">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1238.5" x2="2210.5" y1="179.4063" y2="179.4063"/><ellipse cx="1248.5" cy="207.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="1257.5" y="210.4214">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1238.5" x2="1579" y1="193.8086" y2="193.8086"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="1579" y="197.1167">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1870" x2="2210.5" y1="193.8086" y2="193.8086"/><ellipse cx="1248.5" cy="236.8203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="1257.5" y="240.0308">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1238.5" x2="1589" y1="223.418" y2="223.418"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="1589" y="226.7261">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1860" x2="2210.5" y1="223.418" y2="223.418"/><ellipse cx="1248.5" cy="266.4297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1257.5" y="269.6401">minLatency : urt_delay_t</text><ellipse cx="1248.5" cy="279.2344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1257.5" y="282.4448">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1238.5" x2="1470.5" y1="253.0273" y2="253.0273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="1470.5" y="256.3354">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1978.5" x2="2210.5" y1="253.0273" y2="253.0273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1238.5" x2="2210.5" y1="289.0391" y2="289.0391"/><ellipse cx="1248.5" cy="300.0391" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="387" x="1257.5" y="303.2495">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><ellipse cx="1248.5" cy="312.8438" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="948" x="1257.5" y="316.0542">urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="1248.5" cy="325.6484" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="780" x="1257.5" y="328.8589">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1248.5" cy="338.4531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="790" x="1257.5" y="341.6636">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1248.5" cy="351.2578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="540" x="1257.5" y="354.4683">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="1248.5" cy="364.0625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="441" x="1257.5" y="367.2729">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
-class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="3103.5" y="125.9063"/><ellipse cx="3581.75" cy="141.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3581.2344,142.4688 Q3579.375,141.7656 3578.7188,141 Q3578.0781,140.2188 3578.0781,138.9063 Q3578.0781,137.2188 3579.1563,136.25 Q3580.2344,135.2813 3582.1094,135.2813 Q3582.9688,135.2813 3583.8125,135.4844 Q3584.6719,135.6719 3585.5156,136.0625 L3585.5156,138.4531 Q3584.7344,137.8906 3583.9063,137.6094 Q3583.0938,137.3125 3582.2969,137.3125 Q3581.4219,137.3125 3580.9375,137.6719 Q3580.4688,138.0313 3580.4688,138.6875 Q3580.4688,139.2031 3580.8125,139.5469 Q3581.1563,139.875 3582.25,140.2813 L3583.3125,140.6875 Q3584.7969,141.2344 3585.5,142.1406 Q3586.2188,143.0469 3586.2188,144.4219 Q3586.2188,146.2969 3585.1094,147.2188 Q3584,148.1406 3581.75,148.1406 Q3580.8281,148.1406 3579.9063,147.9219 Q3578.9844,147.7031 3578.125,147.2813 L3578.125,144.75 Q3579.0938,145.4375 3580.0156,145.7813 Q3580.9375,146.125 3581.8281,146.125 Q3582.7344,146.125 3583.2344,145.7188 Q3583.7344,145.2969 3583.7344,144.5625 Q3583.7344,144 3583.3906,143.5938 Q3583.0625,143.1719 3582.4375,142.9219 L3581.2344,142.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="3602.25" y="146.0605">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3104.5" x2="4186.5" y1="157.9063" y2="157.9063"/><ellipse cx="3114.5" cy="168.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="3123.5" y="172.1167">next : urt_hrtsubscriber_t*</text><ellipse cx="3114.5" cy="198.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="3123.5" y="201.7261">deadlineOffset : urt_delay_t</text><ellipse cx="3114.5" cy="211.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="3123.5" y="214.5308">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3500" y1="185.1133" y2="185.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3500" y="188.4214">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3791" x2="4186.5" y1="185.1133" y2="185.1133"/><ellipse cx="3114.5" cy="240.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="3123.5" y="244.1401">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3510" y1="227.5273" y2="227.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3510" y="230.8354">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3781" x2="4186.5" y1="227.5273" y2="227.5273"/><ellipse cx="3114.5" cy="270.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="3123.5" y="273.7495">minLatency : urt_delay_t</text><ellipse cx="3114.5" cy="283.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="3123.5" y="286.5542">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3393.5" y1="257.1367" y2="257.1367"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="3393.5" y="260.4448">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3897.5" x2="4186.5" y1="257.1367" y2="257.1367"/><ellipse cx="3114.5" cy="312.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="3123.5" y="316.1636">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3104.5" x2="3513" y1="299.5508" y2="299.5508"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="3513" y="302.8589">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3778" x2="4186.5" y1="299.5508" y2="299.5508"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3104.5" x2="4186.5" y1="322.7578" y2="322.7578"/><ellipse cx="3114.5" cy="333.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="3123.5" y="336.9683">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><ellipse cx="3114.5" cy="346.5625" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="3123.5" y="349.7729">urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="3114.5" cy="359.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="3123.5" y="362.5776">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3114.5" cy="372.1719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="3123.5" y="375.3823">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3114.5" cy="384.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="3123.5" y="388.187">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
-class urt_message_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="753" y="454.9063"/><ellipse cx="928.25" cy="470.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M927.7344,471.4688 Q925.875,470.7656 925.2188,470 Q924.5781,469.2188 924.5781,467.9063 Q924.5781,466.2188 925.6563,465.25 Q926.7344,464.2813 928.6094,464.2813 Q929.4688,464.2813 930.3125,464.4844 Q931.1719,464.6719 932.0156,465.0625 L932.0156,467.4531 Q931.2344,466.8906 930.4063,466.6094 Q929.5938,466.3125 928.7969,466.3125 Q927.9219,466.3125 927.4375,466.6719 Q926.9688,467.0313 926.9688,467.6875 Q926.9688,468.2031 927.3125,468.5469 Q927.6563,468.875 928.75,469.2813 L929.8125,469.6875 Q931.2969,470.2344 932,471.1406 Q932.7188,472.0469 932.7188,473.4219 Q932.7188,475.2969 931.6094,476.2188 Q930.5,477.1406 928.25,477.1406 Q927.3281,477.1406 926.4063,476.9219 Q925.4844,476.7031 924.625,476.2813 L924.625,473.75 Q925.5938,474.4375 926.5156,474.7813 Q927.4375,475.125 928.3281,475.125 Q929.2344,475.125 929.7344,474.7188 Q930.2344,474.2969 930.2344,473.5625 Q930.2344,473 929.8906,472.5938 Q929.5625,472.1719 928.9375,471.9219 L927.7344,471.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="948.75" y="475.0605">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="1203" y1="486.9063" y2="486.9063"/><ellipse cx="764" cy="497.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="773" y="501.1167">next : urt_message_t*</text><ellipse cx="764" cy="510.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="773" y="513.9214">payload : void*</text><ellipse cx="764" cy="523.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="773" y="526.7261">originTime : urt_osTime_t</text><ellipse cx="764" cy="536.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="773" y="539.5308">numHrtConsumersLeft : unsigned int</text><ellipse cx="764" cy="565.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="773" y="569.1401">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="754" x2="870" y1="552.5273" y2="552.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="870" y="555.8354">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1087" x2="1203" y1="552.5273" y2="552.5273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="754" x2="1203" y1="575.7344" y2="575.7344"/><ellipse cx="764" cy="586.7344" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="425" x="773" y="589.9448">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
-class urt_publisher_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="6" y="195.9063"/><ellipse cx="334.75" cy="211.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M334.2344,212.4688 Q332.375,211.7656 331.7188,211 Q331.0781,210.2188 331.0781,208.9063 Q331.0781,207.2188 332.1563,206.25 Q333.2344,205.2813 335.1094,205.2813 Q335.9688,205.2813 336.8125,205.4844 Q337.6719,205.6719 338.5156,206.0625 L338.5156,208.4531 Q337.7344,207.8906 336.9063,207.6094 Q336.0938,207.3125 335.2969,207.3125 Q334.4219,207.3125 333.9375,207.6719 Q333.4688,208.0313 333.4688,208.6875 Q333.4688,209.2031 333.8125,209.5469 Q334.1563,209.875 335.25,210.2813 L336.3125,210.6875 Q337.7969,211.2344 338.5,212.1406 Q339.2188,213.0469 339.2188,214.4219 Q339.2188,216.2969 338.1094,217.2188 Q337,218.1406 334.75,218.1406 Q333.8281,218.1406 332.9063,217.9219 Q331.9844,217.7031 331.125,217.2813 L331.125,214.75 Q332.0938,215.4375 333.0156,215.7813 Q333.9375,216.125 334.8281,216.125 Q335.7344,216.125 336.2344,215.7188 Q336.7344,215.2969 336.7344,214.5625 Q336.7344,214 336.3906,213.5938 Q336.0625,213.1719 335.4375,212.9219 L334.2344,212.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="355.25" y="216.0605">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="764" y1="227.9063" y2="227.9063"/><ellipse cx="17" cy="238.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="26" y="242.1167">topic : urt_topic_t*</text><ellipse cx="17" cy="268.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="26" y="271.7261">publishAttempts : uint64_t</text><ellipse cx="17" cy="281.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="26" y="284.5308">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="277" y1="255.1133" y2="255.1133"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="277" y="258.4214">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="494" x2="764" y1="255.1133" y2="255.1133"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="764" y1="291.125" y2="291.125"/><ellipse cx="17" cy="302.125" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="617" x="26" y="305.3354">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="17" cy="314.9297" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="733" x="26" y="318.1401">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
-class urt_topic_t--><rect fill="#FEFECE" filter="url(#fijp6wls75jyj)" height="248.0703" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="800.5" y="136.4063"/><ellipse cx="955.25" cy="152.4063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M954.7344,152.9688 Q952.875,152.2656 952.2188,151.5 Q951.5781,150.7188 951.5781,149.4063 Q951.5781,147.7188 952.6563,146.75 Q953.7344,145.7813 955.6094,145.7813 Q956.4688,145.7813 957.3125,145.9844 Q958.1719,146.1719 959.0156,146.5625 L959.0156,148.9531 Q958.2344,148.3906 957.4063,148.1094 Q956.5938,147.8125 955.7969,147.8125 Q954.9219,147.8125 954.4375,148.1719 Q953.9688,148.5313 953.9688,149.1875 Q953.9688,149.7031 954.3125,150.0469 Q954.6563,150.375 955.75,150.7813 L956.8125,151.1875 Q958.2969,151.7344 959,152.6406 Q959.7188,153.5469 959.7188,154.9219 Q959.7188,156.7969 958.6094,157.7188 Q957.5,158.6406 955.25,158.6406 Q954.3281,158.6406 953.4063,158.4219 Q952.4844,158.2031 951.625,157.7813 L951.625,155.25 Q952.5938,155.9375 953.5156,156.2813 Q954.4375,156.625 955.3281,156.625 Q956.2344,156.625 956.7344,156.2188 Q957.2344,155.7969 957.2344,155.0625 Q957.2344,154.5 956.8906,154.0938 Q956.5625,153.6719 955.9375,153.4219 L954.7344,152.9688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="975.75" y="156.5605">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.5" x2="1183.5" y1="168.4063" y2="168.4063"/><ellipse cx="811.5" cy="179.4063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="820.5" y="182.6167">next : urt_topic_t*</text><ellipse cx="811.5" cy="192.2109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="820.5" y="195.4214">id : urt_topicid_t</text><ellipse cx="811.5" cy="205.0156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="820.5" y="208.2261">lock : urt_osMutex_t</text><ellipse cx="811.5" cy="217.8203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="820.5" y="221.0308">evtSource : urt_osEventSource_t</text><ellipse cx="811.5" cy="230.625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="820.5" y="233.8354">numHrtSubscribers : unsigned int</text><ellipse cx="811.5" cy="243.4297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="820.5" y="246.6401">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="811.5" cy="256.2344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="820.5" y="259.4448">hrtReleased : urt_osCondvar_t</text><ellipse cx="811.5" cy="269.0391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="820.5" y="272.2495">mandatoryMessage : urt_message_t</text><ellipse cx="811.5" cy="281.8438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="820.5" y="285.0542">latestMessage : urt_message_t*</text><ellipse cx="811.5" cy="311.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="820.5" y="314.6636">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="801.5" x2="860" y1="298.0508" y2="298.0508"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="860" y="301.3589">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1125" x2="1183.5" y1="298.0508" y2="298.0508"/><ellipse cx="811.5" cy="341.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="820.5" y="344.2729">numDiscardedMessages : uint64_t</text><ellipse cx="811.5" cy="353.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="820.5" y="357.0776">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="801.5" x2="884" y1="327.6602" y2="327.6602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="884" y="330.9683">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1101" x2="1183.5" y1="327.6602" y2="327.6602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="801.5" x2="1183.5" y1="363.6719" y2="363.6719"/><ellipse cx="811.5" cy="374.6719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="358" x="820.5" y="377.8823">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[536025241394544a90bc53fb552f3a08]
-reverse link urt_message_t to urt_message_t--><path d="M1216.0642,491.6464 C1230.3974,499.7971 1239,511.217 1239,525.9063 C1239,544.3399 1225.4528,557.625 1204.034,565.7617 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1204.034,486.0508,1207.7873,492.2082,1214.9146,491.1118,1211.1613,484.9545,1204.034,486.0508" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1212.2829" y="481.4249">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1211.8281" y="563.8984">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
-link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M2801.0488,337.5565 C2870.4782,374.8713 2953.218,419.3397 3020.864,455.6961 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3024.314,449.6033,3038.617,465.2374,3017.6863,461.9351,3024.314,449.6033" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
-link urt_nrtsubscriber_t to urt_message_t--><path d="M2448.108,337.4631 C2379.3604,359.7152 2301.9849,381.5689 2229.5,394.9063 C1788.1168,476.1219 1663.6814,378.1555 1221.5,454.9063 C1217.376,455.6221 1213.2225,456.3828 1209.0475,457.1844 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1204.1369,458.1437,1213.7369,460.3438,1209.0441,457.1849,1212.2029,452.4922,1204.1369,458.1437" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
-link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M4407.1322,356.9519 C4346.0027,370.8759 4283.1722,384.1181 4223.5,394.9063 C3887.5331,455.6462 3487.1413,496.2563 3283.954,514.6423 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3284.5705,521.615,3264.0246,516.4315,3283.3186,507.6711,3284.5705,521.615" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
-reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M4782.5,370.0144 C4782.5,415.4315 4782.5,464.5778 4782.5,495.2952 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4782.5,357.0089,4778.5,363.0089,4782.5,369.0089,4786.5,363.0089,4782.5,357.0089" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4774.2063" y="376.7311">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4756.025" y="484.5355">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
-link urt_srtsubscriber_t to urt_message_t--><path d="M4432.0378,356.9495 C4363.385,372.3858 4291.5632,386.1427 4223.5,394.9063 C3561.7187,480.115 1881.0384,353.7921 1221.5,454.9063 C1217.3627,455.5406 1213.1968,456.226 1209.0104,456.9577 " fill="none" id="urt_srtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1204.0869,457.8378,1213.6503,460.1916,1209.0089,456.9579,1212.2426,452.3164,1204.0869,457.8378" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
-link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M2132.1239,373.4097 C2164.9595,381.1559 2197.7152,388.4394 2229.5,394.9063 C2508.098,451.5886 2838.991,492.2111 3018.8819,512.092 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3019.8785,505.1592,3038.9961,514.2978,3018.3522,519.0758,3019.8785,505.1592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
-link urt_frtsubscriber_t to urt_message_t--><path d="M1406.7766,373.4835 C1330.9943,400.4543 1252.0987,428.533 1182.9788,453.1327 " fill="none" id="urt_frtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1178.0193,454.8978,1187.8395,455.6484,1182.7298,453.2212,1185.157,448.1115,1178.0193,454.8978" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
-link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M3395.2437,394.9064 C3356.0536,415.9691 3316.9728,436.9731 3281.9486,455.7968 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3284.9546,462.1281,3264.0238,465.4304,3278.3268,449.7963,3284.9546,462.1281" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
-reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M4199.8399,235.7858 C4214.3539,242.5949 4222.5,250.8018 4222.5,260.4063 C4222.5,272.459 4209.6717,282.3107 4187.5292,289.9614 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4187.5292,230.8512,4191.6102,236.7964,4198.6677,235.3159,4194.5867,229.3707,4187.5292,230.8512" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4195.2077" y="227.3988">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4195.3202" y="287.3402">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
-link urt_hrtsubscriber_t to urt_message_t--><path d="M3103.4186,392.3959 C3097.4199,393.2676 3091.4455,394.1051 3085.5,394.9063 C2264.051,505.5987 2040.0199,324.306 1221.5,454.9063 C1217.3666,455.5658 1213.2044,456.2745 1209.0214,457.0277 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1204.1017,457.9324,1213.6767,460.2387,1209.0192,457.0281,1212.2299,452.3706,1204.1017,457.9324" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
-reverse link urt_publisher_t to urt_topic_t--><path d="M778.3249,260.4063 C785.6324,260.4063 792.94,260.4063 800.2475,260.4063 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="765.1714,260.4063,771.1714,264.4063,777.1714,260.4063,771.1714,256.4063,765.1714,260.4063" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="772.9647" y="257.3239">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="784.5814" y="257.1814">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
-link urt_publisher_t to urt_message_t--><path d="M529.8058,325.0154 C615.9437,363.5813 725.5937,412.6742 814.9361,452.6749 " fill="none" id="urt_publisher_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="819.7121,454.8132,813.1324,447.4846,815.1486,452.77,809.8633,454.7862,819.7121,454.8132" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
-reverse link urt_topic_t to urt_topic_t--><path d="M1196.5439,224.3234 C1210.8061,232.5595 1219.5,244.587 1219.5,260.4063 C1219.5,280.2579 1205.809,294.1384 1184.6039,302.0481 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1184.6039,218.7645,1188.355,224.9232,1195.4826,223.8294,1191.7316,217.6707,1184.6039,218.7645" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1192.2642" y="213.913">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1192.5767" y="300.4498">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
-reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1130.406,128.2476 C1163.5796,103.9181 1200.6064,82.0674 1239,68.9063 C1335.1205,35.9568 2967.6883,52.7082 3068,68.9063 C3144.3838,81.2405 3224.3368,102.1948 3299.5629,125.8263 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1119.7739,136.226,1126.9738,135.8241,1129.372,129.0235,1122.1721,129.4253,1119.7739,136.226" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1119.2859" y="125.2705">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3254.8697" y="114.6867">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
-reverse link urt_topic_t to urt_message_t--><path d="M985.2522,397.855 C984.2167,417.4927 983.1885,436.9931 982.2582,454.6344 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="985.9509,384.6054,981.6405,390.3864,985.319,396.5887,989.6294,390.8077,985.9509,384.6054" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="977.3081" y="404.6996">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="974.2333" y="443.6037">1</text><!--MD5=[25a1c01fd1a45519879667c2d8772a97]
+<?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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
 @startuml
 
 title **µRtWare**\nPublish-Subscribe System
@@ -49,7 +49,7 @@ title **µRtWare**\nPublish-Subscribe System
   .. URT_CFG_PUBSUB_PROFILING == true ..
   + {field} numConsumersLeft : unsigned int
   __
-  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
+  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : void
 }
 
   package "subscriber" <<Rectangle>> {
@@ -72,7 +72,7 @@ title **µRtWare**\nPublish-Subscribe System
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t
+    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void
     + {method} urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
     + {method} urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -86,7 +86,7 @@ title **µRtWare**\nPublish-Subscribe System
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t
+    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void
     + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
     + {method} urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -103,7 +103,7 @@ title **µRtWare**\nPublish-Subscribe System
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t
+    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void
     + {method} urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t
     + {method} urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -124,7 +124,7 @@ title **µRtWare**\nPublish-Subscribe System
     .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
     + {field} expectedRate : urt_delay_t
     __
-    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t
+    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void
     + {method} urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t
     + {method} urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -138,8 +138,8 @@ title **µRtWare**\nPublish-Subscribe System
   + {field} publishAttempts : uint64_t
   + {field} publishFails : uint64_t
   __
-  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
-  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
+  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void
+  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
 }
 
   class urt_topic_t <<S,BFAFFF>> {
@@ -148,14 +148,15 @@ title **µRtWare**\nPublish-Subscribe System
   + {field} lock : urt_osMutex_t
   + {field} evtSource : urt_osEventSource_t
   + {field} numHrtSubscribers : unsigned int
-  + {field} hrtSubscribers : urt_hrtsubscriber_t*
   + {field} hrtReleased : urt_osCondvar_t
   + {field} mandatoryMessage : urt_message_t
   + {field} latestMessage : urt_message_t*
   .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
+  + {field} hrtSubscribers : urt_hrtsubscriber_t*
   + {field} qosRateTimer : urt_osTimer_t
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  + {field} numDiscardedMessages : uint64_t
+  + {field} numMessagesPublished : uint64_t
+  + {field} numMessagesDiscarded : uint64_t
   + {field} numSubscribers : unsigned int
   __
   + {method} urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
diff --git a/doc/classdiagrams/pubsub.uml b/doc/classdiagrams/pubsub.uml
index ee75846..9ad88b3 100644
--- a/doc/classdiagrams/pubsub.uml
+++ b/doc/classdiagrams/pubsub.uml
@@ -25,7 +25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**\nPublish-Subscribe System
 
-!include ../functions.iuml
+!include ./functions.iuml
 
 /'### ENTITIES ###############################################################'/
 
@@ -46,7 +46,7 @@ $structure("urt_message_t") {
   + {field} numConsumersLeft : unsigned int
   __
     'Initializes a urt_message_t object.
-  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
+  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : void
 }
 
 $group("subscriber") {
@@ -82,7 +82,7 @@ $group("subscriber") {
     + {field} maxLatency : urt_delay_t
     __
       'Initializes a urt_nrtsubscriber_t object.
-    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t
+    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void
       'Tries to subscribe to a topic and optionally contributes a list of messages to the topic.
     + {method} urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
       'Fetches the next message in the buffer, optionally copies the payload and optionally returns the latency.
@@ -106,7 +106,7 @@ $group("subscriber") {
     + {field} maxLatency : urt_delay_t
     __
       'Initializes a urt_srtsubscriber_t object.
-    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t
+    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void
       'Tries to subscribe to a topic, sets all parameters and optionally contributes a list of messages to the topic.
     + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
       'Fetches the next message in the buffer, optionally copies the payload and optionally returns the latency.
@@ -134,7 +134,7 @@ $group("subscriber") {
     + {field} maxLatency : urt_delay_t
     __
       'Initializes a urt_frtsubscriber_t object.
-    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t
+    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void
       'Tries to subscribe to a topic, sets all parameters and optionally contributes a list of messages to the topic.
     + {method} urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t
       'Fetches the next message in the buffer, optionally copies the payload and optionally returns the latency.
@@ -169,7 +169,7 @@ $group("subscriber") {
     + {field} expectedRate : urt_delay_t
     __
       'Initializes a urt_hrtsubscriber_t object.
-    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t
+    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void
       'Tries to subscribe to a topic, sets all parameters and optionally contributes a list of messages to the topic.
     + {method} urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t
       'Fetches the next message in the buffer, optionally copies the payload and optionally returns the latency.
@@ -192,9 +192,9 @@ $structure("urt_publisher_t") {
   + {field} publishFails : uint64_t
   __
     'Initializes a urt_publisher_t object and contributes an optional list of messages.
-  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
+  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void
     'Publishes a message via the associated topic.
-  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
+  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
 }
 
 /' Topic type. '/
@@ -209,8 +209,6 @@ $structure("urt_topic_t") {
   + {field} evtSource : urt_osEventSource_t
     'Number of HRT subscribers.
   + {field} numHrtSubscribers : unsigned int
-    'List of HRT subscribers, orderd by their expected rate (most critical first).
-  + {field} hrtSubscribers : urt_hrtsubscriber_t*
     'Condition variable to inform waiting publishers when a blocked message becomes available.
   + {field} hrtReleased : urt_osCondvar_t
     'Mandatory message, each Topic holds.
@@ -218,11 +216,15 @@ $structure("urt_topic_t") {
     'Pointer to the latest message.
   + {field} latestMessage : urt_message_t*
   .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
+    'List of HRT subscribers, orderd by their expected rate (most critical first).
+  + {field} hrtSubscribers : urt_hrtsubscriber_t*
     'Timer to check for missed rates.
   + {field} qosRateTimer : urt_osTimer_t
   .. URT_CFG_PUBSUB_PROFILING == true ..
-    'Variable to count how many (non-hrt) subscribers did not fetch a message before it was reused.
-  + {field} numDiscardedMessages : uint64_t
+    'Number of overall published messages on this topic.
+  + {field} numMessagesPublished : uint64_t
+    'Variable to count how often (non-hrt) subscribers did not fetch a message before it was reused.
+  + {field} numMessagesDiscarded : uint64_t
     'Number of overall subscribers.
   + {field} numSubscribers : unsigned int
   __
diff --git a/doc/classdiagrams/rpc.svg b/doc/classdiagrams/rpc.svg
index 16e9a96..7d5535b 100644
--- a/doc/classdiagrams/rpc.svg
+++ b/doc/classdiagrams/rpc.svg
@@ -1,8 +1,8 @@
-<?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="403px" preserveAspectRatio="none" style="width:655px;height:403px;" version="1.1" viewBox="0 0 655 403" width="655px" zoomAndPan="magnify"><defs><filter height="300%" id="ftbizwlh4v2ya" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="286" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="277" x="192" y="37.6611">Remote Procedure Call System</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
-class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#ftbizwlh4v2ya)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="81.5" y="331.9063"/><ellipse cx="249.75" cy="347.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M253.9844,343.6719 L248.7031,343.6719 L248.7031,346.3438 L253.5,346.3438 L253.5,348.5 L248.7031,348.5 L248.7031,353.9063 L246.2656,353.9063 L246.2656,341.5156 L253.9844,341.5156 L253.9844,343.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="270.25" y="352.0605">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="363.9063" y2="363.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="371.9063" y2="371.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="87.5" y="386.1167">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
-class urt_service_t--><rect fill="#FEFECE" filter="url(#ftbizwlh4v2ya)" height="222.4609" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="6" y="49.9063"/><ellipse cx="263.25" cy="65.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M262.7344,66.4688 Q260.875,65.7656 260.2188,65 Q259.5781,64.2188 259.5781,62.9063 Q259.5781,61.2188 260.6563,60.25 Q261.7344,59.2813 263.6094,59.2813 Q264.4688,59.2813 265.3125,59.4844 Q266.1719,59.6719 267.0156,60.0625 L267.0156,62.4531 Q266.2344,61.8906 265.4063,61.6094 Q264.5938,61.3125 263.7969,61.3125 Q262.9219,61.3125 262.4375,61.6719 Q261.9688,62.0313 261.9688,62.6875 Q261.9688,63.2031 262.3125,63.5469 Q262.6563,63.875 263.75,64.2813 L264.8125,64.6875 Q266.2969,65.2344 267,66.1406 Q267.7188,67.0469 267.7188,68.4219 Q267.7188,70.2969 266.6094,71.2188 Q265.5,72.1406 263.25,72.1406 Q262.3281,72.1406 261.4063,71.9219 Q260.4844,71.7031 259.625,71.2813 L259.625,68.75 Q260.5938,69.4375 261.5156,69.7813 Q262.4375,70.125 263.3281,70.125 Q264.2344,70.125 264.7344,69.7188 Q265.2344,69.2969 265.2344,68.5625 Q265.2344,68 264.8906,67.5938 Q264.5625,67.1719 263.9375,66.9219 L262.7344,66.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="283.75" y="70.0605">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="81.9063" y2="81.9063"/><ellipse cx="17" cy="92.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="26" y="96.1167">next : urt_service_t*</text><ellipse cx="17" cy="105.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="26" y="108.9214">id : urt_serviceid_t</text><ellipse cx="17" cy="118.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="26" y="121.7261">lock : urt_osMutex_t</text><ellipse cx="17" cy="131.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="26" y="134.5308">callback : urt_servicefunc_t*</text><ellipse cx="17" cy="160.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="26" y="164.1401">sumDurations : uint64_t</text><ellipse cx="17" cy="173.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="26" y="176.9448">numCalls : uint64_t</text><ellipse cx="17" cy="186.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="26" y="189.7495">numTimeouts : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="211" y1="147.5273" y2="147.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="211" y="150.8354">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="403" x2="607" y1="147.5273" y2="147.5273"/><ellipse cx="17" cy="216.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="143" x="26" y="219.3589">minDuration : urt_delay_t</text><ellipse cx="17" cy="228.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="146" x="26" y="232.1636">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="80" y1="202.7461" y2="202.7461"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="80" y="206.0542">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="534" x2="607" y1="202.7461" y2="202.7461"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="238.7578" y2="238.7578"/><ellipse cx="17" cy="249.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="576" x="26" y="252.9683">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="17" cy="262.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="557" x="26" y="265.7729">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[05f2c35569573d3273c65d3342945557]
-reverse link urt_service_t to urt_service_t--><path d="M620.6339,137.6478 C634.7535,143.5599 643,151.3127 643,160.9063 C643,173.0645 629.7552,182.2663 608.0965,188.5116 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="608.0965,133.301,612.4551,139.0457,619.4344,137.2319,615.0758,131.4872,608.0965,133.301" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="616.2006" y="129.431">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="616.4131" y="186.1081">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
-reverse link urt_service_t to urt_servicefunc_t--><path d="M307,285.053 C307,302.3835 307,318.7364 307,331.9027 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="307,271.971,303,277.971,307,283.971,311,277.971,307,271.971" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="298.7188" y="292.3629">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="280.375" y="320.6923">0..1</text><!--MD5=[bd05aa4eefabf500ab2962eb33a24378]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="387px" preserveAspectRatio="none" style="width:655px;height:387px;" version="1.1" viewBox="0 0 655 387" width="655px" zoomAndPan="magnify"><defs><filter height="300%" id="f1mxz0fta70cve" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="286" y="16.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="277" x="192" y="37.6611">Remote Procedure Call System</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
+class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f1mxz0fta70cve)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="81.5" y="315.9063"/><ellipse cx="249.75" cy="331.9063" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M253.9844,327.6719 L248.7031,327.6719 L248.7031,330.3438 L253.5,330.3438 L253.5,332.5 L248.7031,332.5 L248.7031,337.9063 L246.2656,337.9063 L246.2656,325.5156 L253.9844,325.5156 L253.9844,327.6719 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="270.25" y="336.0605">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="347.9063" y2="347.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="82.5" x2="531.5" y1="355.9063" y2="355.9063"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="87.5" y="370.1167">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
+class urt_service_t--><rect fill="#FEFECE" filter="url(#f1mxz0fta70cve)" height="205.6563" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="6" y="49.9063"/><ellipse cx="263.25" cy="65.9063" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M262.7344,66.4688 Q260.875,65.7656 260.2188,65 Q259.5781,64.2188 259.5781,62.9063 Q259.5781,61.2188 260.6563,60.25 Q261.7344,59.2813 263.6094,59.2813 Q264.4688,59.2813 265.3125,59.4844 Q266.1719,59.6719 267.0156,60.0625 L267.0156,62.4531 Q266.2344,61.8906 265.4063,61.6094 Q264.5938,61.3125 263.7969,61.3125 Q262.9219,61.3125 262.4375,61.6719 Q261.9688,62.0313 261.9688,62.6875 Q261.9688,63.2031 262.3125,63.5469 Q262.6563,63.875 263.75,64.2813 L264.8125,64.6875 Q266.2969,65.2344 267,66.1406 Q267.7188,67.0469 267.7188,68.4219 Q267.7188,70.2969 266.6094,71.2188 Q265.5,72.1406 263.25,72.1406 Q262.3281,72.1406 261.4063,71.9219 Q260.4844,71.7031 259.625,71.2813 L259.625,68.75 Q260.5938,69.4375 261.5156,69.7813 Q262.4375,70.125 263.3281,70.125 Q264.2344,70.125 264.7344,69.7188 Q265.2344,69.2969 265.2344,68.5625 Q265.2344,68 264.8906,67.5938 Q264.5625,67.1719 263.9375,66.9219 L262.7344,66.4688 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="283.75" y="70.0605">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="81.9063" y2="81.9063"/><ellipse cx="17" cy="92.9063" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="26" y="96.1167">next : urt_service_t*</text><ellipse cx="17" cy="105.7109" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="26" y="108.9214">id : urt_serviceid_t</text><ellipse cx="17" cy="118.5156" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="26" y="121.7261">lock : urt_osMutex_t</text><ellipse cx="17" cy="131.3203" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="26" y="134.5308">callback : urt_servicefunc_t*</text><ellipse cx="17" cy="160.9297" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="26" y="164.1401">sumDurations : uint64_t</text><ellipse cx="17" cy="173.7344" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="26" y="176.9448">numCalls : uint64_t</text><ellipse cx="17" cy="186.5391" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="26" y="189.7495">numTimeouts : uint64_t</text><ellipse cx="17" cy="199.3438" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="26" y="202.5542">minDuration : urt_delay_t</text><ellipse cx="17" cy="212.1484" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="26" y="215.3589">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7" x2="211" y1="147.5273" y2="147.5273"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="211" y="150.8354">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="403" x2="607" y1="147.5273" y2="147.5273"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7" x2="607" y1="221.9531" y2="221.9531"/><ellipse cx="17" cy="232.9531" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="576" x="26" y="236.1636">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="17" cy="245.7578" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="557" x="26" y="248.9683">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[05f2c35569573d3273c65d3342945557]
+reverse link urt_service_t to urt_service_t--><path d="M620.6339,130.5781 C634.7535,136.2537 643,143.6965 643,152.9063 C643,164.5782 629.7552,173.4119 608.0965,179.4074 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="608.0965,126.4051,612.5263,132.0952,619.4824,130.1947,615.0527,124.5046,608.0965,126.4051" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="616.2006" y="122.5752">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="616.4131" y="176.9853">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
+reverse link urt_service_t to urt_servicefunc_t--><path d="M307,269.3595 C307,286.4366 307,302.6584 307,315.7732 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="307,256.1712,303,262.1712,307,268.1712,311,262.1712,307,256.1712" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="298.7313" y="275.6961">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="280.525" y="305.0089">0..1</text><!--MD5=[53df50d95b69ed2513ef266da8b5a822]
 @startuml
 
 title **µRtWare**\nRemote Procedure Call System
@@ -32,7 +32,6 @@ title **µRtWare**\nRemote Procedure Call System
   + {field} sumDurations : uint64_t
   + {field} numCalls : uint64_t
   + {field} numTimeouts : uint64_t
-  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true  ..
   + {field} minDuration : urt_delay_t
   + {field} maxDuration : urt_delay_t
   __
diff --git a/doc/classdiagrams/rpc.uml b/doc/classdiagrams/rpc.uml
index 5888e43..78fb60d 100644
--- a/doc/classdiagrams/rpc.uml
+++ b/doc/classdiagrams/rpc.uml
@@ -25,7 +25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**\nRemote Procedure Call System
 
-!include ../functions.iuml
+!include ./functions.iuml
 
 /'### ENTITIES ###############################################################'/
 
@@ -53,7 +53,6 @@ $structure("urt_service_t") {
   + {field} numCalls : uint64_t
     'Number of failed calls due to timeout.
   + {field} numTimeouts : uint64_t
-  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true  ..
     'Minimum duration ever detected (to calculate jitter).
   + {field} minDuration : urt_delay_t
     'Maximum duration ever detected (to calculate jitter).
diff --git a/doc/classdiagrams/urtware.svg b/doc/classdiagrams/urtware.svg
index 24e3520..0cbb4c7 100644
--- a/doc/classdiagrams/urtware.svg
+++ b/doc/classdiagrams/urtware.svg
@@ -1,52 +1,52 @@
-<?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="872px" preserveAspectRatio="none" style="width:7708px;height:872px;" version="1.1" viewBox="0 0 7708 872" width="7708px" zoomAndPan="magnify"><defs><filter height="300%" id="fqetkmfi9z8qk" 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="3812" y="16.708">µRtWare</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
-cluster node--><rect fill="#FFFFFF" filter="url(#fqetkmfi9z8qk)" height="446.5" style="stroke: #000000; stroke-width: 1.5;" width="1674" x="5368" y="369.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="6185" y="384.9482">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
-cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#fqetkmfi9z8qk)" points="14,328.9531,24,318.9531,5357,318.9531,5357,850.9531,5347,860.9531,14,860.9531,14,328.9531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5347" x2="5356" y1="328.9531" y2="319.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14" x2="5347" y1="328.9531" y2="328.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5347" x2="5347" y1="328.9531" y2="860.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="2579" y="344.9482">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
-cluster subscriber--><rect fill="#FFFFFF" filter="url(#fqetkmfi9z8qk)" height="502" style="stroke: #000000; stroke-width: 1.5;" width="4102" x="1247" y="350.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3255.5" y="365.9482">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
-cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#fqetkmfi9z8qk)" points="7050,379.4531,7060,369.4531,7686,369.4531,7686,806.4531,7676,816.4531,7050,816.4531,7050,379.4531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7676" x2="7685" y1="379.4531" y2="370.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7050" x2="7676" y1="379.4531" y2="379.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7676" x2="7676" y1="379.4531" y2="816.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="7242" y="395.4482">Remote Procedure Call System</text><!--MD5=[a7dea26996a1231aa68629b332780450]
-class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="5929" y="747.4531"/><ellipse cx="6074.75" cy="763.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6075.5938,770.2031 L6073.1406,770.2031 L6073.1406,759.9531 L6070,759.9531 L6070,757.8125 L6078.7344,757.8125 L6078.7344,759.9531 L6075.5938,759.9531 L6075.5938,770.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="6095.25" y="767.6074">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5930" x2="6384" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5930" x2="6384" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="5935" y="801.6636">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
-class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="6420" y="747.4531"/><ellipse cx="6648.25" cy="763.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6649.0938,770.2031 L6646.6406,770.2031 L6646.6406,759.9531 L6643.5,759.9531 L6643.5,757.8125 L6652.2344,757.8125 L6652.2344,759.9531 L6649.0938,759.9531 L6649.0938,770.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="6668.75" y="767.6074">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6421" x2="7033" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6421" x2="7033" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="6426" y="801.6636">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[843db13320bebc2ca47f25c6a57c2ae5]
-class urt_nodeShutdownCallback_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="60.8047" id="urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="518" x="5376" y="747.4531"/><ellipse cx="5540.25" cy="763.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5541.0938,770.2031 L5538.6406,770.2031 L5538.6406,759.9531 L5535.5,759.9531 L5535.5,757.8125 L5544.2344,757.8125 L5544.2344,759.9531 L5541.0938,759.9531 L5541.0938,770.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="5560.75" y="767.6074">urt_nodeShutdownCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5377" x2="5893" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5377" x2="5893" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="506" x="5382" y="801.6636">urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void</text><!--MD5=[d2563153d77472384a15c07b815d639f]
-class urt_node_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="231.2656" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1586" x="5376" y="396.9531"/><ellipse cx="6131.25" cy="412.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6130.7344,413.5156 Q6128.875,412.8125 6128.2188,412.0469 Q6127.5781,411.2656 6127.5781,409.9531 Q6127.5781,408.2656 6128.6563,407.2969 Q6129.7344,406.3281 6131.6094,406.3281 Q6132.4688,406.3281 6133.3125,406.5313 Q6134.1719,406.7188 6135.0156,407.1094 L6135.0156,409.5 Q6134.2344,408.9375 6133.4063,408.6563 Q6132.5938,408.3594 6131.7969,408.3594 Q6130.9219,408.3594 6130.4375,408.7188 Q6129.9688,409.0781 6129.9688,409.7344 Q6129.9688,410.25 6130.3125,410.5938 Q6130.6563,410.9219 6131.75,411.3281 L6132.8125,411.7344 Q6134.2969,412.2813 6135,413.1875 Q6135.7188,414.0938 6135.7188,415.4688 Q6135.7188,417.3438 6134.6094,418.2656 Q6133.5,419.1875 6131.25,419.1875 Q6130.3281,419.1875 6129.4063,418.9688 Q6128.4844,418.75 6127.625,418.3281 L6127.625,415.7969 Q6128.5938,416.4844 6129.5156,416.8281 Q6130.4375,417.1719 6131.3281,417.1719 Q6132.2344,417.1719 6132.7344,416.7656 Q6133.2344,416.3438 6133.2344,415.6094 Q6133.2344,415.0469 6132.8906,414.6406 Q6132.5625,414.2188 6131.9375,413.9688 L6130.7344,413.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="6151.75" y="417.1074">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5377" x2="6961" y1="428.9531" y2="428.9531"/><ellipse cx="5387" cy="439.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="102" x="5396" y="443.1636">next : urt_node_t*</text><ellipse cx="5387" cy="452.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="5396" y="455.9683">thread : urt_osThread_t*</text><ellipse cx="5387" cy="465.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="235" x="5396" y="468.7729">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="5387" cy="478.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="117" x="5396" y="481.5776">setupparams : void*</text><ellipse cx="5387" cy="491.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="221" x="5396" y="494.3823">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="5387" cy="503.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="5396" y="507.187">loopparams : void*</text><ellipse cx="5387" cy="516.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="281" x="5396" y="519.9917">shutdowncallback : urt_nodeShutdownCallback_t*</text><ellipse cx="5387" cy="529.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="5396" y="532.7964">shutdownparams : void*</text><ellipse cx="5387" cy="542.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="5396" y="545.6011">stage : urt_nodestage_t</text><ellipse cx="5387" cy="555.1953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="178" x="5396" y="558.4058">listener : urt_osEventListener_t</text><ellipse cx="5387" cy="584.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="5396" y="588.0151">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5377" x2="5961" y1="571.4023" y2="571.4023"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="5961" y="574.7104">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6377" x2="6961" y1="571.4023" y2="571.4023"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5377" x2="6961" y1="594.6094" y2="594.6094"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5384" y="602.6094"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="5396" y="608.8198">_main : urt_osThreadFunction_t</text><ellipse cx="5387" cy="618.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1560" x="5396" y="621.6245">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : urt_status_t</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
-class urt_message_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="770.5" y="706.9531"/><ellipse cx="945.75" cy="722.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M945.2344,723.5156 Q943.375,722.8125 942.7188,722.0469 Q942.0781,721.2656 942.0781,719.9531 Q942.0781,718.2656 943.1563,717.2969 Q944.2344,716.3281 946.1094,716.3281 Q946.9688,716.3281 947.8125,716.5313 Q948.6719,716.7188 949.5156,717.1094 L949.5156,719.5 Q948.7344,718.9375 947.9063,718.6563 Q947.0938,718.3594 946.2969,718.3594 Q945.4219,718.3594 944.9375,718.7188 Q944.4688,719.0781 944.4688,719.7344 Q944.4688,720.25 944.8125,720.5938 Q945.1563,720.9219 946.25,721.3281 L947.3125,721.7344 Q948.7969,722.2813 949.5,723.1875 Q950.2188,724.0938 950.2188,725.4688 Q950.2188,727.3438 949.1094,728.2656 Q948,729.1875 945.75,729.1875 Q944.8281,729.1875 943.9063,728.9688 Q942.9844,728.75 942.125,728.3281 L942.125,725.7969 Q943.0938,726.4844 944.0156,726.8281 Q944.9375,727.1719 945.8281,727.1719 Q946.7344,727.1719 947.2344,726.7656 Q947.7344,726.3438 947.7344,725.6094 Q947.7344,725.0469 947.3906,724.6406 Q947.0625,724.2188 946.4375,723.9688 L945.2344,723.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="966.25" y="727.1074">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="771.5" x2="1220.5" y1="738.9531" y2="738.9531"/><ellipse cx="781.5" cy="749.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="790.5" y="753.1636">next : urt_message_t*</text><ellipse cx="781.5" cy="762.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="790.5" y="765.9683">payload : void*</text><ellipse cx="781.5" cy="775.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="790.5" y="778.7729">originTime : urt_osTime_t</text><ellipse cx="781.5" cy="788.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="790.5" y="791.5776">numHrtConsumersLeft : unsigned int</text><ellipse cx="781.5" cy="817.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="790.5" y="821.187">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="771.5" x2="887.5" y1="804.5742" y2="804.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="887.5" y="807.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1104.5" x2="1220.5" y1="804.5742" y2="804.5742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="771.5" x2="1220.5" y1="827.7813" y2="827.7813"/><ellipse cx="781.5" cy="838.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="425" x="790.5" y="841.9917">urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
-class urt_publisher_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="759" x="22.5" y="447.9531"/><ellipse cx="351.25" cy="463.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M350.7344,464.5156 Q348.875,463.8125 348.2188,463.0469 Q347.5781,462.2656 347.5781,460.9531 Q347.5781,459.2656 348.6563,458.2969 Q349.7344,457.3281 351.6094,457.3281 Q352.4688,457.3281 353.3125,457.5313 Q354.1719,457.7188 355.0156,458.1094 L355.0156,460.5 Q354.2344,459.9375 353.4063,459.6563 Q352.5938,459.3594 351.7969,459.3594 Q350.9219,459.3594 350.4375,459.7188 Q349.9688,460.0781 349.9688,460.7344 Q349.9688,461.25 350.3125,461.5938 Q350.6563,461.9219 351.75,462.3281 L352.8125,462.7344 Q354.2969,463.2813 355,464.1875 Q355.7188,465.0938 355.7188,466.4688 Q355.7188,468.3438 354.6094,469.2656 Q353.5,470.1875 351.25,470.1875 Q350.3281,470.1875 349.4063,469.9688 Q348.4844,469.75 347.625,469.3281 L347.625,466.7969 Q348.5938,467.4844 349.5156,467.8281 Q350.4375,468.1719 351.3281,468.1719 Q352.2344,468.1719 352.7344,467.7656 Q353.2344,467.3438 353.2344,466.6094 Q353.2344,466.0469 352.8906,465.6406 Q352.5625,465.2188 351.9375,464.9688 L350.7344,464.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="371.75" y="468.1074">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="780.5" y1="479.9531" y2="479.9531"/><ellipse cx="33.5" cy="490.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="42.5" y="494.1636">topic : urt_topic_t*</text><ellipse cx="33.5" cy="520.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="42.5" y="523.7729">publishAttempts : uint64_t</text><ellipse cx="33.5" cy="533.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="42.5" y="536.5776">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="23.5" x2="293.5" y1="507.1602" y2="507.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="293.5" y="510.4683">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="510.5" x2="780.5" y1="507.1602" y2="507.1602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="780.5" y1="543.1719" y2="543.1719"/><ellipse cx="33.5" cy="554.1719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="617" x="42.5" y="557.3823">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="33.5" cy="566.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="733" x="42.5" y="570.187">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
-class urt_topic_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="248.0703" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="817" y="388.4531"/><ellipse cx="971.75" cy="404.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M971.2344,405.0156 Q969.375,404.3125 968.7188,403.5469 Q968.0781,402.7656 968.0781,401.4531 Q968.0781,399.7656 969.1563,398.7969 Q970.2344,397.8281 972.1094,397.8281 Q972.9688,397.8281 973.8125,398.0313 Q974.6719,398.2188 975.5156,398.6094 L975.5156,401 Q974.7344,400.4375 973.9063,400.1563 Q973.0938,399.8594 972.2969,399.8594 Q971.4219,399.8594 970.9375,400.2188 Q970.4688,400.5781 970.4688,401.2344 Q970.4688,401.75 970.8125,402.0938 Q971.1563,402.4219 972.25,402.8281 L973.3125,403.2344 Q974.7969,403.7813 975.5,404.6875 Q976.2188,405.5938 976.2188,406.9688 Q976.2188,408.8438 975.1094,409.7656 Q974,410.6875 971.75,410.6875 Q970.8281,410.6875 969.9063,410.4688 Q968.9844,410.25 968.125,409.8281 L968.125,407.2969 Q969.0938,407.9844 970.0156,408.3281 Q970.9375,408.6719 971.8281,408.6719 Q972.7344,408.6719 973.2344,408.2656 Q973.7344,407.8438 973.7344,407.1094 Q973.7344,406.5469 973.3906,406.1406 Q973.0625,405.7188 972.4375,405.4688 L971.2344,405.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="992.25" y="408.6074">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="818" x2="1200" y1="420.4531" y2="420.4531"/><ellipse cx="828" cy="431.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="837" y="434.6636">next : urt_topic_t*</text><ellipse cx="828" cy="444.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="837" y="447.4683">id : urt_topicid_t</text><ellipse cx="828" cy="457.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="837" y="460.2729">lock : urt_osMutex_t</text><ellipse cx="828" cy="469.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="837" y="473.0776">evtSource : urt_osEventSource_t</text><ellipse cx="828" cy="482.6719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="837" y="485.8823">numHrtSubscribers : unsigned int</text><ellipse cx="828" cy="495.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="837" y="498.687">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="828" cy="508.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="837" y="511.4917">hrtReleased : urt_osCondvar_t</text><ellipse cx="828" cy="521.0859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="837" y="524.2964">mandatoryMessage : urt_message_t</text><ellipse cx="828" cy="533.8906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="837" y="537.1011">latestMessage : urt_message_t*</text><ellipse cx="828" cy="563.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="837" y="566.7104">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="818" x2="876.5" y1="550.0977" y2="550.0977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="876.5" y="553.4058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1141.5" x2="1200" y1="550.0977" y2="550.0977"/><ellipse cx="828" cy="593.1094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="837" y="596.3198">numDiscardedMessages : uint64_t</text><ellipse cx="828" cy="605.9141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="837" y="609.1245">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="818" x2="900.5" y1="579.707" y2="579.707"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="900.5" y="583.0151">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1117.5" x2="1200" y1="579.707" y2="579.707"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="818" x2="1200" y1="615.7188" y2="615.7188"/><ellipse cx="828" cy="626.7188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="358" x="837" y="629.9292">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
-class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="3081.5" y="710.9531"/><ellipse cx="3123.95" cy="726.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3123.4344,727.5156 Q3121.575,726.8125 3120.9188,726.0469 Q3120.2781,725.2656 3120.2781,723.9531 Q3120.2781,722.2656 3121.3563,721.2969 Q3122.4344,720.3281 3124.3094,720.3281 Q3125.1688,720.3281 3126.0125,720.5313 Q3126.8719,720.7188 3127.7156,721.1094 L3127.7156,723.5 Q3126.9344,722.9375 3126.1063,722.6563 Q3125.2938,722.3594 3124.4969,722.3594 Q3123.6219,722.3594 3123.1375,722.7188 Q3122.6688,723.0781 3122.6688,723.7344 Q3122.6688,724.25 3123.0125,724.5938 Q3123.3563,724.9219 3124.45,725.3281 L3125.5125,725.7344 Q3126.9969,726.2813 3127.7,727.1875 Q3128.4188,728.0938 3128.4188,729.4688 Q3128.4188,731.3438 3127.3094,732.2656 Q3126.2,733.1875 3123.95,733.1875 Q3123.0281,733.1875 3122.1063,732.9688 Q3121.1844,732.75 3120.325,732.3281 L3120.325,729.7969 Q3121.2938,730.4844 3122.2156,730.8281 Q3123.1375,731.1719 3124.0281,731.1719 Q3124.9344,731.1719 3125.4344,730.7656 Q3125.9344,730.3438 3125.9344,729.6094 Q3125.9344,729.0469 3125.5906,728.6406 Q3125.2625,728.2188 3124.6375,727.9688 L3123.4344,727.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="3144.05" y="731.1074">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3082.5" x2="3305.5" y1="742.9531" y2="742.9531"/><ellipse cx="3092.5" cy="753.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="3101.5" y="757.1636">topic : urt_topic_t*</text><ellipse cx="3092.5" cy="766.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="3101.5" y="769.9683">evtListener : urt_osEventListener_t</text><ellipse cx="3092.5" cy="779.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="3101.5" y="782.7729">lastMessage : urt_message_t*</text><ellipse cx="3092.5" cy="792.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="3101.5" y="795.5776">lastMessageTime : urt_osTime_t</text><ellipse cx="3092.5" cy="821.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="3101.5" y="825.187">sumLatencies : uint64_t</text><ellipse cx="3092.5" cy="834.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="3101.5" y="837.9917">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3082.5" x2="3085.5" y1="808.5742" y2="808.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3085.5" y="811.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3302.5" x2="3305.5" y1="808.5742" y2="808.5742"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
-class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="4612" y="747.4531"/><ellipse cx="4721.25" cy="763.4531" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4725.4844,759.2188 L4720.2031,759.2188 L4720.2031,761.8906 L4725,761.8906 L4725,764.0469 L4720.2031,764.0469 L4720.2031,769.4531 L4717.7656,769.4531 L4717.7656,757.0625 L4725.4844,757.0625 L4725.4844,759.2188 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="4741.75" y="767.6074">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4613" x2="4985" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4613" x2="4985" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="4618" y="801.6636">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
-class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="1254.5" y="435.4531"/><ellipse cx="1601.25" cy="451.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1600.7344,452.0156 Q1598.875,451.3125 1598.2188,450.5469 Q1597.5781,449.7656 1597.5781,448.4531 Q1597.5781,446.7656 1598.6563,445.7969 Q1599.7344,444.8281 1601.6094,444.8281 Q1602.4688,444.8281 1603.3125,445.0313 Q1604.1719,445.2188 1605.0156,445.6094 L1605.0156,448 Q1604.2344,447.4375 1603.4063,447.1563 Q1602.5938,446.8594 1601.7969,446.8594 Q1600.9219,446.8594 1600.4375,447.2188 Q1599.9688,447.5781 1599.9688,448.2344 Q1599.9688,448.75 1600.3125,449.0938 Q1600.6563,449.4219 1601.75,449.8281 L1602.8125,450.2344 Q1604.2969,450.7813 1605,451.6875 Q1605.7188,452.5938 1605.7188,453.9688 Q1605.7188,455.8438 1604.6094,456.7656 Q1603.5,457.6875 1601.25,457.6875 Q1600.3281,457.6875 1599.4063,457.4688 Q1598.4844,457.25 1597.625,456.8281 L1597.625,454.2969 Q1598.5938,454.9844 1599.5156,455.3281 Q1600.4375,455.6719 1601.3281,455.6719 Q1602.2344,455.6719 1602.7344,455.2656 Q1603.2344,454.8438 1603.2344,454.1094 Q1603.2344,453.5469 1602.8906,453.1406 Q1602.5625,452.7188 1601.9375,452.4688 L1600.7344,452.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="1621.75" y="455.6074">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255.5" x2="2074.5" y1="467.4531" y2="467.4531"/><ellipse cx="1265.5" cy="495.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1274.5" y="498.4683">minLatency : urt_delay_t</text><ellipse cx="1265.5" cy="508.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1274.5" y="511.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1255.5" x2="1556.5" y1="481.8555" y2="481.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1556.5" y="485.1636">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1773.5" x2="2074.5" y1="481.8555" y2="481.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1255.5" x2="2074.5" y1="517.8672" y2="517.8672"/><ellipse cx="1265.5" cy="528.8672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="1274.5" y="532.0776">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><ellipse cx="1265.5" cy="541.6719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="715" x="1274.5" y="544.8823">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1265.5" cy="554.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="1274.5" y="557.687">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1265.5" cy="567.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="1274.5" y="570.4917">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1265.5" cy="580.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="1274.5" y="583.2964">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
-class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="4257" y="415.9531"/><ellipse cx="4735.75" cy="431.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4735.2344,432.5156 Q4733.375,431.8125 4732.7188,431.0469 Q4732.0781,430.2656 4732.0781,428.9531 Q4732.0781,427.2656 4733.1563,426.2969 Q4734.2344,425.3281 4736.1094,425.3281 Q4736.9688,425.3281 4737.8125,425.5313 Q4738.6719,425.7188 4739.5156,426.1094 L4739.5156,428.5 Q4738.7344,427.9375 4737.9063,427.6563 Q4737.0938,427.3594 4736.2969,427.3594 Q4735.4219,427.3594 4734.9375,427.7188 Q4734.4688,428.0781 4734.4688,428.7344 Q4734.4688,429.25 4734.8125,429.5938 Q4735.1563,429.9219 4736.25,430.3281 L4737.3125,430.7344 Q4738.7969,431.2813 4739.5,432.1875 Q4740.2188,433.0938 4740.2188,434.4688 Q4740.2188,436.3438 4739.1094,437.2656 Q4738,438.1875 4735.75,438.1875 Q4734.8281,438.1875 4733.9063,437.9688 Q4732.9844,437.75 4732.125,437.3281 L4732.125,434.7969 Q4733.0938,435.4844 4734.0156,435.8281 Q4734.9375,436.1719 4735.8281,436.1719 Q4736.7344,436.1719 4737.2344,435.7656 Q4737.7344,435.3438 4737.7344,434.6094 Q4737.7344,434.0469 4737.3906,433.6406 Q4737.0625,433.2188 4736.4375,432.9688 L4735.2344,432.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4756.25" y="436.1074">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4258" x2="5340" y1="447.9531" y2="447.9531"/><ellipse cx="4268" cy="458.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="229" x="4277" y="462.1636">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="4268" cy="471.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="4277" y="474.9683">cbparams : void*</text><ellipse cx="4268" cy="501.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="4277" y="504.5776">minLatency : urt_delay_t</text><ellipse cx="4268" cy="514.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="4277" y="517.3823">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4258" x2="4690.5" y1="487.9648" y2="487.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4690.5" y="491.2729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4907.5" x2="5340" y1="487.9648" y2="487.9648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4258" x2="5340" y1="523.9766" y2="523.9766"/><ellipse cx="4268" cy="534.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="4277" y="538.187">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><ellipse cx="4268" cy="547.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="4277" y="550.9917">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t</text><ellipse cx="4268" cy="560.5859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="4277" y="563.7964">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4268" cy="573.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="4277" y="576.6011">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4268" cy="586.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="4277" y="589.4058">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4268" cy="599" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="4277" y="602.2104">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
-class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="3248" y="399.4531"/><ellipse cx="3673.25" cy="415.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3672.7344,416.0156 Q3670.875,415.3125 3670.2188,414.5469 Q3669.5781,413.7656 3669.5781,412.4531 Q3669.5781,410.7656 3670.6563,409.7969 Q3671.7344,408.8281 3673.6094,408.8281 Q3674.4688,408.8281 3675.3125,409.0313 Q3676.1719,409.2188 3677.0156,409.6094 L3677.0156,412 Q3676.2344,411.4375 3675.4063,411.1563 Q3674.5938,410.8594 3673.7969,410.8594 Q3672.9219,410.8594 3672.4375,411.2188 Q3671.9688,411.5781 3671.9688,412.2344 Q3671.9688,412.75 3672.3125,413.0938 Q3672.6563,413.4219 3673.75,413.8281 L3674.8125,414.2344 Q3676.2969,414.7813 3677,415.6875 Q3677.7188,416.5938 3677.7188,417.9688 Q3677.7188,419.8438 3676.6094,420.7656 Q3675.5,421.6875 3673.25,421.6875 Q3672.3281,421.6875 3671.4063,421.4688 Q3670.4844,421.25 3669.625,420.8281 L3669.625,418.2969 Q3670.5938,418.9844 3671.5156,419.3281 Q3672.4375,419.6719 3673.3281,419.6719 Q3674.2344,419.6719 3674.7344,419.2656 Q3675.2344,418.8438 3675.2344,418.1094 Q3675.2344,417.5469 3674.8906,417.1406 Q3674.5625,416.7188 3673.9375,416.4688 L3672.7344,416.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="3693.75" y="419.6074">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3249" x2="4221" y1="431.4531" y2="431.4531"/><ellipse cx="3259" cy="459.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="3268" y="462.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3249" x2="3589.5" y1="445.8555" y2="445.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3589.5" y="449.1636">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3880.5" x2="4221" y1="445.8555" y2="445.8555"/><ellipse cx="3259" cy="488.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="3268" y="492.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3249" x2="3599.5" y1="475.4648" y2="475.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3599.5" y="478.7729">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3870.5" x2="4221" y1="475.4648" y2="475.4648"/><ellipse cx="3259" cy="518.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="3268" y="521.687">minLatency : urt_delay_t</text><ellipse cx="3259" cy="531.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="3268" y="534.4917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3249" x2="3481" y1="505.0742" y2="505.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="3481" y="508.3823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3989" x2="4221" y1="505.0742" y2="505.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3249" x2="4221" y1="541.0859" y2="541.0859"/><ellipse cx="3259" cy="552.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="387" x="3268" y="555.2964">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><ellipse cx="3259" cy="564.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="948" x="3268" y="568.1011">urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="3259" cy="577.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="780" x="3268" y="580.9058">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3259" cy="590.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="790" x="3268" y="593.7104">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3259" cy="603.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="540" x="3268" y="606.5151">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="3259" cy="616.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="441" x="3268" y="619.3198">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
-class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="2111" y="377.9531"/><ellipse cx="2589.25" cy="393.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2588.7344,394.5156 Q2586.875,393.8125 2586.2188,393.0469 Q2585.5781,392.2656 2585.5781,390.9531 Q2585.5781,389.2656 2586.6563,388.2969 Q2587.7344,387.3281 2589.6094,387.3281 Q2590.4688,387.3281 2591.3125,387.5313 Q2592.1719,387.7188 2593.0156,388.1094 L2593.0156,390.5 Q2592.2344,389.9375 2591.4063,389.6563 Q2590.5938,389.3594 2589.7969,389.3594 Q2588.9219,389.3594 2588.4375,389.7188 Q2587.9688,390.0781 2587.9688,390.7344 Q2587.9688,391.25 2588.3125,391.5938 Q2588.6563,391.9219 2589.75,392.3281 L2590.8125,392.7344 Q2592.2969,393.2813 2593,394.1875 Q2593.7188,395.0938 2593.7188,396.4688 Q2593.7188,398.3438 2592.6094,399.2656 Q2591.5,400.1875 2589.25,400.1875 Q2588.3281,400.1875 2587.4063,399.9688 Q2586.4844,399.75 2585.625,399.3281 L2585.625,396.7969 Q2586.5938,397.4844 2587.5156,397.8281 Q2588.4375,398.1719 2589.3281,398.1719 Q2590.2344,398.1719 2590.7344,397.7656 Q2591.2344,397.3438 2591.2344,396.6094 Q2591.2344,396.0469 2590.8906,395.6406 Q2590.5625,395.2188 2589.9375,394.9688 L2588.7344,394.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2609.75" y="398.1074">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2112" x2="3194" y1="409.9531" y2="409.9531"/><ellipse cx="2122" cy="420.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="2131" y="424.1636">next : urt_hrtsubscriber_t*</text><ellipse cx="2122" cy="450.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="2131" y="453.7729">deadlineOffset : urt_delay_t</text><ellipse cx="2122" cy="463.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="2131" y="466.5776">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2507.5" y1="437.1602" y2="437.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="2507.5" y="440.4683">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2798.5" x2="3194" y1="437.1602" y2="437.1602"/><ellipse cx="2122" cy="492.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="2131" y="496.187">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2517.5" y1="479.5742" y2="479.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="2517.5" y="482.8823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2788.5" x2="3194" y1="479.5742" y2="479.5742"/><ellipse cx="2122" cy="522.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2131" y="525.7964">minLatency : urt_delay_t</text><ellipse cx="2122" cy="535.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2131" y="538.6011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2401" y1="509.1836" y2="509.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="2401" y="512.4917">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2905" x2="3194" y1="509.1836" y2="509.1836"/><ellipse cx="2122" cy="565" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="2131" y="568.2104">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2112" x2="2520.5" y1="551.5977" y2="551.5977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2520.5" y="554.9058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2785.5" x2="3194" y1="551.5977" y2="551.5977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2112" x2="3194" y1="574.8047" y2="574.8047"/><ellipse cx="2122" cy="585.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="392" x="2131" y="589.0151">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><ellipse cx="2122" cy="598.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="2131" y="601.8198">urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="2122" cy="611.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="2131" y="614.6245">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2122" cy="624.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="2131" y="627.4292">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2122" cy="637.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="2131" y="640.2339">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
-class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="7133.5" y="747.4531"/><ellipse cx="7301.75" cy="763.4531" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7305.9844,759.2188 L7300.7031,759.2188 L7300.7031,761.8906 L7305.5,761.8906 L7305.5,764.0469 L7300.7031,764.0469 L7300.7031,769.4531 L7298.2656,769.4531 L7298.2656,757.0625 L7305.9844,757.0625 L7305.9844,759.2188 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="7322.25" y="767.6074">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7134.5" x2="7583.5" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7134.5" x2="7583.5" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="7139.5" y="801.6636">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
-class urt_service_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="222.4609" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="7058" y="401.4531"/><ellipse cx="7315.25" cy="417.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7314.7344,418.0156 Q7312.875,417.3125 7312.2188,416.5469 Q7311.5781,415.7656 7311.5781,414.4531 Q7311.5781,412.7656 7312.6563,411.7969 Q7313.7344,410.8281 7315.6094,410.8281 Q7316.4688,410.8281 7317.3125,411.0313 Q7318.1719,411.2188 7319.0156,411.6094 L7319.0156,414 Q7318.2344,413.4375 7317.4063,413.1563 Q7316.5938,412.8594 7315.7969,412.8594 Q7314.9219,412.8594 7314.4375,413.2188 Q7313.9688,413.5781 7313.9688,414.2344 Q7313.9688,414.75 7314.3125,415.0938 Q7314.6563,415.4219 7315.75,415.8281 L7316.8125,416.2344 Q7318.2969,416.7813 7319,417.6875 Q7319.7188,418.5938 7319.7188,419.9688 Q7319.7188,421.8438 7318.6094,422.7656 Q7317.5,423.6875 7315.25,423.6875 Q7314.3281,423.6875 7313.4063,423.4688 Q7312.4844,423.25 7311.625,422.8281 L7311.625,420.2969 Q7312.5938,420.9844 7313.5156,421.3281 Q7314.4375,421.6719 7315.3281,421.6719 Q7316.2344,421.6719 7316.7344,421.2656 Q7317.2344,420.8438 7317.2344,420.1094 Q7317.2344,419.5469 7316.8906,419.1406 Q7316.5625,418.7188 7315.9375,418.4688 L7314.7344,418.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="7335.75" y="421.6074">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7059" x2="7659" y1="433.4531" y2="433.4531"/><ellipse cx="7069" cy="444.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="7078" y="447.6636">next : urt_service_t*</text><ellipse cx="7069" cy="457.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="7078" y="460.4683">id : urt_serviceid_t</text><ellipse cx="7069" cy="470.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="7078" y="473.2729">lock : urt_osMutex_t</text><ellipse cx="7069" cy="482.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="7078" y="486.0776">callback : urt_servicefunc_t*</text><ellipse cx="7069" cy="512.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="7078" y="515.687">sumDurations : uint64_t</text><ellipse cx="7069" cy="525.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="7078" y="528.4917">numCalls : uint64_t</text><ellipse cx="7069" cy="538.0859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="7078" y="541.2964">numTimeouts : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7059" x2="7263" y1="499.0742" y2="499.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="7263" y="502.3823">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7455" x2="7659" y1="499.0742" y2="499.0742"/><ellipse cx="7069" cy="567.6953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="7078" y="570.9058">minDuration : urt_delay_t</text><ellipse cx="7069" cy="580.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="7078" y="583.7104">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7059" x2="7132" y1="554.293" y2="554.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="7132" y="557.6011">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7586" x2="7659" y1="554.293" y2="554.293"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7059" x2="7659" y1="590.3047" y2="590.3047"/><ellipse cx="7069" cy="601.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="576" x="7078" y="604.5151">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="7069" cy="614.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="557" x="7078" y="617.3198">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
-class urt_core_t--><rect fill="#FEFECE" filter="url(#fqetkmfi9z8qk)" height="281.6797" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="343" x="5997.5" y="28.9531"/><ellipse cx="6133.25" cy="44.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6132.7344,45.5156 Q6130.875,44.8125 6130.2188,44.0469 Q6129.5781,43.2656 6129.5781,41.9531 Q6129.5781,40.2656 6130.6563,39.2969 Q6131.7344,38.3281 6133.6094,38.3281 Q6134.4688,38.3281 6135.3125,38.5313 Q6136.1719,38.7188 6137.0156,39.1094 L6137.0156,41.5 Q6136.2344,40.9375 6135.4063,40.6563 Q6134.5938,40.3594 6133.7969,40.3594 Q6132.9219,40.3594 6132.4375,40.7188 Q6131.9688,41.0781 6131.9688,41.7344 Q6131.9688,42.25 6132.3125,42.5938 Q6132.6563,42.9219 6133.75,43.3281 L6134.8125,43.7344 Q6136.2969,44.2813 6137,45.1875 Q6137.7188,46.0938 6137.7188,47.4688 Q6137.7188,49.3438 6136.6094,50.2656 Q6135.5,51.1875 6133.25,51.1875 Q6132.3281,51.1875 6131.4063,50.9688 Q6130.4844,50.75 6129.625,50.3281 L6129.625,47.7969 Q6130.5938,48.4844 6131.5156,48.8281 Q6132.4375,49.1719 6133.3281,49.1719 Q6134.2344,49.1719 6134.7344,48.7656 Q6135.2344,48.3438 6135.2344,47.6094 Q6135.2344,47.0469 6134.8906,46.6406 Q6134.5625,46.2188 6133.9375,45.9688 L6132.7344,45.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="6153.75" y="49.1074">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5998.5" x2="6339.5" y1="60.9531" y2="60.9531"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6005.5" y="68.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6017.5" y="75.1636">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6005.5" y="81.7578"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="6017.5" y="87.9683">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6005.5" y="94.5625"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6017.5" y="100.7729">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6005.5" y="107.3672"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="122" x="6017.5" y="113.5776">_status : urt_status_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6005.5" y="136.9766"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="6017.5" y="143.187">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5998.5" x2="6064" y1="126.5742" y2="126.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6064" y="129.8823">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6274" x2="6339.5" y1="126.5742" y2="126.5742"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6005.5" y="166.5859"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="6017.5" y="172.7964">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5998.5" x2="6076.5" y1="156.1836" y2="156.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6076.5" y="159.4917">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6261.5" x2="6339.5" y1="156.1836" y2="156.1836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5998.5" x2="6339.5" y1="179.3906" y2="179.3906"/><ellipse cx="6008.5" cy="190.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="6017.5" y="193.6011">urtCoreInit (void) : urt_status_t</text><ellipse cx="6008.5" cy="203.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="6017.5" y="206.4058">urtCoreGetStatus (void) : urt_status_t</text><ellipse cx="6008.5" cy="216" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="222" x="6017.5" y="219.2104">urtCoreStartNodes (void) : urt_status_t</text><ellipse cx="6008.5" cy="228.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="309" x="6017.5" y="232.0151">urtCoreSynchronize (node : urt_node_t*) : urt_status_t</text><ellipse cx="6008.5" cy="241.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="317" x="6017.5" y="244.8198">urtCoreStopNodes (reason : urt_status_t) : urt_status_t</text><ellipse cx="6008.5" cy="271.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="6017.5" y="274.4292">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5998.5" x2="6064" y1="257.8164" y2="257.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6064" y="261.1245">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6274" x2="6339.5" y1="257.8164" y2="257.8164"/><ellipse cx="6008.5" cy="300.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="313" x="6017.5" y="304.0386">urtCoreGetService (id : urt_serviceid_t) : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5998.5" x2="6076.5" y1="287.4258" y2="287.4258"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6076.5" y="290.7339">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6261.5" x2="6339.5" y1="287.4258" y2="287.4258"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
-reverse link urt_node_t to urt_node_t--><path d="M6974.6413,491.568 C6989.072,497.5818 6997,504.5435 6997,512.4531 C6997,522.3789 6984.5152,530.8119 6962.3621,537.7522 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6962.3621,487.154,6966.6552,492.9479,6973.6546,491.2135,6969.3615,485.4196,6962.3621,487.154" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6971.0832" y="483.8615">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6971.1707" y="535.0131">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
-reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M6150.4353,641.2168 C6148.5471,680.749 6148.1464,720.753 6149.8678,747.1888 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6151.1157,628.1329,6146.8094,633.917,6150.4924,640.1167,6154.7986,634.3326,6151.1157,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6141.6453" y="648.4715">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6121.9218" y="736.3975">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
-reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M6176.9914,633.2524 C6175.4345,675.3075 6171.9851,718.9753 6167.4145,747.1888 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6177.1718,628.1329,6172.857,636.9863,6176.9955,633.1298,6180.852,637.2684,6177.1718,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
-reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6411.2725,633.7744 C6499.1588,675.7387 6591.9802,719.2374 6654.132,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6399.4679,628.1329,6403.1567,634.3291,6410.295,633.3073,6406.6062,627.1111,6399.4679,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6406.6837" y="648.4715">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6630.278" y="736.5676">1</text><!--MD5=[b913f036db99e36b937989146817bd94]
-reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6430.123,630.3098 C6520.9782,673.3301 6614.3625,718.4635 6671.6467,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6425.524,628.1329,6431.9474,635.5988,6430.0433,630.2721,6435.3701,628.368,6425.524,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
-reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M5912.0192,633.9029 C5827.3904,675.8274 5741.4228,719.2661 5688.0855,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="5923.6774,628.1329,5916.5257,627.2095,5912.9226,633.4559,5920.0743,634.3794,5923.6774,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5898.926" y="648.4715">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="5672.5594" y="736.5676">0..1</text><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
-reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M5945.1226,630.438 C5859.1087,673.4197 5766.982,718.4921 5705.6002,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5949.7335,628.1329,5939.8948,628.5796,5945.2612,630.3688,5943.4721,635.7352,5949.7335,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[536025241394544a90bc53fb552f3a08]
-reverse link urt_message_t to urt_message_t--><path d="M1233.5642,743.6932 C1247.8974,751.8439 1256.5,763.2638 1256.5,777.9531 C1256.5,796.3867 1242.9528,809.6718 1221.534,817.8085 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1221.534,738.0977,1225.2873,744.2551,1232.4146,743.1587,1228.6613,737.0014,1221.534,738.0977" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1229.7829" y="733.4718">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1229.3281" y="815.9453">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
-link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M1875.1787,589.5304 C1944.02,611.7483 2021.4622,633.5767 2094,646.9531 C2518.3586,725.2072 2655.925,579.8706 3069.8574,704.9137 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3072.0992,698.2797,3089.1409,710.8726,3067.9658,711.6557,3072.0992,698.2797" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
-link urt_nrtsubscriber_t to urt_message_t--><path d="M1470.5988,589.6033 C1378.9737,625.9658 1270.2314,669.1214 1179.9674,704.9436 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1175.1402,706.8594,1184.981,707.2574,1179.7876,705.015,1182.03,699.8216,1175.1402,706.8594" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
-link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M4422.8492,609.0151 C4361.961,622.8959 4299.4105,636.1204 4240,646.9531 C3914.22,706.3547 3526.4148,747.2295 3327.013,766.0919 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3327.4203,773.0843,3306.8536,767.9844,3326.1117,759.1456,3327.4203,773.0843" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
-reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M4799,622.0612 C4799,667.4783 4799,716.6246 4799,747.342 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4799,609.0557,4795,615.0557,4799,621.0557,4803,615.0557,4799,609.0557" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4790.7063" y="628.778">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4772.525" y="736.5823">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
-link urt_srtsubscriber_t to urt_message_t--><path d="M4448.5378,608.9959 C4379.885,624.4322 4308.0632,638.1893 4240,646.9531 C3578.4393,732.1356 1898.3185,605.8704 1239,706.9531 C1234.8627,707.5874 1230.6969,708.2728 1226.5104,709.0046 " fill="none" id="urt_srtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1221.5869,709.8846,1231.1503,712.2385,1226.5089,709.0048,1229.7426,704.3633,1221.5869,709.8846" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
-link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M3504.3905,625.6265 C3443.0717,655.7192 3378.9567,687.1842 3325.0246,713.6518 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3327.8079,720.0833,3306.7695,722.6106,3321.64,707.5152,3327.8079,720.0833" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
-link urt_frtsubscriber_t to urt_message_t--><path d="M3347.1778,625.4981 C3308.1799,633.9851 3268.9705,641.391 3231,646.9531 C2354.6178,775.329 2113.8147,568.2973 1239,706.9531 C1234.8659,707.6083 1230.7031,708.3131 1226.5195,709.0628 " fill="none" id="urt_frtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1221.5992,709.9631,1231.1722,712.2778,1226.5175,709.0631,1229.7322,704.4085,1221.5992,709.9631" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
-link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M2958.7123,646.9972 C2993.82,663.8002 3029.0613,681.278 3067.3977,701.4154 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3070.8401,695.3173,3085.2402,710.862,3064.2893,707.6902,3070.8401,695.3173" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
-reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M3207.3399,487.8326 C3221.8539,494.6417 3230,502.8486 3230,512.4531 C3230,524.5058 3217.1717,534.3575 3195.0292,542.0082 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3195.0292,482.898,3199.1102,488.8432,3206.1677,487.3628,3202.0867,481.4176,3195.0292,482.898" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3202.7077" y="479.4456">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3202.8202" y="539.3871">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
-link urt_hrtsubscriber_t to urt_message_t--><path d="M2110.872,644.1203 C2104.8881,645.0943 2098.9292,646.0392 2093,646.9531 C1716.9494,704.9143 1613.5328,639.8804 1239,706.9531 C1234.8799,707.6909 1230.73,708.4722 1226.5583,709.2925 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1221.6515,710.2732,1231.2609,712.4316,1226.5545,709.2932,1229.6929,704.5868,1221.6515,710.2732" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
-reverse link urt_publisher_t to urt_topic_t--><path d="M794.8249,512.4531 C802.1324,512.4531 809.44,512.4531 816.7475,512.4531 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="781.6714,512.4531,787.6714,516.4531,793.6714,512.4531,787.6714,508.4531,781.6714,512.4531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="789.4647" y="509.3708">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="801.0814" y="509.2283">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
-link urt_publisher_t to urt_message_t--><path d="M546.5492,577.0622 C632.8323,615.6281 742.6672,664.721 832.1603,704.7217 " fill="none" id="urt_publisher_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="836.9443,706.86,830.3602,699.5355,832.3796,704.8196,827.0955,706.839,836.9443,706.86" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
-reverse link urt_topic_t to urt_topic_t--><path d="M1213.0439,476.3703 C1227.3061,484.6063 1236,496.6339 1236,512.4531 C1236,532.3047 1222.309,546.1852 1201.1039,554.0949 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1201.1039,470.8113,1204.855,476.97,1211.9826,475.8762,1208.2316,469.7175,1201.1039,470.8113" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1208.7642" y="465.9598">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1209.0767" y="552.4967">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
-reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1145.317,380.0079 C1174.4977,356.942 1206.4088,335.1844 1239,318.9531 C1246.1417,315.3963 1248.5719,315.8476 1256.5,314.9531 C1301.7131,309.8517 2030.2869,309.8517 2075.5,314.9531 C2163.5516,324.888 2255.7005,349.4069 2339.8741,377.9215 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1135.1127,388.2142,1142.2951,387.5712,1144.4639,380.694,1137.2816,381.337,1135.1127,388.2142" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1134.5539" y="377.2552">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2297.0778" y="366.7847">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
-reverse link urt_topic_t to urt_message_t--><path d="M1002.2699,649.9018 C1001.3084,669.5395 1000.3536,689.0399 999.4898,706.6812 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1002.9187,636.6522,998.63,642.4494,1002.3318,648.6379,1006.6204,642.8407,1002.9187,636.6522" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="994.3044" y="656.7464">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="991.4372" y="695.6505">1</text><!--MD5=[05f2c35569573d3273c65d3342945557]
-reverse link urt_service_t to urt_service_t--><path d="M7672.2128,481.5207 C7686.5894,489.3534 7695,499.6642 7695,512.4531 C7695,528.5019 7681.7552,540.6483 7660.0965,548.8921 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7660.0965,476.0141,7663.9038,482.1382,7671.0211,480.9792,7667.2139,474.8551,7660.0965,476.0141" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7668.2006" y="471.9095">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7668.4131" y="546.7234">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
-reverse link urt_service_t to urt_servicefunc_t--><path d="M7359,636.5187 C7359,677.6673 7359,719.9335 7359,747.4119 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7359,623.5107,7355,629.5107,7359,635.5107,7363,629.5107,7359,623.5107" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7350.7188" y="643.9022">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7332.375" y="736.1932">0..1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
-reverse link urt_core_t to urt_node_t--><path d="M6169,324.3176 C6169,348.6799 6169,373.5026 6169,396.7874 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6169,311.2384,6165,317.2384,6169,323.2384,6173,317.2384,6169,311.2384" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6160.8063" y="330.5231">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6144.2313" y="385.9598">0..1</text><!--MD5=[250695c91040478b50550bc37a8775c7]
-reverse link urt_core_t to urt_topic_t--><path d="M5984.1951,172.1411 C5114.7709,182.8663 1464.3839,232.8757 1239,318.9531 C1198.4172,334.4523 1159.9062,360.3339 1126.4111,388.2063 " fill="none" id="urt_core_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="5997.4141,171.9784,5991.3653,168.0526,5985.415,172.1261,5991.4638,176.052,5997.4141,171.9784" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5981.4579" y="168.8075">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1108.8346" y="377.2468">0..1</text><!--MD5=[8d0a227ec56585cdbc167f8316b34b64]
-reverse link urt_core_t to urt_service_t--><path d="M6353.8069,180.1867 C6535.9637,195.0838 6819.6792,231.3366 7050,318.9531 C7104.2795,339.6016 7159.3425,370.3043 7207.6552,401.2021 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6340.597,179.1293,6346.2587,183.5954,6352.5587,180.0869,6346.8971,175.6209,6340.597,179.1293" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6348.5537" y="176.2824">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7172.6805" y="390.2794">0..1</text><!--MD5=[03a527c74bd3b585c42288042ead7cf8]
+<?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="872px" preserveAspectRatio="none" style="width:7729px;height:872px;" version="1.1" viewBox="0 0 7729 872" width="7729px" zoomAndPan="magnify"><defs><filter height="300%" id="f809dau48hy9h" 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="3822.5" y="16.708">µRtWare</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
+cluster node--><rect fill="#FFFFFF" filter="url(#f809dau48hy9h)" height="446.5" style="stroke: #000000; stroke-width: 1.5;" width="1674" x="5389" y="369.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="6206" y="384.9482">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
+cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#f809dau48hy9h)" points="14,328.9531,24,318.9531,5381,318.9531,5381,850.9531,5371,860.9531,14,860.9531,14,328.9531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5371" x2="5380" y1="328.9531" y2="319.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="14" x2="5371" y1="328.9531" y2="328.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5371" x2="5371" y1="328.9531" y2="860.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="2591" y="344.9482">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
+cluster subscriber--><rect fill="#FFFFFF" filter="url(#f809dau48hy9h)" height="502" style="stroke: #000000; stroke-width: 1.5;" width="4102" x="1271" y="350.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3279.5" y="365.9482">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
+cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#f809dau48hy9h)" points="7071,387.4531,7081,377.4531,7707,377.4531,7707,806.4531,7697,816.4531,7071,816.4531,7071,387.4531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7697" x2="7706" y1="387.4531" y2="378.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7071" x2="7697" y1="387.4531" y2="387.4531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7697" x2="7697" y1="387.4531" y2="816.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="7263" y="403.4482">Remote Procedure Call System</text><!--MD5=[a7dea26996a1231aa68629b332780450]
+class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="5950" y="747.4531"/><ellipse cx="6095.75" cy="763.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6096.5938,770.2031 L6094.1406,770.2031 L6094.1406,759.9531 L6091,759.9531 L6091,757.8125 L6099.7344,757.8125 L6099.7344,759.9531 L6096.5938,759.9531 L6096.5938,770.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="6116.25" y="767.6074">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5951" x2="6405" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5951" x2="6405" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="5956" y="801.6636">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
+class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="6441" y="747.4531"/><ellipse cx="6669.25" cy="763.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6670.0938,770.2031 L6667.6406,770.2031 L6667.6406,759.9531 L6664.5,759.9531 L6664.5,757.8125 L6673.2344,757.8125 L6673.2344,759.9531 L6670.0938,759.9531 L6670.0938,770.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="6689.75" y="767.6074">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6442" x2="7054" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6442" x2="7054" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="6447" y="801.6636">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[843db13320bebc2ca47f25c6a57c2ae5]
+class urt_nodeShutdownCallback_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="60.8047" id="urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="518" x="5397" y="747.4531"/><ellipse cx="5561.25" cy="763.4531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5562.0938,770.2031 L5559.6406,770.2031 L5559.6406,759.9531 L5556.5,759.9531 L5556.5,757.8125 L5565.2344,757.8125 L5565.2344,759.9531 L5562.0938,759.9531 L5562.0938,770.2031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="5581.75" y="767.6074">urt_nodeShutdownCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5398" x2="5914" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5398" x2="5914" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="506" x="5403" y="801.6636">urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void</text><!--MD5=[d2563153d77472384a15c07b815d639f]
+class urt_node_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="231.2656" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1541" x="5407.5" y="396.9531"/><ellipse cx="6140.25" cy="412.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6139.7344,413.5156 Q6137.875,412.8125 6137.2188,412.0469 Q6136.5781,411.2656 6136.5781,409.9531 Q6136.5781,408.2656 6137.6563,407.2969 Q6138.7344,406.3281 6140.6094,406.3281 Q6141.4688,406.3281 6142.3125,406.5313 Q6143.1719,406.7188 6144.0156,407.1094 L6144.0156,409.5 Q6143.2344,408.9375 6142.4063,408.6563 Q6141.5938,408.3594 6140.7969,408.3594 Q6139.9219,408.3594 6139.4375,408.7188 Q6138.9688,409.0781 6138.9688,409.7344 Q6138.9688,410.25 6139.3125,410.5938 Q6139.6563,410.9219 6140.75,411.3281 L6141.8125,411.7344 Q6143.2969,412.2813 6144,413.1875 Q6144.7188,414.0938 6144.7188,415.4688 Q6144.7188,417.3438 6143.6094,418.2656 Q6142.5,419.1875 6140.25,419.1875 Q6139.3281,419.1875 6138.4063,418.9688 Q6137.4844,418.75 6136.625,418.3281 L6136.625,415.7969 Q6137.5938,416.4844 6138.5156,416.8281 Q6139.4375,417.1719 6140.3281,417.1719 Q6141.2344,417.1719 6141.7344,416.7656 Q6142.2344,416.3438 6142.2344,415.6094 Q6142.2344,415.0469 6141.8906,414.6406 Q6141.5625,414.2188 6140.9375,413.9688 L6139.7344,413.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="6160.75" y="417.1074">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5408.5" x2="6947.5" y1="428.9531" y2="428.9531"/><ellipse cx="5418.5" cy="439.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="102" x="5427.5" y="443.1636">next : urt_node_t*</text><ellipse cx="5418.5" cy="452.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="5427.5" y="455.9683">thread : urt_osThread_t*</text><ellipse cx="5418.5" cy="465.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="235" x="5427.5" y="468.7729">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="5418.5" cy="478.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="117" x="5427.5" y="481.5776">setupparams : void*</text><ellipse cx="5418.5" cy="491.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="221" x="5427.5" y="494.3823">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="5418.5" cy="503.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="5427.5" y="507.187">loopparams : void*</text><ellipse cx="5418.5" cy="516.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="281" x="5427.5" y="519.9917">shutdowncallback : urt_nodeShutdownCallback_t*</text><ellipse cx="5418.5" cy="529.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="5427.5" y="532.7964">shutdownparams : void*</text><ellipse cx="5418.5" cy="542.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="5427.5" y="545.6011">stage : urt_nodestage_t</text><ellipse cx="5418.5" cy="555.1953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="178" x="5427.5" y="558.4058">listener : urt_osEventListener_t</text><ellipse cx="5418.5" cy="584.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="5427.5" y="588.0151">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5408.5" x2="5970" y1="571.4023" y2="571.4023"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="5970" y="574.7104">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6386" x2="6947.5" y1="571.4023" y2="571.4023"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5408.5" x2="6947.5" y1="594.6094" y2="594.6094"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5415.5" y="602.6094"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="5427.5" y="608.8198">_main : urt_osThreadFunction_t</text><ellipse cx="5418.5" cy="618.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1515" x="5427.5" y="621.6245">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
+class urt_message_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="406" x="839" y="706.9531"/><ellipse cx="991.75" cy="722.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M991.2344,723.5156 Q989.375,722.8125 988.7188,722.0469 Q988.0781,721.2656 988.0781,719.9531 Q988.0781,718.2656 989.1563,717.2969 Q990.2344,716.3281 992.1094,716.3281 Q992.9688,716.3281 993.8125,716.5313 Q994.6719,716.7188 995.5156,717.1094 L995.5156,719.5 Q994.7344,718.9375 993.9063,718.6563 Q993.0938,718.3594 992.2969,718.3594 Q991.4219,718.3594 990.9375,718.7188 Q990.4688,719.0781 990.4688,719.7344 Q990.4688,720.25 990.8125,720.5938 Q991.1563,720.9219 992.25,721.3281 L993.3125,721.7344 Q994.7969,722.2813 995.5,723.1875 Q996.2188,724.0938 996.2188,725.4688 Q996.2188,727.3438 995.1094,728.2656 Q994,729.1875 991.75,729.1875 Q990.8281,729.1875 989.9063,728.9688 Q988.9844,728.75 988.125,728.3281 L988.125,725.7969 Q989.0938,726.4844 990.0156,726.8281 Q990.9375,727.1719 991.8281,727.1719 Q992.7344,727.1719 993.2344,726.7656 Q993.7344,726.3438 993.7344,725.6094 Q993.7344,725.0469 993.3906,724.6406 Q993.0625,724.2188 992.4375,723.9688 L991.2344,723.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="1012.25" y="727.1074">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="840" x2="1244" y1="738.9531" y2="738.9531"/><ellipse cx="850" cy="749.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="859" y="753.1636">next : urt_message_t*</text><ellipse cx="850" cy="762.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="859" y="765.9683">payload : void*</text><ellipse cx="850" cy="775.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="859" y="778.7729">originTime : urt_osTime_t</text><ellipse cx="850" cy="788.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="859" y="791.5776">numHrtConsumersLeft : unsigned int</text><ellipse cx="850" cy="817.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="859" y="821.187">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="840" x2="933.5" y1="804.5742" y2="804.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="933.5" y="807.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1150.5" x2="1244" y1="804.5742" y2="804.5742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="840" x2="1244" y1="827.7813" y2="827.7813"/><ellipse cx="850" cy="838.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="859" y="841.9917">urtMessageInit (message : urt_message_t*, payload : void*) : void</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
+class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="128.8281" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="783" x="22.5" y="447.9531"/><ellipse cx="363.25" cy="463.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M362.7344,464.5156 Q360.875,463.8125 360.2188,463.0469 Q359.5781,462.2656 359.5781,460.9531 Q359.5781,459.2656 360.6563,458.2969 Q361.7344,457.3281 363.6094,457.3281 Q364.4688,457.3281 365.3125,457.5313 Q366.1719,457.7188 367.0156,458.1094 L367.0156,460.5 Q366.2344,459.9375 365.4063,459.6563 Q364.5938,459.3594 363.7969,459.3594 Q362.9219,459.3594 362.4375,459.7188 Q361.9688,460.0781 361.9688,460.7344 Q361.9688,461.25 362.3125,461.5938 Q362.6563,461.9219 363.75,462.3281 L364.8125,462.7344 Q366.2969,463.2813 367,464.1875 Q367.7188,465.0938 367.7188,466.4688 Q367.7188,468.3438 366.6094,469.2656 Q365.5,470.1875 363.25,470.1875 Q362.3281,470.1875 361.4063,469.9688 Q360.4844,469.75 359.625,469.3281 L359.625,466.7969 Q360.5938,467.4844 361.5156,467.8281 Q362.4375,468.1719 363.3281,468.1719 Q364.2344,468.1719 364.7344,467.7656 Q365.2344,467.3438 365.2344,466.6094 Q365.2344,466.0469 364.8906,465.6406 Q364.5625,465.2188 363.9375,464.9688 L362.7344,464.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="383.75" y="468.1074">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="804.5" y1="479.9531" y2="479.9531"/><ellipse cx="33.5" cy="490.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="42.5" y="494.1636">topic : urt_topic_t*</text><ellipse cx="33.5" cy="520.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="42.5" y="523.7729">publishAttempts : uint64_t</text><ellipse cx="33.5" cy="533.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="42.5" y="536.5776">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="23.5" x2="305.5" y1="507.1602" y2="507.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="305.5" y="510.4683">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="522.5" x2="804.5" y1="507.1602" y2="507.1602"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="23.5" x2="804.5" y1="543.1719" y2="543.1719"/><ellipse cx="33.5" cy="554.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="572" x="42.5" y="557.3823">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void</text><ellipse cx="33.5" cy="566.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="757" x="42.5" y="570.187">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
+class urt_topic_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="260.875" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="384" x="841" y="381.9531"/><ellipse cx="995.75" cy="397.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M995.2344,398.5156 Q993.375,397.8125 992.7188,397.0469 Q992.0781,396.2656 992.0781,394.9531 Q992.0781,393.2656 993.1563,392.2969 Q994.2344,391.3281 996.1094,391.3281 Q996.9688,391.3281 997.8125,391.5313 Q998.6719,391.7188 999.5156,392.1094 L999.5156,394.5 Q998.7344,393.9375 997.9063,393.6563 Q997.0938,393.3594 996.2969,393.3594 Q995.4219,393.3594 994.9375,393.7188 Q994.4688,394.0781 994.4688,394.7344 Q994.4688,395.25 994.8125,395.5938 Q995.1563,395.9219 996.25,396.3281 L997.3125,396.7344 Q998.7969,397.2813 999.5,398.1875 Q1000.2188,399.0938 1000.2188,400.4688 Q1000.2188,402.3438 999.1094,403.2656 Q998,404.1875 995.75,404.1875 Q994.8281,404.1875 993.9063,403.9688 Q992.9844,403.75 992.125,403.3281 L992.125,400.7969 Q993.0938,401.4844 994.0156,401.8281 Q994.9375,402.1719 995.8281,402.1719 Q996.7344,402.1719 997.2344,401.7656 Q997.7344,401.3438 997.7344,400.6094 Q997.7344,400.0469 997.3906,399.6406 Q997.0625,399.2188 996.4375,398.9688 L995.2344,398.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="1016.25" y="402.1074">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="842" x2="1224" y1="413.9531" y2="413.9531"/><ellipse cx="852" cy="424.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="101" x="861" y="428.1636">next : urt_topic_t*</text><ellipse cx="852" cy="437.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="861" y="440.9683">id : urt_topicid_t</text><ellipse cx="852" cy="450.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="861" y="453.7729">lock : urt_osMutex_t</text><ellipse cx="852" cy="463.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="861" y="466.5776">evtSource : urt_osEventSource_t</text><ellipse cx="852" cy="476.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="193" x="861" y="479.3823">numHrtSubscribers : unsigned int</text><ellipse cx="852" cy="488.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="861" y="492.187">hrtReleased : urt_osCondvar_t</text><ellipse cx="852" cy="501.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="861" y="504.9917">mandatoryMessage : urt_message_t</text><ellipse cx="852" cy="514.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="861" y="517.7964">latestMessage : urt_message_t*</text><ellipse cx="852" cy="544.1953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="861" y="547.4058">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="852" cy="557" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="861" y="560.2104">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="842" x2="900.5" y1="530.793" y2="530.793"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="900.5" y="534.1011">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1165.5" x2="1224" y1="530.793" y2="530.793"/><ellipse cx="852" cy="586.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="861" y="589.8198">numMessagesPublished : uint64_t</text><ellipse cx="852" cy="599.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="861" y="602.6245">numMessagesDiscarded : uint64_t</text><ellipse cx="852" cy="612.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="861" y="615.4292">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="842" x2="924.5" y1="573.207" y2="573.207"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="924.5" y="576.5151">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1141.5" x2="1224" y1="573.207" y2="573.207"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="842" x2="1224" y1="622.0234" y2="622.0234"/><ellipse cx="852" cy="633.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="358" x="861" y="636.2339">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
+class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="3105.5" y="710.9531"/><ellipse cx="3147.95" cy="726.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3147.4344,727.5156 Q3145.575,726.8125 3144.9188,726.0469 Q3144.2781,725.2656 3144.2781,723.9531 Q3144.2781,722.2656 3145.3563,721.2969 Q3146.4344,720.3281 3148.3094,720.3281 Q3149.1688,720.3281 3150.0125,720.5313 Q3150.8719,720.7188 3151.7156,721.1094 L3151.7156,723.5 Q3150.9344,722.9375 3150.1063,722.6563 Q3149.2938,722.3594 3148.4969,722.3594 Q3147.6219,722.3594 3147.1375,722.7188 Q3146.6688,723.0781 3146.6688,723.7344 Q3146.6688,724.25 3147.0125,724.5938 Q3147.3563,724.9219 3148.45,725.3281 L3149.5125,725.7344 Q3150.9969,726.2813 3151.7,727.1875 Q3152.4188,728.0938 3152.4188,729.4688 Q3152.4188,731.3438 3151.3094,732.2656 Q3150.2,733.1875 3147.95,733.1875 Q3147.0281,733.1875 3146.1063,732.9688 Q3145.1844,732.75 3144.325,732.3281 L3144.325,729.7969 Q3145.2938,730.4844 3146.2156,730.8281 Q3147.1375,731.1719 3148.0281,731.1719 Q3148.9344,731.1719 3149.4344,730.7656 Q3149.9344,730.3438 3149.9344,729.6094 Q3149.9344,729.0469 3149.5906,728.6406 Q3149.2625,728.2188 3148.6375,727.9688 L3147.4344,727.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="3168.05" y="731.1074">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3106.5" x2="3329.5" y1="742.9531" y2="742.9531"/><ellipse cx="3116.5" cy="753.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="3125.5" y="757.1636">topic : urt_topic_t*</text><ellipse cx="3116.5" cy="766.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="3125.5" y="769.9683">evtListener : urt_osEventListener_t</text><ellipse cx="3116.5" cy="779.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="3125.5" y="782.7729">lastMessage : urt_message_t*</text><ellipse cx="3116.5" cy="792.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="3125.5" y="795.5776">lastMessageTime : urt_osTime_t</text><ellipse cx="3116.5" cy="821.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="3125.5" y="825.187">sumLatencies : uint64_t</text><ellipse cx="3116.5" cy="834.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="3125.5" y="837.9917">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3106.5" x2="3109.5" y1="808.5742" y2="808.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="3109.5" y="811.8823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3326.5" x2="3329.5" y1="808.5742" y2="808.5742"/><!--MD5=[fc7708c915a0148c667d62e1370980fd]
+class urt_srtusefulnessfunc_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="60.8047" id="urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="374" x="4636" y="747.4531"/><ellipse cx="4745.25" cy="763.4531" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4749.4844,759.2188 L4744.2031,759.2188 L4744.2031,761.8906 L4749,761.8906 L4749,764.0469 L4744.2031,764.0469 L4744.2031,769.4531 L4741.7656,769.4531 L4741.7656,757.0625 L4749.4844,757.0625 L4749.4844,759.2188 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="147" x="4765.75" y="767.6074">urt_srtusefulnessfunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4637" x2="5009" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4637" x2="5009" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="4642" y="801.6636">urt_srtusefulnessfunc_t (dt : urt_delay_t, params : void*) : float</text><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
+class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="1278.5" y="435.4531"/><ellipse cx="1625.25" cy="451.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1624.7344,452.0156 Q1622.875,451.3125 1622.2188,450.5469 Q1621.5781,449.7656 1621.5781,448.4531 Q1621.5781,446.7656 1622.6563,445.7969 Q1623.7344,444.8281 1625.6094,444.8281 Q1626.4688,444.8281 1627.3125,445.0313 Q1628.1719,445.2188 1629.0156,445.6094 L1629.0156,448 Q1628.2344,447.4375 1627.4063,447.1563 Q1626.5938,446.8594 1625.7969,446.8594 Q1624.9219,446.8594 1624.4375,447.2188 Q1623.9688,447.5781 1623.9688,448.2344 Q1623.9688,448.75 1624.3125,449.0938 Q1624.6563,449.4219 1625.75,449.8281 L1626.8125,450.2344 Q1628.2969,450.7813 1629,451.6875 Q1629.7188,452.5938 1629.7188,453.9688 Q1629.7188,455.8438 1628.6094,456.7656 Q1627.5,457.6875 1625.25,457.6875 Q1624.3281,457.6875 1623.4063,457.4688 Q1622.4844,457.25 1621.625,456.8281 L1621.625,454.2969 Q1622.5938,454.9844 1623.5156,455.3281 Q1624.4375,455.6719 1625.3281,455.6719 Q1626.2344,455.6719 1626.7344,455.2656 Q1627.2344,454.8438 1627.2344,454.1094 Q1627.2344,453.5469 1626.8906,453.1406 Q1626.5625,452.7188 1625.9375,452.4688 L1624.7344,452.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="1645.75" y="455.6074">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1279.5" x2="2098.5" y1="467.4531" y2="467.4531"/><ellipse cx="1289.5" cy="495.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1298.5" y="498.4683">minLatency : urt_delay_t</text><ellipse cx="1289.5" cy="508.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1298.5" y="511.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1279.5" x2="1580.5" y1="481.8555" y2="481.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1580.5" y="485.1636">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1797.5" x2="2098.5" y1="481.8555" y2="481.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1279.5" x2="2098.5" y1="517.8672" y2="517.8672"/><ellipse cx="1289.5" cy="528.8672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="1298.5" y="532.0776">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void</text><ellipse cx="1289.5" cy="541.6719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="715" x="1298.5" y="544.8823">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1289.5" cy="554.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="1298.5" y="557.687">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1289.5" cy="567.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="1298.5" y="570.4917">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1289.5" cy="580.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="1298.5" y="583.2964">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
+class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="4281" y="415.9531"/><ellipse cx="4759.75" cy="431.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4759.2344,432.5156 Q4757.375,431.8125 4756.7188,431.0469 Q4756.0781,430.2656 4756.0781,428.9531 Q4756.0781,427.2656 4757.1563,426.2969 Q4758.2344,425.3281 4760.1094,425.3281 Q4760.9688,425.3281 4761.8125,425.5313 Q4762.6719,425.7188 4763.5156,426.1094 L4763.5156,428.5 Q4762.7344,427.9375 4761.9063,427.6563 Q4761.0938,427.3594 4760.2969,427.3594 Q4759.4219,427.3594 4758.9375,427.7188 Q4758.4688,428.0781 4758.4688,428.7344 Q4758.4688,429.25 4758.8125,429.5938 Q4759.1563,429.9219 4760.25,430.3281 L4761.3125,430.7344 Q4762.7969,431.2813 4763.5,432.1875 Q4764.2188,433.0938 4764.2188,434.4688 Q4764.2188,436.3438 4763.1094,437.2656 Q4762,438.1875 4759.75,438.1875 Q4758.8281,438.1875 4757.9063,437.9688 Q4756.9844,437.75 4756.125,437.3281 L4756.125,434.7969 Q4757.0938,435.4844 4758.0156,435.8281 Q4758.9375,436.1719 4759.8281,436.1719 Q4760.7344,436.1719 4761.2344,435.7656 Q4761.7344,435.3438 4761.7344,434.6094 Q4761.7344,434.0469 4761.3906,433.6406 Q4761.0625,433.2188 4760.4375,432.9688 L4759.2344,432.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4780.25" y="436.1074">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4282" x2="5364" y1="447.9531" y2="447.9531"/><ellipse cx="4292" cy="458.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="229" x="4301" y="462.1636">usefulnesscb : urt_srtusefulnessfunc_t*</text><ellipse cx="4292" cy="471.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="4301" y="474.9683">cbparams : void*</text><ellipse cx="4292" cy="501.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="4301" y="504.5776">minLatency : urt_delay_t</text><ellipse cx="4292" cy="514.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="4301" y="517.3823">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4282" x2="4714.5" y1="487.9648" y2="487.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4714.5" y="491.2729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4931.5" x2="5364" y1="487.9648" y2="487.9648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4282" x2="5364" y1="523.9766" y2="523.9766"/><ellipse cx="4292" cy="534.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="347" x="4301" y="538.187">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void</text><ellipse cx="4292" cy="547.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="4301" y="550.9917">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t</text><ellipse cx="4292" cy="560.5859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="4301" y="563.7964">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4292" cy="573.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="4301" y="576.6011">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4292" cy="586.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="4301" y="589.4058">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4292" cy="599" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="4301" y="602.2104">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
+class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="3272" y="399.4531"/><ellipse cx="3697.25" cy="415.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3696.7344,416.0156 Q3694.875,415.3125 3694.2188,414.5469 Q3693.5781,413.7656 3693.5781,412.4531 Q3693.5781,410.7656 3694.6563,409.7969 Q3695.7344,408.8281 3697.6094,408.8281 Q3698.4688,408.8281 3699.3125,409.0313 Q3700.1719,409.2188 3701.0156,409.6094 L3701.0156,412 Q3700.2344,411.4375 3699.4063,411.1563 Q3698.5938,410.8594 3697.7969,410.8594 Q3696.9219,410.8594 3696.4375,411.2188 Q3695.9688,411.5781 3695.9688,412.2344 Q3695.9688,412.75 3696.3125,413.0938 Q3696.6563,413.4219 3697.75,413.8281 L3698.8125,414.2344 Q3700.2969,414.7813 3701,415.6875 Q3701.7188,416.5938 3701.7188,417.9688 Q3701.7188,419.8438 3700.6094,420.7656 Q3699.5,421.6875 3697.25,421.6875 Q3696.3281,421.6875 3695.4063,421.4688 Q3694.4844,421.25 3693.625,420.8281 L3693.625,418.2969 Q3694.5938,418.9844 3695.5156,419.3281 Q3696.4375,419.6719 3697.3281,419.6719 Q3698.2344,419.6719 3698.7344,419.2656 Q3699.2344,418.8438 3699.2344,418.1094 Q3699.2344,417.5469 3698.8906,417.1406 Q3698.5625,416.7188 3697.9375,416.4688 L3696.7344,416.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="3717.75" y="419.6074">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3273" x2="4245" y1="431.4531" y2="431.4531"/><ellipse cx="3283" cy="459.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="3292" y="462.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3273" x2="3613.5" y1="445.8555" y2="445.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3613.5" y="449.1636">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3904.5" x2="4245" y1="445.8555" y2="445.8555"/><ellipse cx="3283" cy="488.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="3292" y="492.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3273" x2="3623.5" y1="475.4648" y2="475.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3623.5" y="478.7729">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3894.5" x2="4245" y1="475.4648" y2="475.4648"/><ellipse cx="3283" cy="518.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="3292" y="521.687">minLatency : urt_delay_t</text><ellipse cx="3283" cy="531.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="3292" y="534.4917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3273" x2="3505" y1="505.0742" y2="505.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="3505" y="508.3823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4013" x2="4245" y1="505.0742" y2="505.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3273" x2="4245" y1="541.0859" y2="541.0859"/><ellipse cx="3283" cy="552.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="342" x="3292" y="555.2964">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void</text><ellipse cx="3283" cy="564.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="948" x="3292" y="568.1011">urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="3283" cy="577.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="780" x="3292" y="580.9058">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3283" cy="590.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="790" x="3292" y="593.7104">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3283" cy="603.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="540" x="3292" y="606.5151">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="3283" cy="616.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="441" x="3292" y="619.3198">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
+class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="2135" y="377.9531"/><ellipse cx="2613.25" cy="393.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2612.7344,394.5156 Q2610.875,393.8125 2610.2188,393.0469 Q2609.5781,392.2656 2609.5781,390.9531 Q2609.5781,389.2656 2610.6563,388.2969 Q2611.7344,387.3281 2613.6094,387.3281 Q2614.4688,387.3281 2615.3125,387.5313 Q2616.1719,387.7188 2617.0156,388.1094 L2617.0156,390.5 Q2616.2344,389.9375 2615.4063,389.6563 Q2614.5938,389.3594 2613.7969,389.3594 Q2612.9219,389.3594 2612.4375,389.7188 Q2611.9688,390.0781 2611.9688,390.7344 Q2611.9688,391.25 2612.3125,391.5938 Q2612.6563,391.9219 2613.75,392.3281 L2614.8125,392.7344 Q2616.2969,393.2813 2617,394.1875 Q2617.7188,395.0938 2617.7188,396.4688 Q2617.7188,398.3438 2616.6094,399.2656 Q2615.5,400.1875 2613.25,400.1875 Q2612.3281,400.1875 2611.4063,399.9688 Q2610.4844,399.75 2609.625,399.3281 L2609.625,396.7969 Q2610.5938,397.4844 2611.5156,397.8281 Q2612.4375,398.1719 2613.3281,398.1719 Q2614.2344,398.1719 2614.7344,397.7656 Q2615.2344,397.3438 2615.2344,396.6094 Q2615.2344,396.0469 2614.8906,395.6406 Q2614.5625,395.2188 2613.9375,394.9688 L2612.7344,394.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2633.75" y="398.1074">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2136" x2="3218" y1="409.9531" y2="409.9531"/><ellipse cx="2146" cy="420.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="2155" y="424.1636">next : urt_hrtsubscriber_t*</text><ellipse cx="2146" cy="450.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="2155" y="453.7729">deadlineOffset : urt_delay_t</text><ellipse cx="2146" cy="463.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="2155" y="466.5776">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2531.5" y1="437.1602" y2="437.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="2531.5" y="440.4683">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2822.5" x2="3218" y1="437.1602" y2="437.1602"/><ellipse cx="2146" cy="492.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="2155" y="496.187">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2541.5" y1="479.5742" y2="479.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="2541.5" y="482.8823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2812.5" x2="3218" y1="479.5742" y2="479.5742"/><ellipse cx="2146" cy="522.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2155" y="525.7964">minLatency : urt_delay_t</text><ellipse cx="2146" cy="535.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2155" y="538.6011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2425" y1="509.1836" y2="509.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="2425" y="512.4917">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2929" x2="3218" y1="509.1836" y2="509.1836"/><ellipse cx="2146" cy="565" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="2155" y="568.2104">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2136" x2="2544.5" y1="551.5977" y2="551.5977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2544.5" y="554.9058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2809.5" x2="3218" y1="551.5977" y2="551.5977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2136" x2="3218" y1="574.8047" y2="574.8047"/><ellipse cx="2146" cy="585.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="2155" y="589.0151">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void</text><ellipse cx="2146" cy="598.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="2155" y="601.8198">urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="2146" cy="611.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="2155" y="614.6245">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2146" cy="624.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="2155" y="627.4292">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2146" cy="637.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="2155" y="640.2339">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[3226071078d8aeaa18fbafa5359ddee6]
+class urt_servicefunc_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="60.8047" id="urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.5;" width="451" x="7154.5" y="747.4531"/><ellipse cx="7322.75" cy="763.4531" fill="#E0E0E0" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7326.9844,759.2188 L7321.7031,759.2188 L7321.7031,761.8906 L7326.5,761.8906 L7326.5,764.0469 L7321.7031,764.0469 L7321.7031,769.4531 L7319.2656,769.4531 L7319.2656,757.0625 L7326.9844,757.0625 L7326.9844,759.2188 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="106" x="7343.25" y="767.6074">urt_servicefunc_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7155.5" x2="7604.5" y1="779.4531" y2="779.4531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7155.5" x2="7604.5" y1="787.4531" y2="787.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="439" x="7160.5" y="801.6636">urt_servicefunc_t (arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
+class urt_service_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="205.6563" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="602" x="7079" y="409.4531"/><ellipse cx="7336.25" cy="425.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7335.7344,426.0156 Q7333.875,425.3125 7333.2188,424.5469 Q7332.5781,423.7656 7332.5781,422.4531 Q7332.5781,420.7656 7333.6563,419.7969 Q7334.7344,418.8281 7336.6094,418.8281 Q7337.4688,418.8281 7338.3125,419.0313 Q7339.1719,419.2188 7340.0156,419.6094 L7340.0156,422 Q7339.2344,421.4375 7338.4063,421.1563 Q7337.5938,420.8594 7336.7969,420.8594 Q7335.9219,420.8594 7335.4375,421.2188 Q7334.9688,421.5781 7334.9688,422.2344 Q7334.9688,422.75 7335.3125,423.0938 Q7335.6563,423.4219 7336.75,423.8281 L7337.8125,424.2344 Q7339.2969,424.7813 7340,425.6875 Q7340.7188,426.5938 7340.7188,427.9688 Q7340.7188,429.8438 7339.6094,430.7656 Q7338.5,431.6875 7336.25,431.6875 Q7335.3281,431.6875 7334.4063,431.4688 Q7333.4844,431.25 7332.625,430.8281 L7332.625,428.2969 Q7333.5938,428.9844 7334.5156,429.3281 Q7335.4375,429.6719 7336.3281,429.6719 Q7337.2344,429.6719 7337.7344,429.2656 Q7338.2344,428.8438 7338.2344,428.1094 Q7338.2344,427.5469 7337.8906,427.1406 Q7337.5625,426.7188 7336.9375,426.4688 L7335.7344,426.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="7356.75" y="429.6074">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7080" x2="7680" y1="441.4531" y2="441.4531"/><ellipse cx="7090" cy="452.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="7099" y="455.6636">next : urt_service_t*</text><ellipse cx="7090" cy="465.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="7099" y="468.4683">id : urt_serviceid_t</text><ellipse cx="7090" cy="478.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="7099" y="481.2729">lock : urt_osMutex_t</text><ellipse cx="7090" cy="490.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="160" x="7099" y="494.0776">callback : urt_servicefunc_t*</text><ellipse cx="7090" cy="520.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="137" x="7099" y="523.687">sumDurations : uint64_t</text><ellipse cx="7090" cy="533.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="7099" y="536.4917">numCalls : uint64_t</text><ellipse cx="7090" cy="546.0859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="7099" y="549.2964">numTimeouts : uint64_t</text><ellipse cx="7090" cy="558.8906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="143" x="7099" y="562.1011">minDuration : urt_delay_t</text><ellipse cx="7090" cy="571.6953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="7099" y="574.9058">maxDuration : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7080" x2="7284" y1="507.0742" y2="507.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="7284" y="510.3823">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7476" x2="7680" y1="507.0742" y2="507.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7080" x2="7680" y1="581.5" y2="581.5"/><ellipse cx="7090" cy="592.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="576" x="7099" y="595.7104">urtServiceInit(service : urt_service_t*, id : urt_serviceid_t, callback : urt_servicefunc_t*) : urt_status_t</text><ellipse cx="7090" cy="605.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="557" x="7099" y="608.5151">urtServiceCall(service : urt_service_t*, arg : void*, ret : void*, timeout : urt_delay_t) : urt_status_t</text><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
+class urt_core_t--><rect fill="#FEFECE" filter="url(#f809dau48hy9h)" height="281.6797" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="343" x="6006.5" y="28.9531"/><ellipse cx="6142.25" cy="44.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6141.7344,45.5156 Q6139.875,44.8125 6139.2188,44.0469 Q6138.5781,43.2656 6138.5781,41.9531 Q6138.5781,40.2656 6139.6563,39.2969 Q6140.7344,38.3281 6142.6094,38.3281 Q6143.4688,38.3281 6144.3125,38.5313 Q6145.1719,38.7188 6146.0156,39.1094 L6146.0156,41.5 Q6145.2344,40.9375 6144.4063,40.6563 Q6143.5938,40.3594 6142.7969,40.3594 Q6141.9219,40.3594 6141.4375,40.7188 Q6140.9688,41.0781 6140.9688,41.7344 Q6140.9688,42.25 6141.3125,42.5938 Q6141.6563,42.9219 6142.75,43.3281 L6143.8125,43.7344 Q6145.2969,44.2813 6146,45.1875 Q6146.7188,46.0938 6146.7188,47.4688 Q6146.7188,49.3438 6145.6094,50.2656 Q6144.5,51.1875 6142.25,51.1875 Q6141.3281,51.1875 6140.4063,50.9688 Q6139.4844,50.75 6138.625,50.3281 L6138.625,47.7969 Q6139.5938,48.4844 6140.5156,48.8281 Q6141.4375,49.1719 6142.3281,49.1719 Q6143.2344,49.1719 6143.7344,48.7656 Q6144.2344,48.3438 6144.2344,47.6094 Q6144.2344,47.0469 6143.8906,46.6406 Q6143.5625,46.2188 6142.9375,45.9688 L6141.7344,45.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="6162.75" y="49.1074">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6007.5" x2="6348.5" y1="60.9531" y2="60.9531"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6014.5" y="68.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6026.5" y="75.1636">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6014.5" y="81.7578"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="6026.5" y="87.9683">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6014.5" y="94.5625"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6026.5" y="100.7729">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6014.5" y="107.3672"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="122" x="6026.5" y="113.5776">_status : urt_status_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6014.5" y="136.9766"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="6026.5" y="143.187">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6007.5" x2="6073" y1="126.5742" y2="126.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6073" y="129.8823">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6283" x2="6348.5" y1="126.5742" y2="126.5742"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6014.5" y="166.5859"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="6026.5" y="172.7964">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6007.5" x2="6085.5" y1="156.1836" y2="156.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6085.5" y="159.4917">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6270.5" x2="6348.5" y1="156.1836" y2="156.1836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6007.5" x2="6348.5" y1="179.3906" y2="179.3906"/><ellipse cx="6017.5" cy="190.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="130" x="6026.5" y="193.6011">urtCoreInit (void) : void</text><ellipse cx="6017.5" cy="203.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="6026.5" y="206.4058">urtCoreGetStatus (void) : urt_status_t</text><ellipse cx="6017.5" cy="216" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="177" x="6026.5" y="219.2104">urtCoreStartNodes (void) : void</text><ellipse cx="6017.5" cy="228.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="309" x="6026.5" y="232.0151">urtCoreSynchronize (node : urt_node_t*) : urt_status_t</text><ellipse cx="6017.5" cy="241.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="317" x="6026.5" y="244.8198">urtCoreStopNodes (reason : urt_status_t) : urt_status_t</text><ellipse cx="6017.5" cy="271.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="6026.5" y="274.4292">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6007.5" x2="6073" y1="257.8164" y2="257.8164"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6073" y="261.1245">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6283" x2="6348.5" y1="257.8164" y2="257.8164"/><ellipse cx="6017.5" cy="300.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="313" x="6026.5" y="304.0386">urtCoreGetService (id : urt_serviceid_t) : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6007.5" x2="6085.5" y1="287.4258" y2="287.4258"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6085.5" y="290.7339">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6270.5" x2="6348.5" y1="287.4258" y2="287.4258"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
+reverse link urt_node_t to urt_node_t--><path d="M6960.9212,491.2176 C6975.4841,497.3109 6983.5,504.3894 6983.5,512.4531 C6983.5,522.5722 6970.8767,531.1399 6948.5332,538.1561 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6948.5332,486.7501,6952.8204,492.5484,6959.8215,490.8212,6955.5344,485.0229,6948.5332,486.7501" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6957.0047" y="483.4531">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6957.0922" y="535.4214">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
+reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M6165.2551,641.2168 C6165.1537,680.749 6166.5611,720.753 6169.4773,747.1888 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6165.3442,628.1329,6161.3034,634.1055,6165.2624,640.1326,6169.3032,634.16,6165.3442,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6156.2251" y="648.4715">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6141.2445" y="736.3975">0..1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
+reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M6191.4513,633.2524 C6191.7951,675.3075 6190.3194,718.9753 6187.024,747.1888 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6191.4003,628.1329,6187.4902,637.1724,6191.4502,633.1327,6195.4898,637.0926,6191.4003,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
+reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6425.4811,633.646 C6515.3454,675.6499 6610.2616,719.2088 6673.7479,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6413.6963,628.1329,6417.436,634.2985,6424.5657,633.2178,6420.826,627.0523,6413.6963,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6421.2634" y="648.4715">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6649.6084" y="736.5676">1</text><!--MD5=[b913f036db99e36b937989146817bd94]
+reverse link urt_node_t to urt_nodeLoopCallback_t--><path d="M6444.4499,630.3098 C6537.2495,673.3301 6632.6737,718.4635 6691.2626,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeLoopCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6439.7525,628.1329,6446.2365,635.5463,6444.2891,630.2352,6449.6001,628.2878,6439.7525,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
+reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M5926.255,634.0314 C5843.603,675.9162 5759.7171,719.2948 5707.7014,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="5937.9059,628.1329,5930.7461,627.2743,5927.1998,633.5531,5934.3596,634.4117,5937.9059,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5913.5058" y="648.4715">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="5691.8898" y="736.5676">0..1</text><!--MD5=[496dffc41052f1912ec8ad492f24fe61]
+reverse link urt_node_t to urt_nodeShutdownCallback_t--><path d="M5959.4552,630.438 C5875.3841,673.4197 5785.2945,718.4921 5725.2161,747.3298 " fill="none" id="urt_node_t&lt;-urt_nodeShutdownCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="5963.962,628.1329,5954.1278,628.67,5959.5105,630.4098,5957.7707,635.7924,5963.962,628.1329" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[536025241394544a90bc53fb552f3a08]
+reverse link urt_message_t to urt_message_t--><path d="M1257.0848,742.5198 C1271.3521,750.7337 1280,762.5448 1280,777.9531 C1280,797.289 1266.3815,810.9601 1245.1293,818.9664 " fill="none" id="urt_message_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1245.1293,736.9398,1248.8745,743.1021,1256.0032,742.015,1252.258,735.8528,1245.1293,736.9398" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1253.2203" y="732.1214">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1252.8605" y="817.2467">0..1</text><!--MD5=[0585cd4928de92ce6927d9c389eadd29]
+link urt_nrtsubscriber_t to urt_basesubscriber_t--><path d="M1899.1787,589.5304 C1968.02,611.7483 2045.4622,633.5767 2118,646.9531 C2542.3586,725.2072 2679.925,579.8706 3093.8574,704.9137 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3096.0992,698.2797,3113.1409,710.8726,3091.9658,711.6557,3096.0992,698.2797" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[37a8b7f2877a6b7bb4e9d0352ce3d221]
+link urt_nrtsubscriber_t to urt_message_t--><path d="M1500.9917,589.6033 C1412.3797,625.9658 1307.2133,669.1214 1219.9177,704.9436 " fill="none" id="urt_nrtsubscriber_t-&gt;urt_message_t" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="1215.2492,706.8594,1225.094,707.1433,1219.8749,704.9613,1222.0569,699.7422,1215.2492,706.8594" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d81edfa5aa102b898ad487ae19b49f9]
+link urt_srtsubscriber_t to urt_basesubscriber_t--><path d="M4446.8492,609.0151 C4385.961,622.8959 4323.4105,636.1204 4264,646.9531 C3938.22,706.3547 3550.4148,747.2295 3351.013,766.0919 " fill="none" id="urt_srtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3351.4203,773.0843,3330.8536,767.9844,3350.1117,759.1456,3351.4203,773.0843" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[47304731969ac4130b45cc7169c5cada]
+reverse link urt_srtsubscriber_t to urt_srtusefulnessfunc_t--><path d="M4823,622.0612 C4823,667.4783 4823,716.6246 4823,747.342 " fill="none" id="urt_srtsubscriber_t&lt;-urt_srtusefulnessfunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="4823,609.0557,4819,615.0557,4823,621.0557,4827,615.0557,4823,609.0557" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="4814.7063" y="628.778">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="4796.525" y="736.5823">0..1</text><!--MD5=[dffdac3aea8c81c86dd1d0b8122fcada]
+link urt_srtsubscriber_t to urt_message_t--><path d="M4472.5378,608.9959 C4403.885,624.4322 4332.0632,638.1893 4264,646.9531 C3602.4393,732.1356 1920.9167,597.116 1263,706.9531 C1258.7859,707.6566 1254.5419,708.4236 1250.2776,709.2477 " 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="1245.2629,710.2409,1254.8685,712.4161,1250.1676,709.2695,1253.3143,704.5686,1245.2629,710.2409" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f626d284cba98e1d5d5fe914b1fa4188]
+link urt_frtsubscriber_t to urt_basesubscriber_t--><path d="M3528.3905,625.6265 C3467.0717,655.7192 3402.9567,687.1842 3349.0246,713.6518 " fill="none" id="urt_frtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3351.8079,720.0833,3330.7695,722.6106,3345.64,707.5152,3351.8079,720.0833" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cfcdebdb88febc368723fd91f781523c]
+link urt_frtsubscriber_t to urt_message_t--><path d="M3371.1778,625.4981 C3332.1799,633.9851 3292.9705,641.391 3255,646.9531 C2378.6178,775.329 2135.8945,556.682 1263,706.9531 C1258.7896,707.6779 1254.5488,708.4645 1250.2876,709.3064 " 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="1245.2763,710.3199,1254.8906,712.4565,1250.1771,709.3288,1253.3048,704.6153,1245.2763,710.3199" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1ea71f2b33e56ab0ac5545988c1af396]
+link urt_hrtsubscriber_t to urt_basesubscriber_t--><path d="M2982.7123,646.9972 C3017.82,663.8002 3053.0613,681.278 3091.3977,701.4154 " fill="none" id="urt_hrtsubscriber_t-&gt;urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="none" points="3094.8401,695.3173,3109.2402,710.862,3088.2893,707.6902,3094.8401,695.3173" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[ea2ec5c5272e65289dabade75a749f58]
+reverse link urt_hrtsubscriber_t to urt_hrtsubscriber_t--><path d="M3231.3399,487.8326 C3245.8539,494.6417 3254,502.8486 3254,512.4531 C3254,524.5058 3241.1717,534.3575 3219.0292,542.0082 " fill="none" id="urt_hrtsubscriber_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="3219.0292,482.898,3223.1102,488.8432,3230.1677,487.3628,3226.0867,481.4176,3219.0292,482.898" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="3226.7077" y="479.4456">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="3226.8202" y="539.3871">0..1</text><!--MD5=[a8adaa0500715125c1ab51b9b0fda3ce]
+link urt_hrtsubscriber_t to urt_message_t--><path d="M2134.872,644.1203 C2128.8881,645.0943 2122.9292,646.0392 2117,646.9531 C1740.9494,704.9143 1636.6082,634.9082 1263,706.9531 C1258.7338,707.7758 1254.435,708.6551 1250.1138,709.5848 " 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="1245.0316,710.699,1254.6794,712.6787,1249.9156,709.6282,1252.9661,704.8643,1245.0316,710.699" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54fcf25ad8c5f1d36e678e42d5bfd4cc]
+reverse link urt_publisher_t to urt_topic_t--><path d="M818.8622,512.4531 C826.1684,512.4531 833.4747,512.4531 840.7809,512.4531 " fill="none" id="urt_publisher_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="805.7109,512.4531,811.7109,516.4531,817.7109,512.4531,811.7109,508.4531,805.7109,512.4531" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="813.7488" y="509.3708">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="825.1161" y="509.2321">1</text><!--MD5=[5025b4c4053b8e7c7ca8a657f09f21c0]
+link urt_publisher_t to urt_message_t--><path d="M566.823,577.0622 C658.1356,615.6665 774.3976,664.8186 869.0644,704.841 " 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="873.8401,706.86,867.1083,699.6709,869.2348,704.9129,863.9929,707.0394,873.8401,706.86" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6b2afc1defaa6ed5a86f99c07f8466dd]
+reverse link urt_topic_t to urt_topic_t--><path d="M1237.0439,476.3703 C1251.3061,484.6063 1260,496.6339 1260,512.4531 C1260,532.3047 1246.309,546.1852 1225.1039,554.0949 " fill="none" id="urt_topic_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1225.1039,470.8113,1228.855,476.97,1235.9826,475.8762,1232.2316,469.7175,1225.1039,470.8113" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1232.7642" y="465.9637">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1233.0767" y="552.5005">0..1</text><!--MD5=[ed3fb6de0913094c41bd74c175d366df]
+reverse link urt_topic_t to urt_hrtsubscriber_t--><path d="M1177.7361,373.4498 C1204.5888,352.8434 1233.5161,333.6369 1263,318.9531 C1270.1417,315.3963 1272.5719,315.8476 1280.5,314.9531 C1325.7131,309.8517 2054.2869,309.8517 2099.5,314.9531 C2187.5516,324.888 2279.7005,349.4069 2363.8741,377.9215 " fill="none" id="urt_topic_t&lt;-urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="1167.1558,381.7225,1174.3463,381.1778,1176.6091,374.331,1169.4186,374.8756,1167.1558,381.7225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1166.6804" y="370.8054">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="2321.0778" y="366.7847">0..1</text><!--MD5=[0b5167e958c0ed93ffc0c98ce399b54d]
+reverse link urt_topic_t to urt_message_t--><path d="M1037.8766,656.3124 C1038.4682,673.7637 1039.051,690.9572 1039.5838,706.6751 " fill="none" id="urt_topic_t&lt;-urt_message_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1037.4341,643.2586,1033.6397,649.3907,1037.8408,655.2517,1041.6351,649.1196,1037.4341,643.2586" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1029.4578" y="662.8962">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="1030.9221" y="695.6438">1</text><!--MD5=[05f2c35569573d3273c65d3342945557]
+reverse link urt_service_t to urt_service_t--><path d="M7693.2128,481.5207 C7707.5894,489.3534 7716,499.6642 7716,512.4531 C7716,528.5019 7702.7552,540.6483 7681.0965,548.8921 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7681.0965,476.0141,7684.9038,482.1382,7692.0211,480.9792,7688.2139,474.8551,7681.0965,476.0141" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7689.2006" y="471.9202">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7689.4131" y="546.734">0..1</text><!--MD5=[586e61fedafd54ae7ea71cebd9f9032a]
+reverse link urt_service_t to urt_servicefunc_t--><path d="M7380,628.6021 C7380,672.1798 7380,718.1821 7380,747.426 " fill="none" id="urt_service_t&lt;-urt_servicefunc_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7380,615.4823,7376,621.4823,7380,627.4823,7384,621.4823,7380,615.4823" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7371.7188" y="635.3376">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7353.375" y="736.2104">0..1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
+reverse link urt_core_t to urt_node_t--><path d="M6178,324.3176 C6178,348.6799 6178,373.5026 6178,396.7874 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6178,311.2384,6174,317.2384,6178,323.2384,6182,317.2384,6178,311.2384" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6169.8063" y="330.5231">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="6153.2313" y="385.9598">0..1</text><!--MD5=[250695c91040478b50550bc37a8775c7]
+reverse link urt_core_t to urt_topic_t--><path d="M5993.0393,172.1608 C5124.9701,182.9541 1487.6328,233.1507 1263,318.9531 C1225.5865,333.2438 1189.9335,356.358 1158.3481,381.7206 " fill="none" id="urt_core_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6006.2383,171.9971,6000.1891,168.0719,5994.2392,172.1461,6000.2884,176.0713,6006.2383,171.9971" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="5990.2741" y="168.8271">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="1140.901" y="370.8034">0..1</text><!--MD5=[8d0a227ec56585cdbc167f8316b34b64]
+reverse link urt_core_t to urt_service_t--><path d="M6362.9198,179.6079 C6547.455,194.0869 6836.517,230.0497 7071,318.9531 C7130.0371,341.3368 7189.981,375.6553 7241.1616,409.2093 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="6349.8161,178.6021,6355.4923,183.0496,6361.7809,179.5206,6356.1047,175.0731,6349.8161,178.6021" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6357.2333" y="175.7271">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="24" x="7206.5558" y="398.5063">0..1</text><!--MD5=[8d087f1e7d37a6be8f03d7a9a644bbe9]
 @startuml
 
 title **µRtWare**
@@ -73,9 +73,9 @@ title **µRtWare**
   .. URT_CFG_RPC_ENABLED == true ..
   - {field} {static} _services : urt_service_t*
   __
-  + {method} urtCoreInit (void) : urt_status_t
+  + {method} urtCoreInit (void) : void
   + {method} urtCoreGetStatus (void) : urt_status_t
-  + {method} urtCoreStartNodes (void) : urt_status_t
+  + {method} urtCoreStartNodes (void) : void
   + {method} urtCoreSynchronize (node : urt_node_t*) : urt_status_t
   + {method} urtCoreStopNodes (reason : urt_status_t) : urt_status_t
   .. URT_CFG_PUBSUB_ENABLED == true ..
@@ -112,7 +112,7 @@ title **µRtWare**
     + {field} loops : uint64_t
     __
     - {method} {static} _main : urt_osThreadFunction_t
-    + {method} urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : urt_status_t
+    + {method} urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void
   }
 } 
 
@@ -126,7 +126,7 @@ title **µRtWare**
   .. URT_CFG_PUBSUB_PROFILING == true ..
   + {field} numConsumersLeft : unsigned int
   __
-  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : urt_status_t
+  + {method} urtMessageInit (message : urt_message_t*, payload : void*) : void
 }
 
   package "subscriber" <<Rectangle>> {
@@ -149,7 +149,7 @@ title **µRtWare**
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : urt_status_t
+    + {method} urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void
     + {method} urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
     + {method} urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -163,7 +163,7 @@ title **µRtWare**
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : urt_status_t
+    + {method} urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void
     + {method} urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_srtusefulnessfunc_t*, cbparams : void*) : urt_status_t
     + {method} urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -180,7 +180,7 @@ title **µRtWare**
     + {field} minLatency : urt_delay_t
     + {field} maxLatency : urt_delay_t
     __
-    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : urt_status_t
+    + {method} urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void
     + {method} urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t
     + {method} urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -201,7 +201,7 @@ title **µRtWare**
     .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
     + {field} expectedRate : urt_delay_t
     __
-    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : urt_status_t
+    + {method} urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void
     + {method} urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t
     + {method} urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
     + {method} urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t
@@ -215,8 +215,8 @@ title **µRtWare**
   + {field} publishAttempts : uint64_t
   + {field} publishFails : uint64_t
   __
-  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t
-  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, n : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
+  + {method} urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void
+  + {method} urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t
 }
 
   class urt_topic_t <<S,BFAFFF>> {
@@ -225,14 +225,15 @@ title **µRtWare**
   + {field} lock : urt_osMutex_t
   + {field} evtSource : urt_osEventSource_t
   + {field} numHrtSubscribers : unsigned int
-  + {field} hrtSubscribers : urt_hrtsubscriber_t*
   + {field} hrtReleased : urt_osCondvar_t
   + {field} mandatoryMessage : urt_message_t
   + {field} latestMessage : urt_message_t*
   .. URT_CFG_PUBSUB_QOS_RATECHECKS == true ..
+  + {field} hrtSubscribers : urt_hrtsubscriber_t*
   + {field} qosRateTimer : urt_osTimer_t
   .. URT_CFG_PUBSUB_PROFILING == true ..
-  + {field} numDiscardedMessages : uint64_t
+  + {field} numMessagesPublished : uint64_t
+  + {field} numMessagesDiscarded : uint64_t
   + {field} numSubscribers : unsigned int
   __
   + {method} urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
@@ -255,7 +256,6 @@ title **µRtWare**
   + {field} sumDurations : uint64_t
   + {field} numCalls : uint64_t
   + {field} numTimeouts : uint64_t
-  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true  ..
   + {field} minDuration : urt_delay_t
   + {field} maxDuration : urt_delay_t
   __
diff --git a/doc/classdiagrams/urtware.uml b/doc/classdiagrams/urtware.uml
index bced257..2d09b2c 100644
--- a/doc/classdiagrams/urtware.uml
+++ b/doc/classdiagrams/urtware.uml
@@ -25,7 +25,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 title **µRtWare**
 
-!include ../functions.iuml
+!include ./functions.iuml
 
 /'### ENTITIES ###############################################################'/
 
@@ -49,11 +49,11 @@ $structure("urt_core_t") {
   - {field} {static} _services : urt_service_t*
   __
     'Initializes the urt_core_t object.
-  + {method} urtCoreInit (void) : urt_status_t
+  + {method} urtCoreInit (void) : void
     'Retrieves the current system status.
   + {method} urtCoreGetStatus (void) : urt_status_t
     'Starts all node threads (nodes will block before the loop).
-  + {method} urtCoreStartNodes (void) : urt_status_t
+  + {method} urtCoreStartNodes (void) : void
     'Nodes can use this function to synchronize.
   + {method} urtCoreSynchronize (node : urt_node_t*) : urt_status_t
     'Stops all nodes and propagates a specified reason.
@@ -114,7 +114,7 @@ $group("node") {
     'The main() function of the node thread.
     - {method} {static} _main : urt_osThreadFunction_t
       'Initializes an urt_node_t object.
-    + {method} urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : urt_status_t
+    + {method} urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void
   }
 } /'node'/
 
diff --git a/doc/componentdiagrams/µRtWare.svg b/doc/componentdiagrams/µRtWare.svg
index 09cf3f2..362a0fd 100644
--- a/doc/componentdiagrams/µRtWare.svg
+++ b/doc/componentdiagrams/µRtWare.svg
@@ -1,4 +1,14 @@
-<?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="256px" preserveAspectRatio="none" style="width:485px;height:256px;" version="1.1" viewBox="0 0 485 256" width="485px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jutassn3u6p6" 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><!--cluster µRtWare_node--><polygon fill="#FFFFFF" filter="url(#f1jutassn3u6p6)" points="135,34,145,24,380,24,380,234,370,244,135,244,135,34" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="370" x2="379" y1="34" y2="25"/><line style="stroke: #000000; stroke-width: 1.5;" x1="135" x2="370" y1="34" y2="34"/><line style="stroke: #000000; stroke-width: 1.5;" x1="370" x2="370" y1="34" y2="244"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="220" y="49.9951">µRtWare</text><!--entity urtware.h--><ellipse cx="191" cy="93" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="65" x="158.5" y="122.9951">urtware.h</text><!--entity urtware.hpp--><ellipse cx="315" cy="93" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="273.5" y="122.9951">urtware.hpp</text><!--entity µRtWare--><rect fill="#FEFECE" filter="url(#f1jutassn3u6p6)" height="46.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="207.5" y="182"/><rect fill="#FEFECE" height="10" style="stroke: #A80036; stroke-width: 1.5;" width="15" x="286.5" y="187"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="284.5" y="189"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="284.5" y="193"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="59" x="222.5" y="214.9951">µRtWare</text><!--entity urt_osal.h--><ellipse cx="440" cy="93" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="406.5" y="122.9951">urt_osal.h</text><!--entity urtwareconf.h--><ellipse cx="61" cy="93" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="95" x="13.5" y="122.9951">urtwareconf.h</text><!--link urt_osal.h to µRtWare--><path d="M422.102,104.758 C392.448,122.583 332.545,158.591 293.632,181.9805 " fill="none" id="urt_osal.h-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M423.9301,93.7918 A9,9 0 0 0 432.6432 108.2895" fill="none" style="stroke: #A80036; stroke-width: 1.5;"/><!--link urtwareconf.h to µRtWare--><path d="M79.0977,104.157 C110.389,121.718 175.293,158.144 217.453,181.805 " fill="none" id="urtwareconf.h-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M68.7355,108.0396 A9,9 0 0 0 77.0142 93.2896" fill="none" style="stroke: #A80036; stroke-width: 1.5;"/><!--link urtware.h to µRtWare--><path d="M195.961,102.268 C205.974,118.956 228.898,157.164 243.628,181.7129 " fill="none" id="urtware.h-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><!--link urtware.hpp to µRtWare--><path d="M310.641,102.268 C301.841,118.956 281.696,157.164 268.751,181.7129 " fill="none" id="urtware.hpp-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><!--
+<?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="232px" preserveAspectRatio="none" style="width:485px;height:232px;" version="1.1" viewBox="0 0 485 232" width="485px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jutassn3u6p6" 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><!--MD5=[6453d75e9418050e260cec6f688958e6]
+cluster µRtWare_node--><polygon fill="#FFFFFF" filter="url(#f1jutassn3u6p6)" points="143,26,153,16,372,16,372,210,362,220,143,220,143,26" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="362" x2="371" y1="26" y2="17"/><line style="stroke: #000000; stroke-width: 1.5;" x1="143" x2="362" y1="26" y2="26"/><line style="stroke: #000000; stroke-width: 1.5;" x1="362" x2="362" y1="26" y2="220"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="220" y="41.9951">µRtWare</text><!--MD5=[fd40ccbe8774676953ddf61024a14cbe]
+entity urtware.h--><ellipse cx="191" cy="77" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="65" x="158.5" y="106.9951">urtware.h</text><!--MD5=[ee46182f0107dd9daf1ed8ff1f2d296f]
+entity urtware.hpp--><ellipse cx="315" cy="77" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="273.5" y="106.9951">urtware.hpp</text><!--MD5=[2ba4cb89ad92ecc55d806d1b58fad40b]
+entity µRtWare--><rect fill="#FEFECE" filter="url(#f1jutassn3u6p6)" height="46.2969" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="207.5" y="166"/><rect fill="#FEFECE" height="10" style="stroke: #A80036; stroke-width: 1.5;" width="15" x="286.5" y="171"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="284.5" y="173"/><rect fill="#FEFECE" height="2" style="stroke: #A80036; stroke-width: 1.5;" width="4" x="284.5" y="177"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="59" x="222.5" y="198.9951">µRtWare</text><!--MD5=[d0dd69a14be837f7f3c90f75114d3962]
+entity urt_osal.h--><ellipse cx="440" cy="77" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="406.5" y="106.9951">urt_osal.h</text><!--MD5=[52e703b0f56369573ced850c1d612a7d]
+entity urtwareconf.h--><ellipse cx="61" cy="77" fill="#FEFECE" filter="url(#f1jutassn3u6p6)" rx="8" ry="8" style="stroke: #A80036; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="95" x="13.5" y="106.9951">urtwareconf.h</text><!--MD5=[4a3605c6554f9d69a4d0f086ddf56b5f]
+reverse link urt_osal.h to µRtWare--><path d="M422.1903,87.8999 C392.856,105.8532 333.7506,142.027 294.7781,165.879 " fill="none" id="urt_osal.h&lt;-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M423.8847,76.9474 A9,9 0 0 0 432.7143 91.3744" fill="none" style="stroke: #A80036; stroke-width: 1.5;"/><!--MD5=[3a30f5b64b239cc7733a184d2bf0b05c]
+reverse link urtwareconf.h to µRtWare--><path d="M79.0383,87.3076 C110.1045,105.0597 174.4261,141.8149 216.63,165.9314 " fill="none" id="urtwareconf.h&lt;-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M68.6672,91.1219 A9,9 0 0 0 77.0592 76.4361" fill="none" style="stroke: #A80036; stroke-width: 1.5;"/><!--MD5=[2db42f0cea6f9a2448bf6fce9057241f]
+link urtware.h to µRtWare--><path d="M196.4011,86.1654 C206.5606,103.4059 228.7979,141.1419 243.3235,165.7914 " fill="none" id="urtware.h-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b7da49829622cf1b4f67c91d44023ac0]
+link urtware.hpp to µRtWare--><path d="M310.2536,86.1654 C301.3255,103.4059 281.7836,141.1419 269.0187,165.7914 " fill="none" id="urtware.hpp-µRtWare" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a1501929033370bfd88357139c5f763d]
 @startuml
 skinparam componentStyle uml2
 
@@ -19,13 +29,12 @@ node "µRtWare" as µRtWare_node {
 
 @enduml
 
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
+PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
 (GPL source distribution)
 Java Runtime: OpenJDK Runtime Environment
 JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-1ubuntu0.16.04.1-b13
+Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
 Operating System: Linux
-OS Version: 4.15.0-38-generic
 Default Encoding: UTF-8
 Language: en
 Country: US
diff --git a/doc/functions.iuml b/doc/functions.iuml
deleted file mode 100644
index a2d09f8..0000000
--- a/doc/functions.iuml
+++ /dev/null
@@ -1,60 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2020  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-/' Generate a configuration object. '/
-!function $configuration($name)
-  class $name <<C,BFBFBF>>
-!endfunction
-
-/' Generate a enumeration definition. '/
-!function $enumeration($name)
-  class $name <<E,FF7F3F>>
-!endfunction
-
-/' Generate a type definition. '/
-!function $type($name)
-  class $name <<T,00CFFF>>
-!endfunction
-
-/' Generate a structure definition. '/
-!function $structure($name)
-  class $name <<S,BFAFFF>>
-!endfunction
-
-/' generate a union structure definition '/
-!function $union($name)
-  class $name <<U,7FCF7F>>
-!endfunction
-
-/' Generate a function declaration. '/
-!function $function($name)
-  class $name <<F,E0E0E0>>
-!endfunction
-
-/' Generate a group. '/
-!function $group($name)
-  package "$name" <<Rectangle>>
-!endfunction
-
-!function $module($name)
-  package "$name" <<Node>>
-!endfunction
-
diff --git a/doc/statediagrams/core/urtCoreInit.svg b/doc/statediagrams/core/urtCoreInit.svg
deleted file mode 100644
index 13256c4..0000000
--- a/doc/statediagrams/core/urtCoreInit.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-<?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="249px" preserveAspectRatio="none" style="width:887px;height:249px;" version="1.1" viewBox="0 0 887 249" width="887px" zoomAndPan="magnify"><defs><filter height="300%" id="fyy2dxbj9oizz" 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="398" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="112" x="386.5" y="47.6611">urtCoreInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="445.5" y="68.6143"/><ellipse cx="443" cy="82.8594" fill="#000000" filter="url(#fyy2dxbj9oizz)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fyy2dxbj9oizz)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="866" x="10" y="112.8594"/><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="24" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="34" y="159.998">set node list pointer to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="182" y="159.998">NULL</text><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="195" x="248" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="258" y="159.998">set topic list pointer to</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="405" y="159.998">NULL</text><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="223" x="471" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="203" x="481" y="159.998">initialize the event source object</text><rect fill="#FEFECE" filter="url(#fyy2dxbj9oizz)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="722" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="732" y="159.998">initialize mutex lock</text><rect fill="#000000" filter="url(#fyy2dxbj9oizz)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="866" x="10" y="192.8281"/><ellipse cx="443" cy="228.8281" fill="none" filter="url(#fyy2dxbj9oizz)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="443.5" cy="229.3281" fill="#000000" filter="url(#fyy2dxbj9oizz)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="122" x2="122" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="118,128.8594,122,138.8594,126,128.8594,122,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="345.5" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="341.5,128.8594,345.5,138.8594,349.5,128.8594,345.5,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="582.5" x2="582.5" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="578.5,128.8594,582.5,138.8594,586.5,128.8594,582.5,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="788,128.8594,792,138.8594,796,128.8594,792,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="122" x2="122" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="118,182.8281,122,192.8281,126,182.8281,122,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345.5" x2="345.5" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="341.5,182.8281,345.5,192.8281,349.5,182.8281,345.5,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="582.5" x2="582.5" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="578.5,182.8281,582.5,192.8281,586.5,182.8281,582.5,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="792" x2="792" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="788,182.8281,792,192.8281,796,182.8281,792,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="443" x2="443" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="439,102.8594,443,112.8594,447,102.8594,443,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="443" x2="443" y1="198.8281" y2="218.8281"/><polygon fill="#A80036" points="439,208.8281,443,218.8281,447,208.8281,443,212.8281" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtCoreInit()\n
-
-
-
-start
-fork
-  :set node list pointer to ""NULL"";
-fork again
-  :set topic list pointer to ""NULL"";
-fork again
-  :initialize the event source object;
-fork again
-  :initialize mutex lock;
-endfork
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/core/urtCoreInit.uml b/doc/statediagrams/core/urtCoreInit.uml
deleted file mode 100644
index d39ce88..0000000
--- a/doc/statediagrams/core/urtCoreInit.uml
+++ /dev/null
@@ -1,40 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtCoreInit()\n
-
-
-
-start
-fork
-  :set node list pointer to ""NULL"";
-fork again
-  :set topic list pointer to ""NULL"";
-fork again
-  :initialize the event source object;
-fork again
-  :initialize mutex lock;
-endfork
-stop
-
-@enduml
diff --git a/doc/statediagrams/core/urtCoreRetrieveTopic.svg b/doc/statediagrams/core/urtCoreRetrieveTopic.svg
deleted file mode 100644
index 5e37017..0000000
--- a/doc/statediagrams/core/urtCoreRetrieveTopic.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-<?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="403px" preserveAspectRatio="none" style="width:510px;height:403px;" version="1.1" viewBox="0 0 510 403" width="510px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ejq1yq9yd0kp" 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="209.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="208" x="150.25" y="47.6611">urtCoreRetrieveTopic()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="257.25" y="68.6143"/><ellipse cx="241.5" cy="82.8594" fill="#000000" filter="url(#f1ejq1yq9yd0kp)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" points="119.5,168.5698,363.5,168.5698,375.5,180.5698,363.5,192.5698,119.5,192.5698,107.5,180.5698,119.5,168.5698" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="244" x="119.5" y="184.3779">Do the topic's ID and the argument match?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="87.5" y="177.9756">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="375.5" y="177.9756">no</text><rect fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="119" x="38" y="202.5698"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="99" x="48" y="223.7085">return the topic</text><ellipse cx="97.5" cy="266.5386" fill="none" filter="url(#f1ejq1yq9yd0kp)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="98" cy="267.0386" fill="#000000" filter="url(#f1ejq1yq9yd0kp)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="170" x="300.5" y="202.5698"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="150" x="310.5" y="223.7085">iterate to the next topic</text><polygon fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" points="183.5,112.8594,299.5,112.8594,311.5,124.8594,299.5,136.8594,183.5,136.8594,171.5,124.8594,183.5,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="245.5" y="147.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="116" x="183.5" y="128.6675">Topics left to check?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="157.5" y="122.2651">no</text><rect fill="#FEFECE" filter="url(#f1ejq1yq9yd0kp)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="91" x="196" y="318.5386"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="206" y="339.6772">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="249" y="339.6772">NULL</text><ellipse cx="241.5" cy="382.5073" fill="none" filter="url(#f1ejq1yq9yd0kp)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="242" cy="383.0073" fill="#000000" filter="url(#f1ejq1yq9yd0kp)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="97.5" x2="97.5" y1="236.5386" y2="256.5386"/><polygon fill="#A80036" points="93.5,246.5386,97.5,256.5386,101.5,246.5386,97.5,250.5386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="107.5" x2="97.5" y1="180.5698" y2="180.5698"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="97.5" x2="97.5" y1="180.5698" y2="202.5698"/><polygon fill="#A80036" points="93.5,192.5698,97.5,202.5698,101.5,192.5698,97.5,196.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="375.5" x2="385.5" y1="180.5698" y2="180.5698"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385.5" x2="385.5" y1="180.5698" y2="202.5698"/><polygon fill="#A80036" points="381.5,192.5698,385.5,202.5698,389.5,192.5698,385.5,196.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385.5" x2="385.5" y1="236.5386" y2="286.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385.5" x2="484.5" y1="286.5386" y2="286.5386"/><polygon fill="#A80036" points="480.5,224.6519,484.5,214.6519,488.5,224.6519,484.5,220.6519" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="484.5" x2="484.5" y1="124.8594" y2="286.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="484.5" x2="311.5" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="321.5,120.8594,311.5,124.8594,321.5,128.8594,317.5,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="136.8594" y2="168.5698"/><polygon fill="#A80036" points="237.5,158.5698,241.5,168.5698,245.5,158.5698,241.5,162.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="171.5" x2="24" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="20,210.6519,24,220.6519,28,210.6519,24,214.6519" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="124.8594" y2="298.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="241.5" y1="298.5386" y2="298.5386"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="298.5386" y2="318.5386"/><polygon fill="#A80036" points="237.5,308.5386,241.5,318.5386,245.5,308.5386,241.5,312.5386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="237.5,102.8594,241.5,112.8594,245.5,102.8594,241.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241.5" x2="241.5" y1="352.5073" y2="372.5073"/><polygon fill="#A80036" points="237.5,362.5073,241.5,372.5073,245.5,362.5073,241.5,366.5073" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtCoreRetrieveTopic()\n
-
-
-
-start
-while (Topics left to check?) is (yes)
-  if (Do the topic's ID and the argument match?) then (yes)
-    :return the topic;
-    stop
-  else (no)
-    :iterate to the next topic;
-  endif
-endwhile (no)
-:return ""NULL"";
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/core/urtCoreRetrieveTopic.uml b/doc/statediagrams/core/urtCoreRetrieveTopic.uml
deleted file mode 100644
index a4e58c0..0000000
--- a/doc/statediagrams/core/urtCoreRetrieveTopic.uml
+++ /dev/null
@@ -1,40 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtCoreRetrieveTopic()\n
-
-
-
-start
-while (Topics left to check?) is (yes)
-  if (Do the topic's ID and the argument match?) then (yes)
-    :return the topic;
-    stop
-  else (no)
-    :iterate to the next topic;
-  endif
-endwhile (no)
-:return ""NULL"";
-stop
-
-@enduml
diff --git a/doc/statediagrams/core/urtCoreStartNodes.svg b/doc/statediagrams/core/urtCoreStartNodes.svg
deleted file mode 100644
index 403d90f..0000000
--- a/doc/statediagrams/core/urtCoreStartNodes.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-<?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="304px" preserveAspectRatio="none" style="width:230px;height:304px;" version="1.1" viewBox="0 0 230 304" width="230px" zoomAndPan="magnify"><defs><filter height="300%" id="f1oes4tdg31mgq" 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="69.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="181" x="23.5" y="47.6611">urtCoreStartNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="117" y="68.6143"/><ellipse cx="119" cy="82.8594" fill="#000000" filter="url(#f1oes4tdg31mgq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1oes4tdg31mgq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="53" y="173.6641"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="63" y="194.8027">start node thread</text><rect fill="#FEFECE" filter="url(#f1oes4tdg31mgq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="46" y="236.7305"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="56" y="257.8691">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1oes4tdg31mgq)" points="64,112.8594,174,112.8594,186,124.8594,174,136.8594,64,136.8594,52,124.8594,64,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="123" y="147.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="64" y="128.6675">Nodes left to start?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="38" y="122.2651">no</text><ellipse cx="24" cy="170.8594" fill="none" filter="url(#f1oes4tdg31mgq)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="24.5" cy="171.3594" fill="#000000" filter="url(#f1oes4tdg31mgq)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="207.6328" y2="236.7305"/><polygon fill="#A80036" points="115,226.7305,119,236.7305,123,226.7305,119,230.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="136.8594" y2="173.6641"/><polygon fill="#A80036" points="115,163.6641,119,173.6641,123,163.6641,119,167.6641" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="270.6992" y2="280.6992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="204" y1="280.6992" y2="280.6992"/><polygon fill="#A80036" points="200,216.7305,204,206.7305,208,216.7305,204,212.7305" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="204" x2="204" y1="124.8594" y2="280.6992"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="204" x2="186" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="196,120.8594,186,124.8594,196,128.8594,192,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="52" x2="24" y1="124.8594" y2="124.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="124.8594" y2="160.8594"/><polygon fill="#A80036" points="20,150.8594,24,160.8594,28,150.8594,24,154.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="119" x2="119" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="115,102.8594,119,112.8594,123,102.8594,119,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtCoreStartNodes()\n
-
-
-
-start
-while (Nodes left to start?) is (yes)
-  :start node thread;
-  :iterate to next node;
-endwhile (no)
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/core/urtCoreStartNodes.uml b/doc/statediagrams/core/urtCoreStartNodes.uml
deleted file mode 100644
index 5ca32ed..0000000
--- a/doc/statediagrams/core/urtCoreStartNodes.uml
+++ /dev/null
@@ -1,35 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtCoreStartNodes()\n
-
-
-
-start
-while (Nodes left to start?) is (yes)
-  :start node thread;
-  :iterate to next node;
-endwhile (no)
-stop
-
-@enduml
diff --git a/doc/statediagrams/core/urtCoreStopNodes.svg b/doc/statediagrams/core/urtCoreStopNodes.svg
deleted file mode 100644
index aaef15d..0000000
--- a/doc/statediagrams/core/urtCoreStopNodes.svg
+++ /dev/null
@@ -1,32 +0,0 @@
-<?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="553px" preserveAspectRatio="none" style="width:269px;height:553px;" version="1.1" viewBox="0 0 269 553" width="269px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ew74r5cjc25p" 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="89.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="178" x="44.75" y="47.6611">urtCoreStopNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="136.75" y="68.6143"/><ellipse cx="138" cy="82.8594" fill="#000000" filter="url(#f1ew74r5cjc25p)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="44.5" y="168.5698"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="54.5" y="189.7085">request node to terminate</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="65" y="231.6362"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="75" y="252.7749">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" points="84,112.8594,192,112.8594,204,124.8594,192,136.8594,84,136.8594,72,124.8594,84,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="142" y="147.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="84" y="128.6675">Nodes left to stop?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="58" y="122.2651">no</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="52.5" y="307.605"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="151" x="62.5" y="328.7437">broadcast control event</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="184" x="46" y="422.3784"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="164" x="56" y="443.5171">wait for node to terminate</text><rect fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="65" y="485.4448"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="75" y="506.5835">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1ew74r5cjc25p)" points="75,361.5737,201,361.5737,213,373.5737,201,385.5737,75,385.5737,63,373.5737,75,361.5737" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="142" y="395.7842">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="75" y="377.3818">Nodes left to wait for?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="49" y="370.9795">no</text><ellipse cx="24" cy="419.5737" fill="none" filter="url(#f1ew74r5cjc25p)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="24.5" cy="420.0737" fill="#000000" filter="url(#f1ew74r5cjc25p)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="202.5386" y2="231.6362"/><polygon fill="#A80036" points="134,221.6362,138,231.6362,142,221.6362,138,225.6362" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="136.8594" y2="168.5698"/><polygon fill="#A80036" points="134,158.5698,138,168.5698,142,158.5698,138,162.5698" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="265.605" y2="275.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="243.5" y1="275.605" y2="275.605"/><polygon fill="#A80036" points="239.5,211.6362,243.5,201.6362,247.5,211.6362,243.5,207.6362" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243.5" x2="243.5" y1="124.8594" y2="275.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="243.5" x2="204" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="214,120.8594,204,124.8594,214,128.8594,210,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="72" x2="32.5" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="28.5,197.6362,32.5,207.6362,36.5,197.6362,32.5,201.6362" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32.5" x2="32.5" y1="124.8594" y2="287.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32.5" x2="138" y1="287.605" y2="287.605"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="287.605" y2="307.605"/><polygon fill="#A80036" points="134,297.605,138,307.605,142,297.605,138,301.605" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="134,102.8594,138,112.8594,142,102.8594,138,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="456.3472" y2="485.4448"/><polygon fill="#A80036" points="134,475.4448,138,485.4448,142,475.4448,138,479.4448" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="385.5737" y2="422.3784"/><polygon fill="#A80036" points="134,412.3784,138,422.3784,142,412.3784,138,416.3784" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="519.4136" y2="529.4136"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="242" y1="529.4136" y2="529.4136"/><polygon fill="#A80036" points="238,465.4448,242,455.4448,246,465.4448,242,461.4448" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="242" x2="242" y1="373.5737" y2="529.4136"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="242" x2="213" y1="373.5737" y2="373.5737"/><polygon fill="#A80036" points="223,369.5737,213,373.5737,223,377.5737,219,373.5737" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="63" x2="24" y1="373.5737" y2="373.5737"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="373.5737" y2="409.5737"/><polygon fill="#A80036" points="20,399.5737,24,409.5737,28,399.5737,24,403.5737" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="138" x2="138" y1="341.5737" y2="361.5737"/><polygon fill="#A80036" points="134,351.5737,138,361.5737,142,351.5737,138,355.5737" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtCoreStopNodes()\n
-
-
-
-start
-while (Nodes left to stop?) is (yes)
-  :request node to terminate;
-  :iterate to next node;
-endwhile (no)
-:broadcast control event;
-while (Nodes left to wait for?) is (yes)
-  :wait for node to terminate;
-  :iterate to next node;
-endwhile (no)
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/core/urtCoreStopNodes.uml b/doc/statediagrams/core/urtCoreStopNodes.uml
deleted file mode 100644
index 51e8a23..0000000
--- a/doc/statediagrams/core/urtCoreStopNodes.uml
+++ /dev/null
@@ -1,40 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtCoreStopNodes()\n
-
-
-
-start
-while (Nodes left to stop?) is (yes)
-  :request node to terminate;
-  :iterate to next node;
-endwhile (no)
-:broadcast control event;
-while (Nodes left to wait for?) is (yes)
-  :wait for node to terminate;
-  :iterate to next node;
-endwhile (no)
-stop
-
-@enduml
diff --git a/doc/statediagrams/core/urtCoreSynchronizeNodes.svg b/doc/statediagrams/core/urtCoreSynchronizeNodes.svg
deleted file mode 100644
index fcb0153..0000000
--- a/doc/statediagrams/core/urtCoreSynchronizeNodes.svg
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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="618px" preserveAspectRatio="none" style="width:416px;height:618px;" version="1.1" viewBox="0 0 416 618" width="416px" zoomAndPan="magnify"><defs><filter height="300%" id="f1r9x1l3440zyt" 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="162.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="246" x="84" y="47.6611">urtCoreSynchronizeNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="210" y="68.6143"/><ellipse cx="212" cy="82.8594" fill="#000000" filter="url(#f1r9x1l3440zyt)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="143" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="153" y="133.998">acquire mutex lock</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="82" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="92" y="187.9668">set node's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="162" y="187.9668">stage</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="131" x="201" y="187.9668">variable to argument</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="316" x="54" y="276.5073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="220" x="64" y="297.646">compare argument with the node's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="288" y="297.646">stage</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="327" y="297.646">value</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="139" y="339.5737"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="149" y="360.7124">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" points="154.5,220.7969,269.5,220.7969,281.5,232.7969,269.5,244.7969,154.5,244.7969,142.5,232.7969,154.5,220.7969" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="216" y="255.0073">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="154.5" y="236.605">Nodes left to check?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="128.5" y="230.2026">no</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="109" x="157.5" y="415.5425"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="89" x="167.5" y="436.6812">release mutex</text><polygon fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" points="117.5,469.5112,306.5,469.5112,318.5,481.5112,306.5,493.5112,117.5,493.5112,105.5,481.5112,117.5,469.5112" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="117.5" y="485.3193">Are all nodes in the same stage?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="85.5" y="478.917">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="318.5" y="478.917">no</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="171" x="10" y="503.5112"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="151" x="20" y="524.6499">broadcast control event</text><rect fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="252" y="503.5112"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="133" x="262" y="524.6499">wait for control event</text><polygon fill="#FEFECE" filter="url(#f1r9x1l3440zyt)" points="212,543.48,224,555.48,212,567.48,200,555.48,212,543.48" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="212" cy="597.48" fill="none" filter="url(#f1r9x1l3440zyt)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="212.5" cy="597.98" fill="#000000" filter="url(#f1r9x1l3440zyt)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="208,102.8594,212,112.8594,216,102.8594,212,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="208,156.8281,212,166.8281,216,156.8281,212,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="310.4761" y2="339.5737"/><polygon fill="#A80036" points="208,329.5737,212,339.5737,216,329.5737,212,333.5737" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="244.7969" y2="276.5073"/><polygon fill="#A80036" points="208,266.5073,212,276.5073,216,266.5073,212,270.5073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="373.5425" y2="383.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="382" y1="383.5425" y2="383.5425"/><polygon fill="#A80036" points="378,319.5737,382,309.5737,386,319.5737,382,315.5737" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382" x2="382" y1="232.7969" y2="383.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382" x2="281.5" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="291.5,228.7969,281.5,232.7969,291.5,236.7969,287.5,232.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="142.5" x2="42" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="38,305.5737,42,315.5737,46,305.5737,42,309.5737" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="42" x2="42" y1="232.7969" y2="395.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="42" x2="212" y1="395.5425" y2="395.5425"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="395.5425" y2="415.5425"/><polygon fill="#A80036" points="208,405.5425,212,415.5425,216,405.5425,212,409.5425" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="208,210.7969,212,220.7969,216,210.7969,212,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="105.5" x2="95.5" y1="481.5112" y2="481.5112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="95.5" y1="481.5112" y2="503.5112"/><polygon fill="#A80036" points="91.5,493.5112,95.5,503.5112,99.5,493.5112,95.5,497.5112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="318.5" x2="328.5" y1="481.5112" y2="481.5112"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="328.5" y1="481.5112" y2="503.5112"/><polygon fill="#A80036" points="324.5,493.5112,328.5,503.5112,332.5,493.5112,328.5,497.5112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="95.5" y1="537.48" y2="555.48"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="95.5" x2="200" y1="555.48" y2="555.48"/><polygon fill="#A80036" points="190,551.48,200,555.48,190,559.48,194,555.48" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="328.5" y1="537.48" y2="555.48"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.5" x2="224" y1="555.48" y2="555.48"/><polygon fill="#A80036" points="234,551.48,224,555.48,234,559.48,230,555.48" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="449.5112" y2="469.5112"/><polygon fill="#A80036" points="208,459.5112,212,469.5112,216,459.5112,212,463.5112" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="212" x2="212" y1="567.48" y2="587.48"/><polygon fill="#A80036" points="208,577.48,212,587.48,216,577.48,212,581.48" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtCoreSynchronizeNodes()\n
-
-
-
-start
-:acquire mutex lock;
-:set node's ""stage"" variable to argument;
-while (Nodes left to check?) is (yes)
-  :compare argument with the node's ""stage"" value;
-  :iterate to next node;
-endwhile (no)
-:release mutex;
-if (Are all nodes in the same stage?) then (yes)
-  :broadcast control event;
-else (no)
-  :wait for control event;
-endif
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/core/urtCoreSynchronizeNodes.uml b/doc/statediagrams/core/urtCoreSynchronizeNodes.uml
deleted file mode 100644
index 4b18bcb..0000000
--- a/doc/statediagrams/core/urtCoreSynchronizeNodes.uml
+++ /dev/null
@@ -1,43 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtCoreSynchronizeNodes()\n
-
-
-
-start
-:acquire mutex lock;
-:set node's ""stage"" variable to argument;
-while (Nodes left to check?) is (yes)
-  :compare argument with the node's ""stage"" value;
-  :iterate to next node;
-endwhile (no)
-:release mutex;
-if (Are all nodes in the same stage?) then (yes)
-  :broadcast control event;
-else (no)
-  :wait for control event;
-endif
-stop
-
-@enduml
diff --git a/doc/statediagrams/general/emergency.svg b/doc/statediagrams/general/emergency.svg
deleted file mode 100644
index f6422a9..0000000
--- a/doc/statediagrams/general/emergency.svg
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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="440px" preserveAspectRatio="none" style="width:446px;height:440px;" version="1.1" viewBox="0 0 446 440" width="446px" zoomAndPan="magnify"><defs><filter height="300%" id="f15t7xuxx0vrgq" 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="177.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="179" x="132.5" y="47.6611">Emergency Callback</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="225" y="68.6143"/><ellipse cx="274" cy="82.8594" fill="#000000" filter="url(#f15t7xuxx0vrgq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M36,221.3901 L36,246.5229 A0,0 0 0 0 36,246.5229 L120,246.5229 A0,0 0 0 0 120,246.5229 L120,239.3901 L140,233.9565 L120,231.3901 L120,231.3901 L110,221.3901 L36,221.3901 A0,0 0 0 0 36,221.3901 " fill="#FBFB77" filter="url(#f15t7xuxx0vrgq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M110,221.3901 L110,231.3901 L120,231.3901 L110,221.3901 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="42" y="238.457">recusively</text><rect fill="#FEFECE" filter="url(#f15t7xuxx0vrgq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="268" x="140" y="216.9722"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="248" x="150" y="238.1108">terminate node and all its child threads</text><rect fill="#FEFECE" filter="url(#f15t7xuxx0vrgq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="146" x="201" y="280.0386"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="126" x="211" y="301.1772">iterate to next node</text><polygon fill="#FEFECE" filter="url(#f15t7xuxx0vrgq)" points="205,161.2617,343,161.2617,355,173.2617,343,185.2617,205,185.2617,193,173.2617,205,161.2617" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="278" y="195.4722">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="205" y="177.0698">Nodes left to terminate?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="179" y="170.6675">no</text><rect fill="#FEFECE" filter="url(#f15t7xuxx0vrgq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="186" y="356.0073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="196" y="377.146">initiate system shutdown</text><ellipse cx="274" cy="419.9761" fill="none" filter="url(#f15t7xuxx0vrgq)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="274.5" cy="420.4761" fill="#000000" filter="url(#f15t7xuxx0vrgq)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f15t7xuxx0vrgq)" points="205,112.8594,343,112.8594,355,124.8594,343,136.8594,205,136.8594,193,124.8594,205,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="278" y="147.0698">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="205" y="128.6675">Has been called before?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="355" y="122.2651">yes</text><ellipse cx="395" cy="124.8594" fill="none" filter="url(#f15t7xuxx0vrgq)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="395.5" cy="125.3594" fill="#000000" filter="url(#f15t7xuxx0vrgq)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="274" y1="250.9409" y2="280.0386"/><polygon fill="#A80036" points="270,270.0386,274,280.0386,278,270.0386,274,274.0386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="274" y1="185.2617" y2="216.9722"/><polygon fill="#A80036" points="270,206.9722,274,216.9722,278,206.9722,274,210.9722" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="274" y1="314.0073" y2="324.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="420" y1="324.0073" y2="324.0073"/><polygon fill="#A80036" points="416,260.0386,420,250.0386,424,260.0386,420,256.0386" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="420" x2="420" y1="173.2617" y2="324.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="420" x2="355" y1="173.2617" y2="173.2617"/><polygon fill="#A80036" points="365,169.2617,355,173.2617,365,177.2617,361,173.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="193" x2="24" y1="173.2617" y2="173.2617"/><polygon fill="#A80036" points="20,246.0386,24,256.0386,28,246.0386,24,250.0386" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="173.2617" y2="336.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="274" y1="336.0073" y2="336.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="274" y1="336.0073" y2="356.0073"/><polygon fill="#A80036" points="270,346.0073,274,356.0073,278,346.0073,274,350.0073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="274" y1="389.9761" y2="409.9761"/><polygon fill="#A80036" points="270,399.9761,274,409.9761,278,399.9761,274,403.9761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="274" y1="136.8594" y2="161.2617"/><polygon fill="#A80036" points="270,151.2617,274,161.2617,278,151.2617,274,155.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="355" x2="385" y1="124.8594" y2="124.8594"/><polygon fill="#A80036" points="375,120.8594,385,124.8594,375,128.8594,379,124.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="274" x2="274" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="270,102.8594,274,112.8594,278,102.8594,274,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nEmergency Callback\n
-
-
-
-start
-if (Has been called before?) then (yes)
-  stop
-else (no)
-  while (Nodes left to terminate?) is (yes)
-    :terminate node and all its child threads;
-    note
-      recusively
-    endnote
-    :iterate to next node;
-  endwhile (no)
-  :initiate system shutdown;
-  stop
-endif
-
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/general/emergency.uml b/doc/statediagrams/general/emergency.uml
deleted file mode 100644
index d835720..0000000
--- a/doc/statediagrams/general/emergency.uml
+++ /dev/null
@@ -1,44 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nEmergency Callback\n
-
-
-
-start
-if (Has been called before?) then (yes)
-  stop
-else (no)
-  while (Nodes left to terminate?) is (yes)
-    :terminate node and all its child threads;
-    note
-      recusively
-    endnote
-    :iterate to next node;
-  endwhile (no)
-  :initiate system shutdown;
-  stop
-endif
-
-
-@enduml
diff --git a/doc/statediagrams/general/initialization.svg b/doc/statediagrams/general/initialization.svg
deleted file mode 100644
index f9beb43..0000000
--- a/doc/statediagrams/general/initialization.svg
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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="470px" preserveAspectRatio="none" style="width:483px;height:470px;" version="1.1" viewBox="0 0 483 470" width="483px" zoomAndPan="magnify"><defs><filter height="300%" id="f197atgdjewduw" 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="196" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="107" x="187" y="47.6611">Initialization</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="243.5" y="68.6143"/><ellipse cx="241" cy="82.8594" fill="#000000" filter="url(#f197atgdjewduw)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="462" x="10" y="112.8594"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="48" x="156.5" y="138.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="166.5" y="159.998">core</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="313" x="24" y="192.8281"/><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="198" x="38" y="218.8281"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="58" x="52" y="244.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="38" x="62" y="265.9668">topics</text><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="84" x="138" y="244.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="64" x="148" y="265.9668">messages</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="198" x="38" y="298.7969"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="85" x="94.5" y="333.2813"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="65" x="104.5" y="354.4199">publishers</text><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="59" x="264" y="279.3125"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="274" y="300.4512">nodes</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="313" x="24" y="387.25"/><rect fill="#FEFECE" filter="url(#f197atgdjewduw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="365" y="244.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="375" y="265.9668">subscribers</text><rect fill="#000000" filter="url(#f197atgdjewduw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="462" x="10" y="413.25"/><ellipse cx="241" cy="449.25" fill="none" filter="url(#f197atgdjewduw)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="241.5" cy="449.75" fill="#000000" filter="url(#f197atgdjewduw)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="81" x2="81" y1="224.8281" y2="244.8281"/><polygon fill="#A80036" points="77,234.8281,81,244.8281,85,234.8281,81,238.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180" x2="180" y1="224.8281" y2="244.8281"/><polygon fill="#A80036" points="176,234.8281,180,244.8281,184,234.8281,180,238.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="81" x2="81" y1="278.7969" y2="298.7969"/><polygon fill="#A80036" points="77,288.7969,81,298.7969,85,288.7969,81,292.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180" x2="180" y1="278.7969" y2="298.7969"/><polygon fill="#A80036" points="176,288.7969,180,298.7969,184,288.7969,180,292.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="137" y1="304.7969" y2="333.2813"/><polygon fill="#A80036" points="133,323.2813,137,333.2813,141,323.2813,137,327.2813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="137" y1="198.8281" y2="218.8281"/><polygon fill="#A80036" points="133,208.8281,137,218.8281,141,208.8281,137,212.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="293.5" x2="293.5" y1="198.8281" y2="279.3125"/><polygon fill="#A80036" points="289.5,269.3125,293.5,279.3125,297.5,269.3125,293.5,273.3125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="137" x2="137" y1="367.25" y2="387.25"/><polygon fill="#A80036" points="133,377.25,137,387.25,141,377.25,137,381.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="293.5" x2="293.5" y1="313.2813" y2="387.25"/><polygon fill="#A80036" points="289.5,377.25,293.5,387.25,297.5,377.25,293.5,381.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180.5" x2="180.5" y1="172.8281" y2="192.8281"/><polygon fill="#A80036" points="176.5,182.8281,180.5,192.8281,184.5,182.8281,180.5,186.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180.5" x2="180.5" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="176.5,128.8594,180.5,138.8594,184.5,128.8594,180.5,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="411.5" y1="118.8594" y2="244.8281"/><polygon fill="#A80036" points="407.5,234.8281,411.5,244.8281,415.5,234.8281,411.5,238.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="180.5" x2="180.5" y1="393.25" y2="413.25"/><polygon fill="#A80036" points="176.5,403.25,180.5,413.25,184.5,403.25,180.5,407.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="411.5" y1="278.7969" y2="413.25"/><polygon fill="#A80036" points="407.5,403.25,411.5,413.25,415.5,403.25,411.5,407.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241" x2="241" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="237,102.8594,241,112.8594,245,102.8594,241,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="241" x2="241" y1="419.25" y2="439.25"/><polygon fill="#A80036" points="237,429.25,241,439.25,245,429.25,241,433.25" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nInitialization\n
-
-
-
-start
-fork
-  :core;
-  fork
-    fork
-      :topics;
-    fork again
-      :messages;
-    endfork
-    :publishers;
-  fork again
-    :nodes;
-  endfork
-fork again
-  :subscribers;
-endfork
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/general/initialization.uml b/doc/statediagrams/general/initialization.uml
deleted file mode 100644
index e904046..0000000
--- a/doc/statediagrams/general/initialization.uml
+++ /dev/null
@@ -1,46 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nInitialization\n
-
-
-
-start
-fork
-  :core;
-  fork
-    fork
-      :topics;
-    fork again
-      :messages;
-    endfork
-    :publishers;
-  fork again
-    :nodes;
-  endfork
-fork again
-  :subscribers;
-endfork
-stop
-
-@enduml
diff --git a/doc/statediagrams/message/urtMessageInit.svg b/doc/statediagrams/message/urtMessageInit.svg
deleted file mode 100644
index 76b85ad..0000000
--- a/doc/statediagrams/message/urtMessageInit.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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="197px" preserveAspectRatio="none" style="width:168px;height:197px;" version="1.1" viewBox="0 0 168 197" width="168px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ivv1i11bxbzw" 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="39.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="144" x="12" y="47.6611">urtMessageInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="87" y="68.6143"/><ellipse cx="84.5" cy="82.8594" fill="#000000" filter="url(#f1ivv1i11bxbzw)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ivv1i11bxbzw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="19" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="29" y="133.998">initialize members</text><ellipse cx="84.5" cy="176.8281" fill="none" filter="url(#f1ivv1i11bxbzw)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="85" cy="177.3281" fill="#000000" filter="url(#f1ivv1i11bxbzw)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="80.5,102.8594,84.5,112.8594,88.5,102.8594,84.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="80.5,156.8281,84.5,166.8281,88.5,156.8281,84.5,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtMessageInit()\n
-
-
-
-start
-:initialize members;
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/message/urtMessageInit.uml b/doc/statediagrams/message/urtMessageInit.uml
deleted file mode 100644
index cbd65bd..0000000
--- a/doc/statediagrams/message/urtMessageInit.uml
+++ /dev/null
@@ -1,32 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtMessageInit()\n
-
-
-
-start
-:initialize members;
-stop
-
-@enduml
diff --git a/doc/statediagrams/node/_main.svg b/doc/statediagrams/node/_main.svg
deleted file mode 100644
index 0ed1cac..0000000
--- a/doc/statediagrams/node/_main.svg
+++ /dev/null
@@ -1,51 +0,0 @@
-<?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="1039px" preserveAspectRatio="none" style="width:508px;height:1039px;" version="1.1" viewBox="0 0 508 1039" width="508px" zoomAndPan="magnify"><defs><filter height="300%" id="fi9az5e5ckvfv" 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="208.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="66" x="220.25" y="47.6611">_main()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="256.25" y="68.6143"/><ellipse cx="267" cy="82.8594" fill="#000000" filter="url(#fi9az5e5ckvfv)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fi9az5e5ckvfv)" height="352.1094" style="stroke: #000000; stroke-width: 2.0;" width="424" x="39.5" y="103.6611"/><path d="M89.5,104.6611 L89.5,112.958 L79.5,122.958 L39.5,122.958 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="40" x="42.5" y="117.6563">setup</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="188.5" y="139.958"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="137" x="198.5" y="161.0967">register to core event</text><path d="M49.5,198.3447 L49.5,223.4775 A0,0 0 0 0 49.5,223.4775 L164.5,223.4775 A0,0 0 0 0 164.5,223.4775 L164.5,216.3447 L184.5,210.9111 L164.5,208.3447 L164.5,208.3447 L154.5,198.3447 L49.5,198.3447 A0,0 0 0 0 49.5,198.3447 " fill="#FBFB77" filter="url(#fi9az5e5ckvfv)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M154.5,198.3447 L154.5,208.3447 L164.5,208.3447 L154.5,198.3447 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="55.5" y="215.4116">must not loop!</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="184.5" y="193.9268"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="145" x="194.5" y="215.0654">execute setup callback</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="373" x="80.5" y="247.8955"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="353" x="90.5" y="269.0342">check returned event mask not to define the core event</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="299" x="117.5" y="301.8643"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="279" x="127.5" y="323.0029">suspend all child threads (if any, recursively)</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="327" x="103.5" y="355.833"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="113.5" y="376.9717">synchronize by calling</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="252.5" y="376.9717">urtCoreSynchronizeNdes()</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="287" x="123.5" y="409.8018"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="267" x="133.5" y="430.9404">resume all child threads (if any, recusively)</text><rect fill="#FFFFFF" filter="url(#fi9az5e5ckvfv)" height="375.3159" style="stroke: #000000; stroke-width: 2.0;" width="487.5" x="10" y="466.5723"/><path d="M50,467.5723 L50,475.8691 L40,485.8691 L10,485.8691 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="13" y="480.5674">loop</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="201.5" y="558.5796"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="211.5" y="579.7183">wait for any event</text><path d="M54,665.3687 L54,690.5015 A0,0 0 0 0 54,690.5015 L169,690.5015 A0,0 0 0 0 169,690.5015 L169,683.3687 L189,677.9351 L169,675.3687 L169,675.3687 L159,665.3687 L54,665.3687 A0,0 0 0 0 54,665.3687 " fill="#FBFB77" filter="url(#fi9az5e5ckvfv)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M159,665.3687 L159,675.3687 L169,675.3687 L159,665.3687 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="60" y="682.4355">must not loop!</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="189" y="660.9507"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="199" y="682.0894">execute loop callback</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="373" x="80.5" y="729.9194"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="353" x="90.5" y="751.0581">check returned event mask not to define the core event</text><polygon fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" points="204,612.5483,330,612.5483,342,624.5483,330,636.5483,204,636.5483,192,624.5483,204,612.5483" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="271" y="646.7588">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="204" y="628.3564">Was not a core event?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="342" y="621.9541">no</text><polygon fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" points="267,783.8882,279,795.8882,267,807.8882,255,795.8882,267,783.8882" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" points="199,502.8691,335,502.8691,347,514.8691,335,526.8691,199,526.8691,187,514.8691,199,502.8691" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="271" y="537.0796">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="199" y="518.6772">Termination requested?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="167" y="512.2749">yes</text><rect fill="#FFFFFF" filter="url(#fi9az5e5ckvfv)" height="136.2344" style="stroke: #000000; stroke-width: 2.0;" width="208" x="163" y="852.6899"/><path d="M210,853.6899 L210,861.9868 L200,871.9868 L163,871.9868 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="37" x="166" y="866.6851">outro</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="173" y="888.9868"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="183" y="910.1255">unregister from core event</text><rect fill="#FEFECE" filter="url(#fi9az5e5ckvfv)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="203.5" y="942.9556"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="107" x="213.5" y="964.0942">terminate thread</text><ellipse cx="267" cy="1018.9243" fill="none" filter="url(#fi9az5e5ckvfv)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="267.5" cy="1019.4243" fill="#000000" filter="url(#fi9az5e5ckvfv)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="173.9268" y2="193.9268"/><polygon fill="#A80036" points="263,183.9268,267,193.9268,271,183.9268,267,187.9268" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="227.8955" y2="247.8955"/><polygon fill="#A80036" points="263,237.8955,267,247.8955,271,237.8955,267,241.8955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="281.8643" y2="301.8643"/><polygon fill="#A80036" points="263,291.8643,267,301.8643,271,291.8643,267,295.8643" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="335.833" y2="355.833"/><polygon fill="#A80036" points="263,345.833,267,355.833,271,345.833,267,349.833" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="389.8018" y2="409.8018"/><polygon fill="#A80036" points="263,399.8018,267,409.8018,271,399.8018,267,403.8018" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="92.8594" y2="139.958"/><polygon fill="#A80036" points="263,129.958,267,139.958,271,129.958,267,133.958" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="694.9194" y2="729.9194"/><polygon fill="#A80036" points="263,719.9194,267,729.9194,271,719.9194,267,723.9194" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="636.5483" y2="660.9507"/><polygon fill="#A80036" points="263,650.9507,267,660.9507,271,650.9507,267,654.9507" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342" x2="463.5" y1="624.5483" y2="624.5483"/><polygon fill="#A80036" points="459.5,702.4194,463.5,712.4194,467.5,702.4194,463.5,706.4194" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="463.5" x2="463.5" y1="624.5483" y2="795.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="463.5" x2="279" y1="795.8882" y2="795.8882"/><polygon fill="#A80036" points="289,791.8882,279,795.8882,289,799.8882,285,795.8882" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="763.8882" y2="783.8882"/><polygon fill="#A80036" points="263,773.8882,267,783.8882,271,773.8882,267,777.8882" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="592.5483" y2="612.5483"/><polygon fill="#A80036" points="263,602.5483,267,612.5483,271,602.5483,267,606.5483" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="526.8691" y2="558.5796"/><polygon fill="#A80036" points="263,548.5796,267,558.5796,271,548.5796,267,552.5796" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="807.8882" y2="817.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="481.5" y1="817.8882" y2="817.8882"/><polygon fill="#A80036" points="477.5,669.5327,481.5,659.5327,485.5,669.5327,481.5,665.5327" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="481.5" x2="481.5" y1="514.8691" y2="817.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="481.5" x2="347" y1="514.8691" y2="514.8691"/><polygon fill="#A80036" points="357,510.8691,347,514.8691,357,518.8691,353,514.8691" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="187" x2="32" y1="514.8691" y2="514.8691"/><polygon fill="#A80036" points="28,655.5327,32,665.5327,36,655.5327,32,659.5327" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="32" y1="514.8691" y2="829.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="267" y1="829.8882" y2="829.8882"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="829.8882" y2="888.9868"/><polygon fill="#A80036" points="263,878.9868,267,888.9868,271,878.9868,267,882.9868" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="443.7705" y2="502.8691"/><polygon fill="#A80036" points="263,492.8691,267,502.8691,271,492.8691,267,496.8691" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="922.9556" y2="942.9556"/><polygon fill="#A80036" points="263,932.9556,267,942.9556,271,932.9556,267,936.9556" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="267" x2="267" y1="976.9243" y2="1008.9243"/><polygon fill="#A80036" points="263,998.9243,267,1008.9243,271,998.9243,267,1002.9243" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\n_main()\n
-
-
-
-start
-partition "setup" {
-  :register to core event;
-  :execute setup callback;
-  note
-    must not loop!
-  endnote
-  :check returned event mask not to define the core event;
-  :suspend all child threads (if any, recursively);
-  :synchronize by calling ""urtCoreSynchronizeNdes()"";
-  :resume all child threads (if any, recusively);
-}
-partition "loop" {
-  while (Termination requested?) is (no)
-    :wait for any event;
-    if (Was not a core event?) then (yes)
-      :execute loop callback;
-      note
-        must not loop!
-      endnote
-      :check returned event mask not to define the core event;
-    else (no)
-    endif
-  endwhile (yes)
-}
-partition "outro" {
-  :unregister from core event;
-  :terminate thread;
-}
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/node/_main.uml b/doc/statediagrams/node/_main.uml
deleted file mode 100644
index da5d890..0000000
--- a/doc/statediagrams/node/_main.uml
+++ /dev/null
@@ -1,59 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\n_main()\n
-
-
-
-start
-partition "setup" {
-  :register to core event;
-  :execute setup callback;
-  note
-    must not loop!
-  endnote
-  :check returned event mask not to define the core event;
-  :suspend all child threads (if any, recursively);
-  :synchronize by calling ""urtCoreSynchronizeNdes()"";
-  :resume all child threads (if any, recusively);
-}
-partition "loop" {
-  while (Termination requested?) is (no)
-    :wait for any event;
-    if (Was not a core event?) then (yes)
-      :execute loop callback;
-      note
-        must not loop!
-      endnote
-      :check returned event mask not to define the core event;
-    else (no)
-    endif
-  endwhile (yes)
-}
-partition "outro" {
-  :unregister from core event;
-  :terminate thread;
-}
-stop
-
-@enduml
diff --git a/doc/statediagrams/node/urtNodeInit.svg b/doc/statediagrams/node/urtNodeInit.svg
deleted file mode 100644
index d711178..0000000
--- a/doc/statediagrams/node/urtNodeInit.svg
+++ /dev/null
@@ -1,28 +0,0 @@
-<?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="251px" preserveAspectRatio="none" style="width:413px;height:251px;" version="1.1" viewBox="0 0 413 251" width="413px" zoomAndPan="magnify"><defs><filter height="300%" id="f1fe41zbnav97i" 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="161.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="116" x="147.75" y="47.6611">urtNodeInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="208.75" y="68.6143"/><ellipse cx="291.5" cy="82.8594" fill="#000000" filter="url(#f1fe41zbnav97i)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,117.2773 L10,142.4102 A0,0 0 0 0 10,142.4102 L206,142.4102 A0,0 0 0 0 206,142.4102 L206,135.2773 L226,129.8438 L206,127.2773 L206,127.2773 L196,117.2773 L10,117.2773 A0,0 0 0 0 10,117.2773 " fill="#FBFB77" filter="url(#f1fe41zbnav97i)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M196,117.2773 L196,127.2773 L206,127.2773 L196,117.2773 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="175" x="16" y="134.3442">including the thread object!</text><rect fill="#FEFECE" filter="url(#f1fe41zbnav97i)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="226" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="236" y="133.998">initialize members</text><rect fill="#FEFECE" filter="url(#f1fe41zbnav97i)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="222" x="180.5" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="202" x="190.5" y="187.9668">insert self to core's list of nodes</text><ellipse cx="291.5" cy="230.7969" fill="none" filter="url(#f1fe41zbnav97i)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="292" cy="231.2969" fill="#000000" filter="url(#f1fe41zbnav97i)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="291.5" x2="291.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="287.5,102.8594,291.5,112.8594,295.5,102.8594,291.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="291.5" x2="291.5" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="287.5,156.8281,291.5,166.8281,295.5,156.8281,291.5,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="291.5" x2="291.5" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="287.5,210.7969,291.5,220.7969,295.5,210.7969,291.5,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtNodeInit()\n
-
-
-
-start
-:initialize members;
-note
-  including the thread object!
-endnote
-:insert self to core's list of nodes;
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/node/urtNodeInit.uml b/doc/statediagrams/node/urtNodeInit.uml
deleted file mode 100644
index 3a2781e..0000000
--- a/doc/statediagrams/node/urtNodeInit.uml
+++ /dev/null
@@ -1,36 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtNodeInit()\n
-
-
-
-start
-:initialize members;
-note
-  including the thread object!
-endnote
-:insert self to core's list of nodes;
-stop
-
-@enduml
diff --git a/doc/statediagrams/publisher/urtPublisherInit.svg b/doc/statediagrams/publisher/urtPublisherInit.svg
deleted file mode 100644
index add33a0..0000000
--- a/doc/statediagrams/publisher/urtPublisherInit.svg
+++ /dev/null
@@ -1,33 +0,0 @@
-<?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="554px" preserveAspectRatio="none" style="width:714px;height:554px;" version="1.1" viewBox="0 0 714 554" width="714px" zoomAndPan="magnify"><defs><filter height="300%" id="fghs0yzur5onb" 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="311.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="150" x="281" y="47.6611">urtPublisherInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="359" y="68.6143"/><ellipse cx="344" cy="82.8594" fill="#000000" filter="url(#fghs0yzur5onb)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fghs0yzur5onb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="278.5" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="288.5" y="133.998">initialize members</text><rect fill="#FEFECE" filter="url(#fghs0yzur5onb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="304" y="215.2305"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="314" y="236.3691">lock topic</text><rect fill="#FFFFFF" filter="url(#fghs0yzur5onb)" height="145.5859" style="stroke: #000000; stroke-width: 2.0;" width="668" x="10" y="260.001"/><path d="M167,261.001 L167,269.2979 L157,279.2979 L10,279.2979 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="13" y="273.9961">contribute messages</text><rect fill="#FEFECE" filter="url(#fghs0yzur5onb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="106.5" y="296.2979"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="116.5" y="317.4365">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="140.5" y="317.4365">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="172.5" y="317.4365">pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#fghs0yzur5onb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="648" x="20" y="359.6182"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="30" y="380.7568">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="54" y="380.7568">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="572" x="86" y="380.7568">pointer of last message to contribute to message formerly after the topic's latest message</text><rect fill="#FEFECE" filter="url(#fghs0yzur5onb)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="296" y="425.5869"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="306" y="446.7256">unlock topic</text><polygon fill="#FEFECE" filter="url(#fghs0yzur5onb)" points="274,166.8281,414,166.8281,426,178.8281,414,190.8281,274,190.8281,262,178.8281,274,166.8281" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="348" y="201.0386">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="274" y="182.6362">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="426" y="176.2339">no</text><polygon fill="#FEFECE" filter="url(#fghs0yzur5onb)" points="344,479.5557,356,491.5557,344,503.5557,332,491.5557,344,479.5557" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="344" cy="533.5557" fill="none" filter="url(#fghs0yzur5onb)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="344.5" cy="534.0557" fill="#000000" filter="url(#fghs0yzur5onb)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="340,102.8594,344,112.8594,348,102.8594,344,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="330.2666" y2="359.6182"/><polygon fill="#A80036" points="340,349.6182,344,359.6182,348,349.6182,344,353.6182" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="249.1992" y2="296.2979"/><polygon fill="#A80036" points="340,286.2979,344,296.2979,348,286.2979,344,290.2979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="393.5869" y2="425.5869"/><polygon fill="#A80036" points="340,415.5869,344,425.5869,348,415.5869,344,419.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="190.8281" y2="215.2305"/><polygon fill="#A80036" points="340,205.2305,344,215.2305,348,205.2305,344,209.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="426" x2="688" y1="178.8281" y2="178.8281"/><polygon fill="#A80036" points="684,329.6182,688,339.6182,692,329.6182,688,333.6182" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="688" x2="688" y1="178.8281" y2="491.5557"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="688" x2="356" y1="491.5557" y2="491.5557"/><polygon fill="#A80036" points="366,487.5557,356,491.5557,366,495.5557,362,491.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="459.5557" y2="479.5557"/><polygon fill="#A80036" points="340,469.5557,344,479.5557,348,469.5557,344,473.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="340,156.8281,344,166.8281,348,156.8281,344,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344" x2="344" y1="503.5557" y2="523.5557"/><polygon fill="#A80036" points="340,513.5557,344,523.5557,348,513.5557,344,517.5557" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtPublisherInit()\n
-
-
-
-start
-:initialize members;
-if (Messages to contribute?) then (yes)
-  :lock topic;
-  partition "contribute messages" {
-    :set ""next"" pointer of topic's latest message to first message to contribute;
-    :set ""next"" pointer of last message to contribute to message formerly after the topic's latest message;
-  }
-  :unlock topic;
-else (no)
-endif
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/publisher/urtPublisherInit.uml b/doc/statediagrams/publisher/urtPublisherInit.uml
deleted file mode 100644
index 366f1f8..0000000
--- a/doc/statediagrams/publisher/urtPublisherInit.uml
+++ /dev/null
@@ -1,41 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtPublisherInit()\n
-
-
-
-start
-:initialize members;
-if (Messages to contribute?) then (yes)
-  :lock topic;
-  partition "contribute messages" {
-    :set ""next"" pointer of topic's latest message to first message to contribute;
-    :set ""next"" pointer of last message to contribute to message formerly after the topic's latest message;
-  }
-  :unlock topic;
-else (no)
-endif
-stop
-
-@enduml
diff --git a/doc/statediagrams/publisher/urtPublisherPublish.svg b/doc/statediagrams/publisher/urtPublisherPublish.svg
deleted file mode 100644
index 90ffb37..0000000
--- a/doc/statediagrams/publisher/urtPublisherPublish.svg
+++ /dev/null
@@ -1,66 +0,0 @@
-<?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="933px" preserveAspectRatio="none" style="width:2508px;height:933px;" version="1.1" viewBox="0 0 2508 933" width="2508px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ns8p1bc9moh9" 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="1208.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="183" x="1161.5" y="47.6611">urtPublisherPublish()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1256" y="68.6143"/><ellipse cx="690" cy="82.8594" fill="#000000" filter="url(#f1ns8p1bc9moh9)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="650" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="660" y="133.998">lock topic</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="621.5" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="631.5" y="187.9668">lock next message</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="344" x="518" y="276.5073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="324" x="528" y="297.646">wait for condition variable to be signaled or timeout</text><polygon fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" points="542,220.7969,838,220.7969,850,232.7969,838,244.7969,542,244.7969,530,232.7969,542,220.7969" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="694" y="255.0073">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="296" x="542" y="236.605">HRT consumers left for the message &amp; no timeout?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="516" y="230.2026">no</text><polygon fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" points="637,352.4761,743,352.4761,755,364.4761,743,376.4761,637,376.4761,625,364.4761,637,352.4761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="637" y="368.2842">Timeout occurred?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="605" y="361.8818">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="755" y="361.8818">no</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="10" y="386.4761"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="20" y="407.6147">unlock message</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="23" y="455.4448"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="33" y="476.5835">unlock topic</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="24" y="524.4136"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="74" x="34" y="545.5522">return error</text><ellipse cx="71" cy="603.3823" fill="none" filter="url(#f1ns8p1bc9moh9)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="71.5" cy="603.8823" fill="#000000" filter="url(#f1ns8p1bc9moh9)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f1ns8p1bc9moh9)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2354" x="142" y="386.4761"/><rect fill="#000000" filter="url(#f1ns8p1bc9moh9)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="861" x="156" y="477.2808"/><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="170" y="503.2808"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="180" y="524.4194">iterate topic pointer to this message</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="102" x="449" y="503.2808"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="82" x="459" y="524.4194">copy payload</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="579" y="503.2808"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="90" x="589" y="524.4194">set origin time</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="717" y="503.2808"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="727" y="524.4194">set number of HRT consumers (from topic)</text><rect fill="#000000" filter="url(#f1ns8p1bc9moh9)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="861" x="156" y="557.2495"/><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="525.5" y="598.2495"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="535.5" y="619.3882">unlock message</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="398" x="1045" y="537.7651"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="378" x="1055" y="558.9038">set QoS rate timer (@topic) wrt. most critical HRT subscriber</text><path d="M1505,526.1011 L1505,551.2339 A0,0 0 0 0 1505,551.2339 L1994,551.2339 A0,0 0 0 0 1994,551.2339 L1994,544.1011 L2014,538.6675 L1994,536.1011 L1994,536.1011 L1984,526.1011 L1505,526.1011 A0,0 0 0 0 1505,526.1011 " fill="#FBFB77" filter="url(#f1ns8p1bc9moh9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1984,526.1011 L1984,536.1011 L1994,536.1011 L1984,526.1011 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="468" x="1511" y="543.168">no lock required since this timer is only accessed when the topic is locked</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="434" x="2014" y="521.6831"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="414" x="2024" y="542.8218">set QoS delay timer (@subscriber) wrt. origin time of the message</text><polygon fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" points="2101,473.2808,2361,473.2808,2373,485.2808,2361,497.2808,2101,497.2808,2089,485.2808,2101,473.2808" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2235" y="507.4912">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="260" x="2101" y="489.0889">QoS delay timer (@subscriber) is not armed?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2373" y="482.6865">no</text><polygon fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" points="2231,580.0542,2243,592.0542,2231,604.0542,2219,592.0542,2231,580.0542" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="2127" y="639.0542"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="188" x="2137" y="660.1929">iterate to next HRT subscriber</text><polygon fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" points="2170,412.4761,2292,412.4761,2304,424.4761,2292,436.4761,2170,436.4761,2158,424.4761,2170,412.4761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2235" y="446.6865">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="2170" y="428.2842">HRT subscribers left?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2144" y="421.8818">no</text><rect fill="#000000" filter="url(#f1ns8p1bc9moh9)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2354" x="142" y="715.0229"/><path d="M960.5,745.4409 L960.5,770.5737 A0,0 0 0 0 960.5,770.5737 L1259.5,770.5737 A0,0 0 0 0 1259.5,770.5737 L1259.5,763.4409 L1279.5,758.0073 L1259.5,755.4409 L1259.5,755.4409 L1249.5,745.4409 L960.5,745.4409 A0,0 0 0 0 960.5,745.4409 " fill="#FBFB77" filter="url(#f1ns8p1bc9moh9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1249.5,745.4409 L1249.5,755.4409 L1259.5,755.4409 L1249.5,745.4409 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="278" x="966.5" y="762.5078">must be within lock because of HRT counter</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="1279.5" y="741.0229"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="1289.5" y="762.1616">fire event</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1271" y="794.9917"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1281" y="816.1304">unlock topic</text><rect fill="#FEFECE" filter="url(#f1ns8p1bc9moh9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1262" y="848.9604"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="94" x="1272" y="870.0991">return success</text><ellipse cx="1319" cy="912.9292" fill="none" filter="url(#f1ns8p1bc9moh9)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1319.5" cy="913.4292" fill="#000000" filter="url(#f1ns8p1bc9moh9)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="690" x2="690" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="686,102.8594,690,112.8594,694,102.8594,690,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="690" x2="690" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="686,156.8281,690,166.8281,694,156.8281,690,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="690" x2="690" y1="244.7969" y2="276.5073"/><polygon fill="#A80036" points="686,266.5073,690,276.5073,694,266.5073,690,270.5073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="690" x2="690" y1="310.4761" y2="320.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="690" x2="874" y1="320.4761" y2="320.4761"/><polygon fill="#A80036" points="870,285.0894,874,275.0894,878,285.0894,874,281.0894" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="874" x2="874" y1="232.7969" y2="320.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="874" x2="850" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="860,228.7969,850,232.7969,860,236.7969,856,232.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="530" x2="506" y1="232.7969" y2="232.7969"/><polygon fill="#A80036" points="502,271.0894,506,281.0894,510,271.0894,506,275.0894" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="506" x2="506" y1="232.7969" y2="332.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="506" x2="690" y1="332.4761" y2="332.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="690" x2="690" y1="332.4761" y2="352.4761"/><polygon fill="#A80036" points="686,342.4761,690,352.4761,694,342.4761,690,346.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="690" x2="690" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="686,210.7969,690,220.7969,694,210.7969,690,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="420.4448" y2="455.4448"/><polygon fill="#A80036" points="67,445.4448,71,455.4448,75,445.4448,71,449.4448" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="489.4136" y2="524.4136"/><polygon fill="#A80036" points="67,514.4136,71,524.4136,75,514.4136,71,518.4136" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="558.3823" y2="593.3823"/><polygon fill="#A80036" points="67,583.3823,71,593.3823,75,583.3823,71,587.3823" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="295.5" x2="295.5" y1="483.2808" y2="503.2808"/><polygon fill="#A80036" points="291.5,493.2808,295.5,503.2808,299.5,493.2808,295.5,497.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="500" x2="500" y1="483.2808" y2="503.2808"/><polygon fill="#A80036" points="496,493.2808,500,503.2808,504,493.2808,500,497.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="634" x2="634" y1="483.2808" y2="503.2808"/><polygon fill="#A80036" points="630,493.2808,634,503.2808,638,493.2808,634,497.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="860" y1="483.2808" y2="503.2808"/><polygon fill="#A80036" points="856,493.2808,860,503.2808,864,493.2808,860,497.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="295.5" x2="295.5" y1="537.2495" y2="557.2495"/><polygon fill="#A80036" points="291.5,547.2495,295.5,557.2495,299.5,547.2495,295.5,551.2495" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="500" x2="500" y1="537.2495" y2="557.2495"/><polygon fill="#A80036" points="496,547.2495,500,557.2495,504,547.2495,500,551.2495" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="634" x2="634" y1="537.2495" y2="557.2495"/><polygon fill="#A80036" points="630,547.2495,634,557.2495,638,547.2495,634,551.2495" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="860" y1="537.2495" y2="557.2495"/><polygon fill="#A80036" points="856,547.2495,860,557.2495,864,547.2495,860,551.2495" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.5" x2="586.5" y1="563.2495" y2="598.2495"/><polygon fill="#A80036" points="582.5,588.2495,586.5,598.2495,590.5,588.2495,586.5,592.2495" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2231" y1="497.2808" y2="521.6831"/><polygon fill="#A80036" points="2227,511.6831,2231,521.6831,2235,511.6831,2231,515.6831" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2373" x2="2458" y1="485.2808" y2="485.2808"/><polygon fill="#A80036" points="2454,528.6675,2458,538.6675,2462,528.6675,2458,532.6675" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2458" x2="2458" y1="485.2808" y2="592.0542"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2458" x2="2243" y1="592.0542" y2="592.0542"/><polygon fill="#A80036" points="2253,588.0542,2243,592.0542,2253,596.0542,2249,592.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2231" y1="555.6519" y2="580.0542"/><polygon fill="#A80036" points="2227,570.0542,2231,580.0542,2235,570.0542,2231,574.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2231" y1="604.0542" y2="639.0542"/><polygon fill="#A80036" points="2227,629.0542,2231,639.0542,2235,629.0542,2231,633.0542" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2231" y1="436.4761" y2="473.2808"/><polygon fill="#A80036" points="2227,463.2808,2231,473.2808,2235,463.2808,2231,467.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2231" y1="673.0229" y2="683.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2482" y1="683.0229" y2="683.0229"/><polygon fill="#A80036" points="2478,564.7495,2482,554.7495,2486,564.7495,2482,560.7495" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2482" x2="2482" y1="424.4761" y2="683.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2482" x2="2304" y1="424.4761" y2="424.4761"/><polygon fill="#A80036" points="2314,420.4761,2304,424.4761,2314,428.4761,2310,424.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2158" x2="1483" y1="424.4761" y2="424.4761"/><polygon fill="#A80036" points="1479,550.7495,1483,560.7495,1487,550.7495,1483,554.7495" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1483" x2="1483" y1="424.4761" y2="695.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1483" x2="2231" y1="695.0229" y2="695.0229"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2231" y1="695.0229" y2="715.0229"/><polygon fill="#A80036" points="2227,705.0229,2231,715.0229,2235,705.0229,2231,709.0229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.5" x2="586.5" y1="392.4761" y2="477.2808"/><polygon fill="#A80036" points="582.5,467.2808,586.5,477.2808,590.5,467.2808,586.5,471.2808" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1244" x2="1244" y1="392.4761" y2="537.7651"/><polygon fill="#A80036" points="1240,527.7651,1244,537.7651,1248,527.7651,1244,531.7651" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2231" x2="2231" y1="392.4761" y2="412.4761"/><polygon fill="#A80036" points="2227,402.4761,2231,412.4761,2235,402.4761,2231,406.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="586.5" x2="586.5" y1="632.2183" y2="715.0229"/><polygon fill="#A80036" points="582.5,705.0229,586.5,715.0229,590.5,705.0229,586.5,709.0229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1244" x2="1244" y1="571.7339" y2="715.0229"/><polygon fill="#A80036" points="1240,705.0229,1244,715.0229,1248,705.0229,1244,709.0229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319" x2="1319" y1="721.0229" y2="741.0229"/><polygon fill="#A80036" points="1315,731.0229,1319,741.0229,1323,731.0229,1319,735.0229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319" x2="1319" y1="774.9917" y2="794.9917"/><polygon fill="#A80036" points="1315,784.9917,1319,794.9917,1323,784.9917,1319,788.9917" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319" x2="1319" y1="828.9604" y2="848.9604"/><polygon fill="#A80036" points="1315,838.9604,1319,848.9604,1323,838.9604,1319,842.9604" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319" x2="1319" y1="882.9292" y2="902.9292"/><polygon fill="#A80036" points="1315,892.9292,1319,902.9292,1323,892.9292,1319,896.9292" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="625" x2="71" y1="364.4761" y2="364.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="71" x2="71" y1="364.4761" y2="386.4761"/><polygon fill="#A80036" points="67,376.4761,71,386.4761,75,376.4761,71,380.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="755" x2="1319" y1="364.4761" y2="364.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319" x2="1319" y1="364.4761" y2="386.4761"/><polygon fill="#A80036" points="1315,376.4761,1319,386.4761,1323,376.4761,1319,380.4761" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtPublisherPublish()\n
-
-
-
-start
-:lock topic;
-:lock next message;
-while (HRT consumers left for the message & no timeout?) is (yes)
-  :wait for condition variable to be signaled or timeout;
-endwhile (no)
-if (Timeout occurred?) then (yes)
-  :unlock message;
-  :unlock topic;
-  :return error;
-  stop
-else (no)
-  fork
-    fork
-      :iterate topic pointer to this message;
-    fork again
-      :copy payload;
-    fork again
-      :set origin time;
-    fork again
-      :set number of HRT consumers (from topic);
-    endfork
-    :unlock message;
-  fork again
-    :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
-  fork again
-    while (HRT subscribers left?) is (yes)
-      if (QoS delay timer (@subscriber) is not armed?) then (yes)
-        :set QoS delay timer (@subscriber) wrt. origin time of the message;
-        note
-          no lock required since this timer is only accessed when the topic is locked
-        endnote
-      else (no)
-      endif
-      :iterate to next HRT subscriber;
-    endwhile (no)
-  endfork
-  :fire event;
-  note
-    must be within lock because of HRT counter
-  endnote
-  :unlock topic;
-  :return success;
-  stop
-endif
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/publisher/urtPublisherPublish.uml b/doc/statediagrams/publisher/urtPublisherPublish.uml
deleted file mode 100644
index d9328d2..0000000
--- a/doc/statediagrams/publisher/urtPublisherPublish.uml
+++ /dev/null
@@ -1,74 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtPublisherPublish()\n
-
-
-
-start
-:lock topic;
-:lock next message;
-while (HRT consumers left for the message & no timeout?) is (yes)
-  :wait for condition variable to be signaled or timeout;
-endwhile (no)
-if (Timeout occurred?) then (yes)
-  :unlock message;
-  :unlock topic;
-  :return error;
-  stop
-else (no)
-  fork
-    fork
-      :iterate topic pointer to this message;
-    fork again
-      :copy payload;
-    fork again
-      :set origin time;
-    fork again
-      :set number of HRT consumers (from topic);
-    endfork
-    :unlock message;
-  fork again
-    :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
-  fork again
-    while (HRT subscribers left?) is (yes)
-      if (QoS delay timer (@subscriber) is not armed?) then (yes)
-        :set QoS delay timer (@subscriber) wrt. origin time of the message;
-        note
-          no lock required since this timer is only accessed when the topic is locked
-        endnote
-      else (no)
-      endif
-      :iterate to next HRT subscriber;
-    endwhile (no)
-  endfork
-  :fire event;
-  note
-    must be within lock because of HRT counter
-  endnote
-  :unlock topic;
-  :return success;
-  stop
-endif
-
-@enduml
diff --git a/doc/statediagrams/subscriber/urtSubscriberFetchMessage.svg b/doc/statediagrams/subscriber/urtSubscriberFetchMessage.svg
deleted file mode 100644
index 84f96d4..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberFetchMessage.svg
+++ /dev/null
@@ -1,115 +0,0 @@
-<?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="1548px" preserveAspectRatio="none" style="width:2068px;height:1548px;" version="1.1" viewBox="0 0 2068 1548" width="2068px" zoomAndPan="magnify"><defs><filter height="300%" id="fdtyyj52i0mr8" 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="988.75" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="256" x="905.25" y="47.6611">urtSubscriberFetchMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1036.25" y="68.6143"/><path d="M1096.25,72.8594 L1096.25,97.9922 A0,0 0 0 0 1096.25,97.9922 L1211.25,97.9922 A0,0 0 0 0 1211.25,97.9922 L1211.25,90.8594 L1231.25,85.4258 L1211.25,82.8594 L1211.25,82.8594 L1201.25,72.8594 L1096.25,72.8594 A0,0 0 0 0 1096.25,72.8594 " fill="#FBFB77" filter="url(#fdtyyj52i0mr8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1201.25,72.8594 L1201.25,82.8594 L1211.25,82.8594 L1201.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="1102.25" y="89.9263">event received</text><ellipse cx="1241.25" cy="85.4258" fill="#000000" filter="url(#fdtyyj52i0mr8)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M798.25,122.4102 L798.25,147.543 A0,0 0 0 0 798.25,147.543 L1181.25,147.543 A0,0 0 0 0 1181.25,147.543 L1181.25,140.4102 L1201.25,134.9766 L1181.25,132.4102 L1181.25,132.4102 L1171.25,122.4102 L798.25,122.4102 A0,0 0 0 0 798.25,122.4102 " fill="#FBFB77" filter="url(#fdtyyj52i0mr8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1171.25,122.4102 L1171.25,132.4102 L1181.25,132.4102 L1171.25,122.4102 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="362" x="804.25" y="139.4771">The message list is part of the topic and must be locked.</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1201.25" y="117.9922"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1211.25" y="139.1309">lock topic</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1187.75,171.9609,1294.75,171.9609,1306.75,183.9609,1294.75,195.9609,1187.75,195.9609,1175.75,183.9609,1187.75,171.9609" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="107" x="1187.75" y="187.769">Is HRT subscriber?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1155.75" y="181.3667">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1306.75" y="181.3667">no</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="636.5" y="205.9609"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="646.5" y="227.0996">lock next message</text><rect fill="#FFFFFF" filter="url(#fdtyyj52i0mr8)" height="465.9175" style="stroke: #000000; stroke-width: 2.0;" width="1387" x="10" y="306.4419"/><path d="M124,307.4419 L124,315.7388 L114,325.7388 L10,325.7388 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="13" y="320.437">iterate to latest</text><path d="M413.5,347.1567 L413.5,372.2896 A0,0 0 0 0 413.5,372.2896 L616.5,372.2896 A0,0 0 0 0 616.5,372.2896 L616.5,365.1567 L636.5,359.7231 L616.5,357.1567 L616.5,357.1567 L606.5,347.1567 L413.5,347.1567 A0,0 0 0 0 413.5,347.1567 " fill="#FBFB77" filter="url(#fdtyyj52i0mr8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M606.5,347.1567 L606.5,357.1567 L616.5,357.1567 L606.5,347.1567 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="419.5" y="364.2236">locked two messaged ahead</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="636.5" y="342.7388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="646.5" y="363.8774">lock next message</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1322" x="44" y="452.418"/><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1129" x="58" y="478.418"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="304" x="72" y="504.418"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="284" x="82" y="525.5566">decremenet HRT counter of current message</text><path d="M404,508.8359 L404,533.9688 A0,0 0 0 0 404,533.9688 L893,533.9688 A0,0 0 0 0 893,533.9688 L893,526.8359 L913,521.4023 L893,518.8359 L893,518.8359 L883,508.8359 L404,508.8359 A0,0 0 0 0 404,508.8359 " fill="#FBFB77" filter="url(#fdtyyj52i0mr8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M883,508.8359 L883,518.8359 L893,518.8359 L883,508.8359 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="468" x="410" y="525.9028">no lock required since this timer is only accessed when the topic is locked</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="913" y="504.418"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="240" x="923" y="525.5566">update QoS delay timer (@subscriber)</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1129" x="58" y="558.3867"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="172" x="536.5" y="594.8711"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="546.5" y="616.0098">unlock current message</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="1215" y="538.9023"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1225" y="560.041">lock next message</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1322" x="44" y="648.8398"/><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="551,396.7075,859,396.7075,871,408.7075,859,420.7075,551,420.7075,539,408.7075,551,396.7075" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="709" y="430.918">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="308" x="551" y="412.5156">Timestamp of next message is younger than current?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="525" y="406.1133">no</text><path d="M345.5,712.0938 L345.5,752.3594 A0,0 0 0 0 345.5,752.3594 L608.5,752.3594 A0,0 0 0 0 608.5,752.3594 L608.5,736.2266 L628.5,732.2266 L608.5,728.2266 L608.5,722.0938 L598.5,712.0938 L345.5,712.0938 A0,0 0 0 0 345.5,712.0938 " fill="#FBFB77" filter="url(#fdtyyj52i0mr8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M598.5,712.0938 L598.5,722.0938 L608.5,722.0938 L598.5,712.0938 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="201" x="351.5" y="729.1606">one message ahead still locked</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="242" x="351.5" y="744.2935">but HRT counter not yet decremented</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="628.5" y="715.2422"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="133" x="638.5" y="736.3809">unlock next message</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="618.5,259.9297,791.5,259.9297,803.5,271.9297,791.5,283.9297,618.5,283.9297,606.5,271.9297,618.5,259.9297" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="709" y="294.1401">latest</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="618.5" y="275.7378">Fetch next or latest message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="803.5" y="269.3354">next</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="705,796.7617,717,808.7617,705,820.7617,693,808.7617,705,796.7617" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1121" x="144.5" y="855.7617"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="296" x="158.5" y="881.7617"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="276" x="168.5" y="902.9004">decrement HRT counter of current message</text><path d="M482.5,886.1797 L482.5,911.3125 A0,0 0 0 0 482.5,911.3125 L971.5,911.3125 A0,0 0 0 0 971.5,911.3125 L971.5,904.1797 L991.5,898.7461 L971.5,896.1797 L971.5,896.1797 L961.5,886.1797 L482.5,886.1797 A0,0 0 0 0 482.5,886.1797 " fill="#FBFB77" filter="url(#fdtyyj52i0mr8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M961.5,886.1797 L961.5,896.1797 L971.5,896.1797 L961.5,886.1797 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="468" x="488.5" y="903.2466">no lock required since this timer is only accessed when the topic is locked</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="991.5" y="881.7617"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="240" x="1001.5" y="902.9004">update QoS delay timer (@subscriber)</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1121" x="144.5" y="935.7305"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="166" x="1694.5" y="205.9609"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="146" x="1704.5" y="227.0996">lock last read message</text><rect fill="#FFFFFF" filter="url(#fdtyyj52i0mr8)" height="340.3979" style="stroke: #000000; stroke-width: 2.0;" width="516" x="1516.5" y="306.4419"/><path d="M1700.5,307.4419 L1700.5,315.7388 L1690.5,325.7388 L1516.5,325.7388 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="174" x="1519.5" y="320.437">find oldest valid message</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="1709" y="342.7388"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1719" y="363.8774">lock next message</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="454" x="1550.5" y="452.418"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="1564.5" y="478.418"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="145" x="1574.5" y="499.5566">unlock current mesage</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="233" x="1757.5" y="478.418"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="213" x="1767.5" y="499.5566">lock one message further ahaead</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="454" x="1550.5" y="532.3867"/><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1644.5,396.7075,1910.5,396.7075,1922.5,408.7075,1910.5,420.7075,1644.5,420.7075,1632.5,408.7075,1644.5,396.7075" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1781.5" y="430.918">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="1644.5" y="412.5156">Timestamp of next is younger then of current?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1618.5" y="406.1133">no</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="1701" y="592.8711"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="133" x="1711" y="614.0098">unlock next message</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1691.5,259.9297,1863.5,259.9297,1875.5,271.9297,1863.5,283.9297,1691.5,283.9297,1679.5,271.9297,1691.5,259.9297" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1781.5" y="294.1401">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="1691.5" y="275.7378">Timestamp equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1875.5" y="269.3354">yes</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1777.5,671.2422,1789.5,683.2422,1777.5,695.2422,1765.5,683.2422,1777.5,671.2422" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FFFFFF" filter="url(#fdtyyj52i0mr8)" height="340.0078" style="stroke: #000000; stroke-width: 2.0;" width="542" x="1449" y="776.8984"/><path d="M1563,777.8984 L1563,786.1953 L1553,796.1953 L1449,796.1953 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="1452" y="790.8936">iterate to latest</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="1709" y="813.1953"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1719" y="834.334">lock next message</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="365" x="1595" y="942.9688"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="172" x="1609" y="968.9688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="152" x="1619" y="990.1074">unlock current message</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="1809" y="968.9688"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="117" x="1819" y="990.1074">lock next message</text><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="365" x="1595" y="1022.9375"/><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1623.5,882.1641,1931.5,882.1641,1943.5,894.1641,1931.5,906.1641,1623.5,906.1641,1611.5,894.1641,1623.5,882.1641" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1781.5" y="916.3745">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="308" x="1623.5" y="897.9722">Timestamp of next message is younger then current?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1597.5" y="891.5698">no</text><path d="M1459,1075.3555 L1459,1100.4883 A0,0 0 0 0 1459,1100.4883 L1681,1100.4883 A0,0 0 0 0 1681,1100.4883 L1681,1093.3555 L1701,1087.9219 L1681,1085.3555 L1681,1085.3555 L1671,1075.3555 L1459,1075.3555 A0,0 0 0 0 1459,1075.3555 " fill="#FBFB77" filter="url(#fdtyyj52i0mr8)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1671,1075.3555 L1671,1085.3555 L1681,1085.3555 L1671,1075.3555 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="201" x="1465" y="1092.4224">one message ahead still locked</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="1701" y="1070.9375"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="133" x="1711" y="1092.0762">unlock next message</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1691,728.4961,1864,728.4961,1876,740.4961,1864,752.4961,1691,752.4961,1679,740.4961,1691,728.4961" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="1781.5" y="762.7065">latest</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="1691" y="744.3042">Fetch next or latest message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="1876" y="737.9019">next</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1777.5,1136.9063,1789.5,1148.9063,1777.5,1160.9063,1765.5,1148.9063,1777.5,1136.9063" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1241.25,1166.9063,1253.25,1178.9063,1241.25,1190.9063,1229.25,1178.9063,1241.25,1166.9063" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="827" x="827.75" y="1210.9063"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="352" x="841.75" y="1285.3086"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="332" x="851.75" y="1306.4473">set last fetched message pointer to locked message</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="196" x="1221.75" y="1285.3086"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="176" x="1231.75" y="1306.4473">copy timestamp of message</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="1455.75" y="1285.3086"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="1465.75" y="1306.4473">copy message payload</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1457.75,1236.9063,1616.75,1236.9063,1628.75,1248.9063,1616.75,1260.9063,1457.75,1260.9063,1445.75,1248.9063,1457.75,1236.9063" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1541.25" y="1271.1167">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="159" x="1457.75" y="1252.7144">Copy of payload requested?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1628.75" y="1246.312">no</text><polygon fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" points="1537.25,1339.2773,1549.25,1351.2773,1537.25,1363.2773,1525.25,1351.2773,1537.25,1339.2773" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fdtyyj52i0mr8)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="827" x="827.75" y="1383.2773"/><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="1180.25" y="1409.2773"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="1190.25" y="1430.416">unlock message</text><rect fill="#FEFECE" filter="url(#fdtyyj52i0mr8)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1193.25" y="1463.2461"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1203.25" y="1484.3848">unlock topic</text><ellipse cx="1241.25" cy="1527.2148" fill="none" filter="url(#fdtyyj52i0mr8)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1241.75" cy="1527.7148" fill="#000000" filter="url(#fdtyyj52i0mr8)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241.25" x2="1241.25" y1="95.4258" y2="117.9922"/><polygon fill="#A80036" points="1237.25,107.9922,1241.25,117.9922,1245.25,107.9922,1241.25,111.9922" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="224" x2="224" y1="484.418" y2="504.418"/><polygon fill="#A80036" points="220,494.418,224,504.418,228,494.418,224,498.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1043" x2="1043" y1="484.418" y2="504.418"/><polygon fill="#A80036" points="1039,494.418,1043,504.418,1047,494.418,1043,498.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="224" x2="224" y1="538.3867" y2="558.3867"/><polygon fill="#A80036" points="220,548.3867,224,558.3867,228,548.3867,224,552.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1043" x2="1043" y1="538.3867" y2="558.3867"/><polygon fill="#A80036" points="1039,548.3867,1043,558.3867,1047,548.3867,1043,552.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="622.5" x2="622.5" y1="564.3867" y2="594.8711"/><polygon fill="#A80036" points="618.5,584.8711,622.5,594.8711,626.5,584.8711,622.5,588.8711" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="622.5" x2="622.5" y1="458.418" y2="478.418"/><polygon fill="#A80036" points="618.5,468.418,622.5,478.418,626.5,468.418,622.5,472.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1283.5" x2="1283.5" y1="458.418" y2="538.9023"/><polygon fill="#A80036" points="1279.5,528.9023,1283.5,538.9023,1287.5,528.9023,1283.5,532.9023" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="622.5" x2="622.5" y1="628.8398" y2="648.8398"/><polygon fill="#A80036" points="618.5,638.8398,622.5,648.8398,626.5,638.8398,622.5,642.8398" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1283.5" x2="1283.5" y1="572.8711" y2="648.8398"/><polygon fill="#A80036" points="1279.5,638.8398,1283.5,648.8398,1287.5,638.8398,1283.5,642.8398" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="420.7075" y2="452.418"/><polygon fill="#A80036" points="701,442.418,705,452.418,709,442.418,705,446.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="654.8398" y2="666.8398"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="1378" y1="666.8398" y2="666.8398"/><polygon fill="#A80036" points="1374,547.4844,1378,537.4844,1382,547.4844,1378,543.4844" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1378" x2="1378" y1="408.7075" y2="666.8398"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1378" x2="871" y1="408.7075" y2="408.7075"/><polygon fill="#A80036" points="881,404.7075,871,408.7075,881,412.7075,877,408.7075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="539" x2="32" y1="408.7075" y2="408.7075"/><polygon fill="#A80036" points="28,533.4844,32,543.4844,36,533.4844,32,537.4844" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="32" y1="408.7075" y2="678.8398"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="705" y1="678.8398" y2="678.8398"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="678.8398" y2="715.2422"/><polygon fill="#A80036" points="701,705.2422,705,715.2422,709,705.2422,705,709.2422" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="376.7075" y2="396.7075"/><polygon fill="#A80036" points="701,386.7075,705,396.7075,709,386.7075,705,390.7075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="283.9297" y2="342.7388"/><polygon fill="#A80036" points="701,332.7388,705,342.7388,709,332.7388,705,336.7388" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.5" x2="1407" y1="271.9297" y2="271.9297"/><polygon fill="#A80036" points="1403,522.4844,1407,532.4844,1411,522.4844,1407,526.4844" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1407" x2="1407" y1="271.9297" y2="808.7617"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1407" x2="717" y1="808.7617" y2="808.7617"/><polygon fill="#A80036" points="727,804.7617,717,808.7617,727,812.7617,723,808.7617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="749.2109" y2="796.7617"/><polygon fill="#A80036" points="701,786.7617,705,796.7617,709,786.7617,705,790.7617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="239.9297" y2="259.9297"/><polygon fill="#A80036" points="701,249.9297,705,259.9297,709,249.9297,705,253.9297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306.5" x2="306.5" y1="861.7617" y2="881.7617"/><polygon fill="#A80036" points="302.5,871.7617,306.5,881.7617,310.5,871.7617,306.5,875.7617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1121.5" x2="1121.5" y1="861.7617" y2="881.7617"/><polygon fill="#A80036" points="1117.5,871.7617,1121.5,881.7617,1125.5,871.7617,1121.5,875.7617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306.5" x2="306.5" y1="915.7305" y2="935.7305"/><polygon fill="#A80036" points="302.5,925.7305,306.5,935.7305,310.5,925.7305,306.5,929.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1121.5" x2="1121.5" y1="915.7305" y2="935.7305"/><polygon fill="#A80036" points="1117.5,925.7305,1121.5,935.7305,1125.5,925.7305,1121.5,929.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="820.7617" y2="855.7617"/><polygon fill="#A80036" points="701,845.7617,705,855.7617,709,845.7617,705,849.7617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1647" x2="1647" y1="458.418" y2="478.418"/><polygon fill="#A80036" points="1643,468.418,1647,478.418,1651,468.418,1647,472.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1874" x2="1874" y1="458.418" y2="478.418"/><polygon fill="#A80036" points="1870,468.418,1874,478.418,1878,468.418,1874,472.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1647" x2="1647" y1="512.3867" y2="532.3867"/><polygon fill="#A80036" points="1643,522.3867,1647,532.3867,1651,522.3867,1647,526.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1874" x2="1874" y1="512.3867" y2="532.3867"/><polygon fill="#A80036" points="1870,522.3867,1874,532.3867,1878,522.3867,1874,526.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="420.7075" y2="452.418"/><polygon fill="#A80036" points="1773.5,442.418,1777.5,452.418,1781.5,442.418,1777.5,446.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="538.3867" y2="550.3867"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="2016.5" y1="550.3867" y2="550.3867"/><polygon fill="#A80036" points="2012.5,487,2016.5,477,2020.5,487,2016.5,483" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2016.5" x2="2016.5" y1="408.7075" y2="550.3867"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2016.5" x2="1922.5" y1="408.7075" y2="408.7075"/><polygon fill="#A80036" points="1932.5,404.7075,1922.5,408.7075,1932.5,412.7075,1928.5,408.7075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1632.5" x2="1538.5" y1="408.7075" y2="408.7075"/><polygon fill="#A80036" points="1534.5,473,1538.5,483,1542.5,473,1538.5,477" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1538.5" x2="1538.5" y1="408.7075" y2="562.3867"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1538.5" x2="1777.5" y1="562.3867" y2="562.3867"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="562.3867" y2="592.8711"/><polygon fill="#A80036" points="1773.5,582.8711,1777.5,592.8711,1781.5,582.8711,1777.5,586.8711" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="376.7075" y2="396.7075"/><polygon fill="#A80036" points="1773.5,386.7075,1777.5,396.7075,1781.5,386.7075,1777.5,390.7075" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="283.9297" y2="342.7388"/><polygon fill="#A80036" points="1773.5,332.7388,1777.5,342.7388,1781.5,332.7388,1777.5,336.7388" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1875.5" x2="2042.5" y1="271.9297" y2="271.9297"/><polygon fill="#A80036" points="2038.5,458.8516,2042.5,468.8516,2046.5,458.8516,2042.5,462.8516" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2042.5" x2="2042.5" y1="271.9297" y2="683.2422"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2042.5" x2="1789.5" y1="683.2422" y2="683.2422"/><polygon fill="#A80036" points="1799.5,679.2422,1789.5,683.2422,1799.5,687.2422,1795.5,683.2422" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="626.8398" y2="671.2422"/><polygon fill="#A80036" points="1773.5,661.2422,1777.5,671.2422,1781.5,661.2422,1777.5,665.2422" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="239.9297" y2="259.9297"/><polygon fill="#A80036" points="1773.5,249.9297,1777.5,259.9297,1781.5,249.9297,1777.5,253.9297" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1695" x2="1695" y1="948.9688" y2="968.9688"/><polygon fill="#A80036" points="1691,958.9688,1695,968.9688,1699,958.9688,1695,962.9688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1877.5" x2="1877.5" y1="948.9688" y2="968.9688"/><polygon fill="#A80036" points="1873.5,958.9688,1877.5,968.9688,1881.5,958.9688,1877.5,962.9688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1695" x2="1695" y1="1002.9375" y2="1022.9375"/><polygon fill="#A80036" points="1691,1012.9375,1695,1022.9375,1699,1012.9375,1695,1016.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1877.5" x2="1877.5" y1="1002.9375" y2="1022.9375"/><polygon fill="#A80036" points="1873.5,1012.9375,1877.5,1022.9375,1881.5,1012.9375,1877.5,1016.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="906.1641" y2="942.9688"/><polygon fill="#A80036" points="1773.5,932.9688,1777.5,942.9688,1781.5,932.9688,1777.5,936.9688" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="1028.9375" y2="1038.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1972" y1="1038.9375" y2="1038.9375"/><polygon fill="#A80036" points="1968,977.5508,1972,967.5508,1976,977.5508,1972,973.5508" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1972" x2="1972" y1="894.1641" y2="1038.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1972" x2="1943.5" y1="894.1641" y2="894.1641"/><polygon fill="#A80036" points="1953.5,890.1641,1943.5,894.1641,1953.5,898.1641,1949.5,894.1641" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1611.5" x2="1583" y1="894.1641" y2="894.1641"/><polygon fill="#A80036" points="1579,963.5508,1583,973.5508,1587,963.5508,1583,967.5508" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1583" x2="1583" y1="894.1641" y2="1050.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1583" x2="1777.5" y1="1050.9375" y2="1050.9375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="1050.9375" y2="1070.9375"/><polygon fill="#A80036" points="1773.5,1060.9375,1777.5,1070.9375,1781.5,1060.9375,1777.5,1064.9375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="847.1641" y2="882.1641"/><polygon fill="#A80036" points="1773.5,872.1641,1777.5,882.1641,1781.5,872.1641,1777.5,876.1641" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="752.4961" y2="813.1953"/><polygon fill="#A80036" points="1773.5,803.1953,1777.5,813.1953,1781.5,803.1953,1777.5,807.1953" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1876" x2="2001" y1="740.4961" y2="740.4961"/><polygon fill="#A80036" points="1997,949.4023,2001,959.4023,2005,949.4023,2001,953.4023" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2001" x2="2001" y1="740.4961" y2="1148.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2001" x2="1789.5" y1="1148.9063" y2="1148.9063"/><polygon fill="#A80036" points="1799.5,1144.9063,1789.5,1148.9063,1799.5,1152.9063,1795.5,1148.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="1104.9063" y2="1136.9063"/><polygon fill="#A80036" points="1773.5,1126.9063,1777.5,1136.9063,1781.5,1126.9063,1777.5,1130.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="695.2422" y2="728.4961"/><polygon fill="#A80036" points="1773.5,718.4961,1777.5,728.4961,1781.5,718.4961,1777.5,722.4961" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1175.75" x2="705" y1="183.9609" y2="183.9609"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="183.9609" y2="205.9609"/><polygon fill="#A80036" points="701,195.9609,705,205.9609,709,195.9609,705,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1306.75" x2="1777.5" y1="183.9609" y2="183.9609"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="183.9609" y2="205.9609"/><polygon fill="#A80036" points="1773.5,195.9609,1777.5,205.9609,1781.5,195.9609,1777.5,199.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="705" y1="941.7305" y2="1178.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="705" x2="1229.25" y1="1178.9063" y2="1178.9063"/><polygon fill="#A80036" points="1219.25,1174.9063,1229.25,1178.9063,1219.25,1182.9063,1223.25,1178.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1777.5" y1="1160.9063" y2="1178.9063"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1777.5" x2="1253.25" y1="1178.9063" y2="1178.9063"/><polygon fill="#A80036" points="1263.25,1174.9063,1253.25,1178.9063,1263.25,1182.9063,1259.25,1178.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241.25" x2="1241.25" y1="151.9609" y2="171.9609"/><polygon fill="#A80036" points="1237.25,161.9609,1241.25,171.9609,1245.25,161.9609,1241.25,165.9609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1537.25" x2="1537.25" y1="1260.9063" y2="1285.3086"/><polygon fill="#A80036" points="1533.25,1275.3086,1537.25,1285.3086,1541.25,1275.3086,1537.25,1279.3086" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1628.75" x2="1640.75" y1="1248.9063" y2="1248.9063"/><polygon fill="#A80036" points="1636.75,1292.293,1640.75,1302.293,1644.75,1292.293,1640.75,1296.293" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1640.75" x2="1640.75" y1="1248.9063" y2="1351.2773"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1640.75" x2="1549.25" y1="1351.2773" y2="1351.2773"/><polygon fill="#A80036" points="1559.25,1347.2773,1549.25,1351.2773,1559.25,1355.2773,1555.25,1351.2773" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1537.25" x2="1537.25" y1="1319.2773" y2="1339.2773"/><polygon fill="#A80036" points="1533.25,1329.2773,1537.25,1339.2773,1541.25,1329.2773,1537.25,1333.2773" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1017.75" x2="1017.75" y1="1216.9063" y2="1285.3086"/><polygon fill="#A80036" points="1013.75,1275.3086,1017.75,1285.3086,1021.75,1275.3086,1017.75,1279.3086" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319.75" x2="1319.75" y1="1216.9063" y2="1285.3086"/><polygon fill="#A80036" points="1315.75,1275.3086,1319.75,1285.3086,1323.75,1275.3086,1319.75,1279.3086" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1537.25" x2="1537.25" y1="1216.9063" y2="1236.9063"/><polygon fill="#A80036" points="1533.25,1226.9063,1537.25,1236.9063,1541.25,1226.9063,1537.25,1230.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1017.75" x2="1017.75" y1="1319.2773" y2="1383.2773"/><polygon fill="#A80036" points="1013.75,1373.2773,1017.75,1383.2773,1021.75,1373.2773,1017.75,1377.2773" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319.75" x2="1319.75" y1="1319.2773" y2="1383.2773"/><polygon fill="#A80036" points="1315.75,1373.2773,1319.75,1383.2773,1323.75,1373.2773,1319.75,1377.2773" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1537.25" x2="1537.25" y1="1363.2773" y2="1383.2773"/><polygon fill="#A80036" points="1533.25,1373.2773,1537.25,1383.2773,1541.25,1373.2773,1537.25,1377.2773" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241.25" x2="1241.25" y1="1190.9063" y2="1210.9063"/><polygon fill="#A80036" points="1237.25,1200.9063,1241.25,1210.9063,1245.25,1200.9063,1241.25,1204.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241.25" x2="1241.25" y1="1389.2773" y2="1409.2773"/><polygon fill="#A80036" points="1237.25,1399.2773,1241.25,1409.2773,1245.25,1399.2773,1241.25,1403.2773" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241.25" x2="1241.25" y1="1443.2461" y2="1463.2461"/><polygon fill="#A80036" points="1237.25,1453.2461,1241.25,1463.2461,1245.25,1453.2461,1241.25,1457.2461" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1241.25" x2="1241.25" y1="1497.2148" y2="1517.2148"/><polygon fill="#A80036" points="1237.25,1507.2148,1241.25,1517.2148,1245.25,1507.2148,1241.25,1511.2148" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtSubscriberFetchMessage()\n
-
-
-
-start
-note
-  event received
-endnote
-:lock topic;
-note
-  The message list is part of the topic and must be locked.
-endnote
-if (Is HRT subscriber?) then (yes)
-  :lock next message;
-  if (Fetch next or latest message?) then (next)
-  else (latest)
-    partition "iterate to latest" {
-      :lock next message;
-      note
-        locked two messaged ahead
-      endnote
-      while (Timestamp of next message is younger than current?) is (yes)
-        fork
-          fork
-            :decremenet HRT counter of current message;
-          fork again
-            :update QoS delay timer (@subscriber);
-            note
-              no lock required since this timer is only accessed when the topic is locked
-            endnote
-          endfork
-          :unlock current message;
-        fork again
-          :lock next message;
-        endfork
-      endwhile (no)
-      :unlock next message;
-      note
-        one message ahead still locked
-        but HRT counter not yet decremented
-      endnote
-    }
-  endif
-  fork
-    :decrement HRT counter of current message;
-  fork again
-    :update QoS delay timer (@subscriber);
-    note
-      no lock required since this timer is only accessed when the topic is locked
-    endnote
-  endfork
-else (no)
-  :lock last read message;
-  if (Timestamp equals local copy?) then (yes)
-  else (no)
-    partition "find oldest valid message" {
-      :lock next message;
-      while (Timestamp of next is younger then of current?) is (yes)
-        fork
-          :unlock current mesage;
-        fork again
-          :lock one message further ahaead;
-        endfork
-      endwhile (no)
-      :unlock next message;
-    }
-  endif
-  if (Fetch next or latest message?) then (next)
-  else (latest)
-    partition "iterate to latest" {
-      :lock next message;
-      while (Timestamp of next message is younger then current?) is (yes)
-        fork
-          :unlock current message;
-        fork again
-          :lock next message;
-        endfork
-      endwhile (no)
-      :unlock next message;
-      note
-        one message ahead still locked
-      endnote
-    }
-  endif
-endif
-fork
-  :set last fetched message pointer to locked message;
-fork again
-  :copy timestamp of message;
-fork again
-  if (Copy of payload requested?) then (yes)
-    :copy message payload;
-  else (no)
-  endif
-endfork
-:unlock message;
-:unlock topic;
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/subscriber/urtSubscriberFetchMessage.uml b/doc/statediagrams/subscriber/urtSubscriberFetchMessage.uml
deleted file mode 100644
index 2668bb3..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberFetchMessage.uml
+++ /dev/null
@@ -1,123 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtSubscriberFetchMessage()\n
-
-
-
-start
-note
-  event received
-endnote
-:lock topic;
-note
-  The message list is part of the topic and must be locked.
-endnote
-if (Is HRT subscriber?) then (yes)
-  :lock next message;
-  if (Fetch next or latest message?) then (next)
-  else (latest)
-    partition "iterate to latest" {
-      :lock next message;
-      note
-        locked two messaged ahead
-      endnote
-      while (Timestamp of next message is younger than current?) is (yes)
-        fork
-          fork
-            :decremenet HRT counter of current message;
-          fork again
-            :update QoS delay timer (@subscriber);
-            note
-              no lock required since this timer is only accessed when the topic is locked
-            endnote
-          endfork
-          :unlock current message;
-        fork again
-          :lock next message;
-        endfork
-      endwhile (no)
-      :unlock next message;
-      note
-        one message ahead still locked
-        but HRT counter not yet decremented
-      endnote
-    }
-  endif
-  fork
-    :decrement HRT counter of current message;
-  fork again
-    :update QoS delay timer (@subscriber);
-    note
-      no lock required since this timer is only accessed when the topic is locked
-    endnote
-  endfork
-else (no)
-  :lock last read message;
-  if (Timestamp equals local copy?) then (yes)
-  else (no)
-    partition "find oldest valid message" {
-      :lock next message;
-      while (Timestamp of next is younger then of current?) is (yes)
-        fork
-          :unlock current mesage;
-        fork again
-          :lock one message further ahaead;
-        endfork
-      endwhile (no)
-      :unlock next message;
-    }
-  endif
-  if (Fetch next or latest message?) then (next)
-  else (latest)
-    partition "iterate to latest" {
-      :lock next message;
-      while (Timestamp of next message is younger then current?) is (yes)
-        fork
-          :unlock current message;
-        fork again
-          :lock next message;
-        endfork
-      endwhile (no)
-      :unlock next message;
-      note
-        one message ahead still locked
-      endnote
-    }
-  endif
-endif
-fork
-  :set last fetched message pointer to locked message;
-fork again
-  :copy timestamp of message;
-fork again
-  if (Copy of payload requested?) then (yes)
-    :copy message payload;
-  else (no)
-  endif
-endfork
-:unlock message;
-:unlock topic;
-stop
-
-@enduml
diff --git a/doc/statediagrams/subscriber/urtSubscriberInit.svg b/doc/statediagrams/subscriber/urtSubscriberInit.svg
deleted file mode 100644
index c63fb40..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberInit.svg
+++ /dev/null
@@ -1,24 +0,0 @@
-<?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="197px" preserveAspectRatio="none" style="width:186px;height:197px;" version="1.1" viewBox="0 0 186 197" width="186px" zoomAndPan="magnify"><defs><filter height="300%" id="f1jn46g9u33vl1" 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="48.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="162" x="12" y="47.6611">urtSubscriberInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="96" y="68.6143"/><ellipse cx="93.5" cy="82.8594" fill="#000000" filter="url(#f1jn46g9u33vl1)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1jn46g9u33vl1)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="28" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="38" y="133.998">initialize members</text><ellipse cx="93.5" cy="176.8281" fill="none" filter="url(#f1jn46g9u33vl1)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="94" cy="177.3281" fill="#000000" filter="url(#f1jn46g9u33vl1)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="93.5" x2="93.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="89.5,102.8594,93.5,112.8594,97.5,102.8594,93.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="93.5" x2="93.5" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="89.5,156.8281,93.5,166.8281,97.5,156.8281,93.5,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtSubscriberInit()\n
-
-
-
-start
-:initialize members;
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/subscriber/urtSubscriberInit.uml b/doc/statediagrams/subscriber/urtSubscriberInit.uml
deleted file mode 100644
index 5d50a3d..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberInit.uml
+++ /dev/null
@@ -1,32 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtSubscriberInit()\n
-
-
-
-start
-:initialize members;
-stop
-
-@enduml
diff --git a/doc/statediagrams/subscriber/urtSubscriberSubscribe.svg b/doc/statediagrams/subscriber/urtSubscriberSubscribe.svg
deleted file mode 100644
index d0ff546..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberSubscribe.svg
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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="1016px" preserveAspectRatio="none" style="width:1090px;height:1016px;" version="1.1" viewBox="0 0 1090 1016" width="1090px" zoomAndPan="magnify"><defs><filter height="300%" id="fdenaefteqn3b" 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="499.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="218" x="435" y="47.6611">urtSubscriberSubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="547" y="68.6143"/><ellipse cx="544.5" cy="82.8594" fill="#000000" filter="url(#fdenaefteqn3b)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fdenaefteqn3b)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="304" x="392.5" y="112.8594"/><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="416.5" y="187.2617"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="121" x="426.5" y="208.4004">set rtclass member</text><polygon fill="#FEFECE" filter="url(#fdenaefteqn3b)" points="423.5,138.8594,550.5,138.8594,562.5,150.8594,550.5,162.8594,423.5,162.8594,411.5,150.8594,423.5,138.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="491" y="173.0698">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="423.5" y="154.6675">Was rtclass specified?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="562.5" y="148.2651">no</text><polygon fill="#FEFECE" filter="url(#fdenaefteqn3b)" points="487,241.2305,499,253.2305,487,265.2305,475,253.2305,487,241.2305" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="607.5" y="187.2617"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="617.5" y="208.4004">set topic</text><rect fill="#000000" filter="url(#fdenaefteqn3b)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="304" x="392.5" y="285.2305"/><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="504.5" y="311.2305"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="514.5" y="332.3691">lock topic</text><rect fill="#000000" filter="url(#fdenaefteqn3b)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1069" x="10" y="365.1992"/><rect fill="#FFFFFF" filter="url(#fdenaefteqn3b)" height="151.2344" style="stroke: #000000; stroke-width: 2.0;" width="668" x="34" y="437.7114"/><path d="M191,438.7114 L191,447.0083 L181,457.0083 L34,457.0083 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="37" y="451.7065">contribute messages</text><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="130.5" y="474.0083"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="140.5" y="495.147">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="164.5" y="495.147">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="196.5" y="495.147">pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="648" x="44" y="542.9771"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="54" y="564.1157">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="78" y="564.1157">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="572" x="110" y="564.1157">pointer of last message to contribute to message formerly after the topic's latest message</text><polygon fill="#FEFECE" filter="url(#fdenaefteqn3b)" points="270.5,391.1992,465.5,391.1992,477.5,403.1992,465.5,415.1992,270.5,415.1992,258.5,403.1992,270.5,391.1992" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="372" y="425.4097">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="270.5" y="407.0073">Messages specified to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="477.5" y="400.605">no</text><polygon fill="#FEFECE" filter="url(#fdenaefteqn3b)" points="368,608.9458,380,620.9458,368,632.9458,356,620.9458,368,608.9458" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="752" y="500.3442"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="762" y="521.4829">set message pointer to topic's latest message</text><rect fill="#000000" filter="url(#fdenaefteqn3b)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1069" x="10" y="652.9458"/><rect fill="#000000" filter="url(#fdenaefteqn3b)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="567" x="261" y="727.3481"/><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="190" x="275" y="753.3481"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="170" x="285" y="774.4868">increase topic HRT counter</text><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="321" x="493" y="753.3481"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="301" x="503" y="774.4868">insert subscriber to topic list of HRT subscribers</text><rect fill="#000000" filter="url(#fdenaefteqn3b)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="567" x="261" y="807.3169"/><polygon fill="#FEFECE" filter="url(#fdenaefteqn3b)" points="491,678.9458,598,678.9458,610,690.9458,598,702.9458,491,702.9458,479,690.9458,491,678.9458" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="548.5" y="713.1563">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="107" x="491" y="694.7539">Is HRT subscriber?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="610" y="688.3516">no</text><polygon fill="#FEFECE" filter="url(#fdenaefteqn3b)" points="544.5,833.3169,556.5,845.3169,544.5,857.3169,532.5,845.3169,544.5,833.3169" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M120,881.7349 L120,906.8677 A0,0 0 0 0 120,906.8677 L421,906.8677 A0,0 0 0 0 421,906.8677 L421,899.7349 L441,894.3013 L421,891.7349 L421,891.7349 L411,881.7349 L120,881.7349 A0,0 0 0 0 120,881.7349 " fill="#FBFB77" filter="url(#fdenaefteqn3b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M411,881.7349 L411,891.7349 L421,891.7349 L411,881.7349 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="280" x="126" y="898.8018">Must be within lock because of HRT counter.</text><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="441" y="877.3169"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="187" x="451" y="898.4556">register to topic event source</text><rect fill="#FEFECE" filter="url(#fdenaefteqn3b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="496.5" y="931.2856"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="506.5" y="952.4243">unlock topic</text><ellipse cx="544.5" cy="995.2544" fill="none" filter="url(#fdenaefteqn3b)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="545" cy="995.7544" fill="#000000" filter="url(#fdenaefteqn3b)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="487" x2="487" y1="162.8594" y2="187.2617"/><polygon fill="#A80036" points="483,177.2617,487,187.2617,491,177.2617,487,181.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="562.5" x2="574.5" y1="150.8594" y2="150.8594"/><polygon fill="#A80036" points="570.5,194.2461,574.5,204.2461,578.5,194.2461,574.5,198.2461" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="574.5" x2="574.5" y1="150.8594" y2="253.2305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="574.5" x2="499" y1="253.2305" y2="253.2305"/><polygon fill="#A80036" points="509,249.2305,499,253.2305,509,257.2305,505,253.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="487" x2="487" y1="221.2305" y2="241.2305"/><polygon fill="#A80036" points="483,231.2305,487,241.2305,491,231.2305,487,235.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="487" x2="487" y1="118.8594" y2="138.8594"/><polygon fill="#A80036" points="483,128.8594,487,138.8594,491,128.8594,487,132.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="645" x2="645" y1="118.8594" y2="187.2617"/><polygon fill="#A80036" points="641,177.2617,645,187.2617,649,177.2617,645,181.2617" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="487" x2="487" y1="265.2305" y2="285.2305"/><polygon fill="#A80036" points="483,275.2305,487,285.2305,491,275.2305,487,279.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="645" x2="645" y1="221.2305" y2="285.2305"/><polygon fill="#A80036" points="641,275.2305,645,285.2305,649,275.2305,645,279.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="540.5,102.8594,544.5,112.8594,548.5,102.8594,544.5,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="291.2305" y2="311.2305"/><polygon fill="#A80036" points="540.5,301.2305,544.5,311.2305,548.5,301.2305,544.5,305.2305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368" x2="368" y1="507.9771" y2="542.9771"/><polygon fill="#A80036" points="364,532.9771,368,542.9771,372,532.9771,368,536.9771" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368" x2="368" y1="415.1992" y2="474.0083"/><polygon fill="#A80036" points="364,464.0083,368,474.0083,372,464.0083,368,468.0083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="477.5" x2="712" y1="403.1992" y2="403.1992"/><polygon fill="#A80036" points="708,507.3286,712,517.3286,716,507.3286,712,511.3286" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="712" x2="712" y1="403.1992" y2="620.9458"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="712" x2="380" y1="620.9458" y2="620.9458"/><polygon fill="#A80036" points="390,616.9458,380,620.9458,390,624.9458,386,620.9458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368" x2="368" y1="576.9458" y2="608.9458"/><polygon fill="#A80036" points="364,598.9458,368,608.9458,372,598.9458,368,602.9458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368" x2="368" y1="371.1992" y2="391.1992"/><polygon fill="#A80036" points="364,381.1992,368,391.1992,372,381.1992,368,385.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="908.5" x2="908.5" y1="371.1992" y2="500.3442"/><polygon fill="#A80036" points="904.5,490.3442,908.5,500.3442,912.5,490.3442,908.5,494.3442" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="368" x2="368" y1="632.9458" y2="652.9458"/><polygon fill="#A80036" points="364,642.9458,368,652.9458,372,642.9458,368,646.9458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="908.5" x2="908.5" y1="534.313" y2="652.9458"/><polygon fill="#A80036" points="904.5,642.9458,908.5,652.9458,912.5,642.9458,908.5,646.9458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="345.1992" y2="365.1992"/><polygon fill="#A80036" points="540.5,355.1992,544.5,365.1992,548.5,355.1992,544.5,359.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="370" x2="370" y1="733.3481" y2="753.3481"/><polygon fill="#A80036" points="366,743.3481,370,753.3481,374,743.3481,370,747.3481" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="653.5" x2="653.5" y1="733.3481" y2="753.3481"/><polygon fill="#A80036" points="649.5,743.3481,653.5,753.3481,657.5,743.3481,653.5,747.3481" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="370" x2="370" y1="787.3169" y2="807.3169"/><polygon fill="#A80036" points="366,797.3169,370,807.3169,374,797.3169,370,801.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="653.5" x2="653.5" y1="787.3169" y2="807.3169"/><polygon fill="#A80036" points="649.5,797.3169,653.5,807.3169,657.5,797.3169,653.5,801.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="702.9458" y2="727.3481"/><polygon fill="#A80036" points="540.5,717.3481,544.5,727.3481,548.5,717.3481,544.5,721.3481" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="610" x2="838" y1="690.9458" y2="690.9458"/><polygon fill="#A80036" points="834,760.3325,838,770.3325,842,760.3325,838,764.3325" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="838" x2="838" y1="690.9458" y2="845.3169"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="838" x2="556.5" y1="845.3169" y2="845.3169"/><polygon fill="#A80036" points="566.5,841.3169,556.5,845.3169,566.5,849.3169,562.5,845.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="813.3169" y2="833.3169"/><polygon fill="#A80036" points="540.5,823.3169,544.5,833.3169,548.5,823.3169,544.5,827.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="658.9458" y2="678.9458"/><polygon fill="#A80036" points="540.5,668.9458,544.5,678.9458,548.5,668.9458,544.5,672.9458" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="857.3169" y2="877.3169"/><polygon fill="#A80036" points="540.5,867.3169,544.5,877.3169,548.5,867.3169,544.5,871.3169" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="911.2856" y2="931.2856"/><polygon fill="#A80036" points="540.5,921.2856,544.5,931.2856,548.5,921.2856,544.5,925.2856" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="965.2544" y2="985.2544"/><polygon fill="#A80036" points="540.5,975.2544,544.5,985.2544,548.5,975.2544,544.5,979.2544" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtSubscriberSubscribe()\n
-
-
-
-start
-fork
-  if (Was rtclass specified?) then (yes)
-    :set rtclass member;
-  else (no)
-  endif
-fork again
-  :set topic;
-endfork
-:lock topic;
-fork
-  if (Messages specified to contribute?) then (yes)
-    partition "contribute messages" {
-      :set ""next"" pointer of topic's latest message to first message to contribute;
-      :set ""next"" pointer of last message to contribute to message formerly after the topic's latest message;
-    }
-  else (no)
-  endif
-fork again
-  :set message pointer to topic's latest message;
-endfork
-if (Is HRT subscriber?) then (yes)
-  fork
-    :increase topic HRT counter;
-  fork again
-    :insert subscriber to topic list of HRT subscribers;
-  endfork
-else (no)
-endif
-:register to topic event source;
-note
-  Must be within lock because of HRT counter.
-endnote
-:unlock topic;
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/subscriber/urtSubscriberSubscribe.uml b/doc/statediagrams/subscriber/urtSubscriberSubscribe.uml
deleted file mode 100644
index d653c8b..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberSubscribe.uml
+++ /dev/null
@@ -1,64 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtSubscriberSubscribe()\n
-
-
-
-start
-fork
-  if (Was rtclass specified?) then (yes)
-    :set rtclass member;
-  else (no)
-  endif
-fork again
-  :set topic;
-endfork
-:lock topic;
-fork
-  if (Messages specified to contribute?) then (yes)
-    partition "contribute messages" {
-      :set ""next"" pointer of topic's latest message to first message to contribute;
-      :set ""next"" pointer of last message to contribute to message formerly after the topic's latest message;
-    }
-  else (no)
-  endif
-fork again
-  :set message pointer to topic's latest message;
-endfork
-if (Is HRT subscriber?) then (yes)
-  fork
-    :increase topic HRT counter;
-  fork again
-    :insert subscriber to topic list of HRT subscribers;
-  endfork
-else (no)
-endif
-:register to topic event source;
-note
-  Must be within lock because of HRT counter.
-endnote
-:unlock topic;
-stop
-
-@enduml
diff --git a/doc/statediagrams/subscriber/urtSubscriberUnsubscribe.svg b/doc/statediagrams/subscriber/urtSubscriberUnsubscribe.svg
deleted file mode 100644
index dc402f6..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberUnsubscribe.svg
+++ /dev/null
@@ -1,53 +0,0 @@
-<?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="696px" preserveAspectRatio="none" style="width:1416px;height:696px;" version="1.1" viewBox="0 0 1416 696" width="1416px" zoomAndPan="magnify"><defs><filter height="300%" id="f1rz7zm3yl9o1y" 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="662.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="240" x="587" y="47.6611">urtSubscriberUnsubscribe()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="710" y="68.6143"/><ellipse cx="996.75" cy="82.8594" fill="#000000" filter="url(#f1rz7zm3yl9o1y)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" points="943.25,112.8594,1050.25,112.8594,1062.25,124.8594,1050.25,136.8594,943.25,136.8594,931.25,124.8594,943.25,112.8594" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="107" x="943.25" y="128.6675">Is HRT subscriber?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="911.25" y="122.2651">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1062.25" y="122.2651">no</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="600.5" y="146.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="610.5" y="167.998">lock topic</text><rect fill="#000000" filter="url(#f1rz7zm3yl9o1y)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1261" x="10" y="200.8281"/><path d="M24,342.6172 L24,367.75 A0,0 0 0 0 24,367.75 L323,367.75 A0,0 0 0 0 323,367.75 L323,360.6172 L343,355.1836 L323,352.6172 L323,352.6172 L313,342.6172 L24,342.6172 A0,0 0 0 0 24,342.6172 " fill="#FBFB77" filter="url(#f1rz7zm3yl9o1y)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M313,342.6172 L313,352.6172 L323,352.6172 L313,342.6172 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="278" x="30" y="359.6841">must be within lock because of HRT counter</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="343" y="338.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="353" y="359.3379">unregister event</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="195" x="495" y="338.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="175" x="505" y="359.3379">decrease topic HRT counter</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="302" x="718" y="255.3125"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="282" x="728" y="276.4512">remove self from topic list of HRT subscribers</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="218" x="760" y="372.6836"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="198" x="770" y="393.8223">update QoS rate timer (@topic)</text><polygon fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" points="785,324.2813,953,324.2813,965,336.2813,953,348.2813,785,348.2813,773,336.2813,785,324.2813" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="873" y="358.4917">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="168" x="785" y="340.0894">Was most critical subscriber?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="965" y="333.687">no</text><polygon fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" points="869,431.0547,881,443.0547,869,455.0547,857,443.0547,869,431.0547" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="1105.5" y="287.6328"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="86" x="1115.5" y="308.7715">lock message</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="160" x="1078.5" y="356.6016"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="140" x="1088.5" y="377.7402">decrease HRT counter</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="1097.5" y="425.5703"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="1107.5" y="446.709">unlock message</text><polygon fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" points="1084,226.8281,1233,226.8281,1245,238.8281,1233,250.8281,1084,250.8281,1072,238.8281,1084,226.8281" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1162.5" y="261.0386">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="1084" y="242.6362">Unfetched messages left?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1058" y="236.2339">no</text><rect fill="#000000" filter="url(#f1rz7zm3yl9o1y)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1261" x="10" y="501.5391"/><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="592.5" y="527.5391"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="602.5" y="548.6777">unlock topic</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="1281" y="146.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="104" x="1291" y="167.998">unregister event</text><polygon fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" points="996.75,567.5078,1008.75,579.5078,996.75,591.5078,984.75,579.5078,996.75,567.5078" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M847.25,615.9258 L847.25,641.0586 A0,0 0 0 0 847.25,641.0586 L919.25,641.0586 A0,0 0 0 0 919.25,641.0586 L919.25,633.9258 L939.25,628.4922 L919.25,625.9258 L919.25,625.9258 L909.25,615.9258 L847.25,615.9258 A0,0 0 0 0 847.25,615.9258 " fill="#FBFB77" filter="url(#f1rz7zm3yl9o1y)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M909.25,615.9258 L909.25,625.9258 L919.25,625.9258 L909.25,615.9258 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="853.25" y="632.9927">optional</text><rect fill="#FEFECE" filter="url(#f1rz7zm3yl9o1y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="939.25" y="611.5078"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="95" x="949.25" y="632.6465">reset members</text><ellipse cx="996.75" cy="675.4766" fill="none" filter="url(#f1rz7zm3yl9o1y)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="997.25" cy="675.9766" fill="#000000" filter="url(#f1rz7zm3yl9o1y)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="869" x2="869" y1="348.2813" y2="372.6836"/><polygon fill="#A80036" points="865,362.6836,869,372.6836,873,362.6836,869,366.6836" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="965" x2="988" y1="336.2813" y2="336.2813"/><polygon fill="#A80036" points="984,379.668,988,389.668,992,379.668,988,383.668" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="988" x2="988" y1="336.2813" y2="443.0547"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="988" x2="881" y1="443.0547" y2="443.0547"/><polygon fill="#A80036" points="891,439.0547,881,443.0547,891,447.0547,887,443.0547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="869" x2="869" y1="406.6523" y2="431.0547"/><polygon fill="#A80036" points="865,421.0547,869,431.0547,873,421.0547,869,425.0547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="869" x2="869" y1="289.2813" y2="324.2813"/><polygon fill="#A80036" points="865,314.2813,869,324.2813,873,314.2813,869,318.2813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1158.5" x2="1158.5" y1="321.6016" y2="356.6016"/><polygon fill="#A80036" points="1154.5,346.6016,1158.5,356.6016,1162.5,346.6016,1158.5,350.6016" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1158.5" x2="1158.5" y1="390.5703" y2="425.5703"/><polygon fill="#A80036" points="1154.5,415.5703,1158.5,425.5703,1162.5,415.5703,1158.5,419.5703" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1158.5" x2="1158.5" y1="250.8281" y2="287.6328"/><polygon fill="#A80036" points="1154.5,277.6328,1158.5,287.6328,1162.5,277.6328,1158.5,281.6328" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1158.5" x2="1158.5" y1="459.5391" y2="469.5391"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1158.5" x2="1257" y1="469.5391" y2="469.5391"/><polygon fill="#A80036" points="1253,365.1836,1257,355.1836,1261,365.1836,1257,361.1836" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1257" x2="1257" y1="238.8281" y2="469.5391"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1257" x2="1245" y1="238.8281" y2="238.8281"/><polygon fill="#A80036" points="1255,234.8281,1245,238.8281,1255,242.8281,1251,238.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1072" x2="1060" y1="238.8281" y2="238.8281"/><polygon fill="#A80036" points="1056,351.1836,1060,361.1836,1064,351.1836,1060,355.1836" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1060" x2="1060" y1="238.8281" y2="481.5391"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1060" x2="1158.5" y1="481.5391" y2="481.5391"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1158.5" x2="1158.5" y1="481.5391" y2="501.5391"/><polygon fill="#A80036" points="1154.5,491.5391,1158.5,501.5391,1162.5,491.5391,1158.5,495.5391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405" x2="405" y1="206.8281" y2="338.1992"/><polygon fill="#A80036" points="401,328.1992,405,338.1992,409,328.1992,405,332.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="592.5" x2="592.5" y1="206.8281" y2="338.1992"/><polygon fill="#A80036" points="588.5,328.1992,592.5,338.1992,596.5,328.1992,592.5,332.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="869" x2="869" y1="206.8281" y2="255.3125"/><polygon fill="#A80036" points="865,245.3125,869,255.3125,873,245.3125,869,249.3125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1158.5" x2="1158.5" y1="206.8281" y2="226.8281"/><polygon fill="#A80036" points="1154.5,216.8281,1158.5,226.8281,1162.5,216.8281,1158.5,220.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405" x2="405" y1="372.168" y2="501.5391"/><polygon fill="#A80036" points="401,491.5391,405,501.5391,409,491.5391,405,495.5391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="592.5" x2="592.5" y1="372.168" y2="501.5391"/><polygon fill="#A80036" points="588.5,491.5391,592.5,501.5391,596.5,491.5391,592.5,495.5391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="869" x2="869" y1="455.0547" y2="501.5391"/><polygon fill="#A80036" points="865,491.5391,869,501.5391,873,491.5391,869,495.5391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="640.5" x2="640.5" y1="180.8281" y2="200.8281"/><polygon fill="#A80036" points="636.5,190.8281,640.5,200.8281,644.5,190.8281,640.5,194.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="640.5" x2="640.5" y1="507.5391" y2="527.5391"/><polygon fill="#A80036" points="636.5,517.5391,640.5,527.5391,644.5,517.5391,640.5,521.5391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="931.25" x2="640.5" y1="124.8594" y2="124.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="640.5" x2="640.5" y1="124.8594" y2="146.8594"/><polygon fill="#A80036" points="636.5,136.8594,640.5,146.8594,644.5,136.8594,640.5,140.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1062.25" x2="1343" y1="124.8594" y2="124.8594"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1343" x2="1343" y1="124.8594" y2="146.8594"/><polygon fill="#A80036" points="1339,136.8594,1343,146.8594,1347,136.8594,1343,140.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="640.5" x2="640.5" y1="561.5078" y2="579.5078"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="640.5" x2="984.75" y1="579.5078" y2="579.5078"/><polygon fill="#A80036" points="974.75,575.5078,984.75,579.5078,974.75,583.5078,978.75,579.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1343" x2="1343" y1="180.8281" y2="579.5078"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1343" x2="1008.75" y1="579.5078" y2="579.5078"/><polygon fill="#A80036" points="1018.75,575.5078,1008.75,579.5078,1018.75,583.5078,1014.75,579.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="996.75" x2="996.75" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="992.75,102.8594,996.75,112.8594,1000.75,102.8594,996.75,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="996.75" x2="996.75" y1="591.5078" y2="611.5078"/><polygon fill="#A80036" points="992.75,601.5078,996.75,611.5078,1000.75,601.5078,996.75,605.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="996.75" x2="996.75" y1="645.4766" y2="665.4766"/><polygon fill="#A80036" points="992.75,655.4766,996.75,665.4766,1000.75,655.4766,996.75,659.4766" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtSubscriberUnsubscribe()\n
-
-
-
-start
-if (Is HRT subscriber?) then (yes)
-  :lock topic;
-  fork
-    :unregister event;
-    note left
-      must be within lock because of HRT counter
-    endnote
-  fork again
-    :decrease topic HRT counter;
-  fork again
-    :remove self from topic list of HRT subscribers;
-    if (Was most critical subscriber?) then (yes)
-      :update QoS rate timer (@topic);
-    else (no)
-    endif
-  fork again
-    while (Unfetched messages left?) is (yes)
-      :lock message;
-      :decrease HRT counter;
-      :unlock message;
-    endwhile (no)
-  endfork
-  :unlock topic;
-else (no)
-  :unregister event;
-endif
-:reset members;
-note left
-  optional
-end note
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/subscriber/urtSubscriberUnsubscribe.uml b/doc/statediagrams/subscriber/urtSubscriberUnsubscribe.uml
deleted file mode 100644
index 954ce5f..0000000
--- a/doc/statediagrams/subscriber/urtSubscriberUnsubscribe.uml
+++ /dev/null
@@ -1,61 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtSubscriberUnsubscribe()\n
-
-
-
-start
-if (Is HRT subscriber?) then (yes)
-  :lock topic;
-  fork
-    :unregister event;
-    note left
-      must be within lock because of HRT counter
-    endnote
-  fork again
-    :decrease topic HRT counter;
-  fork again
-    :remove self from topic list of HRT subscribers;
-    if (Was most critical subscriber?) then (yes)
-      :update QoS rate timer (@topic);
-    else (no)
-    endif
-  fork again
-    while (Unfetched messages left?) is (yes)
-      :lock message;
-      :decrease HRT counter;
-      :unlock message;
-    endwhile (no)
-  endfork
-  :unlock topic;
-else (no)
-  :unregister event;
-endif
-:reset members;
-note left
-  optional
-end note
-stop
-
-@enduml
diff --git a/doc/statediagrams/topic/urtTopicInit.svg b/doc/statediagrams/topic/urtTopicInit.svg
deleted file mode 100644
index 62e3b12..0000000
--- a/doc/statediagrams/topic/urtTopicInit.svg
+++ /dev/null
@@ -1,25 +0,0 @@
-<?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="251px" preserveAspectRatio="none" style="width:209px;height:251px;" version="1.1" viewBox="0 0 209 251" width="209px" zoomAndPan="magnify"><defs><filter height="300%" id="fsusf2qcbamoq" 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="59" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="117" x="45" y="47.6611">urtTopicInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="106.5" y="68.6143"/><ellipse cx="104" cy="82.8594" fill="#000000" filter="url(#fsusf2qcbamoq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fsusf2qcbamoq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="38.5" y="112.8594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="48.5" y="133.998">initialize members</text><rect fill="#FEFECE" filter="url(#fsusf2qcbamoq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="10" y="166.8281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="20" y="187.9668">insert self to core topic list</text><ellipse cx="104" cy="230.7969" fill="none" filter="url(#fsusf2qcbamoq)" rx="10" ry="10" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="104.5" cy="231.2969" fill="#000000" filter="url(#fsusf2qcbamoq)" rx="6" ry="6" style="stroke: none; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="104" x2="104" y1="92.8594" y2="112.8594"/><polygon fill="#A80036" points="100,102.8594,104,112.8594,108,102.8594,104,106.8594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="104" x2="104" y1="146.8281" y2="166.8281"/><polygon fill="#A80036" points="100,156.8281,104,166.8281,108,156.8281,104,160.8281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="104" x2="104" y1="200.7969" y2="220.7969"/><polygon fill="#A80036" points="100,210.7969,104,220.7969,108,210.7969,104,214.7969" style="stroke: #A80036; stroke-width: 1.0;"/><!--
-@startuml
-
-title **µRtWare**\nurtTopicInit()\n
-
-
-
-start
-:initialize members;
-:insert self to core topic list;
-stop
-
-@enduml
-
-PlantUML version 1.2018.11(Sat Sep 22 18:43:53 CEST 2018)
-(GPL source distribution)
-Java Runtime: OpenJDK Runtime Environment
-JVM: OpenJDK 64-Bit Server VM
-Java Version: 1.8.0_181-8u181-b13-0ubuntu0.16.04.1-b13
-Operating System: Linux
-OS Version: 4.15.0-36-generic
-Default Encoding: UTF-8
-Language: en
-Country: US
---></g></svg>
\ No newline at end of file
diff --git a/doc/statediagrams/topic/urtTopicInit.uml b/doc/statediagrams/topic/urtTopicInit.uml
deleted file mode 100644
index 7d9c554..0000000
--- a/doc/statediagrams/topic/urtTopicInit.uml
+++ /dev/null
@@ -1,34 +0,0 @@
-/'
-µRtWare is a lightweight publish/subscribe middleware for real-time
-applications. It was developed as part of the software habitat for the
-Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
-
-Copyright (C) 2018..2019  Thomas Schöpping et al.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-'/
-
-@startuml
-
-title **µRtWare**\nurtTopicInit()\n
-
-
-
-start
-:initialize members;
-:insert self to core topic list;
-stop
-
-@enduml
-
