Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / subscriber / urtNrtSubscriberSubscribe.svg @ e87bd7c7

History | View | Annotate | Download (23.597 KB)

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="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]
2
@startuml
3

    
4
title **µRtWare**\nurtNrtSubscriberSubscribe()\n
5

    
6

    
7

    
8

    
9

    
10
note
11
  - - **subscriber** : urt_nrtsubscriber_t* - -
12
  The NRT 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
  ====
23
  - - **return** : urt_status_t - -
24
  Returns ""URT_STATUS_OK"" on success.
25
  Returns ""URT_STATUS_ERROR"" if the subscriber is already associated to a topic.
26
endnote
27

    
28

    
29
start
30
if (Is topic already set?) then (yes)
31
  stop
32
  note
33
    Returns ""URT_STATUS_ERROR"".
34
  endnote
35
else (no)
36
  :set topic;
37
  :lock topic;
38
  fork
39
    if (Messages to contribute?) then (yes)
40
        partition "contribute messages" {
41
    fork
42
      :set next pointer of topic's latest message to first message to contribute;
43
    fork again
44
      :set next pointer of last message to contribute to the message after the topic's latest message;
45
    endfork
46
  }
47
    else (no)
48
    endif
49
  fork again
50
    fork
51
      :set message pointer to topic's latest message;
52
    fork again
53
      :copy timestamp from topic's latest message;
54
    endfork
55
  fork again
56
    :register to topic's event source;
57
  endfork
58
  :unlock topic;
59
  stop
60
  note
61
    Returns ""URT_STATUS_OK"".
62
  endnote
63
endif
64

    
65

    
66
@enduml
67

    
68
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
69
(GPL source distribution)
70
Java Runtime: OpenJDK Runtime Environment
71
JVM: OpenJDK 64-Bit Server VM
72
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
73
Operating System: Linux
74
Default Encoding: UTF-8
75
Language: en
76
Country: US
77
--></g></svg>