Revision dd31cb03 doc/activitydiagrams/publisher/urtPublisherInit.svg

View differences:

doc/activitydiagrams/publisher/urtPublisherInit.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="811px" preserveAspectRatio="none" style="width:1212px;height:811px;" version="1.1" viewBox="0 0 1212 811" width="1212px" zoomAndPan="magnify"><defs><filter height="300%" id="fp6zrrwdh3uys" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="560.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="150" x="530" y="47.6611">urtPublisherInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="608" y="68.6143"/><path d="M368.5,72.8594 L368.5,289.5859 L819.5,289.5859 L819.5,82.8594 L809.5,72.8594 L368.5,72.8594 " fill="#FBFB77" filter="url(#fp6zrrwdh3uys)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M809.5,72.8594 L809.5,82.8594 L819.5,82.8594 L809.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="498.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="502.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="502.5" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="575.5" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="689.5" x2="819.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="374.5" y="105.0591">The publisher to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="374.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="454.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="486.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="528" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="532" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="532" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="573" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="660" x2="819.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="259" x="374.5" y="150.4575">The topic, this publisher is associated to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="374.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="454.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="486.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="495" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="499" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="499" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="578" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="693" x2="819.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="374.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="410.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="374.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="374.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="374.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="424.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="460.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="819.5" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="819.5" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="368.5" x2="523" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="527" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="527" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="576" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="665" x2="819.5" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="374.5" y="281.52">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="471.5" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="575.5" y="281.52">.</text><ellipse cx="594" cy="319.5859" fill="#000000" filter="url(#fp6zrrwdh3uys)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M230.5,339.5859 L230.5,410.1172 A0,0 0 0 0 230.5,410.1172 L508.5,410.1172 A0,0 0 0 0 508.5,410.1172 L508.5,378.8516 L528.5,374.8516 L508.5,370.8516 L508.5,349.5859 L498.5,339.5859 L230.5,339.5859 A0,0 0 0 0 230.5,339.5859 " fill="#FBFB77" filter="url(#fp6zrrwdh3uys)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M498.5,339.5859 L498.5,349.5859 L508.5,349.5859 L498.5,339.5859 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="236.5" y="356.6528">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="277.5" y="356.6528">← topic</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="230.5" x2="241" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="245" y="371.2856">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="498" x2="508.5" y1="367.2852" y2="367.2852"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="123" x="236.5" y="386.9185">publishAttempts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="363.5" y="386.9185">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="236.5" y="402.0513">publishFails</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="328.5" y="402.0513">← 0</text><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="528.5" y="357.8672"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="538.5" y="379.0059">initialize members</text><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="554" y="478.5195"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="564" y="499.6582">lock topic</text><rect fill="#FFFFFF" filter="url(#fp6zrrwdh3uys)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1166" x="10" y="523.29"/><path d="M167,524.29 L167,532.5869 L157,542.5869 L10,542.5869 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="13" y="537.2852">contribute messages</text><rect fill="#000000" filter="url(#fp6zrrwdh3uys)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1146" x="20" y="559.5869"/><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="474" x="34" y="585.5869"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="454" x="44" y="606.7256">set next pointer of topic's latest message to first message to contribute</text><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="618" x="536" y="585.5869"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="598" x="546" y="606.7256">set next pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#000000" filter="url(#fp6zrrwdh3uys)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1146" x="20" y="639.5557"/><rect fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="546" y="677.5557"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="556" y="698.6943">unlock topic</text><polygon fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" points="524,430.1172,664,430.1172,676,442.1172,664,454.1172,524,454.1172,512,442.1172,524,430.1172" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="598" y="464.3276">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="524" y="445.9253">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="676" y="439.5229">no</text><polygon fill="#FEFECE" filter="url(#fp6zrrwdh3uys)" points="594,731.5244,606,743.5244,594,755.5244,582,743.5244,594,731.5244" style="stroke: #A80036; stroke-width: 1.5;"/><path d="M381,773.958 L381,799.0908 A0,0 0 0 0 381,799.0908 L563,799.0908 A0,0 0 0 0 563,799.0908 L563,791.958 L583,786.5244 L563,783.958 L563,783.958 L553,773.958 L381,773.958 A0,0 0 0 0 381,773.958 " fill="#FBFB77" filter="url(#fp6zrrwdh3uys)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M553,773.958 L553,783.958 L563,783.958 L553,773.958 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="387" y="791.0249">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="440" y="791.0249">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="544" y="791.0249">.</text><ellipse cx="594" cy="786.5244" fill="#FFFFFF" filter="url(#fp6zrrwdh3uys)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="594" cy="786.5244" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="289.5859" y2="309.5859"/><polygon fill="#A80036" points="590,299.5859,594,309.5859,598,299.5859,594,303.5859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="329.5859" y2="357.8672"/><polygon fill="#A80036" points="590,347.8672,594,357.8672,598,347.8672,594,351.8672" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="271" x2="271" y1="565.5869" y2="585.5869"/><polygon fill="#A80036" points="267,575.5869,271,585.5869,275,575.5869,271,579.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="845" x2="845" y1="565.5869" y2="585.5869"/><polygon fill="#A80036" points="841,575.5869,845,585.5869,849,575.5869,845,579.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="271" x2="271" y1="619.5557" y2="639.5557"/><polygon fill="#A80036" points="267,629.5557,271,639.5557,275,629.5557,271,633.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="845" x2="845" y1="619.5557" y2="639.5557"/><polygon fill="#A80036" points="841,629.5557,845,639.5557,849,629.5557,845,633.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="512.4883" y2="559.5869"/><polygon fill="#A80036" points="590,549.5869,594,559.5869,598,549.5869,594,553.5869" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="645.5557" y2="677.5557"/><polygon fill="#A80036" points="590,667.5557,594,677.5557,598,667.5557,594,671.5557" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="454.1172" y2="478.5195"/><polygon fill="#A80036" points="590,468.5195,594,478.5195,598,468.5195,594,472.5195" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="676" x2="1186" y1="442.1172" y2="442.1172"/><polygon fill="#A80036" points="1182,584.4229,1186,594.4229,1190,584.4229,1186,588.4229" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1186" x2="1186" y1="442.1172" y2="743.5244"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1186" x2="606" y1="743.5244" y2="743.5244"/><polygon fill="#A80036" points="616,739.5244,606,743.5244,616,747.5244,612,743.5244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="711.5244" y2="731.5244"/><polygon fill="#A80036" points="590,721.5244,594,731.5244,598,721.5244,594,725.5244" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="391.8359" y2="430.1172"/><polygon fill="#A80036" points="590,420.1172,594,430.1172,598,420.1172,594,424.1172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594" x2="594" y1="755.5244" y2="775.5244"/><polygon fill="#A80036" points="590,765.5244,594,775.5244,598,765.5244,594,769.5244" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b5d53b61b9ef34bcf4f73737292c91ed]
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="793px" preserveAspectRatio="none" style="width:1214px;height:793px;" version="1.1" viewBox="0 0 1214 793" width="1214px" zoomAndPan="magnify"><defs><filter height="300%" id="f1cmn83qlc5kyj" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="89" x="561.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="150" x="531" y="47.6611">urtPublisherInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="609" y="68.6143"/><path d="M369.5,72.8594 L369.5,274.4531 L820.5,274.4531 L820.5,82.8594 L810.5,72.8594 L369.5,72.8594 " fill="#FBFB77" filter="url(#f1cmn83qlc5kyj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M810.5,72.8594 L810.5,82.8594 L820.5,82.8594 L810.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="499.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="503.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="503.5" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="576.5" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="690.5" x2="820.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="161" x="375.5" y="105.0591">The publisher to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="375.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="455.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="487.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="529" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="533" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="533" y="134.8247">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="574" y="134.8247">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="661" x2="820.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="259" x="375.5" y="150.4575">The topic, this publisher is associated to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="375.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="455.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="487.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="496" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="500" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="500" y="180.2231">messages</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="579" y="180.2231">: urt_message_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="694" x2="820.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="375.5" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="346" x="411.5" y="195.856">terminated list of messages to contribute to the topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="329" x="375.5" y="210.9888">Messages must not be associated to another topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="430" x="375.5" y="226.1216">Once a message has been contributed, it cannot be removed later.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="375.5" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="425.5" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="186" x="461.5" y="241.2544">(no messages to contribute).</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="820.5" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="820.5" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="369.5" x2="549.5" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="553.5" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="553.5" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="602.5" y="265.8872">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="640.5" x2="820.5" y1="261.8867" y2="261.8867"/><ellipse cx="595" cy="304.4531" fill="#000000" filter="url(#f1cmn83qlc5kyj)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M231.5,324.4531 L231.5,394.9844 A0,0 0 0 0 231.5,394.9844 L509.5,394.9844 A0,0 0 0 0 509.5,394.9844 L509.5,363.7188 L529.5,359.7188 L509.5,355.7188 L509.5,334.4531 L499.5,324.4531 L231.5,324.4531 A0,0 0 0 0 231.5,324.4531 " fill="#FBFB77" filter="url(#f1cmn83qlc5kyj)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M499.5,324.4531 L499.5,334.4531 L509.5,334.4531 L499.5,324.4531 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="243" cy="337.0859" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="248.5" y="341.52">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="289.5" y="341.52">← topic</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="231.5" x2="242" y1="352.1523" y2="352.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="249" x="246" y="356.1528">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="499" x2="509.5" y1="352.1523" y2="352.1523"/><ellipse cx="243" cy="367.3516" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="123" x="248.5" y="371.7856">publishAttempts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="375.5" y="371.7856">← 0</text><ellipse cx="243" cy="382.4844" fill="#000000" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 0.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="248.5" y="386.9185">publishFails</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="340.5" y="386.9185">← 0</text><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="529.5" y="342.7344"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="539.5" y="363.873">initialize members</text><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="555" y="463.3867"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="565" y="484.5254">lock topic</text><rect fill="#FFFFFF" filter="url(#f1cmn83qlc5kyj)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="1168" x="10" y="508.1572"/><path d="M167,509.1572 L167,517.4541 L157,527.4541 L10,527.4541 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="147" x="13" y="522.1523">contribute messages</text><rect fill="#000000" filter="url(#f1cmn83qlc5kyj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="20" y="544.4541"/><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="619" x="34" y="570.4541"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="44" y="591.5928">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="68" y="591.5928">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="543" x="100" y="591.5928">pointer of last message to contribute to the message after the topic's latest message</text><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="475" x="681" y="570.4541"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="691" y="591.5928">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="715" y="591.5928">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="399" x="747" y="591.5928">pointer of topic's latest message to first message to contribute</text><rect fill="#000000" filter="url(#f1cmn83qlc5kyj)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1148" x="20" y="624.4229"/><rect fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="547" y="662.4229"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="557" y="683.5615">unlock topic</text><polygon fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" points="525,414.9844,665,414.9844,677,426.9844,665,438.9844,525,438.9844,513,426.9844,525,414.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="599" y="449.1948">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="525" y="430.7925">Messages to contribute?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="677" y="424.3901">no</text><polygon fill="#FEFECE" filter="url(#f1cmn83qlc5kyj)" points="595,716.3916,607,728.3916,595,740.3916,583,728.3916,595,716.3916" style="stroke: #A80036; stroke-width: 1.5;"/><ellipse cx="595" cy="771.3916" fill="#FFFFFF" filter="url(#f1cmn83qlc5kyj)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="595" cy="771.3916" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="274.4531" y2="294.4531"/><polygon fill="#A80036" points="591,284.4531,595,294.4531,599,284.4531,595,288.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="314.4531" y2="342.7344"/><polygon fill="#A80036" points="591,332.7344,595,342.7344,599,332.7344,595,336.7344" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="343.5" x2="343.5" y1="550.4541" y2="570.4541"/><polygon fill="#A80036" points="339.5,560.4541,343.5,570.4541,347.5,560.4541,343.5,564.4541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="918.5" x2="918.5" y1="550.4541" y2="570.4541"/><polygon fill="#A80036" points="914.5,560.4541,918.5,570.4541,922.5,560.4541,918.5,564.4541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="343.5" x2="343.5" y1="604.4229" y2="624.4229"/><polygon fill="#A80036" points="339.5,614.4229,343.5,624.4229,347.5,614.4229,343.5,618.4229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="918.5" x2="918.5" y1="604.4229" y2="624.4229"/><polygon fill="#A80036" points="914.5,614.4229,918.5,624.4229,922.5,614.4229,918.5,618.4229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="497.3555" y2="544.4541"/><polygon fill="#A80036" points="591,534.4541,595,544.4541,599,534.4541,595,538.4541" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="630.4229" y2="662.4229"/><polygon fill="#A80036" points="591,652.4229,595,662.4229,599,652.4229,595,656.4229" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="438.9844" y2="463.3867"/><polygon fill="#A80036" points="591,453.3867,595,463.3867,599,453.3867,595,457.3867" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="677" x2="1188" y1="426.9844" y2="426.9844"/><polygon fill="#A80036" points="1184,569.29,1188,579.29,1192,569.29,1188,573.29" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188" x2="1188" y1="426.9844" y2="728.3916"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188" x2="607" y1="728.3916" y2="728.3916"/><polygon fill="#A80036" points="617,724.3916,607,728.3916,617,732.3916,613,728.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="696.3916" y2="716.3916"/><polygon fill="#A80036" points="591,706.3916,595,716.3916,599,706.3916,595,710.3916" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="376.7031" y2="414.9844"/><polygon fill="#A80036" points="591,404.9844,595,414.9844,599,404.9844,595,408.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="595" x2="595" y1="740.3916" y2="760.3916"/><polygon fill="#A80036" points="591,750.3916,595,760.3916,599,750.3916,595,754.3916" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[cc6adf1d0441bf5c83751fa056e4110e]
2 2
@startuml
3 3

  
4 4
title **µRtWare**\nurtPublisherInit()\n
......
20 20
  Once a message has been contributed, it cannot be removed later.
