Revision dd31cb03 doc/activitydiagrams/node/urtNodeInit.svg

View differences:

doc/activitydiagrams/node/urtNodeInit.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="839px" preserveAspectRatio="none" style="width:831px;height:839px;" version="1.1" viewBox="0 0 831 839" width="831px" zoomAndPan="magnify"><defs><filter height="300%" id="faj7sbp20bnbq" 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="370.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="116" x="356.75" y="47.6611">urtNodeInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="417.75" y="68.6143"/><path d="M375.5,72.8594 L375.5,410.6484 L819.5,410.6484 L819.5,82.8594 L809.5,72.8594 L375.5,72.8594 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" 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="375.5" x2="531" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="535" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="535" y="89.4263">node</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="576" y="89.4263">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="664" x2="819.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="381.5" y="105.0591">The node to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="381.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="461.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="493.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="511.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="515.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="515.5" y="134.8247">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="568.5" y="134.8247">: urt_osThread_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="683.5" x2="819.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="335" x="381.5" y="150.4575">The already initialized, exclusive thread for the node.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="381.5" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="461.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="493.5" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="452.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="456.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="456.5" y="180.2231">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="175" x="563.5" y="180.2231">: urt_nodeSetupCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="742.5" x2="819.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="296" x="381.5" y="195.856">Callback function to be executed during setup.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="381.5" y="210.9888">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="431.5" y="210.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="142" x="467.5" y="210.9888">if no setup is required.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="522" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="530" y="225.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="530" y="225.6216">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="632" y="225.6216">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="673" x2="819.5" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="332" x="381.5" y="241.2544">Optional parameters for the setup callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="381.5" y="256.3872">Must be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="436.5" y="256.3872">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="160" x="472.5" y="256.3872">if no callback is specified.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="381.5" y="271.52">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="431.5" y="271.52">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="467.5" y="271.52">if the specified callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="461" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="465" y="286.1528"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="465" y="286.1528">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="562" y="286.1528">: urt_nodeLoopCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="734" x2="819.5" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="270" x="381.5" y="301.7856">Callback function to be executed in a loop.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="381.5" y="316.9185">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="461.5" y="316.9185">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="493.5" y="316.9185">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="527" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="531" y="331.5513"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="531" y="331.5513">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="623" y="331.5513">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="668" x2="819.5" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="323" x="381.5" y="347.1841">Optional parameters for the loop callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="381.5" y="362.3169">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="431.5" y="362.3169">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="337" x="467.5" y="362.3169">if the specified callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="819.5" y1="370.3828" y2="370.3828"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="819.5" y1="372.3828" y2="372.3828"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="375.5" x2="526.5" y1="382.9492" y2="382.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="530.5" y="386.9497"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="530.5" y="386.9497">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="579.5" y="386.9497">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="668.5" x2="819.5" y1="382.9492" y2="382.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="381.5" y="402.5825">Always returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="478.5" y="402.5825">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="582.5" y="402.5825">.</text><ellipse cx="597.5" cy="440.6484" fill="#000000" filter="url(#faj7sbp20bnbq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,460.6484 L10,621.9766 A0,0 0 0 0 10,621.9766 L512,621.9766 A0,0 0 0 0 512,621.9766 L512,545.3125 L532,541.3125 L512,537.3125 L512,470.6484 L502,460.6484 L10,460.6484 A0,0 0 0 0 10,460.6484 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M502,460.6484 L502,470.6484 L512,470.6484 L502,460.6484 " 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="32" x="16" y="477.7153">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="52" y="477.7153">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="67" y="477.7153">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="492.8481">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="57" x="69" y="492.8481">← thread</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="16" y="507.981">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="123" y="507.981">← setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="16" y="523.1138">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="100" x="118" y="523.1138">← setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="16" y="538.2466">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="113" y="538.2466">← loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="16" y="553.3794">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="108" y="553.3794">← loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="42" x="16" y="568.5122">stage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="62" y="568.5122">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="129" x="16" y="583.645">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="55" x="145" y="583.645">listener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="200" y="583.645">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="594.2773" y2="594.2773"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="473" x="24.5" y="598.2778">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="501.5" x2="512" y1="594.2773" y2="594.2773"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="16" y="613.9106">loops</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="60" y="613.9106">← 0</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="532" y="524.3281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="542" y="545.4668">initialize members</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="559" y="641.9766"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="569" y="663.1152">lock core</text><path d="M318,700.3633 L318,725.4961 A0,0 0 0 0 318,725.4961 L458,725.4961 A0,0 0 0 0 458,725.4961 L458,718.3633 L478,712.9297 L458,710.3633 L458,710.3633 L448,700.3633 L318,700.3633 A0,0 0 0 0 318,700.3633 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M448,700.3633 L448,710.3633 L458,710.3633 L448,700.3633 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="119" x="324" y="717.4302">List is not ordered.</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="239" x="478" y="695.9453"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="219" x="488" y="717.084">prepend self to core's list of nodes</text><rect fill="#FEFECE" filter="url(#faj7sbp20bnbq)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="551" y="749.9141"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="561" y="771.0527">unlock core</text><path d="M384.5,802.3164 L384.5,827.4492 A0,0 0 0 0 384.5,827.4492 L566.5,827.4492 A0,0 0 0 0 566.5,827.4492 L566.5,820.3164 L586.5,814.8828 L566.5,812.3164 L566.5,812.3164 L556.5,802.3164 L384.5,802.3164 A0,0 0 0 0 384.5,802.3164 " fill="#FBFB77" filter="url(#faj7sbp20bnbq)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M556.5,802.3164 L556.5,812.3164 L566.5,812.3164 L556.5,802.3164 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="390.5" y="819.3833">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="443.5" y="819.3833">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="547.5" y="819.3833">.</text><ellipse cx="597.5" cy="814.8828" fill="#FFFFFF" filter="url(#faj7sbp20bnbq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="597.5" cy="814.8828" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="410.6484" y2="430.6484"/><polygon fill="#A80036" points="593.5,420.6484,597.5,430.6484,601.5,420.6484,597.5,424.6484" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="450.6484" y2="524.3281"/><polygon fill="#A80036" points="593.5,514.3281,597.5,524.3281,601.5,514.3281,597.5,518.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="558.2969" y2="641.9766"/><polygon fill="#A80036" points="593.5,631.9766,597.5,641.9766,601.5,631.9766,597.5,635.9766" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="675.9453" y2="695.9453"/><polygon fill="#A80036" points="593.5,685.9453,597.5,695.9453,601.5,685.9453,597.5,689.9453" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="729.9141" y2="749.9141"/><polygon fill="#A80036" points="593.5,739.9141,597.5,749.9141,601.5,739.9141,597.5,743.9141" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="783.8828" y2="803.8828"/><polygon fill="#A80036" points="593.5,793.8828,597.5,803.8828,601.5,793.8828,597.5,797.8828" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8d68c58f868203b2a905cbd3505bf79d]
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="1049px" preserveAspectRatio="none" style="width:999px;height:1049px;" version="1.1" viewBox="0 0 999 1049" width="999px" zoomAndPan="magnify"><defs><filter height="300%" id="fe99m1kw6ut90" 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="454.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="116" x="440.75" y="47.6611">urtNodeInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="501.75" y="68.6143"/><path d="M343,72.8594 L343,501.4453 L852,501.4453 L852,82.8594 L842,72.8594 L343,72.8594 " fill="#FBFB77" filter="url(#fe99m1kw6ut90)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M842,72.8594 L842,82.8594 L852,82.8594 L842,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="531" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="535" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="535" y="89.4263">node</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="576" y="89.4263">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="664" x2="852" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="349" y="105.0591">The node to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="349" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="429" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="461" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="511.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="515.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="49" x="515.5" y="134.8247">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="111" x="568.5" y="134.8247">: urt_osThread_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="683.5" x2="852" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="335" x="349" y="150.4575">The already initialized, exclusive thread for the node.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="349" y="165.5903">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="429" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="461" y="165.5903">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="452.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="456.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="103" x="456.5" y="180.2231">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="175" x="563.5" y="180.2231">: urt_nodeSetupCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="742.5" x2="852" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="296" x="349" y="195.856">Callback function to be executed during setup.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="210.9888">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="210.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="194" x="435" y="210.9888">if no custom setup is required.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="522" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="530" y="225.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="98" x="530" y="225.6216">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="632" y="225.6216">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="673" x2="852" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="275" x="349" y="241.2544">Parameters for the setup callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="349" y="256.3872">Must be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="404" y="256.3872">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="440" y="256.3872">if no setup callback is specified.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="271.52">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="271.52">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="377" x="435" y="271.52">if the specified setup callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="461" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="465" y="286.1528"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="93" x="465" y="286.1528">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="168" x="562" y="286.1528">: urt_nodeLoopCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="734" x2="852" y1="282.1523" y2="282.1523"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="270" x="349" y="301.7856">Callback function to be executed in a loop.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="349" y="316.9185">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="429" y="316.9185">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="461" y="316.9185">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="527" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="531" y="331.5513"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="88" x="531" y="331.5513">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="623" y="331.5513">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="668" x2="852" y1="327.5508" y2="327.5508"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="266" x="349" y="347.1841">Parameters for the loop callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="362.3169">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="362.3169">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="368" x="435" y="362.3169">if the specified loop callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="425" y1="372.9492" y2="372.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="429" y="376.9497"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="133" x="429" y="376.9497">shutdowncallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="200" x="566" y="376.9497">: urt_nodeShutdownCallback_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="770" x2="852" y1="372.9492" y2="372.9492"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="321" x="349" y="392.5825">Callback function to be executed during shutdown.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="407.7153">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="407.7153">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="435" y="407.7153">if no custom shutdown is required.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="507" y1="418.3477" y2="418.3477"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="511" y="422.3481"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="128" x="511" y="422.3481">shutdownparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="643" y="422.3481">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="688" x2="852" y1="418.3477" y2="418.3477"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="266" x="349" y="437.981">Parameters for the loop callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="51" x="349" y="453.1138">Must be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="404" y="453.1138">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="440" y="453.1138">if no shutdown callback is specified.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="349" y="468.2466">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="399" y="468.2466">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="402" x="435" y="468.2466">if the specified shutdown callback does not expect parameters.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="852" y1="476.3125" y2="476.3125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="852" y1="478.3125" y2="478.3125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="343" x2="552" y1="488.8789" y2="488.8789"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="556" y="492.8794"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="556" y="492.8794">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="605" y="492.8794">: void</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="643" x2="852" y1="488.8789" y2="488.8789"/><ellipse cx="597.5" cy="531.4453" fill="#000000" filter="url(#fe99m1kw6ut90)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,551.4453 L10,743.0391 A0,0 0 0 0 10,743.0391 L512,743.0391 A0,0 0 0 0 512,743.0391 L512,651.2422 L532,647.2422 L512,643.2422 L512,561.4453 L502,551.4453 L10,551.4453 A0,0 0 0 0 10,551.4453 " fill="#FBFB77" filter="url(#fe99m1kw6ut90)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M502,551.4453 L502,561.4453 L512,561.4453 L502,551.4453 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="21.5" cy="564.0781" 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="32" x="27" y="568.5122">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="63" y="568.5122">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="78" y="568.5122">NULL</text><ellipse cx="21.5" cy="579.2109" 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="49" x="27" y="583.645">thread</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="57" x="80" y="583.645">← thread</text><ellipse cx="21.5" cy="594.3438" 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="103" x="27" y="598.7778">setupcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="102" x="134" y="598.7778">← setupcallback</text><ellipse cx="21.5" cy="609.4766" 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="98" x="27" y="613.9106">setupparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="100" x="129" y="613.9106">← setupparams</text><ellipse cx="21.5" cy="624.6094" 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="93" x="27" y="629.0435">loopcallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="124" y="629.0435">← loopcallback</text><ellipse cx="21.5" cy="639.7422" 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="27" y="644.1763">loopparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="119" y="644.1763">← loopparams</text><ellipse cx="21.5" cy="654.875" 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="133" x="27" y="659.3091">shutdowncallback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="93" x="164" y="659.3091">← loopcallback</text><ellipse cx="21.5" cy="670.0078" 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="128" x="27" y="674.4419">shutdownparams</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="159" y="674.4419">← loopparams</text><ellipse cx="21.5" cy="685.1406" 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="42" x="27" y="689.5747">stage</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="73" y="689.5747">← 0</text><ellipse cx="21.5" cy="700.2734" 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" lengthAdjust="spacingAndGlyphs" textLength="129" x="27" y="704.7075">urtEventListenerInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="55" x="156" y="704.7075">listener</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="211" y="704.7075">)</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="715.3398" y2="715.3398"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="473" x="24.5" y="719.3403">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="501.5" x2="512" y1="715.3398" y2="715.3398"/><ellipse cx="21.5" cy="730.5391" 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="40" x="27" y="734.9731">loops</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="71" y="734.9731">← 0</text><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="532" y="630.2578"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="542" y="651.3965">initialize members</text><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="559" y="763.0391"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="569" y="784.1777">lock core</text><rect fill="#FFFFFF" filter="url(#fe99m1kw6ut90)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="784" x="204.5" y="807.8096"/><path d="M453.5,808.8096 L453.5,817.1064 L443.5,827.1064 L204.5,827.1064 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="239" x="207.5" y="821.8047">prepend self to core's list of nodes</text><rect fill="#000000" filter="url(#fe99m1kw6ut90)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="764" x="214.5" y="844.1064"/><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="463" x="228.5" y="870.1064"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="238.5" y="891.2451">set this node's</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="28" x="335.5" y="891.2451">next</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="314" x="367.5" y="891.2451">pointer to the first node in the core's list of nodes</text><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="247" x="719.5" y="870.1064"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="227" x="729.5" y="891.2451">set core's node pointer to this node</text><rect fill="#000000" filter="url(#fe99m1kw6ut90)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="764" x="214.5" y="924.0752"/><rect fill="#FEFECE" filter="url(#fe99m1kw6ut90)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="551" y="962.0752"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="561" y="983.2139">unlock core</text><ellipse cx="597.5" cy="1027.0439" fill="#FFFFFF" filter="url(#fe99m1kw6ut90)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="597.5" cy="1027.0439" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="501.4453" y2="521.4453"/><polygon fill="#A80036" points="593.5,511.4453,597.5,521.4453,601.5,511.4453,597.5,515.4453" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="541.4453" y2="630.2578"/><polygon fill="#A80036" points="593.5,620.2578,597.5,630.2578,601.5,620.2578,597.5,624.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="664.2266" y2="763.0391"/><polygon fill="#A80036" points="593.5,753.0391,597.5,763.0391,601.5,753.0391,597.5,757.0391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="460" x2="460" y1="850.1064" y2="870.1064"/><polygon fill="#A80036" points="456,860.1064,460,870.1064,464,860.1064,460,864.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="843" x2="843" y1="850.1064" y2="870.1064"/><polygon fill="#A80036" points="839,860.1064,843,870.1064,847,860.1064,843,864.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="460" x2="460" y1="904.0752" y2="924.0752"/><polygon fill="#A80036" points="456,914.0752,460,924.0752,464,914.0752,460,918.0752" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="843" x2="843" y1="904.0752" y2="924.0752"/><polygon fill="#A80036" points="839,914.0752,843,924.0752,847,914.0752,843,918.0752" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="797.0078" y2="844.1064"/><polygon fill="#A80036" points="593.5,834.1064,597.5,844.1064,601.5,834.1064,597.5,838.1064" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="930.0752" y2="962.0752"/><polygon fill="#A80036" points="593.5,952.0752,597.5,962.0752,601.5,952.0752,597.5,956.0752" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.5" x2="597.5" y1="996.0439" y2="1016.0439"/><polygon fill="#A80036" points="593.5,1006.0439,597.5,1016.0439,601.5,1006.0439,597.5,1010.0439" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[de16bb9876615d6275991dc35d68a8ce]
2 2
@startuml
3 3

  
4 4
title **µRtWare**\nurtNodeInit()\n
......
13 13
  Must not be ""NULL"".
