Revision dd31cb03 doc/activitydiagrams/service/urtServiceInit.svg

View differences:

doc/activitydiagrams/service/urtServiceInit.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="977px" preserveAspectRatio="none" style="width:1146px;height:977px;" version="1.1" viewBox="0 0 1146 977" width="1146px" zoomAndPan="magnify"><defs><filter height="300%" id="f1snfj7r7itc1b" 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="527.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="135" x="504.5" y="47.6611">urtServiceInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="575" y="68.6143"/><path d="M355,72.8594 L355,259.3203 L920,259.3203 L920,82.8594 L910,72.8594 L355,72.8594 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M910,72.8594 L910,82.8594 L920,82.8594 L910,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="557" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="561" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="561" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="617" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="718" x2="920" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="361" y="105.0591">The service to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="361" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="441" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="473" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="574" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="578" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="578" y="134.8247">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="596" y="134.8247">: urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="701" x2="920" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="258" x="361" y="150.4575">Unique, numeric identifier of the service.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="539" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="543" y="165.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="543" y="165.0903">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="124" x="608" y="165.0903">: urt_servicefunc_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="736" x2="920" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="307" x="361" y="180.7231">Callabck function to be executed by this service.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="361" y="195.856">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="441" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="473" y="195.856">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="920" y1="203.9219" y2="203.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="920" y1="205.9219" y2="205.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="355" x2="566.5" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="570.5" y="220.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="570.5" y="220.4888">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="619.5" y="220.4888">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="708.5" x2="920" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="361" y="236.1216">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="414" y="236.1216">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="522" y="236.1216">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="361" y="251.2544">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="414" y="251.2544">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="359" x="546" y="251.2544">if another service with the same identifier already exists.</text><ellipse cx="637.5" cy="289.3203" fill="#000000" filter="url(#f1snfj7r7itc1b)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,309.3203 L10,485.7813 A0,0 0 0 0 10,485.7813 L552,485.7813 A0,0 0 0 0 552,485.7813 L552,401.5508 L572,397.5508 L552,393.5508 L552,319.3203 L542,309.3203 L10,309.3203 A0,0 0 0 0 10,309.3203 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M542,309.3203 L542,319.3203 L552,319.3203 L542,309.3203 " 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="326.3872">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="52" y="326.3872">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="67" y="326.3872">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="16" y="341.52">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="34" y="341.52">← id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="81" x="16" y="356.6528">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="97" y="356.6528">lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="127" y="356.6528">)</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="16" y="371.7856">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="81" y="371.7856">← callback</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="20.5" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="513" x="24.5" y="386.4185">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="541.5" x2="552" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="90" x="16" y="402.0513">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="110" y="402.0513">← 0xF..F</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="94" x="16" y="417.1841">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="114" y="417.1841">← 0</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10" x2="167.5" y1="427.8164" y2="427.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="171.5" y="431.8169">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="394.5" x2="552" y1="427.8164" y2="427.8164"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="102" x="16" y="447.4497">sumDurations</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="122" y="447.4497">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="67" x="16" y="462.5825">numCalls</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="87" y="462.5825">← 0</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="99" x="16" y="477.7153">numTimeouts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="119" y="477.7153">← 0</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="572" y="380.5664"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="582" y="401.7051">initialize members</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="599" y="505.7813"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="609" y="526.9199">lock core</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="567.5" y="559.75"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="577.5" y="580.8887">access first service</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="553.5" y="671.0386"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="563.5" y="692.1772">proceed to next service</text><polygon fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" points="569.5,613.7188,705.5,613.7188,717.5,626.5234,705.5,639.3281,569.5,639.3281,557.5,626.5234,569.5,613.7188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="641.5" y="649.5386">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="569.5" y="623.9292">Service is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="651.5" y="623.9292">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="569.5" y="636.7339">and service ID is lower?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="543.5" y="623.9292">no</text><polygon fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" points="283,747.0073,423,747.0073,435,759.0073,423,771.0073,283,771.0073,271,759.0073,283,747.0073" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="357" y="781.2178">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="283" y="762.8154">Current service is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="389" y="762.8154">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="417" y="762.8154">?</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="230" y="802.7178"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="226" x="240" y="823.8564">append self to core's list of services</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="306.5" y="871.6865"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="316.5" y="892.8252">unlock core</text><path d="M140,940.6553 L140,965.7881 A0,0 0 0 0 140,965.7881 L322,965.7881 A0,0 0 0 0 322,965.7881 L322,958.6553 L342,953.2217 L322,950.6553 L322,950.6553 L312,940.6553 L140,940.6553 A0,0 0 0 0 140,940.6553 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M312,940.6553 L312,950.6553 L322,950.6553 L312,940.6553 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="146" y="957.7222">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="199" y="957.7222">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="303" y="957.7222">:</text><ellipse cx="353" cy="953.2217" fill="#FFFFFF" filter="url(#f1snfj7r7itc1b)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="353" cy="953.2217" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" points="624.5,747.0073,793.5,747.0073,805.5,759.0073,793.5,771.0073,624.5,771.0073,612.5,759.0073,624.5,747.0073" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="713" y="781.2178">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="624.5" y="762.8154">Current service ID is greater?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="805.5" y="756.4131">no</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="586.5" y="802.7178"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="225" x="596.5" y="823.8564">insert self in front of current service</text><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="662.5" y="871.6865"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="672.5" y="892.8252">unlock core</text><path d="M496,940.6553 L496,965.7881 A0,0 0 0 0 496,965.7881 L678,965.7881 A0,0 0 0 0 678,965.7881 L678,958.6553 L698,953.2217 L678,950.6553 L678,950.6553 L668,940.6553 L496,940.6553 A0,0 0 0 0 496,940.6553 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M668,940.6553 L668,950.6553 L678,950.6553 L668,940.6553 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="502" y="957.7222">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="555" y="957.7222">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="659" y="957.7222">:</text><ellipse cx="709" cy="953.2217" fill="#FFFFFF" filter="url(#f1snfj7r7itc1b)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="709" cy="953.2217" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1snfj7r7itc1b)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="1042" y="833.7998"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1052" y="854.9385">unlock core</text><path d="M851.5,902.7686 L851.5,927.9014 A0,0 0 0 0 851.5,927.9014 L1057.5,927.9014 A0,0 0 0 0 1057.5,927.9014 L1057.5,920.7686 L1077.5,915.335 L1057.5,912.7686 L1057.5,912.7686 L1047.5,902.7686 L851.5,902.7686 A0,0 0 0 0 851.5,902.7686 " fill="#FBFB77" filter="url(#f1snfj7r7itc1b)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1047.5,902.7686 L1047.5,912.7686 L1057.5,912.7686 L1047.5,902.7686 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="857.5" y="919.8354">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="910.5" y="919.8354">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1038.5" y="919.8354">:</text><ellipse cx="1088.5" cy="915.335" fill="#FFFFFF" filter="url(#f1snfj7r7itc1b)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1088.5" cy="915.335" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="259.3203" y2="279.3203"/><polygon fill="#A80036" points="633.5,269.3203,637.5,279.3203,641.5,269.3203,637.5,273.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="299.3203" y2="380.5664"/><polygon fill="#A80036" points="633.5,370.5664,637.5,380.5664,641.5,370.5664,637.5,374.5664" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="414.5352" y2="505.7813"/><polygon fill="#A80036" points="633.5,495.7813,637.5,505.7813,641.5,495.7813,637.5,499.7813" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="539.75" y2="559.75"/><polygon fill="#A80036" points="633.5,549.75,637.5,559.75,641.5,549.75,637.5,553.75" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="639.3281" y2="671.0386"/><polygon fill="#A80036" points="633.5,661.0386,637.5,671.0386,641.5,661.0386,637.5,665.0386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="705.0073" y2="715.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="733.5" y1="715.0073" y2="715.0073"/><polygon fill="#A80036" points="729.5,679.2183,733.5,669.2183,737.5,679.2183,733.5,675.2183" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="733.5" x2="733.5" y1="626.5234" y2="715.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="733.5" x2="717.5" y1="626.5234" y2="626.5234"/><polygon fill="#A80036" points="727.5,622.5234,717.5,626.5234,727.5,630.5234,723.5,626.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="557.5" x2="541.5" y1="626.5234" y2="626.5234"/><polygon fill="#A80036" points="537.5,665.2183,541.5,675.2183,545.5,665.2183,541.5,669.2183" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541.5" x2="541.5" y1="626.5234" y2="727.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="541.5" x2="637.5" y1="727.0073" y2="727.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="727.0073" y2="732.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="637.5" y1="593.7188" y2="613.7188"/><polygon fill="#A80036" points="633.5,603.7188,637.5,613.7188,641.5,603.7188,637.5,607.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="836.6865" y2="871.6865"/><polygon fill="#A80036" points="349,861.6865,353,871.6865,357,861.6865,353,865.6865" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="905.6553" y2="942.2217"/><polygon fill="#A80036" points="349,932.2217,353,942.2217,357,932.2217,353,936.2217" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="709" x2="709" y1="836.6865" y2="871.6865"/><polygon fill="#A80036" points="705,861.6865,709,871.6865,713,861.6865,709,865.6865" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="709" x2="709" y1="905.6553" y2="942.2217"/><polygon fill="#A80036" points="705,932.2217,709,942.2217,713,932.2217,709,936.2217" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1088.5" x2="1088.5" y1="867.7686" y2="904.335"/><polygon fill="#A80036" points="1084.5,894.335,1088.5,904.335,1092.5,894.335,1088.5,898.335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="771.0073" y2="802.7178"/><polygon fill="#A80036" points="349,792.7178,353,802.7178,357,792.7178,353,796.7178" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="709" x2="709" y1="771.0073" y2="802.7178"/><polygon fill="#A80036" points="705,792.7178,709,802.7178,713,792.7178,709,796.7178" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="435" x2="612.5" y1="759.0073" y2="759.0073"/><polygon fill="#A80036" points="602.5,755.0073,612.5,759.0073,602.5,763.0073,606.5,759.0073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="637.5" x2="353" y1="732.0073" y2="732.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="353" x2="353" y1="732.0073" y2="747.0073"/><polygon fill="#A80036" points="349,737.0073,353,747.0073,357,737.0073,353,741.0073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="805.5" x2="1088.5" y1="759.0073" y2="759.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1088.5" x2="1088.5" y1="759.0073" y2="833.7998"/><polygon fill="#A80036" points="1084.5,823.7998,1088.5,833.7998,1092.5,823.7998,1088.5,827.7998" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e97c440ea6d6ffb95ba2bae466cee68a]
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="962px" preserveAspectRatio="none" style="width:1112px;height:962px;" version="1.1" viewBox="0 0 1112 962" width="1112px" zoomAndPan="magnify"><defs><filter height="300%" id="f10ia0x871a6j9" 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="510.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="135" x="487.5" y="47.6611">urtServiceInit()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="558" y="68.6143"/><path d="M225,72.8594 L225,259.3203 L886,259.3203 L886,82.8594 L876,72.8594 L225,72.8594 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M876,72.8594 L876,82.8594 L886,82.8594 L876,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="475" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="479" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="479" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="535" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="636" x2="886" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="148" x="231" y="105.0591">The service to initialize.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="231" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="311" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="343" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="492" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="496" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="14" x="496" y="134.8247">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="101" x="514" y="134.8247">: urt_serviceid_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="619" x2="886" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="258" x="231" y="150.4575">Unique, numeric identifier of the service.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="457" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="461" y="165.0903"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="61" x="461" y="165.0903">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="124" x="526" y="165.0903">: urt_servicefunc_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="654" x2="886" y1="161.0898" y2="161.0898"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="307" x="231" y="180.7231">Callabck function to be executed by this service.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="231" y="195.856">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="311" y="195.856">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="343" y="195.856">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="886" y1="203.9219" y2="203.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="886" y1="205.9219" y2="205.9219"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="225" x2="484.5" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="488.5" y="220.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="488.5" y="220.4888">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="537.5" y="220.4888">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="626.5" x2="886" y1="216.4883" y2="216.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="231" y="236.1216">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="284" y="236.1216">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="392" y="236.1216">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="231" y="251.2544">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="224" x="284" y="251.2544">URT_STATUS_SERVICE_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="359" x="512" y="251.2544">if another service with the same identifier already exists.</text><ellipse cx="555.5" cy="289.3203" fill="#000000" filter="url(#f10ia0x871a6j9)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M222,309.3203 L222,470.6484 A0,0 0 0 0 222,470.6484 L470,470.6484 A0,0 0 0 0 470,470.6484 L470,393.9844 L490,389.9844 L470,385.9844 L470,319.3203 L460,309.3203 L222,309.3203 A0,0 0 0 0 222,309.3203 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M460,309.3203 L460,319.3203 L470,319.3203 L460,309.3203 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><ellipse cx="233.5" cy="321.9531" 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="239" y="326.3872">next</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="11" x="275" y="326.3872">←</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="290" y="326.3872">NULL</text><ellipse cx="233.5" 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="14" x="239" y="341.52">id</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="26" x="257" y="341.52">← id</text><ellipse cx="233.5" cy="352.2188" 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="81" x="239" y="356.6528">urtMutexInit(</text><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="30" x="320" y="356.6528">lock</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="5" x="350" y="356.6528">)</text><ellipse cx="233.5" 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="61" x="239" y="371.7856">callback</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="66" x="304" y="371.7856">← callback</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="222" x2="232.5" y1="382.418" y2="382.418"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="219" x="236.5" y="386.4185">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="459.5" x2="470" y1="382.418" y2="382.418"/><ellipse cx="233.5" cy="397.6172" 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="90" x="239" y="402.0513">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="333" y="402.0513">← 0xF..F</text><ellipse cx="233.5" cy="412.75" 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="94" x="239" y="417.1841">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="337" y="417.1841">← 0</text><ellipse cx="233.5" cy="427.8828" 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="102" x="239" y="432.3169">sumDurations</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="345" y="432.3169">← 0</text><ellipse cx="233.5" cy="443.0156" 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="67" x="239" y="447.4497">numCalls</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="310" y="447.4497">← 0</text><ellipse cx="233.5" cy="458.1484" 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="99" x="239" y="462.5825">numTimeouts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="23" x="342" y="462.5825">← 0</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="490" y="373"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="111" x="500" y="394.1387">initialize members</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="517" y="490.6484"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="527" y="511.7871">lock core</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="485.5" y="544.6172"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="495.5" y="565.7559">access first service</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="471.5" y="655.9058"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="148" x="481.5" y="677.0444">proceed to next service</text><polygon fill="#FEFECE" filter="url(#f10ia0x871a6j9)" points="487.5,598.5859,623.5,598.5859,635.5,611.3906,623.5,624.1953,487.5,624.1953,475.5,611.3906,487.5,598.5859" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="559.5" y="634.4058">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="78" x="487.5" y="608.7964">Service is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="569.5" y="608.7964">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="487.5" y="621.6011">and service ID is lower?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="461.5" y="608.7964">no</text><polygon fill="#FEFECE" filter="url(#f10ia0x871a6j9)" points="153,731.8745,293,731.8745,305,743.8745,293,755.8745,153,755.8745,141,743.8745,153,731.8745" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="227" y="766.085">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="153" y="747.6826">Current service is</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="259" y="747.6826">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="287" y="747.6826">?</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="100" y="787.585"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="226" x="110" y="808.7236">append self to core's list of services</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="176.5" y="856.5537"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="186.5" y="877.6924">unlock core</text><path d="M10,925.5225 L10,950.6553 A0,0 0 0 0 10,950.6553 L192,950.6553 A0,0 0 0 0 192,950.6553 L192,943.5225 L212,938.0889 L192,935.5225 L192,935.5225 L182,925.5225 L10,925.5225 A0,0 0 0 0 10,925.5225 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M182,925.5225 L182,935.5225 L192,935.5225 L182,925.5225 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="16" y="942.5894">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="69" y="942.5894">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="173" y="942.5894">:</text><ellipse cx="223" cy="938.0889" fill="#FFFFFF" filter="url(#f10ia0x871a6j9)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="223" cy="938.0889" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f10ia0x871a6j9)" points="494.5,731.8745,663.5,731.8745,675.5,743.8745,663.5,755.8745,494.5,755.8745,482.5,743.8745,494.5,731.8745" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="583" y="766.085">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="169" x="494.5" y="747.6826">Current service ID is greater?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="675.5" y="741.2803">no</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="456.5" y="787.585"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="225" x="466.5" y="808.7236">insert self in front of current service</text><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="532.5" y="856.5537"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="542.5" y="877.6924">unlock core</text><path d="M366,925.5225 L366,950.6553 A0,0 0 0 0 366,950.6553 L548,950.6553 A0,0 0 0 0 548,950.6553 L548,943.5225 L568,938.0889 L548,935.5225 L548,935.5225 L538,925.5225 L366,925.5225 A0,0 0 0 0 366,925.5225 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M538,925.5225 L538,935.5225 L548,935.5225 L538,925.5225 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="372" y="942.5894">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="425" y="942.5894">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="529" y="942.5894">:</text><ellipse cx="579" cy="938.0889" fill="#FFFFFF" filter="url(#f10ia0x871a6j9)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="579" cy="938.0889" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f10ia0x871a6j9)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="1008" y="818.667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="1018" y="839.8057">unlock core</text><path d="M721.5,887.6357 L721.5,912.7686 A0,0 0 0 0 721.5,912.7686 L1023.5,912.7686 A0,0 0 0 0 1023.5,912.7686 L1023.5,905.6357 L1043.5,900.2021 L1023.5,897.6357 L1023.5,897.6357 L1013.5,887.6357 L721.5,887.6357 A0,0 0 0 0 721.5,887.6357 " fill="#FBFB77" filter="url(#f10ia0x871a6j9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1013.5,887.6357 L1013.5,897.6357 L1023.5,897.6357 L1013.5,887.6357 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="727.5" y="904.7026">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="224" x="780.5" y="904.7026">URT_STATUS_SERVICE_DUPLICATE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1004.5" y="904.7026">:</text><ellipse cx="1054.5" cy="900.2021" fill="#FFFFFF" filter="url(#f10ia0x871a6j9)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1054.5" cy="900.2021" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="259.3203" y2="279.3203"/><polygon fill="#A80036" points="551.5,269.3203,555.5,279.3203,559.5,269.3203,555.5,273.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="299.3203" y2="373"/><polygon fill="#A80036" points="551.5,363,555.5,373,559.5,363,555.5,367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="406.9688" y2="490.6484"/><polygon fill="#A80036" points="551.5,480.6484,555.5,490.6484,559.5,480.6484,555.5,484.6484" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="524.6172" y2="544.6172"/><polygon fill="#A80036" points="551.5,534.6172,555.5,544.6172,559.5,534.6172,555.5,538.6172" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="624.1953" y2="655.9058"/><polygon fill="#A80036" points="551.5,645.9058,555.5,655.9058,559.5,645.9058,555.5,649.9058" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="689.8745" y2="699.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="651.5" y1="699.8745" y2="699.8745"/><polygon fill="#A80036" points="647.5,664.0854,651.5,654.0854,655.5,664.0854,651.5,660.0854" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="651.5" y1="611.3906" y2="699.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="651.5" x2="635.5" y1="611.3906" y2="611.3906"/><polygon fill="#A80036" points="645.5,607.3906,635.5,611.3906,645.5,615.3906,641.5,611.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="475.5" x2="459.5" y1="611.3906" y2="611.3906"/><polygon fill="#A80036" points="455.5,650.0854,459.5,660.0854,463.5,650.0854,459.5,654.0854" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="459.5" x2="459.5" y1="611.3906" y2="711.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="459.5" x2="555.5" y1="711.8745" y2="711.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="711.8745" y2="716.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="555.5" y1="578.5859" y2="598.5859"/><polygon fill="#A80036" points="551.5,588.5859,555.5,598.5859,559.5,588.5859,555.5,592.5859" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="821.5537" y2="856.5537"/><polygon fill="#A80036" points="219,846.5537,223,856.5537,227,846.5537,223,850.5537" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="890.5225" y2="927.0889"/><polygon fill="#A80036" points="219,917.0889,223,927.0889,227,917.0889,223,921.0889" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579" x2="579" y1="821.5537" y2="856.5537"/><polygon fill="#A80036" points="575,846.5537,579,856.5537,583,846.5537,579,850.5537" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579" x2="579" y1="890.5225" y2="927.0889"/><polygon fill="#A80036" points="575,917.0889,579,927.0889,583,917.0889,579,921.0889" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1054.5" x2="1054.5" y1="852.6357" y2="889.2021"/><polygon fill="#A80036" points="1050.5,879.2021,1054.5,889.2021,1058.5,879.2021,1054.5,883.2021" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="755.8745" y2="787.585"/><polygon fill="#A80036" points="219,777.585,223,787.585,227,777.585,223,781.585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579" x2="579" y1="755.8745" y2="787.585"/><polygon fill="#A80036" points="575,777.585,579,787.585,583,777.585,579,781.585" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="305" x2="482.5" y1="743.8745" y2="743.8745"/><polygon fill="#A80036" points="472.5,739.8745,482.5,743.8745,472.5,747.8745,476.5,743.8745" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="555.5" x2="223" y1="716.8745" y2="716.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="716.8745" y2="731.8745"/><polygon fill="#A80036" points="219,721.8745,223,731.8745,227,721.8745,223,725.8745" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="675.5" x2="1054.5" y1="743.8745" y2="743.8745"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1054.5" x2="1054.5" y1="743.8745" y2="818.667"/><polygon fill="#A80036" points="1050.5,808.667,1054.5,818.667,1058.5,808.667,1054.5,812.667" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b9741ce88a09e48af554c13bb1f6aa1c]
2 2
@startuml
3 3

  
4 4
title **µRtWare**\nurtServiceInit()\n
......
16 16
  ====
