Revision dd31cb03 doc/activitydiagrams/publisher/urtPublisherPublish.svg

View differences:

doc/activitydiagrams/publisher/urtPublisherPublish.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="1282px" preserveAspectRatio="none" style="width:2473px;height:1282px;" version="1.1" viewBox="0 0 2473 1282" width="2473px" zoomAndPan="magnify"><defs><filter height="300%" id="fgb6zrwdj1tda" 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="1191" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="183" x="1144" y="47.6611">urtPublisherPublish()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1238.5" y="68.6143"/><path d="M1017,72.8594 L1017,319.8516 L1402,319.8516 L1402,82.8594 L1392,72.8594 L1017,72.8594 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1392,72.8594 L1392,82.8594 L1402,82.8594 L1392,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1114" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1118" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="1118" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="1191" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1305" x2="1402" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="1023" y="105.0591">Pointer to the publisher to use.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1023" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1103" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1135" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1153.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1157.5" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1157.5" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1220.5" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1265.5" x2="1402" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="226" x="1023" y="150.4575">Pointer to the data to be published.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1023" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1073" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1109" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1176.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1180.5" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="9" x="1180.5" y="180.2231">n</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1193.5" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1242.5" x2="1402" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="1023" y="195.856">Size of the payload in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1155" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1159" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="6" x="1159" y="210.4888">t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="1169" y="210.4888">: urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1264" x2="1402" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="246" x="1023" y="226.1216">Timestamp to be set for the message.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1135.5" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1139.5" y="240.7544"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="1139.5" y="240.7544">timeout</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1200.5" y="240.7544">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1283.5" x2="1402" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="364" x="1023" y="256.3872">Timeout delay in case the message cannot be published.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1402" y1="264.4531" y2="264.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1402" y1="266.4531" y2="266.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1017" x2="1138.5" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1142.5" y="281.02"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1142.5" y="281.02">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1191.5" y="281.02">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1280.5" x2="1402" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1023" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1076" y="296.6528">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1184" y="296.6528">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1023" y="311.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1076" y="311.7856">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="74" x="1208" y="311.7856">on timeout.</text><ellipse cx="1209.5" cy="349.8516" fill="#000000" filter="url(#fgb6zrwdj1tda)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1169.5" y="379.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1179.5" y="400.9902">lock topic</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="1109" y="433.8203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="1119" y="454.959">access topic's next message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="524" x="947.5" y="543.4995"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="504" x="957.5" y="564.6382">wait for topic's condition variable (using topic's mutex) to be signaled or timeout</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1156.5,597.4683,1262.5,597.4683,1274.5,609.4683,1262.5,621.4683,1156.5,621.4683,1144.5,609.4683,1156.5,597.4683" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="1156.5" y="613.2764">Timeout occurred?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1124.5" y="606.874">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1274.5" y="606.874">no</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1071" y="631.4683"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1081" y="652.6069">unlock topic</text><path d="M882,700.437 L882,725.5698 A0,0 0 0 0 882,725.5698 L1088,725.5698 A0,0 0 0 0 1088,725.5698 L1088,718.437 L1108,713.0034 L1088,710.437 L1088,710.437 L1078,700.437 L882,700.437 A0,0 0 0 0 882,700.437 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1078,700.437 L1078,710.437 L1088,710.437 L1078,700.437 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="888" y="717.5039">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="941" y="717.5039">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1069" y="717.5039">.</text><ellipse cx="1119" cy="713.0034" fill="#FFFFFF" filter="url(#fgb6zrwdj1tda)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1119" cy="713.0034" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="1199.5" y="679.8706"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="1209.5" y="701.0093">access topic's next message</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1199,631.4683,1401,631.4683,1413,643.4683,1401,655.4683,1199,655.4683,1187,643.4683,1199,631.4683" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1304" y="665.6787">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="202" x="1199" y="647.2764">Message timestamp was modified?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1413" y="640.874">no</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1300,738.2417,1312,750.2417,1300,762.2417,1288,750.2417,1300,738.2417" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="1101,487.7891,1318,487.7891,1330,499.7891,1318,511.7891,1101,511.7891,1089,499.7891,1101,487.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1213.5" y="521.9995">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1101" y="503.5972">HRT consumers left for the message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1075" y="497.1948">no</text><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2451" x="10" y="804.2417"/><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="960" x="22" y="924.4365"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="34" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="231" x="44" y="971.5752">iterate topic pointer to this message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="295" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="305" y="971.5752">copy payload to message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="485" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="495" y="971.5752">set origin time of message</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="682" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="692" y="971.5752">set number of HRT consumers (from topic)</text><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="960" x="22" y="1004.4053"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="398" x="1010" y="950.4365"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="378" x="1020" y="971.5752">set QoS rate timer (@topic) wrt. most critical HRT subscriber</text><path d="M1470,938.7725 L1470,963.9053 A0,0 0 0 0 1470,963.9053 L1965,963.9053 A0,0 0 0 0 1965,963.9053 L1965,956.7725 L1985,951.3389 L1965,948.7725 L1965,948.7725 L1955,938.7725 L1470,938.7725 A0,0 0 0 0 1470,938.7725 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1955,938.7725 L1955,948.7725 L1965,948.7725 L1955,938.7725 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="474" x="1476" y="955.8394">No lock required since this timer is only accessed when the topic is locked.</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="434" x="1985" y="934.3545"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="414" x="1995" y="955.4932">set QoS delay timer (@subscriber) wrt. origin time of the message</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="2072,885.9521,2332,885.9521,2344,897.9521,2332,909.9521,2072,909.9521,2060,897.9521,2072,885.9521" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2206" y="920.1626">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="260" x="2072" y="901.7603">QoS delay timer (@subscriber) is not armed?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2344" y="895.3579">no</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="2202,992.7256,2214,1004.7256,2202,1016.7256,2190,1004.7256,2202,992.7256" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="2098" y="1036.7256"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="188" x="2108" y="1057.8643">iterate to next HRT subscriber</text><polygon fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" points="2141,830.2417,2263,830.2417,2275,842.2417,2263,854.2417,2141,854.2417,2129,842.2417,2141,830.2417" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2206" y="864.4521">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="122" x="2141" y="846.0498">HRT subscribers left?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2115" y="839.6475">no</text><rect fill="#000000" filter="url(#fgb6zrwdj1tda)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2451" x="10" y="1112.6943"/><path d="M814,1143.1123 L814,1168.2451 A0,0 0 0 0 814,1168.2451 L1150,1168.2451 A0,0 0 0 0 1150,1168.2451 L1150,1161.1123 L1170,1155.6787 L1150,1153.1123 L1150,1153.1123 L1140,1143.1123 L814,1143.1123 A0,0 0 0 0 814,1143.1123 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1140,1143.1123 L1140,1153.1123 L1150,1153.1123 L1140,1143.1123 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="315" x="820" y="1160.1792">Msut be within topic lock because of HRT counter.</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="1170" y="1138.6943"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="1180" y="1159.833">fire event</text><rect fill="#FEFECE" filter="url(#fgb6zrwdj1tda)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1161.5" y="1192.6631"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1171.5" y="1213.8018">unlock topic</text><path d="M996.5,1245.0654 L996.5,1270.1982 A0,0 0 0 0 996.5,1270.1982 L1178.5,1270.1982 A0,0 0 0 0 1178.5,1270.1982 L1178.5,1263.0654 L1198.5,1257.6318 L1178.5,1255.0654 L1178.5,1255.0654 L1168.5,1245.0654 L996.5,1245.0654 A0,0 0 0 0 996.5,1245.0654 " fill="#FBFB77" filter="url(#fgb6zrwdj1tda)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1168.5,1245.0654 L1168.5,1255.0654 L1178.5,1255.0654 L1168.5,1245.0654 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1002.5" y="1262.1323">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1055.5" y="1262.1323">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1159.5" y="1262.1323">.</text><ellipse cx="1209.5" cy="1257.6318" fill="#FFFFFF" filter="url(#fgb6zrwdj1tda)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1209.5" cy="1257.6318" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="1205.5,329.8516,1209.5,339.8516,1213.5,329.8516,1209.5,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="1205.5,369.8516,1209.5,379.8516,1213.5,369.8516,1209.5,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="413.8203" y2="433.8203"/><polygon fill="#A80036" points="1205.5,423.8203,1209.5,433.8203,1213.5,423.8203,1209.5,427.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1119" x2="1119" y1="665.437" y2="702.0034"/><polygon fill="#A80036" points="1115,692.0034,1119,702.0034,1123,692.0034,1119,696.0034" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="655.4683" y2="679.8706"/><polygon fill="#A80036" points="1296,669.8706,1300,679.8706,1304,669.8706,1300,673.8706" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1413" x2="1425" y1="643.4683" y2="643.4683"/><polygon fill="#A80036" points="1421,686.855,1425,696.855,1429,686.855,1425,690.855" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1425" x2="1425" y1="643.4683" y2="750.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1425" x2="1312" y1="750.2417" y2="750.2417"/><polygon fill="#A80036" points="1322,746.2417,1312,750.2417,1322,754.2417,1318,750.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="713.8394" y2="738.2417"/><polygon fill="#A80036" points="1296,728.2417,1300,738.2417,1304,728.2417,1300,732.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1144.5" x2="1119" y1="609.4683" y2="609.4683"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1119" x2="1119" y1="609.4683" y2="631.4683"/><polygon fill="#A80036" points="1115,621.4683,1119,631.4683,1123,621.4683,1119,625.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1274.5" x2="1300" y1="609.4683" y2="609.4683"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="609.4683" y2="631.4683"/><polygon fill="#A80036" points="1296,621.4683,1300,631.4683,1304,621.4683,1300,625.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1300" y1="762.2417" y2="772.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1300" x2="1483.5" y1="772.2417" y2="772.2417"/><polygon fill="#A80036" points="1479.5,639.9683,1483.5,629.9683,1487.5,639.9683,1483.5,635.9683" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1483.5" x2="1483.5" y1="499.7891" y2="772.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1483.5" x2="1330" y1="499.7891" y2="499.7891"/><polygon fill="#A80036" points="1340,495.7891,1330,499.7891,1340,503.7891,1336,499.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="577.4683" y2="597.4683"/><polygon fill="#A80036" points="1205.5,587.4683,1209.5,597.4683,1213.5,587.4683,1209.5,591.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="511.7891" y2="543.4995"/><polygon fill="#A80036" points="1205.5,533.4995,1209.5,543.4995,1213.5,533.4995,1209.5,537.4995" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1089" x2="860" y1="499.7891" y2="499.7891"/><polygon fill="#A80036" points="856,625.9683,860,635.9683,864,625.9683,860,629.9683" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="860" y1="499.7891" y2="784.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860" x2="1209.5" y1="784.2417" y2="784.2417"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="784.2417" y2="804.2417"/><polygon fill="#A80036" points="1205.5,794.2417,1209.5,804.2417,1213.5,794.2417,1209.5,798.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="467.7891" y2="487.7891"/><polygon fill="#A80036" points="1205.5,477.7891,1209.5,487.7891,1213.5,477.7891,1209.5,481.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="159.5" x2="159.5" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="155.5,940.4365,159.5,950.4365,163.5,940.4365,159.5,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385" x2="385" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="381,940.4365,385,950.4365,389,940.4365,385,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578.5" x2="578.5" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="574.5,940.4365,578.5,950.4365,582.5,940.4365,578.5,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825" x2="825" y1="930.4365" y2="950.4365"/><polygon fill="#A80036" points="821,940.4365,825,950.4365,829,940.4365,825,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="159.5" x2="159.5" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="155.5,994.4053,159.5,1004.4053,163.5,994.4053,159.5,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="385" x2="385" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="381,994.4053,385,1004.4053,389,994.4053,385,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="578.5" x2="578.5" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="574.5,994.4053,578.5,1004.4053,582.5,994.4053,578.5,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825" x2="825" y1="984.4053" y2="1004.4053"/><polygon fill="#A80036" points="821,994.4053,825,1004.4053,829,994.4053,825,998.4053" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="909.9521" y2="934.3545"/><polygon fill="#A80036" points="2198,924.3545,2202,934.3545,2206,924.3545,2202,928.3545" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2344" x2="2429" y1="897.9521" y2="897.9521"/><polygon fill="#A80036" points="2425,941.3389,2429,951.3389,2433,941.3389,2429,945.3389" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2429" x2="2429" y1="897.9521" y2="1004.7256"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2429" x2="2214" y1="1004.7256" y2="1004.7256"/><polygon fill="#A80036" points="2224,1000.7256,2214,1004.7256,2224,1008.7256,2220,1004.7256" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="968.3232" y2="992.7256"/><polygon fill="#A80036" points="2198,982.7256,2202,992.7256,2206,982.7256,2202,986.7256" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="1016.7256" y2="1036.7256"/><polygon fill="#A80036" points="2198,1026.7256,2202,1036.7256,2206,1026.7256,2202,1030.7256" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="854.2417" y2="885.9521"/><polygon fill="#A80036" points="2198,875.9521,2202,885.9521,2206,875.9521,2202,879.9521" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="1070.6943" y2="1080.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2447" y1="1080.6943" y2="1080.6943"/><polygon fill="#A80036" points="2443,977.4209,2447,967.4209,2451,977.4209,2447,973.4209" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2447" x2="2447" y1="842.2417" y2="1080.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2447" x2="2275" y1="842.2417" y2="842.2417"/><polygon fill="#A80036" points="2285,838.2417,2275,842.2417,2285,846.2417,2281,842.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2129" x2="1448" y1="842.2417" y2="842.2417"/><polygon fill="#A80036" points="1444,963.4209,1448,973.4209,1452,963.4209,1448,967.4209" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1448" x2="1448" y1="842.2417" y2="1092.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1448" x2="2202" y1="1092.6943" y2="1092.6943"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="1092.6943" y2="1112.6943"/><polygon fill="#A80036" points="2198,1102.6943,2202,1112.6943,2206,1102.6943,2202,1106.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="492" x2="492" y1="810.2417" y2="924.4365"/><polygon fill="#A80036" points="488,914.4365,492,924.4365,496,914.4365,492,918.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209" x2="1209" y1="810.2417" y2="950.4365"/><polygon fill="#A80036" points="1205,940.4365,1209,950.4365,1213,940.4365,1209,944.4365" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2202" x2="2202" y1="810.2417" y2="830.2417"/><polygon fill="#A80036" points="2198,820.2417,2202,830.2417,2206,820.2417,2202,824.2417" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="492" x2="492" y1="1010.4053" y2="1112.6943"/><polygon fill="#A80036" points="488,1102.6943,492,1112.6943,496,1102.6943,492,1106.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209" x2="1209" y1="984.4053" y2="1112.6943"/><polygon fill="#A80036" points="1205,1102.6943,1209,1112.6943,1213,1102.6943,1209,1106.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="1118.6943" y2="1138.6943"/><polygon fill="#A80036" points="1205.5,1128.6943,1209.5,1138.6943,1213.5,1128.6943,1209.5,1132.6943" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="1172.6631" y2="1192.6631"/><polygon fill="#A80036" points="1205.5,1182.6631,1209.5,1192.6631,1213.5,1182.6631,1209.5,1186.6631" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1209.5" x2="1209.5" y1="1226.6318" y2="1246.6318"/><polygon fill="#A80036" points="1205.5,1236.6318,1209.5,1246.6318,1213.5,1236.6318,1209.5,1240.6318" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[197988ab9e282192e01c61c5b164982b]
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="1776px" preserveAspectRatio="none" style="width:3008px;height:1776px;" version="1.1" viewBox="0 0 3008 1776" width="3008px" zoomAndPan="magnify"><defs><filter height="300%" id="fjrexx23r0l7p" 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="1458.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="183" x="1411.5" y="47.6611">urtPublisherPublish()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="1506" y="68.6143"/><path d="M1294.5,72.8594 L1294.5,319.8516 L1679.5,319.8516 L1679.5,82.8594 L1669.5,72.8594 L1294.5,72.8594 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1669.5,72.8594 L1669.5,82.8594 L1679.5,82.8594 L1669.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1391.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1395.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="69" x="1395.5" y="89.4263">publisher</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="110" x="1468.5" y="89.4263">: urt_publisher_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1582.5" x2="1679.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="197" x="1300.5" y="105.0591">Pointer to the publisher to use.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="1300.5" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1380.5" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1412.5" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1431" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1435" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1435" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1498" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1543" x2="1679.5" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="226" x="1300.5" y="150.4575">Pointer to the data to be published.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="1300.5" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1350.5" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="1386.5" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1438" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1442" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1442" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1487" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1536" x2="1679.5" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="180" x="1300.5" y="195.856">Size of the payload in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1432.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1436.5" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="6" x="1436.5" y="210.4888">t</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="91" x="1446.5" y="210.4888">: urt_osTime_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1541.5" x2="1679.5" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="246" x="1300.5" y="226.1216">Timestamp to be set for the message.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1413" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1417" y="240.7544"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="57" x="1417" y="240.7544">timeout</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="79" x="1478" y="240.7544">: urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1561" x2="1679.5" y1="236.7539" y2="236.7539"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="364" x="1300.5" y="256.3872">Timeout delay in case the message cannot be published.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1679.5" y1="264.4531" y2="264.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1679.5" y1="266.4531" y2="266.4531"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="1294.5" x2="1416" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1420" y="281.02"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1420" y="281.02">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1469" y="281.02">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1558" x2="1679.5" y1="277.0195" y2="277.0195"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1300.5" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1353.5" y="296.6528">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1461.5" y="296.6528">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1300.5" y="311.7856">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1353.5" y="311.7856">URT_STATUS_PUBLISH_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="74" x="1565.5" y="311.7856">on timeout.</text><ellipse cx="1487" cy="349.8516" fill="#000000" filter="url(#fjrexx23r0l7p)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="1447" y="379.8516"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="1457" y="400.9902">lock topic</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="519" x="1227.5" y="433.8203"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="1241.5" y="466.8047"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="1251.5" y="487.9434">access topic's next message</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="262" x="1470.5" y="459.8203"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1470.5" x2="1485.5" y1="476.8047" y2="476.8047"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1485.5" y="480.459">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1717.5" x2="1732.5" y1="476.8047" y2="476.8047"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="242" x="1480.5" y="494.9277">increment counter of publish attempts</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="519" x="1227.5" y="527.7578"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="524" x="1225" y="609.4683"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="504" x="1235" y="630.6069">wait for topic's condition variable (using topic's mutex) to be signaled or timeout</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1434,663.437,1540,663.437,1552,675.437,1540,687.437,1434,687.437,1422,675.437,1434,663.437" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="106" x="1434" y="679.2451">Timeout occurred?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1402" y="672.8428">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1552" y="672.8428">no</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1205" y="697.437"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1205" x2="1215" y1="714.4214" y2="714.4214"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1215" y="718.0757">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1447" x2="1457" y1="714.4214" y2="714.4214"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="210" x="1215" y="732.5444">increment counter of publish fails</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1283" y="780.3745"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1293" y="801.5132">unlock topic</text><path d="M1014,849.3433 L1014,874.4761 A0,0 0 0 0 1014,874.4761 L1300,874.4761 A0,0 0 0 0 1300,874.4761 L1300,867.3433 L1320,861.9097 L1300,859.3433 L1300,859.3433 L1290,849.3433 L1014,849.3433 A0,0 0 0 0 1014,849.3433 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1290,849.3433 L1290,859.3433 L1300,859.3433 L1290,849.3433 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1020" y="866.4102">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="1073" y="866.4102">URT_STATUS_PUBLISH_TIMEOUT</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1281" y="866.4102">.</text><ellipse cx="1331" cy="861.9097" fill="#FFFFFF" filter="url(#fjrexx23r0l7p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1331" cy="861.9097" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="1552.5" y="817.8394"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="1562.5" y="838.978">proceed to next message</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1643,745.8394,1655,757.8394,1643,769.8394,1631,757.8394,1643,745.8394" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1499,894.4761,1787,894.4761,1799,906.4761,1787,918.4761,1499,918.4761,1487,906.4761,1499,894.4761" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="288" x="1499" y="910.2842">Timestamp is younger than of previous message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1799" y="903.8818">yes</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1542,697.437,1744,697.437,1756,709.437,1744,721.437,1542,721.437,1530,709.437,1542,697.437" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1647" y="731.6475">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="202" x="1542" y="713.2451">Message timestamp was modified?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1756" y="706.8428">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1643,942.375,1655,954.375,1643,966.375,1631,954.375,1643,942.375" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1649" y="939.7808">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1378.5,553.7578,1595.5,553.7578,1607.5,565.7578,1595.5,577.7578,1378.5,577.7578,1366.5,565.7578,1378.5,553.7578" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1491" y="587.9683">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1378.5" y="569.5659">HRT consumers left for the message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1352.5" y="563.1636">no</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="174.668" style="stroke: #000000; stroke-width: 2.0;" width="396" x="1295" y="999.1768"/><path d="M1576,1000.1768 L1576,1008.4736 L1566,1018.4736 L1295,1018.4736 " 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="271" x="1298" y="1013.1719">URT_CFG_PUBSUB_PROFILING == true</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="344" x="1315" y="1083.876"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="324" x="1325" y="1105.0146">increment counter of discarded messages (@topic)</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1389,1035.4736,1585,1035.4736,1597,1047.4736,1585,1059.4736,1389,1059.4736,1377,1047.4736,1389,1035.4736" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1491" y="1069.6841">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="196" x="1389" y="1051.2817">Consumers left for this message?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1597" y="1044.8794">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="1487,1137.8447,1499,1149.8447,1487,1161.8447,1475,1149.8447,1487,1137.8447" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2987" x="10" y="1193.8447"/><rect fill="#FFFFFF" filter="url(#fjrexx23r0l7p)" height="156.2344" style="stroke: #000000; stroke-width: 2.0;" width="1268" x="22" y="1325.584"/><path d="M140,1326.584 L140,1334.8809 L130,1344.8809 L22,1344.8809 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="25" y="1339.5791">setup message</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1248" x="32" y="1361.8809"/><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="261" x="46" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="241" x="56" y="1416.0039">iterate topic's pointer to this message</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="317" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="327" y="1416.0039">copy payload to message</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="507" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="517" y="1416.0039">set origin time of message</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="704" y="1394.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="714" y="1416.0039">set number of HRT consumers (from topic)</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="254" x="1012" y="1387.8809"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1012" x2="1023" y1="1404.8652" y2="1404.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="1023" y="1408.5195">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1255" x2="1266" y1="1404.8652" y2="1404.8652"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="230" x="1026" y="1422.9883">set numer of consumers (from topic)</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1248" x="32" y="1455.8184"/><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="398" x="1318" y="1379.7324"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1318" x2="1377.5" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="279" x="1377.5" y="1400.3711">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1656.5" x2="1716" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="378" x="1328" y="1414.8398">set QoS rate timer (@topic) wrt. most critical HRT subscriber</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="376.1094" style="stroke: #000000; stroke-width: 2.0;" width="888" x="1744" y="1210.6465"/><path d="M2119,1211.6465 L2119,1219.9434 L2109,1229.9434 L1744,1229.9434 " 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="365" x="1747" y="1224.6416">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="241" x="2240" y="1246.9434"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="221" x="2250" y="1268.082">access first HRT subscriber of topic</text><path d="M1788,1410.1191 L1788,1450.3848 A0,0 0 0 0 1788,1450.3848 L2113,1450.3848 A0,0 0 0 0 2113,1450.3848 L2113,1434.252 L2133,1430.252 L2113,1426.252 L2113,1420.1191 L2103,1410.1191 L1788,1410.1191 A0,0 0 0 0 1788,1410.1191 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2103,1410.1191 L2103,1420.1191 L2113,1420.1191 L2103,1410.1191 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="108" x="1794" y="1427.186">No lock required.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="304" x="1794" y="1442.3188">This timer is only accessed while topic is locked.</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="455" x="2133" y="1413.2676"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="435" x="2143" y="1434.4063">set QoS deadline timer (@subscriber) wrt. origin time of the message</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="2221.5,1361.7168,2499.5,1361.7168,2511.5,1373.7168,2499.5,1385.7168,2221.5,1385.7168,2209.5,1373.7168,2221.5,1361.7168" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2364.5" y="1395.9272">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="278" x="2221.5" y="1377.5249">QoS deadline timer (@subscriber) is not armed?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2511.5" y="1371.1226">no</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="2360.5,1474.7871,2372.5,1486.7871,2360.5,1498.7871,2348.5,1486.7871,2360.5,1474.7871" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="218" x="2251.5" y="1518.7871"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="198" x="2261.5" y="1539.9258">proceed to next HRT subscriber</text><polygon fill="#FEFECE" filter="url(#fjrexx23r0l7p)" points="2280,1300.9121,2441,1300.9121,2453,1312.9121,2441,1324.9121,2280,1324.9121,2268,1312.9121,2280,1300.9121" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="2364.5" y="1335.1226">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="123" x="2280" y="1316.7202">HRT subscriber is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="2407" y="1316.7202">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="2435" y="1316.7202">?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="2254" y="1310.3179">no</text><rect fill="#EEEEEE" filter="url(#fjrexx23r0l7p)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="343" x="2642" y="1379.7324"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2642" x2="2697.5" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="2697.5" y="1400.3711">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2929.5" x2="2985" y1="1396.7168" y2="1396.7168"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="323" x="2652" y="1414.8398">increment counter of published messages (@topic)</text><rect fill="#000000" filter="url(#fjrexx23r0l7p)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="2987" x="10" y="1606.7559"/><path d="M1091.5,1637.1738 L1091.5,1662.3066 A0,0 0 0 0 1091.5,1662.3066 L1427.5,1662.3066 A0,0 0 0 0 1427.5,1662.3066 L1427.5,1655.1738 L1447.5,1649.7402 L1427.5,1647.1738 L1427.5,1647.1738 L1417.5,1637.1738 L1091.5,1637.1738 A0,0 0 0 0 1091.5,1637.1738 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1417.5,1637.1738 L1417.5,1647.1738 L1427.5,1647.1738 L1417.5,1637.1738 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="315" x="1097.5" y="1654.2407">Msut be within topic lock because of HRT counter.</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="1447.5" y="1632.7559"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="59" x="1457.5" y="1653.8945">fire event</text><rect fill="#FEFECE" filter="url(#fjrexx23r0l7p)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="1439" y="1686.7246"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1449" y="1707.8633">unlock topic</text><path d="M1274,1739.127 L1274,1764.2598 A0,0 0 0 0 1274,1764.2598 L1456,1764.2598 A0,0 0 0 0 1456,1764.2598 L1456,1757.127 L1476,1751.6934 L1456,1749.127 L1456,1749.127 L1446,1739.127 L1274,1739.127 A0,0 0 0 0 1274,1739.127 " fill="#FBFB77" filter="url(#fjrexx23r0l7p)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1446,1739.127 L1446,1749.127 L1456,1749.127 L1446,1739.127 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1280" y="1756.1938">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="1333" y="1756.1938">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1437" y="1756.1938">.</text><ellipse cx="1487" cy="1751.6934" fill="#FFFFFF" filter="url(#fjrexx23r0l7p)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1487" cy="1751.6934" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="319.8516" y2="339.8516"/><polygon fill="#A80036" points="1483,329.8516,1487,339.8516,1491,329.8516,1487,333.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="359.8516" y2="379.8516"/><polygon fill="#A80036" points="1483,369.8516,1487,379.8516,1491,369.8516,1487,373.8516" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1342" x2="1342" y1="439.8203" y2="466.8047"/><polygon fill="#A80036" points="1338,456.8047,1342,466.8047,1346,456.8047,1342,460.8047" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1601.5" x2="1601.5" y1="439.8203" y2="459.8203"/><polygon fill="#A80036" points="1597.5,449.8203,1601.5,459.8203,1605.5,449.8203,1601.5,453.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1342" x2="1342" y1="500.7734" y2="527.7578"/><polygon fill="#A80036" points="1338,517.7578,1342,527.7578,1346,517.7578,1342,521.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1601.5" x2="1601.5" y1="507.7578" y2="527.7578"/><polygon fill="#A80036" points="1597.5,517.7578,1601.5,527.7578,1605.5,517.7578,1601.5,521.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="413.8203" y2="433.8203"/><polygon fill="#A80036" points="1483,423.8203,1487,433.8203,1491,423.8203,1487,427.8203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1331" x2="1331" y1="745.3745" y2="780.3745"/><polygon fill="#A80036" points="1327,770.3745,1331,780.3745,1335,770.3745,1331,774.3745" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1331" x2="1331" y1="814.3433" y2="850.9097"/><polygon fill="#A80036" points="1327,840.9097,1331,850.9097,1335,840.9097,1331,844.9097" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="769.8394" y2="817.8394"/><polygon fill="#A80036" points="1639,807.8394,1643,817.8394,1647,807.8394,1643,811.8394" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1799" x2="1811" y1="906.4761" y2="906.4761"/><polygon fill="#A80036" points="1807,844.8237,1811,834.8237,1815,844.8237,1811,840.8237" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1811" x2="1811" y1="757.8394" y2="906.4761"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1811" x2="1655" y1="757.8394" y2="757.8394"/><polygon fill="#A80036" points="1665,753.8394,1655,757.8394,1665,761.8394,1661,757.8394" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="851.8081" y2="894.4761"/><polygon fill="#A80036" points="1639,884.4761,1643,894.4761,1647,884.4761,1643,888.4761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="721.437" y2="745.8394"/><polygon fill="#A80036" points="1639,735.8394,1643,745.8394,1647,735.8394,1643,739.8394" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1756" x2="1833" y1="709.437" y2="709.437"/><polygon fill="#A80036" points="1829,831.2261,1833,841.2261,1837,831.2261,1833,835.2261" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1833" x2="1833" y1="709.437" y2="954.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1833" x2="1655" y1="954.375" y2="954.375"/><polygon fill="#A80036" points="1665,950.375,1655,954.375,1665,958.375,1661,954.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="918.4761" y2="942.375"/><polygon fill="#A80036" points="1639,932.375,1643,942.375,1647,932.375,1643,936.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1422" x2="1331" y1="675.437" y2="675.437"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1331" x2="1331" y1="675.437" y2="697.437"/><polygon fill="#A80036" points="1327,687.437,1331,697.437,1335,687.437,1331,691.437" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1552" x2="1643" y1="675.437" y2="675.437"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="675.437" y2="697.437"/><polygon fill="#A80036" points="1639,687.437,1643,697.437,1647,687.437,1643,691.437" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1643" y1="966.375" y2="976.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1643" x2="1867" y1="976.375" y2="976.375"/><polygon fill="#A80036" points="1863,784.3394,1867,774.3394,1871,784.3394,1867,780.3394" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1867" x2="1867" y1="565.7578" y2="976.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1867" x2="1607.5" y1="565.7578" y2="565.7578"/><polygon fill="#A80036" points="1617.5,561.7578,1607.5,565.7578,1617.5,569.7578,1613.5,565.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="643.437" y2="663.437"/><polygon fill="#A80036" points="1483,653.437,1487,663.437,1491,653.437,1487,657.437" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="577.7578" y2="609.4683"/><polygon fill="#A80036" points="1483,599.4683,1487,609.4683,1491,599.4683,1487,603.4683" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1366.5" x2="998" y1="565.7578" y2="565.7578"/><polygon fill="#A80036" points="994,770.3394,998,780.3394,1002,770.3394,998,774.3394" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="998" x2="998" y1="565.7578" y2="988.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="998" x2="1487" y1="988.375" y2="988.375"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="988.375" y2="1035.4736"/><polygon fill="#A80036" points="1483,1025.4736,1487,1035.4736,1491,1025.4736,1487,1029.4736" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="533.7578" y2="553.7578"/><polygon fill="#A80036" points="1483,543.7578,1487,553.7578,1491,543.7578,1487,547.7578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1059.4736" y2="1083.876"/><polygon fill="#A80036" points="1483,1073.876,1487,1083.876,1491,1073.876,1487,1077.876" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1597" x2="1669" y1="1047.4736" y2="1047.4736"/><polygon fill="#A80036" points="1665,1090.8604,1669,1100.8604,1673,1090.8604,1669,1094.8604" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1669" x2="1669" y1="1047.4736" y2="1149.8447"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1669" x2="1499" y1="1149.8447" y2="1149.8447"/><polygon fill="#A80036" points="1509,1145.8447,1499,1149.8447,1509,1153.8447,1505,1149.8447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1117.8447" y2="1137.8447"/><polygon fill="#A80036" points="1483,1127.8447,1487,1137.8447,1491,1127.8447,1487,1131.8447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176.5" x2="176.5" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="172.5,1384.8652,176.5,1394.8652,180.5,1384.8652,176.5,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="407" x2="407" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="403,1384.8652,407,1394.8652,411,1384.8652,407,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="600.5" x2="600.5" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="596.5,1384.8652,600.5,1394.8652,604.5,1384.8652,600.5,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="847" x2="847" y1="1367.8809" y2="1394.8652"/><polygon fill="#A80036" points="843,1384.8652,847,1394.8652,851,1384.8652,847,1388.8652" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1139" x2="1139" y1="1367.8809" y2="1387.8809"/><polygon fill="#A80036" points="1135,1377.8809,1139,1387.8809,1143,1377.8809,1139,1381.8809" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="176.5" x2="176.5" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="172.5,1445.8184,176.5,1455.8184,180.5,1445.8184,176.5,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="407" x2="407" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="403,1445.8184,407,1455.8184,411,1445.8184,407,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="600.5" x2="600.5" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="596.5,1445.8184,600.5,1455.8184,604.5,1445.8184,600.5,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="847" x2="847" y1="1428.834" y2="1455.8184"/><polygon fill="#A80036" points="843,1445.8184,847,1455.8184,851,1445.8184,847,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1139" x2="1139" y1="1435.8184" y2="1455.8184"/><polygon fill="#A80036" points="1135,1445.8184,1139,1455.8184,1143,1445.8184,1139,1449.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1385.7168" y2="1413.2676"/><polygon fill="#A80036" points="2356.5,1403.2676,2360.5,1413.2676,2364.5,1403.2676,2360.5,1407.2676" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2511.5" x2="2598" y1="1373.7168" y2="1373.7168"/><polygon fill="#A80036" points="2594,1420.252,2598,1430.252,2602,1420.252,2598,1424.252" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2598" x2="2598" y1="1373.7168" y2="1486.7871"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2598" x2="2372.5" y1="1486.7871" y2="1486.7871"/><polygon fill="#A80036" points="2382.5,1482.7871,2372.5,1486.7871,2382.5,1490.7871,2378.5,1486.7871" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1447.2363" y2="1474.7871"/><polygon fill="#A80036" points="2356.5,1464.7871,2360.5,1474.7871,2364.5,1464.7871,2360.5,1468.7871" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1498.7871" y2="1518.7871"/><polygon fill="#A80036" points="2356.5,1508.7871,2360.5,1518.7871,2364.5,1508.7871,2360.5,1512.7871" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1324.9121" y2="1361.7168"/><polygon fill="#A80036" points="2356.5,1351.7168,2360.5,1361.7168,2364.5,1351.7168,2360.5,1355.7168" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1552.7559" y2="1562.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2616" y1="1562.7559" y2="1562.7559"/><polygon fill="#A80036" points="2612,1456.334,2616,1446.334,2620,1456.334,2616,1452.334" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2616" x2="2616" y1="1312.9121" y2="1562.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2616" x2="2453" y1="1312.9121" y2="1312.9121"/><polygon fill="#A80036" points="2463,1308.9121,2453,1312.9121,2463,1316.9121,2459,1312.9121" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2268" x2="1766" y1="1312.9121" y2="1312.9121"/><polygon fill="#A80036" points="1762,1442.334,1766,1452.334,1770,1442.334,1766,1446.334" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1766" x2="1766" y1="1312.9121" y2="1574.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1766" x2="2360.5" y1="1574.7559" y2="1574.7559"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1574.7559" y2="1606.7559"/><polygon fill="#A80036" points="2356.5,1596.7559,2360.5,1606.7559,2364.5,1596.7559,2360.5,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1280.9121" y2="1300.9121"/><polygon fill="#A80036" points="2356.5,1290.9121,2360.5,1300.9121,2364.5,1290.9121,2360.5,1294.9121" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="650" x2="650" y1="1199.8447" y2="1361.8809"/><polygon fill="#A80036" points="646,1351.8809,650,1361.8809,654,1351.8809,650,1355.8809" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1517" x2="1517" y1="1199.8447" y2="1379.7324"/><polygon fill="#A80036" points="1513,1369.7324,1517,1379.7324,1521,1369.7324,1517,1373.7324" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2360.5" x2="2360.5" y1="1199.8447" y2="1246.9434"/><polygon fill="#A80036" points="2356.5,1236.9434,2360.5,1246.9434,2364.5,1236.9434,2360.5,1240.9434" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2813.5" x2="2813.5" y1="1199.8447" y2="1379.7324"/><polygon fill="#A80036" points="2809.5,1369.7324,2813.5,1379.7324,2817.5,1369.7324,2813.5,1373.7324" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="650" x2="650" y1="1461.8184" y2="1606.7559"/><polygon fill="#A80036" points="646,1596.7559,650,1606.7559,654,1596.7559,650,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1517" x2="1517" y1="1427.6699" y2="1606.7559"/><polygon fill="#A80036" points="1513,1596.7559,1517,1606.7559,1521,1596.7559,1517,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2813.5" x2="2813.5" y1="1427.6699" y2="1606.7559"/><polygon fill="#A80036" points="2809.5,1596.7559,2813.5,1606.7559,2817.5,1596.7559,2813.5,1600.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1161.8447" y2="1193.8447"/><polygon fill="#A80036" points="1483,1183.8447,1487,1193.8447,1491,1183.8447,1487,1187.8447" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1612.7559" y2="1632.7559"/><polygon fill="#A80036" points="1483,1622.7559,1487,1632.7559,1491,1622.7559,1487,1626.7559" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1666.7246" y2="1686.7246"/><polygon fill="#A80036" points="1483,1676.7246,1487,1686.7246,1491,1676.7246,1487,1680.7246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1487" x2="1487" y1="1720.6934" y2="1740.6934"/><polygon fill="#A80036" points="1483,1730.6934,1487,1740.6934,1491,1730.6934,1487,1734.6934" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7a15d687b809606f6c1047ce89f2f656]
2 2
@startuml
3 3

  
4 4
title **µRtWare**\nurtPublisherPublish()\n
......
11 11
  - - **payload** : void* - -