14 14
  - - **setupcallback** : urt_nodeSetupCallback_t* - -
15 15
  Callback function to be executed during setup.
16
  May be ""NULL"" if no setup is required.
16
  May be ""NULL"" if no custom setup is required.
17 17
  - -  **setupparams** : void*- -
18
  Optional parameters for the setup callback function.
19
  Must be ""NULL"" if no callback is specified.
20
  May be ""NULL"" if the specified callback does not expect parameters.
18
  Parameters for the setup callback function.
19
  Must be ""NULL"" if no setup callback is specified.
20
  May be ""NULL"" if the specified setup callback does not expect parameters.
21 21
  - - **loopcallback** : urt_nodeLoopCallback_t* - -
22 22
  Callback function to be executed in a loop.
23 23
  Must not be ""NULL"".
24 24
  - - **loopparams** : void* - -
25
  Optional parameters for the loop callback function.
26
  May be ""NULL"" if the specified callback does not expect parameters.
25
  Parameters for the loop callback function.
26
  May be ""NULL"" if the specified loop callback does not expect parameters.
27
  - - **shutdowncallback** : urt_nodeShutdownCallback_t* - -
28
  Callback function to be executed during shutdown.
29
  May be ""NULL"" if no custom shutdown is required.
30
  - - **shutdownparams** : void* - -
