Statistics
| Branch: | Revision:

urtware / doc / activitydiagrams / service / urtServiceCall.svg @ dd31cb03

History | View | Annotate | Download (21.661 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="788px" preserveAspectRatio="none" style="width:1219px;height:788px;" version="1.1" viewBox="0 0 1219 788" width="1219px" zoomAndPan="magnify"><defs><filter height="300%" id="f15pkoa3awclp5" 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="564" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="139" x="539" y="47.6611">urtServiceCall()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="611.5" y="68.6143"/><path d="M402,72.8594 L402,304.7188 L836,304.7188 L836,82.8594 L826,72.8594 L402,72.8594 " fill="#FBFB77" filter="url(#f15pkoa3awclp5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M826,72.8594 L826,82.8594 L836,82.8594 L826,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="538.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="542.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="542.5" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="598.5" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="699.5" x2="836" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="118" x="408" y="105.0591">The service to call.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="408" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="488" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="520" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="580" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="584" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="25" x="584" y="134.8247">arg</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="613" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="658" x2="836" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="244" x="408" y="150.4575">Optional argument for the service call.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="408" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="458" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="233" x="494" y="165.5903">if the service expects no arguments.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="582" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="586" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="21" x="586" y="180.2231">ret</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="611" y="180.2231">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="656" x2="836" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="225" x="408" y="195.856">Pointer to an optional output value.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="408" y="210.9888">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="458" y="210.9888">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="490" y="210.9888">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="545" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="549" y="225.6216"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="549" y="225.6216">timeout</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="610" y="225.6216">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="693" x2="836" y1="221.6211" y2="221.6211"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="361" x="408" y="241.2544">Timeout delay to be propagated to the callback function.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="413" x="408" y="256.3872">Whether timeout is considered depends on the callback function.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="836" y1="264.4531" y2="264.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="836" y1="266.4531" y2="266.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="402" x2="548" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="552" y="281.02"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="552" y="281.02">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="601" y="281.02">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="690" x2="836" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="322" x="408" y="296.6528">Returns the exact output status of the service call.</text><ellipse cx="619" cy="334.7188" fill="#000000" filter="url(#f15pkoa3awclp5)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="506" y="364.7188"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="506" x2="516" y1="381.7031" y2="381.7031"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="206" x="516" y="385.3574">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="722" x2="732" y1="381.7031" y2="381.7031"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="141" x="516" y="399.8262">increment call counter</text><rect fill="#FEFECE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="490" y="432.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="123" x="500" y="453.7949">execute the service</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="56" x="627" y="453.7949">callback</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="51" x="687" y="453.7949">function</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="255.0703" style="stroke: #000000; stroke-width: 2.0;" width="1198" x="10" y="477.4268"/><path d="M262,478.4268 L262,486.7236 L252,496.7236 L10,496.7236 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="242" x="13" y="491.4219">URT_CFG_RPC_PROFILING == true</text><rect fill="#000000" filter="url(#f15pkoa3awclp5)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1178" x="20" y="513.7236"/><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="203" x="34" y="593.126"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="183" x="44" y="614.2646">accumulate sum of durations</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="327.5" y="593.126"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="337.5" y="614.2646">increment timeout counter</text><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="277,544.7236,566,544.7236,578,556.7236,566,568.7236,277,568.7236,265,556.7236,277,544.7236" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="425.5" y="578.9341">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="97" x="277" y="560.5317">Calback returned</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="182" x="378" y="560.5317">URT_STATUS_SERVICE_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="560" y="560.5317">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="578" y="554.1294">no</text><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="421.5,650.4971,433.5,662.4971,421.5,674.4971,409.5,662.4971,421.5,650.4971" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="630,539.7236,867,539.7236,879,551.7236,867,563.7236,630,563.7236,618,551.7236,630,539.7236" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="752.5" y="573.9341">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="630" y="555.5317">Duration was shorter than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="784" y="555.5317">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="861" y="555.5317">?</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="657" y="596.5283"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="667" y="617.667">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="716" y="617.667">minDuration</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="797" y="617.667">value</text><polygon fill="#FEFECE" filter="url(#f15pkoa3awclp5)" points="911,539.7236,1142,539.7236,1154,551.7236,1142,563.7236,911,563.7236,899,551.7236,911,539.7236" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1030.5" y="573.9341">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="144" x="911" y="555.5317">Duration was longer than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="77" x="1059" y="555.5317">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="1136" y="555.5317">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1154" y="549.1294">no</text><rect fill="#EEEEEE" filter="url(#f15pkoa3awclp5)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="183" x="935" y="596.5283"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="945" y="617.667">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="994" y="617.667">maxDuration</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1075" y="617.667">value</text><rect fill="#000000" filter="url(#f15pkoa3awclp5)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1178" x="20" y="714.4971"/><path d="M312,750.9307 L312,776.0635 A0,0 0 0 0 312,776.0635 L588,776.0635 A0,0 0 0 0 588,776.0635 L588,768.9307 L608,763.4971 L588,760.9307 L588,760.9307 L578,750.9307 L312,750.9307 A0,0 0 0 0 312,750.9307 " fill="#FBFB77" filter="url(#f15pkoa3awclp5)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M578,750.9307 L578,760.9307 L588,760.9307 L578,750.9307 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="255" x="318" y="767.9976">Returns the return value of the callback.</text><ellipse cx="619" cy="763.4971" fill="#FFFFFF" filter="url(#f15pkoa3awclp5)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="619" cy="763.4971" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="304.7188" y2="324.7188"/><polygon fill="#A80036" points="615,314.7188,619,324.7188,623,314.7188,619,318.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="344.7188" y2="364.7188"/><polygon fill="#A80036" points="615,354.7188,619,364.7188,623,354.7188,619,358.7188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="412.6563" y2="432.6563"/><polygon fill="#A80036" points="615,422.6563,619,432.6563,623,422.6563,619,426.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="568.7236" y2="593.126"/><polygon fill="#A80036" points="417.5,583.126,421.5,593.126,425.5,583.126,421.5,587.126" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578" x2="590" y1="556.7236" y2="556.7236"/><polygon fill="#A80036" points="586,600.1104,590,610.1104,594,600.1104,590,604.1104" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="590" x2="590" y1="556.7236" y2="662.4971"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="590" x2="433.5" y1="662.4971" y2="662.4971"/><polygon fill="#A80036" points="443.5,658.4971,433.5,662.4971,443.5,666.4971,439.5,662.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="627.0947" y2="650.4971"/><polygon fill="#A80036" points="417.5,640.4971,421.5,650.4971,425.5,640.4971,421.5,644.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="748.5" y1="563.7236" y2="596.5283"/><polygon fill="#A80036" points="744.5,586.5283,748.5,596.5283,752.5,586.5283,748.5,590.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="748.5" y1="630.4971" y2="694.4971"/><polygon fill="#A80036" points="744.5,684.4971,748.5,694.4971,752.5,684.4971,748.5,688.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1026.5" x2="1026.5" y1="563.7236" y2="596.5283"/><polygon fill="#A80036" points="1022.5,586.5283,1026.5,596.5283,1030.5,586.5283,1026.5,590.5283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1026.5" x2="1026.5" y1="630.4971" y2="694.4971"/><polygon fill="#A80036" points="1022.5,684.4971,1026.5,694.4971,1030.5,684.4971,1026.5,688.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="879" x2="899" y1="551.7236" y2="551.7236"/><polygon fill="#A80036" points="889,547.7236,899,551.7236,889,555.7236,893,551.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911" x2="911" y1="519.7236" y2="524.7236"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911" x2="748.5" y1="524.7236" y2="524.7236"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="748.5" y1="524.7236" y2="539.7236"/><polygon fill="#A80036" points="744.5,529.7236,748.5,539.7236,752.5,529.7236,748.5,533.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1154" x2="1182" y1="551.7236" y2="551.7236"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1182" x2="1182" y1="551.7236" y2="694.4971"/><polygon fill="#A80036" points="1178,684.4971,1182,694.4971,1186,684.4971,1182,688.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="748.5" x2="1182" y1="694.4971" y2="694.4971"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="135.5" x2="135.5" y1="519.7236" y2="593.126"/><polygon fill="#A80036" points="131.5,583.126,135.5,593.126,139.5,583.126,135.5,587.126" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="519.7236" y2="544.7236"/><polygon fill="#A80036" points="417.5,534.7236,421.5,544.7236,425.5,534.7236,421.5,538.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="135.5" x2="135.5" y1="627.0947" y2="714.4971"/><polygon fill="#A80036" points="131.5,704.4971,135.5,714.4971,139.5,704.4971,135.5,708.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="421.5" x2="421.5" y1="674.4971" y2="714.4971"/><polygon fill="#A80036" points="417.5,704.4971,421.5,714.4971,425.5,704.4971,421.5,708.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911" x2="911" y1="694.4971" y2="714.4971"/><polygon fill="#A80036" points="907,704.4971,911,714.4971,915,704.4971,911,708.4971" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="466.625" y2="513.7236"/><polygon fill="#A80036" points="615,503.7236,619,513.7236,623,503.7236,619,507.7236" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619" x2="619" y1="720.4971" y2="752.4971"/><polygon fill="#A80036" points="615,742.4971,619,752.4971,623,742.4971,619,746.4971" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9abbf63e143f272cc34ce6b0745131bf]
2
@startuml
3

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

    
6

    
7
note
8
  - - **service** : urt_service_t* - -
9
  The service to call.
10
  Must not be ""NULL"".
11
  - - **arg** : void* - -
12
  Optional argument for the service call.
13
  May be ""NULL"" if the service expects no arguments.
14
  - - **ret** : void* - -
15
  Pointer to an optional output value.
16
  May be ""NULL"".
17
  - - **timeout** : urt_delay_t - -
18
  Timeout delay to be propagated to the callback function.
19
  Whether timeout is considered depends on the callback function.
20
  ====
21
  - - **return** : urt_status_t - -
22
  Returns the exact output status of the service call.
23
endnote
24

    
25

    
26
start
27
#EEEEEE:..//URT_CFG_RPC_PROFILING == true//..\nincrement call counter;
28
:execute the service ""callback"" function;
29
partition "//URT_CFG_RPC_PROFILING == true//" #EEEEEE {
30
  fork
31
    #EEEEEE:accumulate sum of durations;
32
  fork again
33
    if (Calback returned ""URT_STATUS_SERVICE_TIMEOUT""?) then (yes)
34
      #EEEEEE:increment timeout counter;
35
    else (no)
36
    endif
37
  fork again
38
    if (Duration was shorter than ""minDuration""?) then (yes)
39
      #EEEEEE:update ""minDuration"" value;
40
    elseif (Duration was longer than ""maxDuration""?) then (yes)
41
      #EEEEEE:update ""maxDuration"" value;
42
    else (no)
43
    endif
44
  endfork
45
}
46
stop
47
note
48
  Returns the return value of the callback.
49
endnote
50

    
51

    
52
@enduml
53

    
54
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
55
(GPL source distribution)
56
Java Runtime: OpenJDK Runtime Environment
57
JVM: OpenJDK 64-Bit Server VM
58
Java Version: 11.0.6+10-post-Ubuntu-1ubuntu118.04.1
59
Operating System: Linux
60
Default Encoding: UTF-8
61
Language: en
62
Country: US
63
--></g></svg>