12 12
  Pointer to the data to be published.
13 13
  May be ""NULL"" for messages without payload.
14
  - - **n** : size_t - -
14
  - - **bytes** : size_t - -
15 15
  Size of the payload in bytes.
16 16
  - - **t** : urt_osTime_t - -
17 17
  Timestamp to be set for the message.
......
20 20
  ====
21 21
  - - **return** : urt_status_t - -
22 22
  Returns ""URT_STATUS_OK"" on success.
23
  Returns ""URT_STATUS_ERROR"" on timeout.
23
  Returns ""URT_STATUS_PUBLISH_TIMEOUT"" on timeout.
24 24
endnote
25 25

  
26 26

  
27 27
start
28 28
:lock topic;
29
:access topic's next message;
29
fork
30
  :access topic's next message;
31
fork again
32
  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of publish attempts;
33
endfork
30 34
while (HRT consumers left for the message?) is (yes)
31 35
  :wait for topic's condition variable (using topic's mutex) to be signaled or timeout;
32 36
  if (Timeout occurred?) then (yes)
37
    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of publish fails;
33 38
    :unlock topic;
34 39
    stop
35 40
    note
36
      Returns ""URT_STATUS_ERROR"".
41
      Returns ""URT_STATUS_PUBLISH_TIMEOUT"".
