Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / node / urtNodeInit.svg @ 2d315870

History | View | Annotate | Download (26.551 KB)

1
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="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=[d68754612e898bdf879c34e330493918]
2
@startuml
3

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

    
6

    
7
note
8
  - - **node** : urt_node_t* - -
9
  The node to initialize.
10
  Must not be ""NULL"".
11
  - - **thread** : urt_osThread_t* - -
12
  The already initialized, exclusive thread for the node.
13
  Must not be ""NULL"".
14
  - - **setupcallback** : urt_nodeSetupCallback_t* - -
15
  Callback function to be executed during setup.
16
  May be ""NULL"" if no custom setup is required.
17
  - -  **setupparams** : void*- -
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
  - - **loopcallback** : urt_nodeLoopCallback_t* - -
22
  Callback function to be executed in a loop.
23
  Must not be ""NULL"".
24
  - - **loopparams** : void* - -
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.
34
  ====
35
  - - **return** : void - -
36
endnote
37

    
38

    
39
start
40
:initialize members;
41
note
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**)
52
  .. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true ..
53
  * **loops** ← 0
54
endnote
55
:lock core;
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
}
63
:unlock core;
64
stop
65

    
66

    
67
@enduml
68

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