urtware / doc / activitydiagrams / subscriber / urtFrtSubscriberSubscribe.svg @ e87bd7c7
History | View | Annotate | Download (28.369 KB)
1 | e87bd7c7 | Thomas Schöpping | <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="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] |
---|---|---|---|
2 | ee83a495 | Thomas Schöpping | @startuml |
3 | |||
4 | title **µRtWare**\nurtFrtSubscriberSubscribe()\n |
||
5 | |||
6 | |||
7 | e87bd7c7 | Thomas Schöpping | |
8 | |||
9 | |||
10 | ee83a495 | Thomas Schöpping | note |
11 | - - **subscriber** : urt_frtsubscriber_t* - - |
||
12 | The FRT subscriber which shall subscribe to a topic. |
||
13 | Must not be ""NULL"". |
||
14 | - - **topic** : urt_topic_t* - - |
||
15 | The topic to subscribe to. |
||
16 | Must not be ""NULL"". |
||
17 | - - **messages** : urt_message_t* - - |
||
18 | ""NULL"" terminated list of messages to contribute to the topic. |
||
19 | Messages must not be associated to another topic. |
||
20 | Once a message has been contributed, it cannot be removed later. |
||
21 | May be ""NULL"" (no messages to contribute). |
||
22 | - - **deadline** : urt_delay_t - - |
||
23 | Maximum latency to consume messages. |
||
24 | A value of 0 indicates that latency is of no concern. |
||
25 | - - **jitter** : urt_delay_t - - |
||
26 | Maximum allowed jitter (difference between maximum and minimum latency) when consuming messages. |
||
27 | A value of 0 indicates that jitter is of no concern. |
||
28 | ==== |
||
29 | - - **return** : urt_status_t - - |
||
30 | Returns ""URT_STATUS_OK"" on success. |
||
31 | Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic. |
||
32 | endnote |
||
33 | |||
34 | |||
35 | start |
||
36 | if (Is topic already set?) then (yes) |
||
37 | stop |
||
38 | note |
||
39 | Returns ""URT_STATUS_ERROR"". |
||
40 | endnote |
||
41 | else (no) |
||
42 | fork |
||
43 | :set topic; |
||
44 | fork again |
||
45 | :set deadline offset; |
||
46 | fork again |
||
47 | :set maximum jitter; |
||
48 | endfork |
||
49 | :lock topic; |
||
50 | fork |
||
51 | if (Messages to contribute?) then (yes) |
||
52 | e87bd7c7 | Thomas Schöpping | partition "contribute messages" { |
53 | fork |
||
54 | :set next pointer of topic's latest message to first message to contribute; |
||
55 | fork again |
||
56 | :set next pointer of last message to contribute to the message after the topic's latest message; |
||
57 | endfork |
||
58 | } |
||
59 | ee83a495 | Thomas Schöpping | else (no) |
60 | endif |
||
61 | fork again |
||
62 | fork |
||
63 | :set message pointer to topic's latest message; |
||
64 | fork again |
||
65 | :copy timestamp from topic's latest message; |
||
66 | endfork |
||
67 | fork again |
||
68 | :register to topic's event source; |
||
69 | endfork |
||
70 | :unlock topic; |
||
71 | stop |
||
72 | note |
||
73 | Returns ""URT_STATUS_OK"". |
||
74 | endnote |
||
75 | endif |
||
76 | |||
77 | |||
78 | @enduml |
||
79 | |||
80 | PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020) |
||
81 | (GPL source distribution) |
||
82 | Java Runtime: OpenJDK Runtime Environment |
||
83 | JVM: OpenJDK 64-Bit Server VM |
||
84 | Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1 |
||
85 | Operating System: Linux |
||
86 | Default Encoding: UTF-8 |
||
87 | Language: en |
||
88 | Country: US |
||
89 | --></g></svg> |