21 21
  May be ""NULL"" (no messages to contribute).
22 22
  ====
23
  - - **return** : urt_status_t - -
24
  Always returns ""URT_STATUS_OK"".
23
  - - **return** : void - -
25 24
endnote
26 25

  
27 26

  
28 27
start
29 28
:initialize members;
30 29
note
31
  **topic** ← topic
30
  * **topic** ← topic
32 31
  .. URT_CFG_PUBSUB_PROFILING == true ..
33
  **publishAttempts** ← 0
34
  **publishFails** ← 0
32
  * **publishAttempts** ← 0
33
  * **publishFails** ← 0
35 34
endnote
36 35
if (Messages to contribute?) then (yes)
37 36
  :lock topic;
38 37
    partition "contribute messages" {
39 38
    fork
40
      :set next pointer of topic's latest message to first message to contribute;
39
      :set ""next"" pointer of last message to contribute to the message after the topic's latest message;
41 40
    fork again
42
      :set next pointer of last message to contribute to the message after the topic's latest message;
41
      :set ""next"" pointer of topic's latest message to first message to contribute;
43 42
    endfork
44 43
  }
45 44
  :unlock topic;
46 45
else (no)
47 46
endif
48 47
stop
49
note
50
  Returns ""URT_STATUS_OK"".
51
endnote
52 48

  
53 49

  
54 50
@enduml

Also available in: Unified diff