Revision c22d21ad doc/activitydiagrams/subscriber/urtSubscriberSubscribeFrt.svg

View differences:

doc/activitydiagrams/subscriber/urtSubscriberSubscribeFrt.svg
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1079px" preserveAspectRatio="none" style="width:1747px;height:1079px;" version="1.1" viewBox="0 0 1747 1079" width="1747px" zoomAndPan="magnify"><defs><filter height="300%" id="f555gmqt6z79y" 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="828.375" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="158" x="793.875" y="47.6611">urtSubscriberFrt()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="875.875" y="68.6143"/><path d="M10,72.8594 L10,370.3828 A0,0 0 0 0 10,370.3828 L710,370.3828 A0,0 0 0 0 710,370.3828 L710,225.6211 L730,221.6211 L710,217.6211 L710,82.8594 L700,72.8594 L10,72.8594 A0,0 0 0 0 10,72.8594 " fill="#FBFB77" filter="url(#f555gmqt6z79y)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M700,72.8594 L700,82.8594 L710,82.8594 L700,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="236" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="240" y="89.4263"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="240" y="89.4263">subscriber</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="152" x="328" y="89.4263">: urt_subscriber_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="484" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="484" x2="710" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="298" x="16" y="105.0591">The subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="16" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="96" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="128" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="276" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="280" y="134.8247"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="280" y="134.8247">topic</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="328" y="134.8247">: urt_topic_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="444" y="134.8247"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="444" x2="710" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="16" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="16" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="96" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="128" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="256" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="260" y="180.2231"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="260" y="180.2231">messages</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="332" y="180.2231">: urt_message_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="464" y="180.2231"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="464" x2="710" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="303" x="16" y="195.856">List of messages to be contributed to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="373" x="16" y="210.9888">Those messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="517" x="16" y="226.1216">Once a message was contributed, it cannot be removed from the topic anymore.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="268" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="272" y="240.7544"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="272" y="240.7544">deadline</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="344" y="240.7544">: urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="452" y="240.7544"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="452" x2="710" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="16" y="256.3872">Maximum latency to consume messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="16" y="271.52">A value of 0 indicates, that latency is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="276" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="280" y="286.1528"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="280" y="286.1528">rate</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="320" y="286.1528">: urt_delay_t_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="444" y="286.1528"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="444" x2="710" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="621" x="16" y="301.7856">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="16" y="316.9185">A value of 0 indicates, that rate is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="268" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="272" y="331.5513"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="48" x="272" y="331.5513">jitter</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="328" y="331.5513">: urt_delay_t_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="452" y="331.5513"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="452" x2="710" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="679" x="16" y="347.1841">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="312" x="16" y="362.3169">A value of 0 indicates, that jitter is of no concern.</text><ellipse cx="740" cy="221.6211" fill="#000000" filter="url(#f555gmqt6z79y)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f555gmqt6z79y)" points="682.5,390.3828,797.5,390.3828,809.5,402.3828,797.5,414.3828,682.5,414.3828,670.5,402.3828,682.5,390.3828" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="682.5" y="406.1909">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="650.5" y="399.7886">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="809.5" y="399.7886">no</text><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="277.75" y="424.3828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="287.75" y="445.5215">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="330.75" y="445.5215">URT_STATUS_ERROR</text><rect fill="#000000" filter="url(#f555gmqt6z79y)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="230" x="999.75" y="424.3828"/><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="1013.75" y="450.3828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="1023.75" y="471.5215">set FRT data</text><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1140.75" y="450.3828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1150.75" y="471.5215">set topic</text><rect fill="#000000" filter="url(#f555gmqt6z79y)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="230" x="999.75" y="504.3516"/><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1074.75" y="530.3516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1084.75" y="551.4902">lock topic</text><rect fill="#000000" filter="url(#f555gmqt6z79y)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1264" x="472.75" y="584.3203"/><rect fill="#FFFFFF" filter="url(#f555gmqt6z79y)" height="151.2344" style="stroke: #000000; stroke-width: 2.0;" width="638" x="496.75" y="656.8325"/><path d="M653.75,657.8325 L653.75,666.1294 L643.75,676.1294 L496.75,676.1294 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="499.75" y="670.8276">contribute messages</text><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="578.75" y="693.1294"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="588.75" y="714.2681">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="506.75" y="762.0981"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="516.75" y="783.2368">set next pointer of last message to contribute to the message after the topic's latest message</text><polygon fill="#FEFECE" filter="url(#f555gmqt6z79y)" points="745.75,610.3203,885.75,610.3203,897.75,622.3203,885.75,634.3203,745.75,634.3203,733.75,622.3203,745.75,610.3203" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="819.75" y="644.5308">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="745.75" y="626.1284">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="897.75" y="619.7261">no</text><polygon fill="#FEFECE" filter="url(#f555gmqt6z79y)" points="815.75,828.0669,827.75,840.0669,815.75,852.0669,803.75,840.0669,815.75,828.0669" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1184.75" y="719.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1194.75" y="740.604">set message pointer to topic's latest message</text><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="1507.75" y="719.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="1517.75" y="740.604">register to topic's event source</text><rect fill="#000000" filter="url(#f555gmqt6z79y)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1264" x="472.75" y="872.0669"/><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1066.75" y="898.0669"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1076.75" y="919.2056">unlock topic</text><rect fill="#FEFECE" filter="url(#f555gmqt6z79y)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="1037.75" y="952.0356"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="1047.75" y="973.1743">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="91" x="1090.75" y="973.1743">URT_STATUS_OK</text><polygon fill="#FEFECE" filter="url(#f555gmqt6z79y)" points="740,992.0044,752,1004.0044,740,1016.0044,728,1004.0044,740,992.0044" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M181,1026.8716 L181,1067.1372 A0,0 0 0 0 181,1067.1372 L709,1067.1372 A0,0 0 0 0 709,1067.1372 L709,1051.0044 L729,1047.0044 L709,1043.0044 L709,1036.8716 L699,1026.8716 L181,1026.8716 A0,0 0 0 0 181,1026.8716 " fill="#FBFB77" filter="url(#f555gmqt6z79y)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M699,1026.8716 L699,1036.8716 L709,1036.8716 L699,1026.8716 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="181" x2="368.5" y1="1039.438" y2="1039.438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="372.5" y="1043.4385"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="372.5" y="1043.4385">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="421.5" y="1043.4385"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="96" x="421.5" y="1043.4385">urt_status_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="521.5" y="1043.4385"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="521.5" x2="709" y1="1039.438" y2="1039.438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="187" y="1059.0713">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="240" y="1059.0713">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="322" x="372" y="1059.0713">if the subscriber was already associated to a topic.</text><ellipse cx="740" cy="1047.0044" fill="#FFFFFF" filter="url(#f555gmqt6z79y)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="740" cy="1047.0044" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1063.25" x2="1063.25" y1="430.3828" y2="450.3828"/><polygon fill="#A80036" points="1059.25,440.3828,1063.25,450.3828,1067.25,440.3828,1063.25,444.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1178.25" x2="1178.25" y1="430.3828" y2="450.3828"/><polygon fill="#A80036" points="1174.25,440.3828,1178.25,450.3828,1182.25,440.3828,1178.25,444.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1063.25" x2="1063.25" y1="484.3516" y2="504.3516"/><polygon fill="#A80036" points="1059.25,494.3516,1063.25,504.3516,1067.25,494.3516,1063.25,498.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1178.25" x2="1178.25" y1="484.3516" y2="504.3516"/><polygon fill="#A80036" points="1174.25,494.3516,1178.25,504.3516,1182.25,494.3516,1178.25,498.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1114.75" x2="1114.75" y1="510.3516" y2="530.3516"/><polygon fill="#A80036" points="1110.75,520.3516,1114.75,530.3516,1118.75,520.3516,1114.75,524.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="815.75" x2="815.75" y1="727.0981" y2="762.0981"/><polygon fill="#A80036" points="811.75,752.0981,815.75,762.0981,819.75,752.0981,815.75,756.0981" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="815.75" x2="815.75" y1="634.3203" y2="693.1294"/><polygon fill="#A80036" points="811.75,683.1294,815.75,693.1294,819.75,683.1294,815.75,687.1294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="897.75" x2="1144.75" y1="622.3203" y2="622.3203"/><polygon fill="#A80036" points="1140.75,726.4497,1144.75,736.4497,1148.75,726.4497,1144.75,730.4497" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1144.75" x2="1144.75" y1="622.3203" y2="840.0669"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1144.75" x2="827.75" y1="840.0669" y2="840.0669"/><polygon fill="#A80036" points="837.75,836.0669,827.75,840.0669,837.75,844.0669,833.75,840.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="815.75" x2="815.75" y1="796.0669" y2="828.0669"/><polygon fill="#A80036" points="811.75,818.0669,815.75,828.0669,819.75,818.0669,815.75,822.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="815.75" x2="815.75" y1="590.3203" y2="610.3203"/><polygon fill="#A80036" points="811.75,600.3203,815.75,610.3203,819.75,600.3203,815.75,604.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1341.25" x2="1341.25" y1="590.3203" y2="719.4653"/><polygon fill="#A80036" points="1337.25,709.4653,1341.25,719.4653,1345.25,709.4653,1341.25,713.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.25" x2="1616.25" y1="590.3203" y2="719.4653"/><polygon fill="#A80036" points="1612.25,709.4653,1616.25,719.4653,1620.25,709.4653,1616.25,713.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="815.75" x2="815.75" y1="852.0669" y2="872.0669"/><polygon fill="#A80036" points="811.75,862.0669,815.75,872.0669,819.75,862.0669,815.75,866.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1341.25" x2="1341.25" y1="753.4341" y2="872.0669"/><polygon fill="#A80036" points="1337.25,862.0669,1341.25,872.0669,1345.25,862.0669,1341.25,866.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1616.25" x2="1616.25" y1="753.4341" y2="872.0669"/><polygon fill="#A80036" points="1612.25,862.0669,1616.25,872.0669,1620.25,862.0669,1616.25,866.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1114.75" x2="1114.75" y1="564.3203" y2="584.3203"/><polygon fill="#A80036" points="1110.75,574.3203,1114.75,584.3203,1118.75,574.3203,1114.75,578.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1114.75" x2="1114.75" y1="878.0669" y2="898.0669"/><polygon fill="#A80036" points="1110.75,888.0669,1114.75,898.0669,1118.75,888.0669,1114.75,892.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1114.75" x2="1114.75" y1="932.0356" y2="952.0356"/><polygon fill="#A80036" points="1110.75,942.0356,1114.75,952.0356,1118.75,942.0356,1114.75,946.0356" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="670.5" x2="365.25" y1="402.3828" y2="402.3828"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.25" x2="365.25" y1="402.3828" y2="424.3828"/><polygon fill="#A80036" points="361.25,414.3828,365.25,424.3828,369.25,414.3828,365.25,418.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="809.5" x2="1114.75" y1="402.3828" y2="402.3828"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1114.75" x2="1114.75" y1="402.3828" y2="424.3828"/><polygon fill="#A80036" points="1110.75,414.3828,1114.75,424.3828,1118.75,414.3828,1114.75,418.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.25" x2="365.25" y1="458.3516" y2="1004.0044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.25" x2="728" y1="1004.0044" y2="1004.0044"/><polygon fill="#A80036" points="718,1000.0044,728,1004.0044,718,1008.0044,722,1004.0044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1114.75" x2="1114.75" y1="986.0044" y2="1004.0044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1114.75" x2="752" y1="1004.0044" y2="1004.0044"/><polygon fill="#A80036" points="762,1000.0044,752,1004.0044,762,1008.0044,758,1004.0044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740" x2="740" y1="231.6211" y2="390.3828"/><polygon fill="#A80036" points="736,380.3828,740,390.3828,744,380.3828,740,384.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740" x2="740" y1="1016.0044" y2="1036.0044"/><polygon fill="#A80036" points="736,1026.0044,740,1036.0044,744,1026.0044,740,1030.0044" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a74ab46ba53b86df339b4734eb9fd9c0]
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1131px" preserveAspectRatio="none" style="width:1766px;height:1131px;" version="1.1" viewBox="0 0 1766 1131" width="1766px" zoomAndPan="magnify"><defs><filter height="300%" id="f1dgqi4y7e2l0d" 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="837.875" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="158" x="803.375" y="47.6611">urtSubscriberFrt()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="885.375" y="68.6143"/><path d="M10,72.8594 L10,370.3828 A0,0 0 0 0 10,370.3828 L710,370.3828 A0,0 0 0 0 710,370.3828 L710,225.6211 L730,221.6211 L710,217.6211 L710,82.8594 L700,72.8594 L10,72.8594 A0,0 0 0 0 10,72.8594 " fill="#FBFB77" filter="url(#f1dgqi4y7e2l0d)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M700,72.8594 L700,82.8594 L710,82.8594 L700,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="236" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="240" y="89.4263"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="240" y="89.4263">subscriber</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="152" x="328" y="89.4263">: urt_subscriber_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="484" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="484" x2="710" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="298" x="16" y="105.0591">The subscriber which shall subscribe to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="16" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="96" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="128" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="276" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="280" y="134.8247"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="280" y="134.8247">topic</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="328" y="134.8247">: urt_topic_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="444" y="134.8247"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="444" x2="710" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="16" y="150.4575">The topic to subscribe to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="16" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="96" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="128" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="256" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="260" y="180.2231"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="260" y="180.2231">messages</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="332" y="180.2231">: urt_message_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="464" y="180.2231"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="464" x2="710" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="303" x="16" y="195.856">List of messages to be contributed to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="373" x="16" y="210.9888">Those messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="517" x="16" y="226.1216">Once a message was contributed, it cannot be removed from the topic anymore.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="268" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="272" y="240.7544"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="272" y="240.7544">deadline</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="344" y="240.7544">: urt_delay_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="452" y="240.7544"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="452" x2="710" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="16" y="256.3872">Maximum latency to consume messages.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="16" y="271.52">A value of 0 indicates, that latency is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="276" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="280" y="286.1528"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="32" x="280" y="286.1528">rate</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="320" y="286.1528">: urt_delay_t_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="444" y="286.1528"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="444" x2="710" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="621" x="16" y="301.7856">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="16" y="316.9185">A value of 0 indicates, that rate is of no concern.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="268" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="272" y="331.5513"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="48" x="272" y="331.5513">jitter</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="120" x="328" y="331.5513">: urt_delay_t_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="452" y="331.5513"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="452" x2="710" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="679" x="16" y="347.1841">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="312" x="16" y="362.3169">A value of 0 indicates, that jitter is of no concern.</text><ellipse cx="740" cy="221.6211" fill="#000000" filter="url(#f1dgqi4y7e2l0d)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" points="682.5,390.3828,797.5,390.3828,809.5,402.3828,797.5,414.3828,682.5,414.3828,670.5,402.3828,682.5,390.3828" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="682.5" y="406.1909">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="650.5" y="399.7886">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="809.5" y="399.7886">no</text><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="270.75" y="424.3828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="280.75" y="445.5215">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="323.75" y="445.5215">URT_STATUS_ERROR</text><rect fill="#000000" filter="url(#f1dgqi4y7e2l0d)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="230" x="1006.75" y="424.3828"/><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="1020.75" y="450.3828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="1030.75" y="471.5215">set FRT data</text><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="1147.75" y="450.3828"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="1157.75" y="471.5215">set topic</text><rect fill="#000000" filter="url(#f1dgqi4y7e2l0d)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="230" x="1006.75" y="504.3516"/><rect fill="#000000" filter="url(#f1dgqi4y7e2l0d)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1290" x="465.75" y="530.3516"/><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="959.25" y="556.3516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="969.25" y="577.4902">lock topic</text><rect fill="#000000" filter="url(#f1dgqi4y7e2l0d)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1037" x="479.75" y="610.3203"/><rect fill="#FFFFFF" filter="url(#f1dgqi4y7e2l0d)" height="151.2344" style="stroke: #000000; stroke-width: 2.0;" width="638" x="503.75" y="682.8325"/><path d="M660.75,683.8325 L660.75,692.1294 L650.75,702.1294 L503.75,702.1294 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="506.75" y="696.8276">contribute messages</text><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="585.75" y="719.1294"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="595.75" y="740.2681">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="513.75" y="788.0981"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="523.75" y="809.2368">set next pointer of last message to contribute to the message after the topic's latest message</text><polygon fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" points="752.75,636.3203,892.75,636.3203,904.75,648.3203,892.75,660.3203,752.75,660.3203,740.75,648.3203,752.75,636.3203" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="826.75" y="670.5308">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="752.75" y="652.1284">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="904.75" y="645.7261">no</text><polygon fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" points="822.75,854.0669,834.75,866.0669,822.75,878.0669,810.75,866.0669,822.75,854.0669" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1191.75" y="745.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1201.75" y="766.604">set message pointer to topic's latest message</text><rect fill="#000000" filter="url(#f1dgqi4y7e2l0d)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1037" x="479.75" y="898.0669"/><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="951.25" y="924.0669"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="961.25" y="945.2056">unlock topic</text><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="1526.75" y="745.4653"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="1536.75" y="766.604">register to topic's event source</text><rect fill="#000000" filter="url(#f1dgqi4y7e2l0d)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1290" x="465.75" y="978.0356"/><rect fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="1044.75" y="1004.0356"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="1054.75" y="1025.1743">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="91" x="1097.75" y="1025.1743">URT_STATUS_OK</text><polygon fill="#FEFECE" filter="url(#f1dgqi4y7e2l0d)" points="740,1044.0044,752,1056.0044,740,1068.0044,728,1056.0044,740,1044.0044" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M181,1078.8716 L181,1119.1372 A0,0 0 0 0 181,1119.1372 L709,1119.1372 A0,0 0 0 0 709,1119.1372 L709,1103.0044 L729,1099.0044 L709,1095.0044 L709,1088.8716 L699,1078.8716 L181,1078.8716 A0,0 0 0 0 181,1078.8716 " fill="#FBFB77" filter="url(#f1dgqi4y7e2l0d)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M699,1078.8716 L699,1088.8716 L709,1088.8716 L699,1078.8716 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="181" x2="368.5" y1="1091.438" y2="1091.438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="372.5" y="1095.4385"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="372.5" y="1095.4385">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="421.5" y="1095.4385"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="96" x="421.5" y="1095.4385">urt_status_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="521.5" y="1095.4385"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="521.5" x2="709" y1="1091.438" y2="1091.438"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="187" y="1111.0713">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="240" y="1111.0713">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="322" x="372" y="1111.0713">if the subscriber was already associated to a topic.</text><ellipse cx="740" cy="1099.0044" fill="#FFFFFF" filter="url(#f1dgqi4y7e2l0d)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="740" cy="1099.0044" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1070.25" x2="1070.25" y1="430.3828" y2="450.3828"/><polygon fill="#A80036" points="1066.25,440.3828,1070.25,450.3828,1074.25,440.3828,1070.25,444.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1185.25" x2="1185.25" y1="430.3828" y2="450.3828"/><polygon fill="#A80036" points="1181.25,440.3828,1185.25,450.3828,1189.25,440.3828,1185.25,444.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1070.25" x2="1070.25" y1="484.3516" y2="504.3516"/><polygon fill="#A80036" points="1066.25,494.3516,1070.25,504.3516,1074.25,494.3516,1070.25,498.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1185.25" x2="1185.25" y1="484.3516" y2="504.3516"/><polygon fill="#A80036" points="1181.25,494.3516,1185.25,504.3516,1189.25,494.3516,1185.25,498.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="822.75" x2="822.75" y1="753.0981" y2="788.0981"/><polygon fill="#A80036" points="818.75,778.0981,822.75,788.0981,826.75,778.0981,822.75,782.0981" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="822.75" x2="822.75" y1="660.3203" y2="719.1294"/><polygon fill="#A80036" points="818.75,709.1294,822.75,719.1294,826.75,709.1294,822.75,713.1294" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="904.75" x2="1151.75" y1="648.3203" y2="648.3203"/><polygon fill="#A80036" points="1147.75,752.4497,1151.75,762.4497,1155.75,752.4497,1151.75,756.4497" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1151.75" x2="1151.75" y1="648.3203" y2="866.0669"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1151.75" x2="834.75" y1="866.0669" y2="866.0669"/><polygon fill="#A80036" points="844.75,862.0669,834.75,866.0669,844.75,870.0669,840.75,866.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="822.75" x2="822.75" y1="822.0669" y2="854.0669"/><polygon fill="#A80036" points="818.75,844.0669,822.75,854.0669,826.75,844.0669,822.75,848.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="822.75" x2="822.75" y1="616.3203" y2="636.3203"/><polygon fill="#A80036" points="818.75,626.3203,822.75,636.3203,826.75,626.3203,822.75,630.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1348.25" x2="1348.25" y1="616.3203" y2="745.4653"/><polygon fill="#A80036" points="1344.25,735.4653,1348.25,745.4653,1352.25,735.4653,1348.25,739.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="822.75" x2="822.75" y1="878.0669" y2="898.0669"/><polygon fill="#A80036" points="818.75,888.0669,822.75,898.0669,826.75,888.0669,822.75,892.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1348.25" x2="1348.25" y1="779.4341" y2="898.0669"/><polygon fill="#A80036" points="1344.25,888.0669,1348.25,898.0669,1352.25,888.0669,1348.25,892.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999.25" x2="999.25" y1="590.3203" y2="610.3203"/><polygon fill="#A80036" points="995.25,600.3203,999.25,610.3203,1003.25,600.3203,999.25,604.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999.25" x2="999.25" y1="904.0669" y2="924.0669"/><polygon fill="#A80036" points="995.25,914.0669,999.25,924.0669,1003.25,914.0669,999.25,918.0669" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999.25" x2="999.25" y1="536.3516" y2="556.3516"/><polygon fill="#A80036" points="995.25,546.3516,999.25,556.3516,1003.25,546.3516,999.25,550.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1635.25" x2="1635.25" y1="536.3516" y2="745.4653"/><polygon fill="#A80036" points="1631.25,735.4653,1635.25,745.4653,1639.25,735.4653,1635.25,739.4653" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="999.25" x2="999.25" y1="958.0356" y2="978.0356"/><polygon fill="#A80036" points="995.25,968.0356,999.25,978.0356,1003.25,968.0356,999.25,972.0356" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1635.25" x2="1635.25" y1="779.4341" y2="978.0356"/><polygon fill="#A80036" points="1631.25,968.0356,1635.25,978.0356,1639.25,968.0356,1635.25,972.0356" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1121.75" x2="1121.75" y1="510.3516" y2="530.3516"/><polygon fill="#A80036" points="1117.75,520.3516,1121.75,530.3516,1125.75,520.3516,1121.75,524.3516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1121.75" x2="1121.75" y1="984.0356" y2="1004.0356"/><polygon fill="#A80036" points="1117.75,994.0356,1121.75,1004.0356,1125.75,994.0356,1121.75,998.0356" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="670.5" x2="358.25" y1="402.3828" y2="402.3828"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="358.25" x2="358.25" y1="402.3828" y2="424.3828"/><polygon fill="#A80036" points="354.25,414.3828,358.25,424.3828,362.25,414.3828,358.25,418.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="809.5" x2="1121.75" y1="402.3828" y2="402.3828"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1121.75" x2="1121.75" y1="402.3828" y2="424.3828"/><polygon fill="#A80036" points="1117.75,414.3828,1121.75,424.3828,1125.75,414.3828,1121.75,418.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="358.25" x2="358.25" y1="458.3516" y2="1056.0044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="358.25" x2="728" y1="1056.0044" y2="1056.0044"/><polygon fill="#A80036" points="718,1052.0044,728,1056.0044,718,1060.0044,722,1056.0044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1121.75" x2="1121.75" y1="1038.0044" y2="1056.0044"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1121.75" x2="752" y1="1056.0044" y2="1056.0044"/><polygon fill="#A80036" points="762,1052.0044,752,1056.0044,762,1060.0044,758,1056.0044" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740" x2="740" y1="231.6211" y2="390.3828"/><polygon fill="#A80036" points="736,380.3828,740,390.3828,744,380.3828,740,384.3828" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="740" x2="740" y1="1068.0044" y2="1088.0044"/><polygon fill="#A80036" points="736,1078.0044,740,1088.0044,744,1078.0044,740,1082.0044" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a6d104aca358dff4eeaced4e385ef4b8]
2 2
@startuml
3 3

  
4 4
title **µRtWare**\nurtSubscriberFrt()\n
......
46 46
  fork again
47 47
    :set topic;
48 48
  endfork
49
  :lock topic;
50 49
  fork
51
    if (Messages to contribute?) then (yes)
52
      partition "contribute messages" {
53
        :set next pointer of topic's latest message to first message to contribute;
54
        :set next pointer of last message to contribute to the message after the topic's latest message;
55
      }
56
    else (no)
57
    endif
58
  fork again
59
    :set message pointer to topic's latest message;
50
    :lock topic;
51
    fork
52
      if (Messages to contribute?) then (yes)
53
        partition "contribute messages" {
54
          :set next pointer of topic's latest message to first message to contribute;
55
          :set next pointer of last message to contribute to the message after the topic's latest message;
56
        }
57
      else (no)
58
      endif
59
    fork again
60
      :set message pointer to topic's latest message;
61
    endfork
62
    :unlock topic;
60 63
  fork again
61 64
    :register to topic's event source;
62 65
  endfork
63
  :unlock topic;
64 66
  :return ""URT_STATUS_OK"";
65 67
endif
66 68

  

Also available in: Unified diff