31
  Parameters for the loop callback function.
32
  Must be ""NULL"" if no shutdown callback is specified.
33
  May be ""NULL"" if the specified shutdown callback does not expect parameters.
27 34
  ====
28
  - - **return** : urt_status_t - -
29
  Always returns ""URT_STATUS_OK"".
35
  - - **return** : void - -
30 36
endnote
31 37

  
32 38

  
33 39
start
34 40
:initialize members;
35 41
note
36
  **next** ← ""NULL""
37
  **thread** ← thread
38
  **setupcallback** ← setupcallback
39
  **setupparams** ← setupparams
40
  **loopcallback** ← loopcallback
41
  **loopparams** ← loopparams
42
  **stage** ← 0
43
  urtEventListenerInit(**listener**)
42
  * **next** ← ""NULL""
43
  * **thread** ← thread
44
  * **setupcallback** ← setupcallback
45
  * **setupparams** ← setupparams
46
  * **loopcallback** ← loopcallback
47
  * **loopparams** ← loopparams
48
  * **shutdowncallback** ← loopcallback
49
  * **shutdownparams** ← loopparams
50
  * **stage** ← 0
51
  * urtEventListenerInit(**listener**)
44 52
  .. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true ..
45
  **loops** ← 0
53
  * **loops** ← 0
46 54
endnote
47 55
:lock core;
48
:prepend self to core's list of nodes;
49
note
50
  List is not ordered.
51
endnote
56
partition "prepend self to core's list of nodes" {
57
  fork
58
    :set this node's ""next"" pointer to the first node in the core's list of nodes;
59
  fork again
60
    :set core's node pointer to this node;
61
  endfork
62
}
52 63
:unlock core;
53 64
stop
54
note
55
  Returns ""URT_STATUS_OK"".
56
endnote
57 65

  
58 66

  
59 67
@enduml

Also available in: Unified diff