17 17
  - - **return** : urt_status_t - -
18 18
  Returns ""URT_STATUS_OK"" on success.
19
  Returns ""URT_STATUS_ERROR"" if another service with the same identifier already exists.
19
  Returns ""URT_STATUS_SERVICE_DUPLICATE"" if another service with the same identifier already exists.
20 20
endnote
21 21

  
22 22

  
23 23
start
24 24
:initialize members;
25 25
note
26
  **next** ← ""NULL""
27
  **id** ← id
28
  urtMutexInit(**lock**)
29
  **callback** ← callback
30
  .. URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true ..
31
  **minDuration** ← 0xF..F
32
  **maxDuration** ← 0
26
  * **next** ← ""NULL""
27
  * **id** ← id
28
  * urtMutexInit(**lock**)
29
  * **callback** ← callback
33 30
  .. URT_CFG_RPC_PROFILING == true ..
34
  **sumDurations** ← 0
35
  **numCalls** ← 0
36
  **numTimeouts** ← 0
31
  * **minDuration** ← 0xF..F
32
  * **maxDuration** ← 0
33
  * **sumDurations** ← 0
34
  * **numCalls** ← 0
35
  * **numTimeouts** ← 0
37 36
endnote
38 37
:lock core;
39 38
:access first service;
......
58 57
  :unlock core;
59 58
  stop
60 59
  note
61
    Returns ""URT_STATUS_ERROR"":
60
    Returns ""URT_STATUS_SERVICE_DUPLICATE"":
62 61
  endnote
63 62
endif
64 63

  

Also available in: Unified diff