Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / subscriber / urtSubscriberSubscribeNrt.svg @ c22d21ad

History | View | Annotate | Download (22.939 KB)

1 c22d21ad 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="994px" preserveAspectRatio="none" style="width:1604px;height:994px;" version="1.1" viewBox="0 0 1604 994" width="1604px" zoomAndPan="magnify"><defs><filter height="300%" id="f2tngkxb3de0k" 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="756.875" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="162" x="720.375" y="47.6611">urtSubscriberNrt()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="804.375" y="68.6143"/><path d="M10,72.8594 L10,234.1875 A0,0 0 0 0 10,234.1875 L548,234.1875 A0,0 0 0 0 548,234.1875 L548,157.5234 L568,153.5234 L548,149.5234 L548,82.8594 L538,72.8594 L10,72.8594 A0,0 0 0 0 10,72.8594 " fill="#FBFB77" filter="url(#f2tngkxb3de0k)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M538,72.8594 L538,82.8594 L548,82.8594 L538,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="10" x2="155" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="159" y="89.4263"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="80" x="159" y="89.4263">subscriber</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="152" x="247" y="89.4263">: urt_subscriber_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="403" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="403" x2="548" 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="195" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="199" y="134.8247"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="199" y="134.8247">topic</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="247" y="134.8247">: urt_topic_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="363" y="134.8247"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="363" x2="548" 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="175" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="179" y="180.2231"/><text fill="#000000" font-family="monospace" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="64" x="179" y="180.2231">messages</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="251" y="180.2231">: urt_message_t*</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="383" y="180.2231"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="383" x2="548" 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><ellipse cx="578" cy="153.5234" fill="#000000" filter="url(#f2tngkxb3de0k)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f2tngkxb3de0k)" points="520.5,254.1875,635.5,254.1875,647.5,266.1875,635.5,278.1875,520.5,278.1875,508.5,266.1875,520.5,254.1875" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="520.5" y="269.9956">Is topic already set?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="488.5" y="263.5933">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="647.5" y="263.5933">no</text><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="108.75" y="288.1875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="118.75" y="309.3262">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="161.75" y="309.3262">URT_STATUS_ERROR</text><rect fill="#000000" filter="url(#f2tngkxb3de0k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="232" x="843.75" y="288.1875"/><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="857.75" y="314.1875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="81" x="867.75" y="335.3262">set NRT data</text><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="75" x="986.75" y="314.1875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="55" x="996.75" y="335.3262">set topic</text><rect fill="#000000" filter="url(#f2tngkxb3de0k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="232" x="843.75" y="368.1563"/><rect fill="#000000" filter="url(#f2tngkxb3de0k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1290" x="303.75" y="394.1563"/><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="797.25" y="420.1563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="807.25" y="441.2949">lock topic</text><rect fill="#000000" filter="url(#f2tngkxb3de0k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1037" x="317.75" y="474.125"/><rect fill="#FFFFFF" filter="url(#f2tngkxb3de0k)" height="151.2344" style="stroke: #000000; stroke-width: 2.0;" width="638" x="341.75" y="546.6372"/><path d="M498.75,547.6372 L498.75,555.9341 L488.75,565.9341 L341.75,565.9341 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="344.75" y="560.6323">contribute messages</text><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="423.75" y="582.9341"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="433.75" y="604.0728">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="351.75" y="651.9028"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="361.75" y="673.0415">set next pointer of last message to contribute to the message after the topic's latest message</text><polygon fill="#FEFECE" filter="url(#f2tngkxb3de0k)" points="590.75,500.125,730.75,500.125,742.75,512.125,730.75,524.125,590.75,524.125,578.75,512.125,590.75,500.125" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="664.75" y="534.3354">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="590.75" y="515.9331">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="742.75" y="509.5308">no</text><polygon fill="#FEFECE" filter="url(#f2tngkxb3de0k)" points="660.75,717.8716,672.75,729.8716,660.75,741.8716,648.75,729.8716,660.75,717.8716" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="313" x="1029.75" y="609.27"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="293" x="1039.75" y="630.4087">set message pointer to topic's latest message</text><rect fill="#000000" filter="url(#f2tngkxb3de0k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1037" x="317.75" y="761.8716"/><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="789.25" y="787.8716"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="799.25" y="809.0103">unlock topic</text><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="1364.75" y="609.27"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="1374.75" y="630.4087">register to topic's event source</text><rect fill="#000000" filter="url(#f2tngkxb3de0k)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1290" x="303.75" y="841.8403"/><rect fill="#FEFECE" filter="url(#f2tngkxb3de0k)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="154" x="882.75" y="867.8403"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="39" x="892.75" y="888.979">return</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="91" x="935.75" y="888.979">URT_STATUS_OK</text><polygon fill="#FEFECE" filter="url(#f2tngkxb3de0k)" points="578,907.8091,590,919.8091,578,931.8091,566,919.8091,578,907.8091" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M19,942.6763 L19,982.9419 A0,0 0 0 0 19,982.9419 L547,982.9419 A0,0 0 0 0 547,982.9419 L547,966.8091 L567,962.8091 L547,958.8091 L547,952.6763 L537,942.6763 L19,942.6763 A0,0 0 0 0 19,942.6763 " fill="#FBFB77" filter="url(#f2tngkxb3de0k)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M537,942.6763 L537,952.6763 L547,952.6763 L537,942.6763 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="19" x2="206.5" y1="955.2427" y2="955.2427"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="210.5" y="959.2432"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="210.5" y="959.2432">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="259.5" y="959.2432"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="96" x="259.5" y="959.2432">urt_status_t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="359.5" y="959.2432"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="359.5" x2="547" y1="955.2427" y2="955.2427"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="25" y="974.876">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="78" y="974.876">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="322" x="210" y="974.876">if the subscriber was already associated to a topic.</text><ellipse cx="578" cy="962.8091" fill="#FFFFFF" filter="url(#f2tngkxb3de0k)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="578" cy="962.8091" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="908.25" x2="908.25" y1="294.1875" y2="314.1875"/><polygon fill="#A80036" points="904.25,304.1875,908.25,314.1875,912.25,304.1875,908.25,308.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1024.25" x2="1024.25" y1="294.1875" y2="314.1875"/><polygon fill="#A80036" points="1020.25,304.1875,1024.25,314.1875,1028.25,304.1875,1024.25,308.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="908.25" x2="908.25" y1="348.1563" y2="368.1563"/><polygon fill="#A80036" points="904.25,358.1563,908.25,368.1563,912.25,358.1563,908.25,362.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1024.25" x2="1024.25" y1="348.1563" y2="368.1563"/><polygon fill="#A80036" points="1020.25,358.1563,1024.25,368.1563,1028.25,358.1563,1024.25,362.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="660.75" x2="660.75" y1="616.9028" y2="651.9028"/><polygon fill="#A80036" points="656.75,641.9028,660.75,651.9028,664.75,641.9028,660.75,645.9028" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="660.75" x2="660.75" y1="524.125" y2="582.9341"/><polygon fill="#A80036" points="656.75,572.9341,660.75,582.9341,664.75,572.9341,660.75,576.9341" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="742.75" x2="989.75" y1="512.125" y2="512.125"/><polygon fill="#A80036" points="985.75,616.2544,989.75,626.2544,993.75,616.2544,989.75,620.2544" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="989.75" x2="989.75" y1="512.125" y2="729.8716"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="989.75" x2="672.75" y1="729.8716" y2="729.8716"/><polygon fill="#A80036" points="682.75,725.8716,672.75,729.8716,682.75,733.8716,678.75,729.8716" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="660.75" x2="660.75" y1="685.8716" y2="717.8716"/><polygon fill="#A80036" points="656.75,707.8716,660.75,717.8716,664.75,707.8716,660.75,711.8716" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="660.75" x2="660.75" y1="480.125" y2="500.125"/><polygon fill="#A80036" points="656.75,490.125,660.75,500.125,664.75,490.125,660.75,494.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1186.25" x2="1186.25" y1="480.125" y2="609.27"/><polygon fill="#A80036" points="1182.25,599.27,1186.25,609.27,1190.25,599.27,1186.25,603.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="660.75" x2="660.75" y1="741.8716" y2="761.8716"/><polygon fill="#A80036" points="656.75,751.8716,660.75,761.8716,664.75,751.8716,660.75,755.8716" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1186.25" x2="1186.25" y1="643.2388" y2="761.8716"/><polygon fill="#A80036" points="1182.25,751.8716,1186.25,761.8716,1190.25,751.8716,1186.25,755.8716" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="837.25" x2="837.25" y1="454.125" y2="474.125"/><polygon fill="#A80036" points="833.25,464.125,837.25,474.125,841.25,464.125,837.25,468.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="837.25" x2="837.25" y1="767.8716" y2="787.8716"/><polygon fill="#A80036" points="833.25,777.8716,837.25,787.8716,841.25,777.8716,837.25,781.8716" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="837.25" x2="837.25" y1="400.1563" y2="420.1563"/><polygon fill="#A80036" points="833.25,410.1563,837.25,420.1563,841.25,410.1563,837.25,414.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1473.25" x2="1473.25" y1="400.1563" y2="609.27"/><polygon fill="#A80036" points="1469.25,599.27,1473.25,609.27,1477.25,599.27,1473.25,603.27" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="837.25" x2="837.25" y1="821.8403" y2="841.8403"/><polygon fill="#A80036" points="833.25,831.8403,837.25,841.8403,841.25,831.8403,837.25,835.8403" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1473.25" x2="1473.25" y1="643.2388" y2="841.8403"/><polygon fill="#A80036" points="1469.25,831.8403,1473.25,841.8403,1477.25,831.8403,1473.25,835.8403" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="959.75" x2="959.75" y1="374.1563" y2="394.1563"/><polygon fill="#A80036" points="955.75,384.1563,959.75,394.1563,963.75,384.1563,959.75,388.1563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="959.75" x2="959.75" y1="847.8403" y2="867.8403"/><polygon fill="#A80036" points="955.75,857.8403,959.75,867.8403,963.75,857.8403,959.75,861.8403" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="508.5" x2="196.25" y1="266.1875" y2="266.1875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="196.25" x2="196.25" y1="266.1875" y2="288.1875"/><polygon fill="#A80036" points="192.25,278.1875,196.25,288.1875,200.25,278.1875,196.25,282.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="647.5" x2="959.75" y1="266.1875" y2="266.1875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="959.75" x2="959.75" y1="266.1875" y2="288.1875"/><polygon fill="#A80036" points="955.75,278.1875,959.75,288.1875,963.75,278.1875,959.75,282.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="196.25" x2="196.25" y1="322.1563" y2="919.8091"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="196.25" x2="566" y1="919.8091" y2="919.8091"/><polygon fill="#A80036" points="556,915.8091,566,919.8091,556,923.8091,560,919.8091" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="959.75" x2="959.75" y1="901.8091" y2="919.8091"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="959.75" x2="590" y1="919.8091" y2="919.8091"/><polygon fill="#A80036" points="600,915.8091,590,919.8091,600,923.8091,596,919.8091" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578" x2="578" y1="163.5234" y2="254.1875"/><polygon fill="#A80036" points="574,244.1875,578,254.1875,582,244.1875,578,248.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578" x2="578" y1="931.8091" y2="951.8091"/><polygon fill="#A80036" points="574,941.8091,578,951.8091,582,941.8091,578,945.8091" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[de98d552df3bf5a78dc344288367cb63]
2 7491c395 Thomas Schöpping
@startuml
3
4
title **µRtWare**\nurtSubscriberNrt()\n
5
6
7
8
9
10
11
12
13
14
15
16
17
start
18
note
19
  - - ""**subscriber** : urt_subscriber_t*"" - -