37 42
    endnote
38 43
  else (no)
39 44
    if (Message timestamp was modified?) then (yes)
40
      :access topic's next message;
45
      repeat
46
        :proceed to next message;
47
      repeat while (Timestamp is younger than of previous message?) is (yes)
48
      ->no;
41 49
    else (no)
42 50
    endif
43 51
  endif
44 52
endwhile (no)
53
partition "//URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
54
  if (Consumers left for this message?) then (yes)
55
    #EEEEEE:increment counter of discarded messages (@topic);
56
  else (no)
57
  endif
58
}
45 59
fork
46
  fork
47
    :iterate topic pointer to this message;
48
  fork again
49
    :copy payload to message;
50
  fork again
51
    :set origin time of message;
52
  fork again
53
    :set number of HRT consumers (from topic);
54
  endfork
60
  partition "setup message" {
61
    fork
62
      :iterate topic's pointer to this message;
63
    fork again
64
      :copy payload to message;
65
    fork again
66
      :set origin time of message;
67
    fork again
68
      :set number of HRT consumers (from topic);
69
    fork again
70
      #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..
71
       set numer of consumers (from topic);
72
    endfork
73
  }
55 74
fork again
56
  :set QoS rate timer (@topic) wrt. most critical HRT subscriber;
75
  #EEEEEE:..//URT_CFG_PUBSUB_QOS_RATECHECKS == true//..\nset QoS rate timer (@topic) wrt. most critical HRT subscriber;
57 76
fork again
58
  while (HRT subscribers left?) is (yes)
59
    if (QoS delay timer (@subscriber) is not armed?) then (yes)
60
      :set QoS delay timer (@subscriber) wrt. origin time of the message;
61
      note: No lock required since this timer is only accessed when the topic is locked.
62
    else (no)
63
    endif
64
    :iterate to next HRT subscriber;
65
  endwhile (no)
77
  partition "//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//" #EEEEEE {
78
    #EEEEEE:access first HRT subscriber of topic;
79
    while (HRT subscriber is not ""NULL""?) is (yes)
80
      if (QoS deadline timer (@subscriber) is not armed?) then (yes)
81
        #EEEEEE:set QoS deadline timer (@subscriber) wrt. origin time of the message;
82
        note
83
          No lock required.
84
          This timer is only accessed while topic is locked.
85
        endnote
86
      else (no)
87
      endif
88
      #EEEEEE:proceed to next HRT subscriber;
89
    endwhile (no)
90
  }
91
fork again
92
  #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\nincrement counter of published messages (@topic);
66 93
endfork
67 94
:fire event;
68 95
note: Msut be within topic lock because of HRT counter.

Also available in: Unified diff