20
  The subscriber which shall subscribe to a topic.
21
  Must not be ""NULL"".
22
  - - ""**topic** : urt_topic_t*"" - -
23
  The topic to subscribe to.
24
  Must not be ""NULL"".
25
  - - ""**messages** : urt_message_t*"" - -
26
  List of messages to be contributed to the topic.
27
  Those messages must not be associated to another topic.
28
  Once a message was contributed, it cannot be removed from the topic anymore.
29
end note
30
31
32
if (Is topic already set?) then (yes)
33
  :return ""URT_STATUS_ERROR"";
34
else (no)
35
  fork
36
    :set NRT data;
37
  fork again
38
    :set topic;
39
  endfork
40
  fork
41 c22d21ad Thomas Schöpping
    :lock topic;
42
    fork
43
      if (Messages to contribute?) then (yes)
44
        partition "contribute messages" {
45
          :set next pointer of topic's latest message to first message to contribute;
46
          :set next pointer of last message to contribute to the message after the topic's latest message;
47
        }
48
      else (no)
49
      endif
50
    fork again
51
      :set message pointer to topic's latest message;
52
    endfork
53
    :unlock topic;
54 7491c395 Thomas Schöpping
  fork again
55
    :register to topic's event source;
56
  endfork
57
  :return ""URT_STATUS_OK"";
58
endif
59
60
61
stop
62
note
63
  - - **return** ""urt_status_t"" - -
64
  Returns ""URT_STATUS_ERROR"" if the subscriber was already associated to a topic.
65
end note
66
67
68
@enduml
69
70
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
71
(GPL source distribution)
72
Java Runtime: OpenJDK Runtime Environment
73
JVM: OpenJDK 64-Bit Server VM
74
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
75
Operating System: Linux
76
Default Encoding: UTF-8
77
Language: en
78
Country: US
79
--></g></svg>