Revision e7056e1b

View differences:

doc/activitydiagrams/core/urtCoreAddNode.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="468px" preserveAspectRatio="none" style="width:380px;height:468px;" version="1.1" viewBox="0 0 380 468" width="380px" zoomAndPan="magnify"><defs><filter height="300%" id="f19791oa56a4wc" 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="144.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="164" x="107" y="47.6611">urtCoreAddNode()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="192" y="68.6143"/><path d="M80,72.8594 L80,153.3906 L360,153.3906 L360,82.8594 L350,72.8594 L80,72.8594 " fill="#FBFB77" filter="url(#f19791oa56a4wc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M350,72.8594 L350,82.8594 L360,82.8594 L350,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80" x2="153.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="157.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="157.5" y="89.4263">node</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="198.5" y="89.4263">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="286.5" x2="360" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="259" x="86" y="105.0591">The node to prepend. Must not be NULL.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="80" x2="360" y1="113.125" y2="113.125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80" x2="360" y1="115.125" y2="115.125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="80" x2="149" y1="125.6914" y2="125.6914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="153" y="129.6919"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="153" y="129.6919">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="202" y="129.6919">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="291" x2="360" y1="125.6914" y2="125.6914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="86" y="145.3247">Returns URT_STATUS_OK on success.</text><ellipse cx="220" cy="183.3906" fill="#000000" filter="url(#f19791oa56a4wc)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f19791oa56a4wc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="181.5" y="213.3906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="191.5" y="234.5293">lock core</text><rect fill="#FEFECE" filter="url(#f19791oa56a4wc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="77" y="267.3594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="266" x="87" y="288.498">Set node next pointer to first node of core</text><rect fill="#FEFECE" filter="url(#f19791oa56a4wc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="117" y="321.3281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="186" x="127" y="342.4668">Set first node of core to node</text><rect fill="#FEFECE" filter="url(#f19791oa56a4wc)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="173.5" y="375.2969"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="183.5" y="396.4355">unlock core</text><path d="M10,427.6992 L10,452.832 A0,0 0 0 0 10,452.832 L189,452.832 A0,0 0 0 0 189,452.832 L189,445.6992 L209,440.2656 L189,437.6992 L189,437.6992 L179,427.6992 L10,427.6992 A0,0 0 0 0 10,427.6992 " fill="#FBFB77" filter="url(#f19791oa56a4wc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M179,427.6992 L179,437.6992 L189,437.6992 L179,427.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="158" x="16" y="444.7661">Return URT_STATUS_OK.</text><ellipse cx="220" cy="440.2656" fill="#FFFFFF" filter="url(#f19791oa56a4wc)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="220" cy="440.2656" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="216,163.3906,220,173.3906,224,163.3906,220,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="193.3906" y2="213.3906"/><polygon fill="#A80036" points="216,203.3906,220,213.3906,224,203.3906,220,207.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="247.3594" y2="267.3594"/><polygon fill="#A80036" points="216,257.3594,220,267.3594,224,257.3594,220,261.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="301.3281" y2="321.3281"/><polygon fill="#A80036" points="216,311.3281,220,321.3281,224,311.3281,220,315.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="355.2969" y2="375.2969"/><polygon fill="#A80036" points="216,365.2969,220,375.2969,224,365.2969,220,369.2969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="409.2656" y2="429.2656"/><polygon fill="#A80036" points="216,419.2656,220,429.2656,224,419.2656,220,423.2656" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7eb085717e117b616d5b30687f156ac3]
2
@startuml
3

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

  
6
/'### PARAMETERS & RETURN ####################################################'/
7

  
8
note
9
  - - **node** : urt_node_t* - -
10
  The node to prepend. Must not be NULL.
11
  ====
12
  - - **return** : urt_status_t - -
13
  Returns URT_STATUS_OK on success.
14
endnote
15

  
16
/'### PROCEDURE ##############################################################'/
17

  
18
start
19
:lock core;
20
:Set node next pointer to first node of core;
21
:Set first node of core to node;
22
:unlock core;
23
stop
24
note
25
  Return URT_STATUS_OK.
26
endnote
27

  
28
/'### OUTRO ##################################################################'/
29

  
30
@enduml
31

  
32
@startuml
33

  
34
title **µRtWare**\nurtCoreAddNode()\n
35

  
36

  
37
note
38
  - - **node** : urt_node_t* - -
39
  The node to prepend. Must not be NULL.
40
  ====
41
  - - **return** : urt_status_t - -
42
  Returns URT_STATUS_OK on success.
43
endnote
44

  
45

  
46
start
47
:lock core;
48
:Set node next pointer to first node of core;
49
:Set first node of core to node;
50
:unlock core;
51
stop
52
note
53
  Return URT_STATUS_OK.
54
endnote
55

  
56

  
57
@enduml
58

  
59
PlantUML version 1.2020.15(Sun Jun 28 13:39:45 CEST 2020)
60
(GPL source distribution)
61
Java Runtime: OpenJDK Runtime Environment
62
JVM: OpenJDK 64-Bit Server VM
63
Default Encoding: UTF-8
64
Language: de
65
Country: DE
66
--></g></svg>
doc/activitydiagrams/core/urtCoreAddNode.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
/'### INTRO ##################################################################'/
23

  
24
@startuml
25

  
26
title **µRtWare**\nurtCoreAddNode()\n
27

  
28
/'### PARAMETERS & RETURN ####################################################'/
29

  
30
note
31
  -- **node** : urt_node_t* --
32
  The node to prepend. Must not be NULL.
33
  ====
34
  -- **return** : urt_status_t --
35
  Returns URT_STATUS_OK on success.
36
endnote
37

  
38
/'### PROCEDURE ##############################################################'/
39

  
40
start
41
:lock core;
42
:Set node next pointer to first node of core;
43
:Set first node of core to node;
44
:unlock core;
45
stop
46
note
47
  Return URT_STATUS_OK.
48
endnote
49

  
50
/'### OUTRO ##################################################################'/
51

  
52
@enduml
doc/activitydiagrams/core/urtCoreAddService.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="468px" preserveAspectRatio="none" style="width:392px;height:468px;" version="1.1" viewBox="0 0 392 468" width="392px" zoomAndPan="magnify"><defs><filter height="300%" id="fkbas0vgausg4" 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="150.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="183" x="103.5" y="47.6611">urtCoreAddService()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="198" y="68.6143"/><path d="M73.5,72.8594 L73.5,153.3906 L366.5,153.3906 L366.5,82.8594 L356.5,72.8594 L73.5,72.8594 " fill="#FBFB77" filter="url(#fkbas0vgausg4)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M356.5,72.8594 L356.5,82.8594 L366.5,82.8594 L356.5,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="73.5" x2="139.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="143.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="52" x="143.5" y="89.4263">service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="97" x="199.5" y="89.4263">: urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="300.5" x2="366.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="272" x="79.5" y="105.0591">The service to prepend. Must not be NULL.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="73.5" x2="366.5" y1="113.125" y2="113.125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="73.5" x2="366.5" y1="115.125" y2="115.125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="73.5" x2="149" y1="125.6914" y2="125.6914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="153" y="129.6919"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="153" y="129.6919">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="202" y="129.6919">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="291" x2="366.5" y1="125.6914" y2="125.6914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="79.5" y="145.3247">Returns URT_STATUS_OK on success.</text><ellipse cx="220" cy="183.3906" fill="#000000" filter="url(#fkbas0vgausg4)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fkbas0vgausg4)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="181.5" y="213.3906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="191.5" y="234.5293">lock core</text><rect fill="#FEFECE" filter="url(#fkbas0vgausg4)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="310" x="65" y="267.3594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="290" x="75" y="288.498">Set service next pointer to first service of core</text><rect fill="#FEFECE" filter="url(#fkbas0vgausg4)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="230" x="105" y="321.3281"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="210" x="115" y="342.4668">Set first service of core to service</text><rect fill="#FEFECE" filter="url(#fkbas0vgausg4)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="173.5" y="375.2969"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="183.5" y="396.4355">unlock core</text><path d="M10,427.6992 L10,452.832 A0,0 0 0 0 10,452.832 L189,452.832 A0,0 0 0 0 189,452.832 L189,445.6992 L209,440.2656 L189,437.6992 L189,437.6992 L179,427.6992 L10,427.6992 A0,0 0 0 0 10,427.6992 " fill="#FBFB77" filter="url(#fkbas0vgausg4)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M179,427.6992 L179,437.6992 L189,437.6992 L179,427.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="158" x="16" y="444.7661">Return URT_STATUS_OK.</text><ellipse cx="220" cy="440.2656" fill="#FFFFFF" filter="url(#fkbas0vgausg4)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="220" cy="440.2656" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="216,163.3906,220,173.3906,224,163.3906,220,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="193.3906" y2="213.3906"/><polygon fill="#A80036" points="216,203.3906,220,213.3906,224,203.3906,220,207.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="247.3594" y2="267.3594"/><polygon fill="#A80036" points="216,257.3594,220,267.3594,224,257.3594,220,261.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="301.3281" y2="321.3281"/><polygon fill="#A80036" points="216,311.3281,220,321.3281,224,311.3281,220,315.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="355.2969" y2="375.2969"/><polygon fill="#A80036" points="216,365.2969,220,375.2969,224,365.2969,220,369.2969" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="409.2656" y2="429.2656"/><polygon fill="#A80036" points="216,419.2656,220,429.2656,224,419.2656,220,423.2656" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[67e16c83db4e10f1ab8a05b38f4023ac]
2
@startuml
3

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

  
6
/'### PARAMETERS & RETURN ####################################################'/
7

  
8
note
9
  - - **service** : urt_service_t* - -
10
  The service to prepend. Must not be NULL.
11
  ====
12
  - - **return** : urt_status_t - -
13
  Returns URT_STATUS_OK on success.
14
endnote
15

  
16
/'### PROCEDURE ##############################################################'/
17

  
18
start
19
:lock core;
20
:Set service next pointer to first service of core;
21
:Set first service of core to service;
22
:unlock core;
23
stop
24
note
25
  Return URT_STATUS_OK.
26
endnote
27

  
28
/'### OUTRO ##################################################################'/
29

  
30
@enduml
31

  
32
@startuml
33

  
34
title **µRtWare**\nurtCoreAddService()\n
35

  
36

  
37
note
38
  - - **service** : urt_service_t* - -
39
  The service to prepend. Must not be NULL.
40
  ====
41
  - - **return** : urt_status_t - -
42
  Returns URT_STATUS_OK on success.
43
endnote
44

  
45

  
46
start
47
:lock core;
48
:Set service next pointer to first service of core;
49
:Set first service of core to service;
50
:unlock core;
51
stop
52
note
53
  Return URT_STATUS_OK.
54
endnote
55

  
56

  
57
@enduml
58

  
59
PlantUML version 1.2020.15(Sun Jun 28 13:39:45 CEST 2020)
60
(GPL source distribution)
61
Java Runtime: OpenJDK Runtime Environment
62
JVM: OpenJDK 64-Bit Server VM
63
Default Encoding: UTF-8
64
Language: de
65
Country: DE
66
--></g></svg>
doc/activitydiagrams/core/urtCoreAddService.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
/'### INTRO ##################################################################'/
23

  
24
@startuml
25

  
26
title **µRtWare**\nurtCoreAddService()\n
27

  
28
/'### PARAMETERS & RETURN ####################################################'/
29

  
30
note
31
  -- **service** : urt_service_t* --
32
  The service to prepend. Must not be NULL.
33
  ====
34
  -- **return** : urt_status_t --
35
  Returns URT_STATUS_OK on success.
36
endnote
37

  
38
/'### PROCEDURE ##############################################################'/
39

  
40
start
41
:lock core;
42
:Set service next pointer to first service of core;
43
:Set first service of core to service;
44
:unlock core;
45
stop
46
note
47
  Return URT_STATUS_OK.
48
endnote
49

  
50
/'### OUTRO ##################################################################'/
51

  
52
@enduml
doc/activitydiagrams/core/urtCoreAddTopic.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="599px" preserveAspectRatio="none" style="width:383px;height:599px;" version="1.1" viewBox="0 0 383 599" width="383px" zoomAndPan="magnify"><defs><filter height="300%" id="fbou9q8mkyvik" 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="146.25" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="165" x="108.25" y="47.6611">urtCoreAddTopic()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="193.75" y="68.6143"/><path d="M83,72.8594 L83,153.3906 L357,153.3906 L357,82.8594 L347,72.8594 L83,72.8594 " fill="#FBFB77" filter="url(#fbou9q8mkyvik)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M347,72.8594 L347,82.8594 L357,82.8594 L347,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83" x2="154" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="158" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="37" x="158" y="89.4263">topic</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="199" y="89.4263">: urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="286" x2="357" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="253" x="89" y="105.0591">The topic to append. Must not be NULL.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="83" x2="357" y1="113.125" y2="113.125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83" x2="357" y1="115.125" y2="115.125"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="83" x2="149" y1="125.6914" y2="125.6914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="153" y="129.6919"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="153" y="129.6919">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="202" y="129.6919">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="291" x2="357" y1="125.6914" y2="125.6914"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="240" x="89" y="145.3247">Returns URT_STATUS_OK on success.</text><ellipse cx="220" cy="183.3906" fill="#000000" filter="url(#fbou9q8mkyvik)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fbou9q8mkyvik)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="181.5" y="213.3906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="57" x="191.5" y="234.5293">lock core</text><rect fill="#FEFECE" filter="url(#fbou9q8mkyvik)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="264" x="88" y="267.3594"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="244" x="98" y="288.498">Access first topic in core's list of topics</text><rect fill="#FEFECE" filter="url(#fbou9q8mkyvik)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="142.5" y="377.0386"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="152.5" y="398.1772">Proceed to next topic</text><polygon fill="#FEFECE" filter="url(#fbou9q8mkyvik)" points="158,321.3281,282,321.3281,294,333.3281,282,345.3281,158,345.3281,146,333.3281,158,321.3281" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="224" y="355.5386">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="92" x="158" y="337.1362">Next topic is not</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="28" x="254" y="337.1362">NULL</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="132" y="330.7339">no</text><rect fill="#FEFECE" filter="url(#fbou9q8mkyvik)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="293" x="73.5" y="453.0073"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="273" x="83.5" y="474.146">Set next pointer of topic to topic to append</text><rect fill="#FEFECE" filter="url(#fbou9q8mkyvik)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="93" x="173.5" y="506.9761"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="183.5" y="528.1147">unlock core</text><path d="M10,559.3784 L10,584.5112 A0,0 0 0 0 10,584.5112 L189,584.5112 A0,0 0 0 0 189,584.5112 L189,577.3784 L209,571.9448 L189,569.3784 L189,569.3784 L179,559.3784 L10,559.3784 A0,0 0 0 0 10,559.3784 " fill="#FBFB77" filter="url(#fbou9q8mkyvik)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M179,559.3784 L179,569.3784 L189,569.3784 L179,559.3784 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="158" x="16" y="576.4453">Return URT_STATUS_OK.</text><ellipse cx="220" cy="571.9448" fill="#FFFFFF" filter="url(#fbou9q8mkyvik)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="220" cy="571.9448" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="153.3906" y2="173.3906"/><polygon fill="#A80036" points="216,163.3906,220,173.3906,224,163.3906,220,167.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="193.3906" y2="213.3906"/><polygon fill="#A80036" points="216,203.3906,220,213.3906,224,203.3906,220,207.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="247.3594" y2="267.3594"/><polygon fill="#A80036" points="216,257.3594,220,267.3594,224,257.3594,220,261.3594" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="345.3281" y2="377.0386"/><polygon fill="#A80036" points="216,367.0386,220,377.0386,224,367.0386,220,371.0386" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="411.0073" y2="421.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="309.5" y1="421.0073" y2="421.0073"/><polygon fill="#A80036" points="305.5,385.6206,309.5,375.6206,313.5,385.6206,309.5,381.6206" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="309.5" x2="309.5" y1="333.3281" y2="421.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="309.5" x2="294" y1="333.3281" y2="333.3281"/><polygon fill="#A80036" points="304,329.3281,294,333.3281,304,337.3281,300,333.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="146" x2="130.5" y1="333.3281" y2="333.3281"/><polygon fill="#A80036" points="126.5,371.6206,130.5,381.6206,134.5,371.6206,130.5,375.6206" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="130.5" x2="130.5" y1="333.3281" y2="433.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="130.5" x2="220" y1="433.0073" y2="433.0073"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="433.0073" y2="453.0073"/><polygon fill="#A80036" points="216,443.0073,220,453.0073,224,443.0073,220,447.0073" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="301.3281" y2="321.3281"/><polygon fill="#A80036" points="216,311.3281,220,321.3281,224,311.3281,220,315.3281" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="486.9761" y2="506.9761"/><polygon fill="#A80036" points="216,496.9761,220,506.9761,224,496.9761,220,500.9761" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="220" x2="220" y1="540.9448" y2="560.9448"/><polygon fill="#A80036" points="216,550.9448,220,560.9448,224,550.9448,220,554.9448" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[24dfdbf44134ce033611b8a7de927653]
2
@startuml
3

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

  
6
/'### PARAMETERS & RETURN ####################################################'/
7

  
8
note
9
  - - **topic** : urt_topic_t* - -
10
  The topic to append. Must not be NULL.
11
  ====
12
  - - **return** : urt_status_t - -
13
  Returns URT_STATUS_OK on success.
14
endnote
15

  
16
/'### PROCEDURE ##############################################################'/
17

  
18
start
19
:lock core;
20
:Access first topic in core's list of topics;
21
while (Next topic is not ""NULL"") is (yes)
22
  :Proceed to next topic;
23
endwhile (no)
24
:Set next pointer of topic to topic to append;
25
:unlock core;
26
stop
27
note
28
  Return URT_STATUS_OK.
29
endnote
30

  
31
/'### OUTRO ##################################################################'/
32

  
33
@enduml
34

  
35
@startuml
36

  
37
title **µRtWare**\nurtCoreAddTopic()\n
38

  
39

  
40
note
41
  - - **topic** : urt_topic_t* - -
42
  The topic to append. Must not be NULL.
43
  ====
44
  - - **return** : urt_status_t - -
45
  Returns URT_STATUS_OK on success.
46
endnote
47

  
48

  
49
start
50
:lock core;
51
:Access first topic in core's list of topics;
52
while (Next topic is not ""NULL"") is (yes)
53
  :Proceed to next topic;
54
endwhile (no)
55
:Set next pointer of topic to topic to append;
56
:unlock core;
57
stop
58
note
59
  Return URT_STATUS_OK.
60
endnote
61

  
62

  
63
@enduml
64

  
65
PlantUML version 1.2020.15(Sun Jun 28 13:39:45 CEST 2020)
66
(GPL source distribution)
67
Java Runtime: OpenJDK Runtime Environment
68
JVM: OpenJDK 64-Bit Server VM
69
Default Encoding: UTF-8
70
Language: de
71
Country: DE
72
--></g></svg>
doc/activitydiagrams/core/urtCoreAddTopic.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
/'### INTRO ##################################################################'/
23

  
24
@startuml
25

  
26
title **µRtWare**\nurtCoreAddTopic()\n
27

  
28
/'### PARAMETERS & RETURN ####################################################'/
29

  
30
note
31
  -- **topic** : urt_topic_t* --
32
  The topic to append. Must not be NULL.
33
  ====
34
  -- **return** : urt_status_t --
35
  Returns URT_STATUS_OK on success.
36
endnote
37

  
38
/'### PROCEDURE ##############################################################'/
39

  
40
start
41
:lock core;
42
:Access first topic in core's list of topics;
43
while (Next topic is not ""NULL"") is (yes)
44
  :Proceed to next topic;
45
endwhile (no)
46
:Set next pointer of topic to topic to append;
47
:unlock core;
48
stop
49
note
50
  Return URT_STATUS_OK.
51
endnote
52

  
53
/'### OUTRO ##################################################################'/
54

  
55
@enduml
doc/activitydiagrams/core/urtCoreGetNodes.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="237px" preserveAspectRatio="none" style="width:297px;height:237px;" version="1.1" viewBox="0 0 297 237" width="297px" zoomAndPan="magnify"><defs><filter height="300%" id="f1rjawuf31fg21" 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="103" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="170" x="62.5" y="47.6611">urtCoreGetNodes()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="150.5" y="68.6143"/><path d="M95,72.8594 L95,138.2578 L285,138.2578 L285,82.8594 L275,72.8594 L95,72.8594 " fill="#FBFB77" filter="url(#f1rjawuf31fg21)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M275,72.8594 L275,82.8594 L285,82.8594 L275,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95" x2="170.5" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="174.5" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="31" x="174.5" y="89.4263">void</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="209.5" y="89.4263"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="209.5" x2="285" y1="85.4258" y2="85.4258"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95" x2="285" y1="97.9922" y2="97.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95" x2="285" y1="99.9922" y2="99.9922"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="95" x2="119.5" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="123.5" y="114.5591"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="123.5" y="114.5591">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="84" x="172.5" y="114.5591">: urt_node_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="260.5" x2="285" y1="110.5586" y2="110.5586"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="169" x="101" y="130.1919">Pointer to cores first node.</text><ellipse cx="190" cy="168.2578" fill="#000000" filter="url(#f1rjawuf31fg21)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><path d="M10,196.6914 L10,221.8242 A0,0 0 0 0 10,221.8242 L159,221.8242 A0,0 0 0 0 159,221.8242 L159,214.6914 L179,209.2578 L159,206.6914 L159,206.6914 L149,196.6914 L10,196.6914 A0,0 0 0 0 10,196.6914 " fill="#FBFB77" filter="url(#f1rjawuf31fg21)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M149,196.6914 L149,206.6914 L159,206.6914 L149,196.6914 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="16" y="213.7583">Return core._nodes.</text><ellipse cx="190" cy="209.2578" fill="#FFFFFF" filter="url(#f1rjawuf31fg21)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="190" cy="209.2578" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="190" x2="190" y1="138.2578" y2="158.2578"/><polygon fill="#A80036" points="186,148.2578,190,158.2578,194,148.2578,190,152.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="190" x2="190" y1="178.2578" y2="198.2578"/><polygon fill="#A80036" points="186,188.2578,190,198.2578,194,188.2578,190,192.2578" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[a6ee7ad205061578bd74446773e90b38]
2
@startuml
3

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

  
6
/'### PARAMETERS & RETURN ####################################################'/
7

  
8
note
9
  - - **void** - -
10
  ====
11
  - - **return** : urt_node_t* - -
12
  Pointer to cores first node.
13
endnote
14

  
15
/'### PROCEDURE ##############################################################'/
16

  
17
start
18
stop
19
note
20
  Return core._nodes.
21
endnote
22

  
23
/'### OUTRO ##################################################################'/
24

  
25
@enduml
26

  
27
@startuml
28

  
29
title **µRtWare**\nurtCoreGetNodes()\n
30

  
31

  
32
note
33
  - - **void** - -
34
  ====
35
  - - **return** : urt_node_t* - -
36
  Pointer to cores first node.
37
endnote
38

  
39

  
40
start
41
stop
42
note
43
  Return core._nodes.
44
endnote
45

  
46

  
47
@enduml
48

  
49
PlantUML version 1.2020.15(Sun Jun 28 13:39:45 CEST 2020)
50
(GPL source distribution)
51
Java Runtime: OpenJDK Runtime Environment
52
JVM: OpenJDK 64-Bit Server VM
53
Default Encoding: UTF-8
54
Language: de
55
Country: DE
56
--></g></svg>
doc/activitydiagrams/core/urtCoreGetNodes.uml
1
/'
2
µRtWare is a lightweight publish/subscribe middleware for real-time
3
applications. It was developed as part of the software habitat for the
4
Autonomous Mini Robot [1] (AMiRo) but can be used for other purposes as well.
5

  
6
Copyright (C) 2018..2020  Thomas Schöpping et al.
7

  
8
This program is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12

  
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
GNU General Public License for more details.
17

  
18
You should have received a copy of the GNU General Public License
19
along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
'/
21

  
22
/'### INTRO ##################################################################'/
23

  
24
@startuml
25

  
26
title **µRtWare**\nurtCoreGetNodes()\n
27

  
28
/'### PARAMETERS & RETURN ####################################################'/
29

  
30
note
31
  -- **void** --
32
  ====
33
  -- **return** : urt_node_t* --
34
  Pointer to cores first node.
35
endnote
36

  
37
/'### PROCEDURE ##############################################################'/
38

  
39
start
40
stop
41
note
42
  Return core._nodes.
43
endnote
44

  
45
/'### OUTRO ##################################################################'/
46

  
47
@enduml
doc/activitydiagrams/subscriber/functions.iuml
20 20
'/
21 21

  
22 22
/' Fetch a message and update/copy all data. '/
23
!function $fetch_message()
23
!procedure $fetch_message()
24 24
  partition "fetch message" {
25 25
    fork
26 26
      :update message pointer;
......
30 30
      :copy message payload;
31 31
    endfork
32 32
  }
33
!endfunction
33
!endprocedure
34 34

  
35 35
/' Find the latest message in the circular message buffer. '/
36
!function $find_latest_message()
36
!procedure $find_latest_message()
37 37
  partition "find latest message" {
38 38
    :access ""lastMessage"";
39 39
    while (Timestamp of next message is younger?) is (yes)
......
45 45
      endfork
46 46
    endwhile (no)
47 47
  }
48
!endfunction
48
!endprocedure
49 49

  
50 50
/' Find the oldest message in the circular message buffer. '/
51
!function $find_oldest_message()
51
!procedure $find_oldest_message()
52 52
  partition "find oldest valid message" {
53 53
    if (Timestamp of last read message euqals local copy?) then (yes)
54 54
    else (no)
......
60 60
    #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement counter of consumers left (@message);
61 61
    :proceed to next message;
62 62
  }
63
!endfunction
64

  
63
!endprocedure
doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.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="1899px" preserveAspectRatio="none" style="width:1735px;height:1899px;" version="1.1" viewBox="0 0 1735 1899" width="1735px" zoomAndPan="magnify"><defs><filter height="300%" id="fw8r9eje3asw" 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="822" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="338" x="697.5" y="47.6611">urtHrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="869.5" y="68.6143"/><path d="M876.25,72.8594 L876.25,334.9844 L1565.25,334.9844 L1565.25,82.8594 L1555.25,72.8594 L876.25,72.8594 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1555.25,72.8594 L1555.25,82.8594 L1565.25,82.8594 L1555.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1107.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1111.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1111.75" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1193.75" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1333.75" x2="1565.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="882.25" y="105.0591">The HRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="882.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="962.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="994.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1164.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1168.75" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1168.75" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1231.75" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1276.75" x2="1565.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="882.25" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="882.25" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="932.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="968.25" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1171.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1175.75" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1175.75" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1220.75" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1269.75" x2="1565.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="882.25" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1145.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1149.25" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1149.25" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1206.25" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1296.25" x2="1565.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="882.25" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="882.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="932.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="964.25" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1565.25" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1565.25" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="876.25" x2="1149.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1153.75" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1153.75" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1202.75" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1291.75" x2="1565.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="935.25" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1043.25" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="935.25" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1131.25" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="935.25" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="1147.25" y="311.7856">if there is no new message to fetch.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="882.25" y="326.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="935.25" y="326.9185">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="403" x="1147.25" y="326.9185">if the message's latency violated the maximum expected jitter.</text><ellipse cx="1220.75" cy="364.9844" fill="#000000" filter="url(#fw8r9eje3asw)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="1158.25,394.9844,1283.25,394.9844,1295.25,406.9844,1283.25,418.9844,1158.25,418.9844,1146.25,406.9844,1158.25,394.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1158.25" y="410.7925">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1126.25" y="404.3901">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1295.25" y="404.3901">no</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="692.5" y="428.9844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="702.5" y="450.123">lock topic</text><rect fill="#FFFFFF" filter="url(#fw8r9eje3asw)" height="540.7378" style="stroke: #000000; stroke-width: 2.0;" width="1442" x="10" y="473.7549"/><path d="M155,474.7549 L155,483.0518 L145,493.0518 L10,493.0518 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="13" y="487.75">find latest message</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="660" y="510.0518"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="44" x="670" y="531.1904">access</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="718" y="531.1904">lastMessage</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1377" x="44" y="619.731"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="489.5" y="645.731"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="499.5" y="666.8696">proceed to next message</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1044" x="58" y="708.1841"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="329" x="72" y="741.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="309" x="82" y="762.3071">decrement message's counter of HRT consumers</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="301" x="429" y="734.1841"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="429" x2="463.5" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="463.5" y="754.8228">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="695.5" x2="730" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="281" x="439" y="769.2915">decrement message's counter of consumers</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="330" x="758" y="734.1841"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="758" x2="768" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="310" x="768" y="754.8228">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1078" x2="1088" y1="751.1685" y2="751.1685"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="768" y="769.2915">reset QoS deadline timer</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1044" x="58" y="802.1216"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="1130" y="699.6997"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1130" x2="1153.5" y1="716.6841" y2="716.6841"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="230" x="1153.5" y="720.3384">URT_CFG:PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1383.5" x2="1407" y1="716.6841" y2="716.6841"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="1140" y="734.8071">increment counter of received messages</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1377" x="44" y="828.1216"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="624" y="902.5239"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="634" y="923.6626">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="623.5,854.1216,841.5,854.1216,853.5,866.1216,841.5,878.1216,623.5,878.1216,611.5,866.1216,623.5,854.1216" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="736.5" y="888.332">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="623.5" y="869.9297">HRT counter of a message became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="853.5" y="863.5273">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="732.5,956.4927,744.5,968.4927,732.5,980.4927,720.5,968.4927,732.5,956.4927" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="615.5,564.0205,849.5,564.0205,861.5,576.0205,849.5,588.0205,615.5,588.0205,603.5,576.0205,615.5,564.0205" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="736.5" y="598.231">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="615.5" y="579.8286">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="589.5" y="573.4263">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="646.5,1034.4927,818.5,1034.4927,830.5,1046.4927,818.5,1058.4927,646.5,1058.4927,634.5,1046.4927,646.5,1034.4927" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="646.5" y="1050.3008">Timestamp equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="614.5" y="1043.8984">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="830.5" y="1043.8984">no</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="505.25" y="1068.4927"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="515.25" y="1089.6313">unlock topic</text><path d="M236.25,1122.4614 L236.25,1147.5942 A0,0 0 0 0 236.25,1147.5942 L522.25,1147.5942 A0,0 0 0 0 522.25,1147.5942 L522.25,1140.4614 L542.25,1135.0278 L522.25,1132.4614 L522.25,1132.4614 L512.25,1122.4614 L236.25,1122.4614 A0,0 0 0 0 236.25,1122.4614 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M512.25,1122.4614 L512.25,1132.4614 L522.25,1132.4614 L512.25,1122.4614 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="242.25" y="1139.5283">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="295.25" y="1139.5283">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="503.25" y="1139.5283">.</text><ellipse cx="553.25" cy="1135.0278" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="553.25" cy="1135.0278" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="818.25" y="1068.4927"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="828.25" y="1089.6313">calculate message latency</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="621.25" y="1122.4614"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="250" x="635.25" y="1189.8794"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="635.25" x2="645.25" y1="1206.8638" y2="1206.8638"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="230" x="645.25" y="1210.5181">URT:CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="875.25" x2="885.25" y1="1206.8638" y2="1206.8638"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="645.25" y="1224.9868">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="722.25" y="1224.9868">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="810.25" y="1224.9868">value</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="979.75" y="1196.8638"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="989.75" y="1218.0024">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="1013.75" y="1218.0024">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1066.75" y="1218.0024">value</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="925.25,1148.4614,1164.25,1148.4614,1176.25,1160.4614,1164.25,1172.4614,925.25,1172.4614,913.25,1160.4614,925.25,1148.4614" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1048.75" y="1182.6719">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="925.25" y="1164.2695">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="976.25" y="1164.2695">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1029.25" y="1164.2695">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1176.25" y="1157.8672">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="1044.75,1255.2349,1056.75,1267.2349,1044.75,1279.2349,1032.75,1267.2349,1044.75,1255.2349" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="621.25" y="1299.2349"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="277.0977" style="stroke: #000000; stroke-width: 2.0;" width="1138.5" x="115.25" y="1316.0366"/><path d="M751.25,1317.0366 L751.25,1325.3335 L741.25,1335.3335 L115.25,1335.3335 " 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="626" x="118.25" y="1330.0317">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="625.5,1352.3335,839.5,1352.3335,851.5,1364.3335,839.5,1376.3335,625.5,1376.3335,613.5,1364.3335,625.5,1352.3335" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="625.5" y="1368.1416">Latency is within allowed jitter range?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="593.5" y="1361.7393">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="851.5" y="1361.7393">no</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="147.25,1411.3335,348.25,1411.3335,360.25,1423.3335,348.25,1435.3335,147.25,1435.3335,135.25,1423.3335,147.25,1411.3335" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="251.75" y="1445.5439">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="147.25" y="1427.1416">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="272.25" y="1427.1416">minlatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="342.25" y="1427.1416">?</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="159.75" y="1468.1382"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="169.75" y="1489.2769">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="218.75" y="1489.2769">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="292.75" y="1489.2769">value</text><polygon fill="#FEFECE" filter="url(#fw8r9eje3asw)" points="392.25,1411.3335,638.25,1411.3335,650.25,1423.3335,638.25,1435.3335,392.25,1435.3335,380.25,1423.3335,392.25,1411.3335" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="519.25" y="1445.5439">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="392.25" y="1427.1416">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="528.25" y="1427.1416">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="602.25" y="1427.1416">value?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="650.25" y="1420.7393">no</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="427.25" y="1468.1382"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="437.25" y="1489.2769">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="486.25" y="1489.2769">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="560.25" y="1489.2769">value</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="194.8008" style="stroke: #000000; stroke-width: 2.0;" width="513.5" x="720.25" y="1386.3335"/><path d="M1067.25,1387.3335 L1067.25,1395.6304 L1057.25,1405.6304 L720.25,1405.6304 " 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="337" x="723.25" y="1400.3286">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="999.25" y="1422.6304"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1009.25" y="1443.769">unlock topic</text><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="353" x="870.75" y="1491.5991"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="880.75" y="1512.7378">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="308" x="905.75" y="1512.7378">urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)</text><path d="M730.25,1544.0015 L730.25,1569.1343 A0,0 0 0 0 730.25,1569.1343 L1016.25,1569.1343 A0,0 0 0 0 1016.25,1569.1343 L1016.25,1562.0015 L1036.25,1556.5679 L1016.25,1554.0015 L1016.25,1554.0015 L1006.25,1544.0015 L730.25,1544.0015 A0,0 0 0 0 730.25,1544.0015 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1006.25,1544.0015 L1006.25,1554.0015 L1016.25,1554.0015 L1006.25,1544.0015 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="736.25" y="1561.0684">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="789.25" y="1561.0684">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="997.25" y="1561.0684">.</text><ellipse cx="1047.25" cy="1556.5679" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1047.25" cy="1556.5679" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1008" x="228.5" y="1613.1343"/><rect fill="#FFFFFF" filter="url(#fw8r9eje3asw)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="622" x="242.5" y="1629.936"/><path d="M355.5,1630.936 L355.5,1639.2329 L345.5,1649.2329 L242.5,1649.2329 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="245.5" y="1643.9312">fetch message</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="252.5" y="1666.2329"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="266.5" y="1692.2329"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="276.5" y="1713.3716">update message pointer</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="469.5" y="1692.2329"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="479.5" y="1713.3716">copy message origin time</text><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="677.5" y="1692.2329"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="687.5" y="1713.3716">copy message payload</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="252.5" y="1746.2017"/><rect fill="#EEEEEE" filter="url(#fw8r9eje3asw)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="330" x="892.5" y="1677.1001"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="892.5" x2="902.5" y1="1694.0845" y2="1694.0845"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="310" x="902.5" y="1697.7388">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1212.5" x2="1222.5" y1="1694.0845" y2="1694.0845"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="902.5" y="1712.2075">reset QoS deadline timer</text><rect fill="#000000" filter="url(#fw8r9eje3asw)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1008" x="228.5" y="1784.2017"/><rect fill="#FEFECE" filter="url(#fw8r9eje3asw)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="684.5" y="1810.2017"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="694.5" y="1831.3403">unlock topic</text><path d="M519.5,1862.604 L519.5,1887.7368 A0,0 0 0 0 519.5,1887.7368 L701.5,1887.7368 A0,0 0 0 0 701.5,1887.7368 L701.5,1880.604 L721.5,1875.1704 L701.5,1872.604 L701.5,1872.604 L691.5,1862.604 L519.5,1862.604 A0,0 0 0 0 519.5,1862.604 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M691.5,1862.604 L691.5,1872.604 L701.5,1872.604 L691.5,1862.604 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="525.5" y="1879.6709">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="578.5" y="1879.6709">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="682.5" y="1879.6709">.</text><ellipse cx="732.5" cy="1875.1704" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="732.5" cy="1875.1704" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1472,428.9844 L1472,454.1172 A0,0 0 0 0 1472,454.1172 L1678,454.1172 A0,0 0 0 0 1678,454.1172 L1678,446.9844 L1698,441.5508 L1678,438.9844 L1678,438.9844 L1668,428.9844 L1472,428.9844 A0,0 0 0 0 1472,428.9844 " fill="#FBFB77" filter="url(#fw8r9eje3asw)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1668,428.9844 L1668,438.9844 L1678,438.9844 L1668,428.9844 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1478" y="446.0513">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="128" x="1531" y="446.0513">URT_STATUS_ERROR</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1659" y="446.0513">.</text><ellipse cx="1709" cy="441.5508" fill="#FFFFFF" filter="url(#fw8r9eje3asw)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1709" cy="441.5508" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1220.75" x2="1220.75" y1="334.9844" y2="354.9844"/><polygon fill="#A80036" points="1216.75,344.9844,1220.75,354.9844,1224.75,344.9844,1220.75,348.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="236.5" x2="236.5" y1="714.1841" y2="741.1685"/><polygon fill="#A80036" points="232.5,731.1685,236.5,741.1685,240.5,731.1685,236.5,735.1685" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579.5" x2="579.5" y1="714.1841" y2="734.1841"/><polygon fill="#A80036" points="575.5,724.1841,579.5,734.1841,583.5,724.1841,579.5,728.1841" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="923" x2="923" y1="714.1841" y2="734.1841"/><polygon fill="#A80036" points="919,724.1841,923,734.1841,927,724.1841,923,728.1841" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="236.5" x2="236.5" y1="775.1372" y2="802.1216"/><polygon fill="#A80036" points="232.5,792.1216,236.5,802.1216,240.5,792.1216,236.5,796.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="579.5" x2="579.5" y1="782.1216" y2="802.1216"/><polygon fill="#A80036" points="575.5,792.1216,579.5,802.1216,583.5,792.1216,579.5,796.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="923" x2="923" y1="782.1216" y2="802.1216"/><polygon fill="#A80036" points="919,792.1216,923,802.1216,927,792.1216,923,796.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="580" x2="580" y1="679.6997" y2="708.1841"/><polygon fill="#A80036" points="576,698.1841,580,708.1841,584,698.1841,580,702.1841" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="580" x2="580" y1="625.731" y2="645.731"/><polygon fill="#A80036" points="576,635.731,580,645.731,584,635.731,580,639.731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="625.731" y2="699.6997"/><polygon fill="#A80036" points="1264.5,689.6997,1268.5,699.6997,1272.5,689.6997,1268.5,693.6997" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="580" x2="580" y1="808.1216" y2="828.1216"/><polygon fill="#A80036" points="576,818.1216,580,828.1216,584,818.1216,580,822.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="747.6372" y2="828.1216"/><polygon fill="#A80036" points="1264.5,818.1216,1268.5,828.1216,1272.5,818.1216,1268.5,822.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="878.1216" y2="902.5239"/><polygon fill="#A80036" points="728.5,892.5239,732.5,902.5239,736.5,892.5239,732.5,896.5239" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="853.5" x2="865.5" y1="866.1216" y2="866.1216"/><polygon fill="#A80036" points="861.5,909.5083,865.5,919.5083,869.5,909.5083,865.5,913.5083" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="865.5" x2="865.5" y1="866.1216" y2="968.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="865.5" x2="744.5" y1="968.4927" y2="968.4927"/><polygon fill="#A80036" points="754.5,964.4927,744.5,968.4927,754.5,972.4927,750.5,968.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="936.4927" y2="956.4927"/><polygon fill="#A80036" points="728.5,946.4927,732.5,956.4927,736.5,946.4927,732.5,950.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="834.1216" y2="854.1216"/><polygon fill="#A80036" points="728.5,844.1216,732.5,854.1216,736.5,844.1216,732.5,848.1216" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="588.0205" y2="619.731"/><polygon fill="#A80036" points="728.5,609.731,732.5,619.731,736.5,609.731,732.5,613.731" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="980.4927" y2="990.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="1433" y1="990.4927" y2="990.4927"/><polygon fill="#A80036" points="1429,798.1528,1433,788.1528,1437,798.1528,1433,794.1528" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1433" x2="1433" y1="576.0205" y2="990.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1433" x2="861.5" y1="576.0205" y2="576.0205"/><polygon fill="#A80036" points="871.5,572.0205,861.5,576.0205,871.5,580.0205,867.5,576.0205" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="603.5" x2="32" y1="576.0205" y2="576.0205"/><polygon fill="#A80036" points="28,784.1528,32,794.1528,36,784.1528,32,788.1528" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="32" y1="576.0205" y2="1002.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="32" x2="732.5" y1="1002.4927" y2="1002.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1002.4927" y2="1034.4927"/><polygon fill="#A80036" points="728.5,1024.4927,732.5,1034.4927,736.5,1024.4927,732.5,1028.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="544.0205" y2="564.0205"/><polygon fill="#A80036" points="728.5,554.0205,732.5,564.0205,736.5,554.0205,732.5,558.0205" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="462.9531" y2="510.0518"/><polygon fill="#A80036" points="728.5,500.0518,732.5,510.0518,736.5,500.0518,732.5,504.0518" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.25" x2="553.25" y1="1102.4614" y2="1124.0278"/><polygon fill="#A80036" points="549.25,1114.0278,553.25,1124.0278,557.25,1114.0278,553.25,1118.0278" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1172.4614" y2="1196.8638"/><polygon fill="#A80036" points="1040.75,1186.8638,1044.75,1196.8638,1048.75,1186.8638,1044.75,1190.8638" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1176.25" x2="1188.25" y1="1160.4614" y2="1160.4614"/><polygon fill="#A80036" points="1184.25,1203.8481,1188.25,1213.8481,1192.25,1203.8481,1188.25,1207.8481" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188.25" x2="1188.25" y1="1160.4614" y2="1267.2349"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1188.25" x2="1056.75" y1="1267.2349" y2="1267.2349"/><polygon fill="#A80036" points="1066.75,1263.2349,1056.75,1267.2349,1066.75,1271.2349,1062.75,1267.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1230.8325" y2="1255.2349"/><polygon fill="#A80036" points="1040.75,1245.2349,1044.75,1255.2349,1048.75,1245.2349,1044.75,1249.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="760.25" x2="760.25" y1="1128.4614" y2="1189.8794"/><polygon fill="#A80036" points="756.25,1179.8794,760.25,1189.8794,764.25,1179.8794,760.25,1183.8794" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1128.4614" y2="1148.4614"/><polygon fill="#A80036" points="1040.75,1138.4614,1044.75,1148.4614,1048.75,1138.4614,1044.75,1142.4614" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="760.25" x2="760.25" y1="1237.8169" y2="1299.2349"/><polygon fill="#A80036" points="756.25,1289.2349,760.25,1299.2349,764.25,1289.2349,760.25,1293.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1044.75" x2="1044.75" y1="1279.2349" y2="1299.2349"/><polygon fill="#A80036" points="1040.75,1289.2349,1044.75,1299.2349,1048.75,1289.2349,1044.75,1293.2349" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="911.75" y1="1102.4614" y2="1122.4614"/><polygon fill="#A80036" points="907.75,1112.4614,911.75,1122.4614,915.75,1112.4614,911.75,1116.4614" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="634.5" x2="553.25" y1="1046.4927" y2="1046.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.25" x2="553.25" y1="1046.4927" y2="1068.4927"/><polygon fill="#A80036" points="549.25,1058.4927,553.25,1068.4927,557.25,1058.4927,553.25,1062.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.5" x2="911.75" y1="1046.4927" y2="1046.4927"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="911.75" y1="1046.4927" y2="1068.4927"/><polygon fill="#A80036" points="907.75,1058.4927,911.75,1068.4927,915.75,1058.4927,911.75,1062.4927" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="911.75" y1="1305.2349" y2="1310.2349"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="911.75" x2="732.5" y1="1310.2349" y2="1310.2349"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1310.2349" y2="1352.3335"/><polygon fill="#A80036" points="728.5,1342.3335,732.5,1352.3335,736.5,1342.3335,732.5,1346.3335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="247.75" y1="1435.3335" y2="1468.1382"/><polygon fill="#A80036" points="243.75,1458.1382,247.75,1468.1382,251.75,1458.1382,247.75,1462.1382" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="247.75" y1="1502.1069" y2="1560.5405"/><polygon fill="#A80036" points="243.75,1550.5405,247.75,1560.5405,251.75,1550.5405,247.75,1554.5405" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="515.25" x2="515.25" y1="1435.3335" y2="1468.1382"/><polygon fill="#A80036" points="511.25,1458.1382,515.25,1468.1382,519.25,1458.1382,515.25,1462.1382" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="515.25" x2="515.25" y1="1502.1069" y2="1560.5405"/><polygon fill="#A80036" points="511.25,1550.5405,515.25,1560.5405,519.25,1550.5405,515.25,1554.5405" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.25" x2="380.25" y1="1423.3335" y2="1423.3335"/><polygon fill="#A80036" points="370.25,1419.3335,380.25,1423.3335,370.25,1427.3335,374.25,1423.3335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="613.5" x2="247.75" y1="1364.3335" y2="1364.3335"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="247.75" y1="1364.3335" y2="1411.3335"/><polygon fill="#A80036" points="243.75,1401.3335,247.75,1411.3335,251.75,1401.3335,247.75,1405.3335" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="650.25" x2="685.25" y1="1423.3335" y2="1423.3335"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="685.25" x2="685.25" y1="1423.3335" y2="1560.5405"/><polygon fill="#A80036" points="681.25,1550.5405,685.25,1560.5405,689.25,1550.5405,685.25,1554.5405" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="247.75" x2="685.25" y1="1560.5405" y2="1560.5405"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1047.25" x2="1047.25" y1="1456.5991" y2="1491.5991"/><polygon fill="#A80036" points="1043.25,1481.5991,1047.25,1491.5991,1051.25,1481.5991,1047.25,1485.5991" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1047.25" x2="1047.25" y1="1525.5679" y2="1545.5679"/><polygon fill="#A80036" points="1043.25,1535.5679,1047.25,1545.5679,1051.25,1535.5679,1047.25,1539.5679" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="851.5" x2="1047.25" y1="1364.3335" y2="1364.3335"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1047.25" x2="1047.25" y1="1364.3335" y2="1422.6304"/><polygon fill="#A80036" points="1043.25,1412.6304,1047.25,1422.6304,1051.25,1412.6304,1047.25,1416.6304" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="417.75" x2="417.75" y1="1560.5405" y2="1586.1343"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="417.75" x2="732.5" y1="1586.1343" y2="1586.1343"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1586.1343" y2="1613.1343"/><polygon fill="#A80036" points="728.5,1603.1343,732.5,1613.1343,736.5,1603.1343,732.5,1607.1343" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="1672.2329" y2="1692.2329"/><polygon fill="#A80036" points="350,1682.2329,354,1692.2329,358,1682.2329,354,1686.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="559.5" x2="559.5" y1="1672.2329" y2="1692.2329"/><polygon fill="#A80036" points="555.5,1682.2329,559.5,1692.2329,563.5,1682.2329,559.5,1686.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="759" x2="759" y1="1672.2329" y2="1692.2329"/><polygon fill="#A80036" points="755,1682.2329,759,1692.2329,763,1682.2329,759,1686.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="354" x2="354" y1="1726.2017" y2="1746.2017"/><polygon fill="#A80036" points="350,1736.2017,354,1746.2017,358,1736.2017,354,1740.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="559.5" x2="559.5" y1="1726.2017" y2="1746.2017"/><polygon fill="#A80036" points="555.5,1736.2017,559.5,1746.2017,563.5,1736.2017,559.5,1740.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="759" x2="759" y1="1726.2017" y2="1746.2017"/><polygon fill="#A80036" points="755,1736.2017,759,1746.2017,763,1736.2017,759,1740.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.5" x2="553.5" y1="1619.1343" y2="1666.2329"/><polygon fill="#A80036" points="549.5,1656.2329,553.5,1666.2329,557.5,1656.2329,553.5,1660.2329" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1057.5" x2="1057.5" y1="1619.1343" y2="1677.1001"/><polygon fill="#A80036" points="1053.5,1667.1001,1057.5,1677.1001,1061.5,1667.1001,1057.5,1671.1001" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="553.5" x2="553.5" y1="1752.2017" y2="1784.2017"/><polygon fill="#A80036" points="549.5,1774.2017,553.5,1784.2017,557.5,1774.2017,553.5,1778.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1057.5" x2="1057.5" y1="1725.0376" y2="1784.2017"/><polygon fill="#A80036" points="1053.5,1774.2017,1057.5,1784.2017,1061.5,1774.2017,1057.5,1778.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1790.2017" y2="1810.2017"/><polygon fill="#A80036" points="728.5,1800.2017,732.5,1810.2017,736.5,1800.2017,732.5,1804.2017" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="1844.1704" y2="1864.1704"/><polygon fill="#A80036" points="728.5,1854.1704,732.5,1864.1704,736.5,1854.1704,732.5,1858.1704" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1146.25" x2="732.5" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="732.5" x2="732.5" y1="406.9844" y2="428.9844"/><polygon fill="#A80036" points="728.5,418.9844,732.5,428.9844,736.5,418.9844,732.5,422.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1295.25" x2="1709" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1709" x2="1709" y1="406.9844" y2="430.5508"/><polygon fill="#A80036" points="1705,420.5508,1709,430.5508,1713,420.5508,1709,424.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1220.75" x2="1220.75" y1="374.9844" y2="394.9844"/><polygon fill="#A80036" points="1216.75,384.9844,1220.75,394.9844,1224.75,384.9844,1220.75,388.9844" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2da61c5b3f4d94a323e8036c3ad15402]
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="1900px" preserveAspectRatio="none" style="width:1792px;height:1900px;" version="1.1" viewBox="0 0 1792 1900" width="1792px" zoomAndPan="magnify"><defs><filter height="300%" id="f15mjsst8r4upa" 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="850.5" y="26.708">µRtWare</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="338" x="726" y="47.6611">urtHrtSubscriberFetchLatestMessage()</text><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="0" x="898" y="68.6143"/><path d="M899.25,72.8594 L899.25,334.9844 L1588.25,334.9844 L1588.25,82.8594 L1578.25,72.8594 L899.25,72.8594 " fill="#FBFB77" filter="url(#f15mjsst8r4upa)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1578.25,72.8594 L1578.25,82.8594 L1588.25,82.8594 L1578.25,72.8594 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="899.25" x2="1130.75" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1134.75" y="89.4263"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="78" x="1134.75" y="89.4263">subscriber</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="136" x="1216.75" y="89.4263">: urt_hrtsubscriber_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1356.75" x2="1588.25" y1="85.4258" y2="85.4258"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="313" x="905.25" y="105.0591">The HRT subscriber that shall fetch the message.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="76" x="905.25" y="120.1919">Must not be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="985.25" y="120.1919">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1017.25" y="120.1919">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="899.25" x2="1187.75" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1191.75" y="134.8247"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="59" x="1191.75" y="134.8247">payload</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="41" x="1254.75" y="134.8247">: void*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1299.75" x2="1588.25" y1="130.8242" y2="130.8242"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="238" x="905.25" y="150.4575">Pointer where to copy the payload to.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="905.25" y="165.5903">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="955.25" y="165.5903">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="195" x="991.25" y="165.5903">for messages without payload.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="899.25" x2="1194.75" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1198.75" y="180.2231"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="41" x="1198.75" y="180.2231">bytes</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="1243.75" y="180.2231">: size_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1292.75" x2="1588.25" y1="176.2227" y2="176.2227"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="137" x="905.25" y="195.856">Payload size in bytes.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="899.25" x2="1168.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1172.25" y="210.4888"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="53" x="1172.25" y="210.4888">latency</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="86" x="1229.25" y="210.4888">: urt_delay_t*</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1319.25" x2="1588.25" y1="206.4883" y2="206.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="267" x="905.25" y="226.1216">The latency can be returned by reference.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="905.25" y="241.2544">May be</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="955.25" y="241.2544">NULL</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="987.25" y="241.2544">.</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="899.25" x2="1588.25" y1="249.3203" y2="249.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="899.25" x2="1588.25" y1="251.3203" y2="251.3203"/><line style="stroke: #A80036; stroke-width: 1.0;" x1="899.25" x2="1172.75" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="0" x="1176.75" y="265.8872"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="45" x="1176.75" y="265.8872">return</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="85" x="1225.75" y="265.8872">: urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0;" x1="1314.75" x2="1588.25" y1="261.8867" y2="261.8867"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="905.25" y="281.52">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="958.25" y="281.52">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="75" x="1066.25" y="281.52">on success.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="905.25" y="296.6528">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="958.25" y="296.6528">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="282" x="1154.25" y="296.6528">if the subscriber is not associated to a topic.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="905.25" y="311.7856">Retruns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="958.25" y="311.7856">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="228" x="1170.25" y="311.7856">if there is no new message to fetch.</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="905.25" y="326.9185">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="958.25" y="326.9185">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="403" x="1170.25" y="326.9185">if the message's latency violated the maximum expected jitter.</text><ellipse cx="1243.75" cy="364.9844" fill="#000000" filter="url(#f15mjsst8r4upa)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="1181.25,394.9844,1306.25,394.9844,1318.25,406.9844,1306.25,418.9844,1181.25,418.9844,1169.25,406.9844,1181.25,394.9844" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="125" x="1181.25" y="410.7925">Associated to a topic?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1149.25" y="404.3901">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1318.25" y="404.3901">no</text><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="80" x="683.5" y="428.9844"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="60" x="693.5" y="450.123">lock topic</text><rect fill="#FFFFFF" filter="url(#f15mjsst8r4upa)" height="540.7378" style="stroke: #000000; stroke-width: 2.0;" width="1432" x="11" y="472.9531"/><path d="M156,473.9531 L156,482.25 L146,492.25 L11,492.25 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="14" y="486.9482">find latest message</text><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="651" y="509.25"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="44" x="661" y="530.3887">access</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="77" x="709" y="530.3887">lastMessage</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1373" x="39" y="618.9292"/><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="181" x="480.5" y="644.9292"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="161" x="490.5" y="666.0679">proceed to next message</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1042" x="51" y="707.3823"/><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="329" x="63" y="740.3667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="309" x="73" y="761.5054">decrement message's counter of HRT consumers</text><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="301" x="420" y="733.3823"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="420" x2="454.5" y1="750.3667" y2="750.3667"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="232" x="454.5" y="754.021">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="686.5" x2="721" y1="750.3667" y2="750.3667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="281" x="430" y="768.4897">decrement message's counter of consumers</text><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="330" x="749" y="733.3823"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="749" x2="759" y1="750.3667" y2="750.3667"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="310" x="759" y="754.021">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1069" x2="1079" y1="750.3667" y2="750.3667"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="759" y="768.4897">reset QoS deadline timer</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1042" x="51" y="801.3198"/><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="277" x="1121" y="698.8979"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1121" x2="1144.5" y1="715.8823" y2="715.8823"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="230" x="1144.5" y="719.5366">URT_CFG:PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1374.5" x2="1398" y1="715.8823" y2="715.8823"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="257" x="1131" y="734.0054">increment counter of received messages</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1373" x="39" y="827.3198"/><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="217" x="615" y="901.7222"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="197" x="625" y="922.8608">signal topic's condition variable</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="614.5,853.3198,832.5,853.3198,844.5,865.3198,832.5,877.3198,614.5,877.3198,602.5,865.3198,614.5,853.3198" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="727.5" y="887.5303">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="614.5" y="869.1279">HRT counter of a message became 0?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="844.5" y="862.7256">no</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="723.5,955.6909,735.5,967.6909,723.5,979.6909,711.5,967.6909,723.5,955.6909" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="606.5,563.2188,840.5,563.2188,852.5,575.2188,840.5,587.2188,606.5,587.2188,594.5,575.2188,606.5,563.2188" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="727.5" y="597.4292">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="234" x="606.5" y="579.0269">Timestamp of next message is younger?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="580.5" y="572.6245">no</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="637.5,1033.6909,809.5,1033.6909,821.5,1045.6909,809.5,1057.6909,637.5,1057.6909,625.5,1045.6909,637.5,1033.6909" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="172" x="637.5" y="1049.499">Timestamp equals local copy?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="605.5" y="1043.0967">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="821.5" y="1043.0967">no</text><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="496.25" y="1067.6909"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="506.25" y="1088.8296">unlock topic</text><path d="M227.25,1121.6597 L227.25,1146.7925 A0,0 0 0 0 227.25,1146.7925 L513.25,1146.7925 A0,0 0 0 0 513.25,1146.7925 L513.25,1139.6597 L533.25,1134.2261 L513.25,1131.6597 L513.25,1131.6597 L503.25,1121.6597 L227.25,1121.6597 A0,0 0 0 0 227.25,1121.6597 " fill="#FBFB77" filter="url(#f15mjsst8r4upa)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M503.25,1121.6597 L503.25,1131.6597 L513.25,1131.6597 L503.25,1121.6597 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="233.25" y="1138.7266">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="286.25" y="1138.7266">URT_STATUS_FETCH_NOMESSAGE</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="494.25" y="1138.7266">.</text><ellipse cx="544.25" cy="1134.2261" fill="#FFFFFF" filter="url(#f15mjsst8r4upa)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="544.25" cy="1134.2261" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="809.25" y="1067.6909"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="167" x="819.25" y="1088.8296">calculate message latency</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="612.25" y="1121.6597"/><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="250" x="626.25" y="1189.0776"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="626.25" x2="636.25" y1="1206.062" y2="1206.062"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="230" x="636.25" y="1209.7163">URT:CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="866.25" x2="876.25" y1="1206.062" y2="1206.062"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="73" x="636.25" y="1224.1851">accumulate</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="84" x="713.25" y="1224.1851">sumLatencies</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="801.25" y="1224.1851">value</text><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="970.75" y="1196.062"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="20" x="980.75" y="1217.2007">set</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="49" x="1004.75" y="1217.2007">latency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="1057.75" y="1217.2007">value</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="916.25,1147.6597,1155.25,1147.6597,1167.25,1159.6597,1155.25,1171.6597,916.25,1171.6597,904.25,1159.6597,916.25,1147.6597" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="1039.75" y="1181.8701">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="47" x="916.25" y="1163.4678">Optional</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="49" x="967.25" y="1163.4678">latency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="135" x="1020.25" y="1163.4678">output argument given?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1167.25" y="1157.0654">no</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="1035.75,1254.4331,1047.75,1266.4331,1035.75,1278.4331,1023.75,1266.4331,1035.75,1254.4331" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="581" x="612.25" y="1298.4331"/><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="277.0977" style="stroke: #000000; stroke-width: 2.0;" width="1138.5" x="106.25" y="1314.4331"/><path d="M742.25,1315.4331 L742.25,1323.73 L732.25,1333.73 L106.25,1333.73 " 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="626" x="109.25" y="1328.4282">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="616.5,1350.73,830.5,1350.73,842.5,1362.73,830.5,1374.73,616.5,1374.73,604.5,1362.73,616.5,1350.73" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="214" x="616.5" y="1366.5381">Latency is within allowed jitter range?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="584.5" y="1360.1357">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="842.5" y="1360.1357">no</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="138.25,1409.73,339.25,1409.73,351.25,1421.73,339.25,1433.73,138.25,1433.73,126.25,1421.73,138.25,1409.73" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="242.75" y="1443.9404">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="121" x="138.25" y="1425.5381">Latency is lower than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="263.25" y="1425.5381">minlatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="6" x="333.25" y="1425.5381">?</text><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="150.75" y="1466.5347"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="160.75" y="1487.6733">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="209.75" y="1487.6733">minLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="283.75" y="1487.6733">value</text><polygon fill="#FEFECE" filter="url(#f15mjsst8r4upa)" points="383.25,1409.73,629.25,1409.73,641.25,1421.73,629.25,1433.73,383.25,1433.73,371.25,1421.73,383.25,1409.73" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="20" x="510.25" y="1443.9404">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="383.25" y="1425.5381">Latency is greater than</text><text fill="#000000" font-family="monospace" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70" x="519.25" y="1425.5381">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="36" x="593.25" y="1425.5381">value?</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="641.25" y="1419.1357">no</text><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="176" x="418.25" y="1466.5347"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="45" x="428.25" y="1487.6733">update</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="70" x="477.25" y="1487.6733">maxLatency</text><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="33" x="551.25" y="1487.6733">value</text><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="194.8008" style="stroke: #000000; stroke-width: 2.0;" width="513.5" x="711.25" y="1384.73"/><path d="M1058.25,1385.73 L1058.25,1394.0269 L1048.25,1404.0269 L711.25,1404.0269 " 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="337" x="714.25" y="1398.7251">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="990.25" y="1421.0269"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="1000.25" y="1442.1655">unlock topic</text><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="353" x="861.75" y="1489.9956"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="21" x="871.75" y="1511.1343">call</text><text fill="#000000" font-family="monospace" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="308" x="896.75" y="1511.1343">urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)</text><path d="M721.25,1542.3979 L721.25,1567.5308 A0,0 0 0 0 721.25,1567.5308 L1007.25,1567.5308 A0,0 0 0 0 1007.25,1567.5308 L1007.25,1560.3979 L1027.25,1554.9644 L1007.25,1552.3979 L1007.25,1552.3979 L997.25,1542.3979 L721.25,1542.3979 A0,0 0 0 0 721.25,1542.3979 " fill="#FBFB77" filter="url(#f15mjsst8r4upa)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M997.25,1542.3979 L997.25,1552.3979 L1007.25,1552.3979 L997.25,1542.3979 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="727.25" y="1559.4648">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="208" x="780.25" y="1559.4648">URT_STATUS_JITTERVIOLATION</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="988.25" y="1559.4648">.</text><ellipse cx="1038.25" cy="1554.9644" fill="#FFFFFF" filter="url(#f15mjsst8r4upa)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1038.25" cy="1554.9644" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1008" x="219.5" y="1611.5308"/><rect fill="#FFFFFF" filter="url(#f15mjsst8r4upa)" height="134.2656" style="stroke: #000000; stroke-width: 2.0;" width="622" x="233.5" y="1627.5308"/><path d="M346.5,1628.5308 L346.5,1636.8276 L336.5,1646.8276 L233.5,1646.8276 " fill="none" style="stroke: #000000; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="103" x="236.5" y="1641.5259">fetch message</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="243.5" y="1663.8276"/><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="257.5" y="1689.8276"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="155" x="267.5" y="1710.9663">update message pointer</text><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="180" x="460.5" y="1689.8276"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="160" x="470.5" y="1710.9663">copy message origin time</text><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="668.5" y="1689.8276"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="678.5" y="1710.9663">copy message payload</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="602" x="243.5" y="1743.7964"/><rect fill="#EEEEEE" filter="url(#f15mjsst8r4upa)" height="47.9375" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="330" x="883.5" y="1674.6948"/><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="883.5" x2="893.5" y1="1691.6792" y2="1691.6792"/><text fill="#000000" font-family="sans-serif" font-size="12" font-style="italic" lengthAdjust="spacingAndGlyphs" textLength="310" x="893.5" y="1695.3335">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1203.5" x2="1213.5" y1="1691.6792" y2="1691.6792"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="893.5" y="1709.8022">reset QoS deadline timer</text><rect fill="#000000" filter="url(#f15mjsst8r4upa)" height="6" rx="2.5" ry="2.5" style="stroke: #000000; stroke-width: 1.0;" width="1008" x="219.5" y="1781.7964"/><rect fill="#FEFECE" filter="url(#f15mjsst8r4upa)" height="33.9688" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="96" x="675.5" y="1807.7964"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="76" x="685.5" y="1828.9351">unlock topic</text><path d="M510.5,1860.1987 L510.5,1885.3315 A0,0 0 0 0 510.5,1885.3315 L692.5,1885.3315 A0,0 0 0 0 692.5,1885.3315 L692.5,1878.1987 L712.5,1872.7651 L692.5,1870.1987 L692.5,1870.1987 L682.5,1860.1987 L510.5,1860.1987 A0,0 0 0 0 510.5,1860.1987 " fill="#FBFB77" filter="url(#f15mjsst8r4upa)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M682.5,1860.1987 L682.5,1870.1987 L692.5,1870.1987 L682.5,1860.1987 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="516.5" y="1877.2656">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="104" x="569.5" y="1877.2656">URT_STATUS_OK</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="673.5" y="1877.2656">.</text><ellipse cx="723.5" cy="1872.7651" fill="#FFFFFF" filter="url(#f15mjsst8r4upa)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="723.5" cy="1872.7651" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><path d="M1463,428.9844 L1463,454.1172 A0,0 0 0 0 1463,454.1172 L1733,454.1172 A0,0 0 0 0 1733,454.1172 L1733,446.9844 L1753,441.5508 L1733,438.9844 L1733,438.9844 L1723,428.9844 L1463,428.9844 A0,0 0 0 0 1463,428.9844 " fill="#FBFB77" filter="url(#f15mjsst8r4upa)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1723,428.9844 L1723,438.9844 L1733,438.9844 L1723,428.9844 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="49" x="1469" y="446.0513">Returns</text><text fill="#000000" font-family="monospace" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="192" x="1522" y="446.0513">URT_STATUS_FETCH_NOTOPIC</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="4" x="1714" y="446.0513">.</text><ellipse cx="1764" cy="441.5508" fill="#FFFFFF" filter="url(#f15mjsst8r4upa)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1764" cy="441.5508" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1243.75" x2="1243.75" y1="334.9844" y2="354.9844"/><polygon fill="#A80036" points="1239.75,344.9844,1243.75,354.9844,1247.75,344.9844,1243.75,348.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="227.5" x2="227.5" y1="713.3823" y2="740.3667"/><polygon fill="#A80036" points="223.5,730.3667,227.5,740.3667,231.5,730.3667,227.5,734.3667" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="570.5" x2="570.5" y1="713.3823" y2="733.3823"/><polygon fill="#A80036" points="566.5,723.3823,570.5,733.3823,574.5,723.3823,570.5,727.3823" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="914" x2="914" y1="713.3823" y2="733.3823"/><polygon fill="#A80036" points="910,723.3823,914,733.3823,918,723.3823,914,727.3823" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="227.5" x2="227.5" y1="774.3354" y2="801.3198"/><polygon fill="#A80036" points="223.5,791.3198,227.5,801.3198,231.5,791.3198,227.5,795.3198" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="570.5" x2="570.5" y1="781.3198" y2="801.3198"/><polygon fill="#A80036" points="566.5,791.3198,570.5,801.3198,574.5,791.3198,570.5,795.3198" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="914" x2="914" y1="781.3198" y2="801.3198"/><polygon fill="#A80036" points="910,791.3198,914,801.3198,918,791.3198,914,795.3198" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="571" x2="571" y1="678.8979" y2="707.3823"/><polygon fill="#A80036" points="567,697.3823,571,707.3823,575,697.3823,571,701.3823" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="571" x2="571" y1="624.9292" y2="644.9292"/><polygon fill="#A80036" points="567,634.9292,571,644.9292,575,634.9292,571,638.9292" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1259.5" x2="1259.5" y1="624.9292" y2="698.8979"/><polygon fill="#A80036" points="1255.5,688.8979,1259.5,698.8979,1263.5,688.8979,1259.5,692.8979" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="571" x2="571" y1="807.3198" y2="827.3198"/><polygon fill="#A80036" points="567,817.3198,571,827.3198,575,817.3198,571,821.3198" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1259.5" x2="1259.5" y1="746.8354" y2="827.3198"/><polygon fill="#A80036" points="1255.5,817.3198,1259.5,827.3198,1263.5,817.3198,1259.5,821.3198" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="877.3198" y2="901.7222"/><polygon fill="#A80036" points="719.5,891.7222,723.5,901.7222,727.5,891.7222,723.5,895.7222" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="844.5" x2="856.5" y1="865.3198" y2="865.3198"/><polygon fill="#A80036" points="852.5,908.7065,856.5,918.7065,860.5,908.7065,856.5,912.7065" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="856.5" x2="856.5" y1="865.3198" y2="967.6909"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="856.5" x2="735.5" y1="967.6909" y2="967.6909"/><polygon fill="#A80036" points="745.5,963.6909,735.5,967.6909,745.5,971.6909,741.5,967.6909" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="935.6909" y2="955.6909"/><polygon fill="#A80036" points="719.5,945.6909,723.5,955.6909,727.5,945.6909,723.5,949.6909" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="833.3198" y2="853.3198"/><polygon fill="#A80036" points="719.5,843.3198,723.5,853.3198,727.5,843.3198,723.5,847.3198" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="587.2188" y2="618.9292"/><polygon fill="#A80036" points="719.5,608.9292,723.5,618.9292,727.5,608.9292,723.5,612.9292" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="979.6909" y2="989.6909"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="1424" y1="989.6909" y2="989.6909"/><polygon fill="#A80036" points="1420,797.3511,1424,787.3511,1428,797.3511,1424,793.3511" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1424" x2="1424" y1="575.2188" y2="989.6909"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1424" x2="852.5" y1="575.2188" y2="575.2188"/><polygon fill="#A80036" points="862.5,571.2188,852.5,575.2188,862.5,579.2188,858.5,575.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="594.5" x2="27" y1="575.2188" y2="575.2188"/><polygon fill="#A80036" points="23,783.3511,27,793.3511,31,783.3511,27,787.3511" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="27" x2="27" y1="575.2188" y2="1001.6909"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="27" x2="723.5" y1="1001.6909" y2="1001.6909"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="1001.6909" y2="1033.6909"/><polygon fill="#A80036" points="719.5,1023.6909,723.5,1033.6909,727.5,1023.6909,723.5,1027.6909" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="543.2188" y2="563.2188"/><polygon fill="#A80036" points="719.5,553.2188,723.5,563.2188,727.5,553.2188,723.5,557.2188" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="462.9531" y2="509.25"/><polygon fill="#A80036" points="719.5,499.25,723.5,509.25,727.5,499.25,723.5,503.25" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.25" x2="544.25" y1="1101.6597" y2="1123.2261"/><polygon fill="#A80036" points="540.25,1113.2261,544.25,1123.2261,548.25,1113.2261,544.25,1117.2261" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1035.75" x2="1035.75" y1="1171.6597" y2="1196.062"/><polygon fill="#A80036" points="1031.75,1186.062,1035.75,1196.062,1039.75,1186.062,1035.75,1190.062" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1167.25" x2="1179.25" y1="1159.6597" y2="1159.6597"/><polygon fill="#A80036" points="1175.25,1203.0464,1179.25,1213.0464,1183.25,1203.0464,1179.25,1207.0464" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1179.25" x2="1179.25" y1="1159.6597" y2="1266.4331"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1179.25" x2="1047.75" y1="1266.4331" y2="1266.4331"/><polygon fill="#A80036" points="1057.75,1262.4331,1047.75,1266.4331,1057.75,1270.4331,1053.75,1266.4331" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1035.75" x2="1035.75" y1="1230.0308" y2="1254.4331"/><polygon fill="#A80036" points="1031.75,1244.4331,1035.75,1254.4331,1039.75,1244.4331,1035.75,1248.4331" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="751.25" x2="751.25" y1="1127.6597" y2="1189.0776"/><polygon fill="#A80036" points="747.25,1179.0776,751.25,1189.0776,755.25,1179.0776,751.25,1183.0776" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1035.75" x2="1035.75" y1="1127.6597" y2="1147.6597"/><polygon fill="#A80036" points="1031.75,1137.6597,1035.75,1147.6597,1039.75,1137.6597,1035.75,1141.6597" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="751.25" x2="751.25" y1="1237.0151" y2="1298.4331"/><polygon fill="#A80036" points="747.25,1288.4331,751.25,1298.4331,755.25,1288.4331,751.25,1292.4331" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1035.75" x2="1035.75" y1="1278.4331" y2="1298.4331"/><polygon fill="#A80036" points="1031.75,1288.4331,1035.75,1298.4331,1039.75,1288.4331,1035.75,1292.4331" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.75" x2="902.75" y1="1101.6597" y2="1121.6597"/><polygon fill="#A80036" points="898.75,1111.6597,902.75,1121.6597,906.75,1111.6597,902.75,1115.6597" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="625.5" x2="544.25" y1="1045.6909" y2="1045.6909"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.25" x2="544.25" y1="1045.6909" y2="1067.6909"/><polygon fill="#A80036" points="540.25,1057.6909,544.25,1067.6909,548.25,1057.6909,544.25,1061.6909" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="821.5" x2="902.75" y1="1045.6909" y2="1045.6909"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.75" x2="902.75" y1="1045.6909" y2="1067.6909"/><polygon fill="#A80036" points="898.75,1057.6909,902.75,1067.6909,906.75,1057.6909,902.75,1061.6909" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.75" x2="902.75" y1="1304.4331" y2="1309.4331"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="902.75" x2="723.5" y1="1309.4331" y2="1309.4331"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="1309.4331" y2="1350.73"/><polygon fill="#A80036" points="719.5,1340.73,723.5,1350.73,727.5,1340.73,723.5,1344.73" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.75" x2="238.75" y1="1433.73" y2="1466.5347"/><polygon fill="#A80036" points="234.75,1456.5347,238.75,1466.5347,242.75,1456.5347,238.75,1460.5347" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.75" x2="238.75" y1="1500.5034" y2="1558.937"/><polygon fill="#A80036" points="234.75,1548.937,238.75,1558.937,242.75,1548.937,238.75,1552.937" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="506.25" x2="506.25" y1="1433.73" y2="1466.5347"/><polygon fill="#A80036" points="502.25,1456.5347,506.25,1466.5347,510.25,1456.5347,506.25,1460.5347" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="506.25" x2="506.25" y1="1500.5034" y2="1558.937"/><polygon fill="#A80036" points="502.25,1548.937,506.25,1558.937,510.25,1548.937,506.25,1552.937" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="351.25" x2="371.25" y1="1421.73" y2="1421.73"/><polygon fill="#A80036" points="361.25,1417.73,371.25,1421.73,361.25,1425.73,365.25,1421.73" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="604.5" x2="238.75" y1="1362.73" y2="1362.73"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.75" x2="238.75" y1="1362.73" y2="1409.73"/><polygon fill="#A80036" points="234.75,1399.73,238.75,1409.73,242.75,1399.73,238.75,1403.73" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="641.25" x2="676.25" y1="1421.73" y2="1421.73"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="676.25" x2="676.25" y1="1421.73" y2="1558.937"/><polygon fill="#A80036" points="672.25,1548.937,676.25,1558.937,680.25,1548.937,676.25,1552.937" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="238.75" x2="676.25" y1="1558.937" y2="1558.937"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1038.25" x2="1038.25" y1="1454.9956" y2="1489.9956"/><polygon fill="#A80036" points="1034.25,1479.9956,1038.25,1489.9956,1042.25,1479.9956,1038.25,1483.9956" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1038.25" x2="1038.25" y1="1523.9644" y2="1543.9644"/><polygon fill="#A80036" points="1034.25,1533.9644,1038.25,1543.9644,1042.25,1533.9644,1038.25,1537.9644" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="842.5" x2="1038.25" y1="1362.73" y2="1362.73"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1038.25" x2="1038.25" y1="1362.73" y2="1421.0269"/><polygon fill="#A80036" points="1034.25,1411.0269,1038.25,1421.0269,1042.25,1411.0269,1038.25,1415.0269" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="408.75" x2="408.75" y1="1558.937" y2="1584.5308"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="408.75" x2="723.5" y1="1584.5308" y2="1584.5308"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="1584.5308" y2="1611.5308"/><polygon fill="#A80036" points="719.5,1601.5308,723.5,1611.5308,727.5,1601.5308,723.5,1605.5308" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345" x2="345" y1="1669.8276" y2="1689.8276"/><polygon fill="#A80036" points="341,1679.8276,345,1689.8276,349,1679.8276,345,1683.8276" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="550.5" x2="550.5" y1="1669.8276" y2="1689.8276"/><polygon fill="#A80036" points="546.5,1679.8276,550.5,1689.8276,554.5,1679.8276,550.5,1683.8276" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="750" x2="750" y1="1669.8276" y2="1689.8276"/><polygon fill="#A80036" points="746,1679.8276,750,1689.8276,754,1679.8276,750,1683.8276" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="345" x2="345" y1="1723.7964" y2="1743.7964"/><polygon fill="#A80036" points="341,1733.7964,345,1743.7964,349,1733.7964,345,1737.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="550.5" x2="550.5" y1="1723.7964" y2="1743.7964"/><polygon fill="#A80036" points="546.5,1733.7964,550.5,1743.7964,554.5,1733.7964,550.5,1737.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="750" x2="750" y1="1723.7964" y2="1743.7964"/><polygon fill="#A80036" points="746,1733.7964,750,1743.7964,754,1733.7964,750,1737.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="1617.5308" y2="1663.8276"/><polygon fill="#A80036" points="540.5,1653.8276,544.5,1663.8276,548.5,1653.8276,544.5,1657.8276" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1048.5" x2="1048.5" y1="1617.5308" y2="1674.6948"/><polygon fill="#A80036" points="1044.5,1664.6948,1048.5,1674.6948,1052.5,1664.6948,1048.5,1668.6948" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="544.5" x2="544.5" y1="1749.7964" y2="1781.7964"/><polygon fill="#A80036" points="540.5,1771.7964,544.5,1781.7964,548.5,1771.7964,544.5,1775.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1048.5" x2="1048.5" y1="1722.6323" y2="1781.7964"/><polygon fill="#A80036" points="1044.5,1771.7964,1048.5,1781.7964,1052.5,1771.7964,1048.5,1775.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="1787.7964" y2="1807.7964"/><polygon fill="#A80036" points="719.5,1797.7964,723.5,1807.7964,727.5,1797.7964,723.5,1801.7964" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="1841.7651" y2="1861.7651"/><polygon fill="#A80036" points="719.5,1851.7651,723.5,1861.7651,727.5,1851.7651,723.5,1855.7651" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1169.25" x2="723.5" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="723.5" x2="723.5" y1="406.9844" y2="428.9844"/><polygon fill="#A80036" points="719.5,418.9844,723.5,428.9844,727.5,418.9844,723.5,422.9844" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1318.25" x2="1764" y1="406.9844" y2="406.9844"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1764" x2="1764" y1="406.9844" y2="430.5508"/><polygon fill="#A80036" points="1760,420.5508,1764,430.5508,1768,420.5508,1764,424.5508" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1243.75" x2="1243.75" y1="374.9844" y2="394.9844"/><polygon fill="#A80036" points="1239.75,384.9844,1243.75,394.9844,1247.75,384.9844,1243.75,388.9844" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b9307c4e4a138ce85e55f74efcc53d60]
2 2
@startuml
3 3

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

  
6
!include ../functions.iuml
7

  
8
/'### PARAMETERS & RETURN ####################################################'/
9

  
10
note
11
  - - **subscriber** : urt_hrtsubscriber_t* - -
12
  The HRT subscriber that shall fetch the message.
13
  Must not be ""NULL"".
14
  - - **payload** : void* - -
15
  Pointer where to copy the payload to.
16
  May be ""NULL"" for messages without payload.
17
  - - **bytes** : size_t - -
18
  Payload size in bytes.
19
  - - **latency** : urt_delay_t* - -
20
  The latency can be returned by reference.
21
  May be ""NULL"".
22
  ====
23
  - - **return** : urt_status_t - -
24
  Returns ""URT_STATUS_OK"" on success.
25
  Returns ""URT_STATUS_FETCH_NOTOPIC"" if the subscriber is not associated to a topic.
26
  Retruns ""URT_STATUS_FETCH_NOMESSAGE"" if there is no new message to fetch.
27
  Returns ""URT_STATUS_JITTERVIOLATION"" if the message's latency violated the maximum expected jitter.
28
endnote
29

  
30
/'### PROCEDURE ##############################################################'/
31

  
32
start
33
if (Associated to a topic?) then (yes)
34
  :lock topic;
35
  partition "find latest message" {
36
    :access ""lastMessage"";
37
    while (Timestamp of next message is younger?) is (yes)
38
      fork
39
        :proceed to next message;
40
        fork
41
          :decrement message's counter of HRT consumers;
42
        fork again
43
          #EEEEEE:..//URT_CFG_PUBSUB_PROFILING == true//..\ndecrement message's counter of consumers;
44
        fork again
45
          #EEEEEE:..//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//..\nreset QoS deadline timer;
46
        endfork
47
      fork again
48
        #EEEEEE:..//URT_CFG:PUBSUB_PROFILING == true//..\nincrement counter of received messages;
49
      endfork
50
      if (HRT counter of a message became 0?) then (yes)
51
        :signal topic's condition variable;
52
      else (no)
53
      endif
54
    endwhile (no)
55
  }
56
  if (Timestamp equals local copy?) then (yes)
57
    :unlock topic;
58
    stop
59
    note
60
      Returns ""URT_STATUS_FETCH_NOMESSAGE"".
61
    endnote
62
  else (no)
63
    :calculate message latency;
64
    fork
65
      #EEEEEE:..//URT:CFG_PUBSUB_PROFILING == true//..\naccumulate ""sumLatencies"" value;
66
    fork again
67
      if (Optional ""latency"" output argument given?) then (yes)
68
        :set ""latency"" value;
69
      else (no)
70
      endif
71
    endfork
72
  endif
73
  partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true//" #EEEEEE {
74
    if (Latency is within allowed jitter range?) then (yes)
75
      if (Latency is lower than ""minlatency""?) then (yes)
76
        #EEEEEE:update ""minLatency"" value;
77
      elseif (Latency is greater than ""maxLatency"" value?) then (yes)
78
        #EEEEEE:update ""maxLatency"" value;
79
      else (no)
80
      endif
81
    else (no)
82
      partition "//URT_CFG_PUBSUB_QOS_JITTERCHECKS == true//" #EEEEEE {
83
        #EEEEEE:unlock topic;
84
        #EEEEEE:call ""urtCoreStopNodes(URT_STATUS_JITTERVIOLATION)"";
85
        stop
86
        note
87
          Returns ""URT_STATUS_JITTERVIOLATION"".
88
        endnote
89
      }
90
    endif
91
  }
92
  fork
93
    $fetch_message()
94
  fork again
95
    #EEEEEE:..//URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true//..\nreset QoS deadline timer;
96
  endfork
97
  :unlock topic;
98
  stop
99
  note
100
    Returns ""URT_STATUS_OK"".
101
  endnote
102
else (no)
103
  stop
104
  note
105
    Returns ""URT_STATUS_FETCH_NOTOPIC"".
106
  endnote
107
endif
108

  
109
/'### OUTRO ##################################################################'/
110

  
111
@enduml
112

  
113
@startuml
114

  
115
title **µRtWare**\nurtHrtSubscriberFetchLatestMessage()\n
6 116

  
7 117

  
8 118

  
......
111 221
else (no)
112 222
  stop
113 223
  note
114
    Returns ""URT_STATUS_ERROR"".
224
    Returns ""URT_STATUS_FETCH_NOTOPIC"".
115 225
  endnote
116 226
endif
117 227

  
118 228

  
119 229
@enduml
120 230

  
121
PlantUML version 1.2020.00(Sat Jan 11 13:30:53 CET 2020)
231
PlantUML version 1.2020.15(Sun Jun 28 13:39:45 CEST 2020)
122 232
(GPL source distribution)
123 233
Java Runtime: OpenJDK Runtime Environment
124 234
JVM: OpenJDK 64-Bit Server VM
125
Java Version: 11.0.7+10-post-Ubuntu-2ubuntu218.04
126
Operating System: Linux
127 235
Default Encoding: UTF-8
128
Language: en
129
Country: US
236
Language: de
237
Country: DE
130 238
--></g></svg>
doc/activitydiagrams/subscriber/hrtsubscriber/urtHrtSubscriberFetchLatestMessage.uml
124 124
else (no)
125 125
  stop
126 126
  note
127
    Returns ""URT_STATUS_ERROR"".
127
    Returns ""URT_STATUS_FETCH_NOTOPIC"".
128 128
  endnote
129 129
endif
130 130

  
doc/classdiagrams/urtware.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="1173px" preserveAspectRatio="none" style="width:10557px;height:1173px;" version="1.1" viewBox="0 0 10557 1173" width="10557px" zoomAndPan="magnify"><defs><filter height="300%" id="fgmjoycxg2h2i" 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="5225" y="16.708">µRtWare</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
2
cluster node--><rect fill="#FFFFFF" filter="url(#fgmjoycxg2h2i)" height="443" style="stroke: #000000; stroke-width: 1.5;" width="1674" x="5569" y="479.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="6386" y="494.9482">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
3
cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#fgmjoycxg2h2i)" points="16,438.9531,26,428.9531,5561,428.9531,5561,1151.4531,5551,1161.4531,16,1161.4531,16,438.9531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5551" x2="5560" y1="438.9531" y2="429.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="16" x2="5551" y1="438.9531" y2="438.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5551" x2="5551" y1="438.9531" y2="1161.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="2682" y="454.9482">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
4
cluster subscriber--><rect fill="#FFFFFF" filter="url(#fgmjoycxg2h2i)" height="498.5" style="stroke: #000000; stroke-width: 1.5;" width="4062" x="1491" y="460.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3479.5" y="475.9482">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
5
cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#fgmjoycxg2h2i)" points="7251,36.9531,7261,26.9531,10535,26.9531,10535,755.4531,10525,765.4531,7251,765.4531,7251,36.9531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10525" x2="10534" y1="36.9531" y2="27.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7251" x2="10525" y1="36.9531" y2="36.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10525" x2="10525" y1="36.9531" y2="765.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="8767" y="52.9482">Remote Procedure Call System</text><!--MD5=[ecaf13b018fb9788c80013f5b3634b61]
6
cluster request--><rect fill="#FFFFFF" filter="url(#fgmjoycxg2h2i)" height="670.5" style="stroke: #000000; stroke-width: 1.5;" width="2646" x="7881" y="58.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="62" x="9173" y="73.9482">request</text><!--MD5=[a7dea26996a1231aa68629b332780450]
7
class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="5577" y="853.9531"/><ellipse cx="5722.75" cy="869.9531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5723.5938,876.7031 L5721.1406,876.7031 L5721.1406,866.4531 L5718,866.4531 L5718,864.3125 L5726.7344,864.3125 L5726.7344,866.4531 L5723.5938,866.4531 L5723.5938,876.7031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="5743.25" y="874.1074">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5578" x2="6032" y1="885.9531" y2="885.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5578" x2="6032" y1="893.9531" y2="893.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="5583" y="908.1636">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
8
class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="6068" y="853.9531"/><ellipse cx="6296.25" cy="869.9531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6297.0938,876.7031 L6294.6406,876.7031 L6294.6406,866.4531 L6291.5,866.4531 L6291.5,864.3125 L6300.2344,864.3125 L6300.2344,866.4531 L6297.0938,866.4531 L6297.0938,876.7031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="6316.75" y="874.1074">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6069" x2="6681" y1="885.9531" y2="885.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6069" x2="6681" y1="893.9531" y2="893.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="6074" y="908.1636">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[843db13320bebc2ca47f25c6a57c2ae5]
9
class urt_nodeShutdownCallback_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="60.8047" id="urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="518" x="6717" y="853.9531"/><ellipse cx="6881.25" cy="869.9531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6882.0938,876.7031 L6879.6406,876.7031 L6879.6406,866.4531 L6876.5,866.4531 L6876.5,864.3125 L6885.2344,864.3125 L6885.2344,866.4531 L6882.0938,866.4531 L6882.0938,876.7031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="6901.75" y="874.1074">urt_nodeShutdownCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6718" x2="7234" y1="885.9531" y2="885.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6718" x2="7234" y1="893.9531" y2="893.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="506" x="6723" y="908.1636">urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void</text><!--MD5=[d2563153d77472384a15c07b815d639f]
10
class urt_node_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="231.2656" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1541" x="5604.5" y="506.9531"/><ellipse cx="6337.25" cy="522.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6336.7344,523.5156 Q6334.875,522.8125 6334.2188,522.0469 Q6333.5781,521.2656 6333.5781,519.9531 Q6333.5781,518.2656 6334.6563,517.2969 Q6335.7344,516.3281 6337.6094,516.3281 Q6338.4688,516.3281 6339.3125,516.5313 Q6340.1719,516.7188 6341.0156,517.1094 L6341.0156,519.5 Q6340.2344,518.9375 6339.4063,518.6563 Q6338.5938,518.3594 6337.7969,518.3594 Q6336.9219,518.3594 6336.4375,518.7188 Q6335.9688,519.0781 6335.9688,519.7344 Q6335.9688,520.25 6336.3125,520.5938 Q6336.6563,520.9219 6337.75,521.3281 L6338.8125,521.7344 Q6340.2969,522.2813 6341,523.1875 Q6341.7188,524.0938 6341.7188,525.4688 Q6341.7188,527.3438 6340.6094,528.2656 Q6339.5,529.1875 6337.25,529.1875 Q6336.3281,529.1875 6335.4063,528.9688 Q6334.4844,528.75 6333.625,528.3281 L6333.625,525.7969 Q6334.5938,526.4844 6335.5156,526.8281 Q6336.4375,527.1719 6337.3281,527.1719 Q6338.2344,527.1719 6338.7344,526.7656 Q6339.2344,526.3438 6339.2344,525.6094 Q6339.2344,525.0469 6338.8906,524.6406 Q6338.5625,524.2188 6337.9375,523.9688 L6336.7344,523.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="6357.75" y="527.1074">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5605.5" x2="7144.5" y1="538.9531" y2="538.9531"/><ellipse cx="5615.5" cy="549.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="5624.5" y="553.1636">next : urt_node_t*</text><ellipse cx="5615.5" cy="562.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="5624.5" y="565.9683">thread : urt_osThread_t*</text><ellipse cx="5615.5" cy="575.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="5624.5" y="578.7729">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="5615.5" cy="588.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="5624.5" y="591.5776">setupparams : void*</text><ellipse cx="5615.5" cy="601.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="5624.5" y="604.3823">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="5615.5" cy="613.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="5624.5" y="617.187">loopparams : void*</text><ellipse cx="5615.5" cy="626.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="281" x="5624.5" y="629.9917">shutdowncallback : urt_nodeShutdownCallback_t*</text><ellipse cx="5615.5" cy="639.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="5624.5" y="642.7964">shutdownparams : void*</text><ellipse cx="5615.5" cy="652.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="5624.5" y="655.6011">stage : urt_nodestage_t</text><ellipse cx="5615.5" cy="665.1953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="178" x="5624.5" y="668.4058">listener : urt_osEventListener_t</text><ellipse cx="5615.5" cy="694.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="5624.5" y="698.0151">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5605.5" x2="6167" y1="681.4023" y2="681.4023"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="6167" y="684.7104">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6583" x2="7144.5" y1="681.4023" y2="681.4023"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5605.5" x2="7144.5" y1="704.6094" y2="704.6094"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5612.5" y="712.6094"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="5624.5" y="718.8198">_main : urt_osThreadFunction_t</text><ellipse cx="5615.5" cy="728.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1515" x="5624.5" y="731.6245">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
11
class urt_message_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="406" x="941" y="1011.4531"/><ellipse cx="1093.75" cy="1027.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1093.2344,1028.0156 Q1091.375,1027.3125 1090.7188,1026.5469 Q1090.0781,1025.7656 1090.0781,1024.4531 Q1090.0781,1022.7656 1091.1563,1021.7969 Q1092.2344,1020.8281 1094.1094,1020.8281 Q1094.9688,1020.8281 1095.8125,1021.0313 Q1096.6719,1021.2188 1097.5156,1021.6094 L1097.5156,1024 Q1096.7344,1023.4375 1095.9063,1023.1563 Q1095.0938,1022.8594 1094.2969,1022.8594 Q1093.4219,1022.8594 1092.9375,1023.2188 Q1092.4688,1023.5781 1092.4688,1024.2344 Q1092.4688,1024.75 1092.8125,1025.0938 Q1093.1563,1025.4219 1094.25,1025.8281 L1095.3125,1026.2344 Q1096.7969,1026.7813 1097.5,1027.6875 Q1098.2188,1028.5938 1098.2188,1029.9688 Q1098.2188,1031.8438 1097.1094,1032.7656 Q1096,1033.6875 1093.75,1033.6875 Q1092.8281,1033.6875 1091.9063,1033.4688 Q1090.9844,1033.25 1090.125,1032.8281 L1090.125,1030.2969 Q1091.0938,1030.9844 1092.0156,1031.3281 Q1092.9375,1031.6719 1093.8281,1031.6719 Q1094.7344,1031.6719 1095.2344,1031.2656 Q1095.7344,1030.8438 1095.7344,1030.1094 Q1095.7344,1029.5469 1095.3906,1029.1406 Q1095.0625,1028.7188 1094.4375,1028.4688 L1093.2344,1028.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="1114.25" y="1031.6074">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="942" x2="1346" y1="1043.4531" y2="1043.4531"/><ellipse cx="952" cy="1054.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="961" y="1057.6636">next : urt_message_t*</text><ellipse cx="952" cy="1067.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="961" y="1070.4683">payload : void*</text><ellipse cx="952" cy="1080.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="961" y="1083.2729">originTime : urt_osTime_t</text><ellipse cx="952" cy="1092.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="961" y="1096.0776">numHrtConsumersLeft : unsigned int</text><ellipse cx="952" cy="1122.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="961" y="1125.687">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="942" x2="1035.5" y1="1109.0742" y2="1109.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1035.5" y="1112.3823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1252.5" x2="1346" y1="1109.0742" y2="1109.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="942" x2="1346" y1="1132.2813" y2="1132.2813"/><ellipse cx="952" cy="1143.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="961" y="1146.4917">urtMessageInit (message : urt_message_t*, payload : void*) : void</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
12
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="196.0469" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="783" x="24.5" y="524.4531"/><ellipse cx="365.25" cy="540.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M364.7344,541.0156 Q362.875,540.3125 362.2188,539.5469 Q361.5781,538.7656 361.5781,537.4531 Q361.5781,535.7656 362.6563,534.7969 Q363.7344,533.8281 365.6094,533.8281 Q366.4688,533.8281 367.3125,534.0313 Q368.1719,534.2188 369.0156,534.6094 L369.0156,537 Q368.2344,536.4375 367.4063,536.1563 Q366.5938,535.8594 365.7969,535.8594 Q364.9219,535.8594 364.4375,536.2188 Q363.9688,536.5781 363.9688,537.2344 Q363.9688,537.75 364.3125,538.0938 Q364.6563,538.4219 365.75,538.8281 L366.8125,539.2344 Q368.2969,539.7813 369,540.6875 Q369.7188,541.5938 369.7188,542.9688 Q369.7188,544.8438 368.6094,545.7656 Q367.5,546.6875 365.25,546.6875 Q364.3281,546.6875 363.4063,546.4688 Q362.4844,546.25 361.625,545.8281 L361.625,543.2969 Q362.5938,543.9844 363.5156,544.3281 Q364.4375,544.6719 365.3281,544.6719 Q366.2344,544.6719 366.7344,544.2656 Q367.2344,543.8438 367.2344,543.1094 Q367.2344,542.5469 366.8906,542.1406 Q366.5625,541.7188 365.9375,541.4688 L364.7344,541.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="385.75" y="544.6074">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="25.5" x2="806.5" y1="556.4531" y2="556.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="289" x="30.5" y="570.6636">URT_PUBSUB_PUBLISHER_PUBLISH_TIMEOUT : bool</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="25.5" x2="806.5" y1="577.2578" y2="577.2578"/><ellipse cx="35.5" cy="588.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="44.5" y="591.4683">topic : urt_topic_t*</text><ellipse cx="35.5" cy="617.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="44.5" y="621.0776">publishAttempts : uint64_t</text><ellipse cx="35.5" cy="630.6719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="44.5" y="633.8823">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="25.5" x2="307.5" y1="604.4648" y2="604.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="307.5" y="607.7729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="524.5" x2="806.5" y1="604.4648" y2="604.4648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="25.5" x2="806.5" y1="640.4766" y2="640.4766"/><ellipse cx="35.5" cy="651.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="572" x="44.5" y="654.687">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void</text><ellipse cx="35.5" cy="681.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="632" x="44.5" y="684.2964">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t) : urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="25.5" x2="262.5" y1="667.6836" y2="667.6836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="307" x="262.5" y="670.9917">URT_PUBSUB_PUBLISHER_PUBLISH_TIMEOUT == false</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="569.5" x2="806.5" y1="667.6836" y2="667.6836"/><ellipse cx="35.5" cy="710.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="757" x="44.5" y="713.9058">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="25.5" x2="265" y1="697.293" y2="697.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="302" x="265" y="700.6011">URT_PUBSUB_PUBLISHER_PUBLISH_TIMEOUT == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="567" x2="806.5" y1="697.293" y2="697.293"/><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
13
class urt_topic_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="260.875" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="603" x="842.5" y="491.9531"/><ellipse cx="1106.75" cy="507.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1106.2344,508.5156 Q1104.375,507.8125 1103.7188,507.0469 Q1103.0781,506.2656 1103.0781,504.9531 Q1103.0781,503.2656 1104.1563,502.2969 Q1105.2344,501.3281 1107.1094,501.3281 Q1107.9688,501.3281 1108.8125,501.5313 Q1109.6719,501.7188 1110.5156,502.1094 L1110.5156,504.5 Q1109.7344,503.9375 1108.9063,503.6563 Q1108.0938,503.3594 1107.2969,503.3594 Q1106.4219,503.3594 1105.9375,503.7188 Q1105.4688,504.0781 1105.4688,504.7344 Q1105.4688,505.25 1105.8125,505.5938 Q1106.1563,505.9219 1107.25,506.3281 L1108.3125,506.7344 Q1109.7969,507.2813 1110.5,508.1875 Q1111.2188,509.0938 1111.2188,510.4688 Q1111.2188,512.3438 1110.1094,513.2656 Q1109,514.1875 1106.75,514.1875 Q1105.8281,514.1875 1104.9063,513.9688 Q1103.9844,513.75 1103.125,513.3281 L1103.125,510.7969 Q1104.0938,511.4844 1105.0156,511.8281 Q1105.9375,512.1719 1106.8281,512.1719 Q1107.7344,512.1719 1108.2344,511.7656 Q1108.7344,511.3438 1108.7344,510.6094 Q1108.7344,510.0469 1108.3906,509.6406 Q1108.0625,509.2188 1107.4375,508.9688 L1106.2344,508.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="1127.25" y="512.1074">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="843.5" x2="1444.5" y1="523.9531" y2="523.9531"/><ellipse cx="853.5" cy="534.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="862.5" y="538.1636">next : urt_topic_t*</text><ellipse cx="853.5" cy="547.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="862.5" y="550.9683">id : urt_topicid_t</text><ellipse cx="853.5" cy="560.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="862.5" y="563.7729">lock : urt_osMutex_t</text><ellipse cx="853.5" cy="573.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="862.5" y="576.5776">evtSource : urt_osEventSource_t</text><ellipse cx="853.5" cy="586.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="862.5" y="589.3823">numHrtSubscribers : unsigned int</text><ellipse cx="853.5" cy="598.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="862.5" y="602.187">hrtReleased : urt_osCondvar_t</text><ellipse cx="853.5" cy="611.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="862.5" y="614.9917">mandatoryMessage : urt_message_t</text><ellipse cx="853.5" cy="624.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="862.5" y="627.7964">latestMessage : urt_message_t*</text><ellipse cx="853.5" cy="654.1953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="862.5" y="657.4058">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="853.5" cy="667" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="862.5" y="670.2104">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="843.5" x2="1011.5" y1="640.793" y2="640.793"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="1011.5" y="644.1011">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1276.5" x2="1444.5" y1="640.793" y2="640.793"/><ellipse cx="853.5" cy="696.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="862.5" y="699.8198">numMessagesPublished : uint64_t</text><ellipse cx="853.5" cy="709.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="862.5" y="712.6245">numMessagesDiscarded : uint64_t</text><ellipse cx="853.5" cy="722.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="862.5" y="725.4292">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="843.5" x2="1035.5" y1="683.207" y2="683.207"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1035.5" y="686.5151">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1252.5" x2="1444.5" y1="683.207" y2="683.207"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="843.5" x2="1444.5" y1="732.0234" y2="732.0234"/><ellipse cx="853.5" cy="743.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="577" x="862.5" y="746.2339">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t, mandatoryMessage: urt_message_t*) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
14
class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="2784.5" y="817.4531"/><ellipse cx="2826.95" cy="833.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2826.4344,834.0156 Q2824.575,833.3125 2823.9188,832.5469 Q2823.2781,831.7656 2823.2781,830.4531 Q2823.2781,828.7656 2824.3563,827.7969 Q2825.4344,826.8281 2827.3094,826.8281 Q2828.1688,826.8281 2829.0125,827.0313 Q2829.8719,827.2188 2830.7156,827.6094 L2830.7156,830 Q2829.9344,829.4375 2829.1063,829.1563 Q2828.2938,828.8594 2827.4969,828.8594 Q2826.6219,828.8594 2826.1375,829.2188 Q2825.6688,829.5781 2825.6688,830.2344 Q2825.6688,830.75 2826.0125,831.0938 Q2826.3563,831.4219 2827.45,831.8281 L2828.5125,832.2344 Q2829.9969,832.7813 2830.7,833.6875 Q2831.4188,834.5938 2831.4188,835.9688 Q2831.4188,837.8438 2830.3094,838.7656 Q2829.2,839.6875 2826.95,839.6875 Q2826.0281,839.6875 2825.1063,839.4688 Q2824.1844,839.25 2823.325,838.8281 L2823.325,836.2969 Q2824.2938,836.9844 2825.2156,837.3281 Q2826.1375,837.6719 2827.0281,837.6719 Q2827.9344,837.6719 2828.4344,837.2656 Q2828.9344,836.8438 2828.9344,836.1094 Q2828.9344,835.5469 2828.5906,835.1406 Q2828.2625,834.7188 2827.6375,834.4688 L2826.4344,834.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="2847.05" y="837.6074">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2785.5" x2="3008.5" y1="849.4531" y2="849.4531"/><ellipse cx="2795.5" cy="860.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="2804.5" y="863.6636">topic : urt_topic_t*</text><ellipse cx="2795.5" cy="873.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="2804.5" y="876.4683">evtListener : urt_osEventListener_t</text><ellipse cx="2795.5" cy="886.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="2804.5" y="889.2729">lastMessage : urt_message_t*</text><ellipse cx="2795.5" cy="898.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="2804.5" y="902.0776">lastMessageTime : urt_osTime_t</text><ellipse cx="2795.5" cy="928.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="2804.5" y="931.687">sumLatencies : uint64_t</text><ellipse cx="2795.5" cy="941.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="2804.5" y="944.4917">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2785.5" x2="2788.5" y1="915.0742" y2="915.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2788.5" y="918.3823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3005.5" x2="3008.5" y1="915.0742" y2="915.0742"/><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
15
class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="1498.5" y="545.4531"/><ellipse cx="1845.25" cy="561.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1844.7344,562.0156 Q1842.875,561.3125 1842.2188,560.5469 Q1841.5781,559.7656 1841.5781,558.4531 Q1841.5781,556.7656 1842.6563,555.7969 Q1843.7344,554.8281 1845.6094,554.8281 Q1846.4688,554.8281 1847.3125,555.0313 Q1848.1719,555.2188 1849.0156,555.6094 L1849.0156,558 Q1848.2344,557.4375 1847.4063,557.1563 Q1846.5938,556.8594 1845.7969,556.8594 Q1844.9219,556.8594 1844.4375,557.2188 Q1843.9688,557.5781 1843.9688,558.2344 Q1843.9688,558.75 1844.3125,559.0938 Q1844.6563,559.4219 1845.75,559.8281 L1846.8125,560.2344 Q1848.2969,560.7813 1849,561.6875 Q1849.7188,562.5938 1849.7188,563.9688 Q1849.7188,565.8438 1848.6094,566.7656 Q1847.5,567.6875 1845.25,567.6875 Q1844.3281,567.6875 1843.4063,567.4688 Q1842.4844,567.25 1841.625,566.8281 L1841.625,564.2969 Q1842.5938,564.9844 1843.5156,565.3281 Q1844.4375,565.6719 1845.3281,565.6719 Q1846.2344,565.6719 1846.7344,565.2656 Q1847.2344,564.8438 1847.2344,564.1094 Q1847.2344,563.5469 1846.8906,563.1406 Q1846.5625,562.7188 1845.9375,562.4688 L1844.7344,562.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="1865.75" y="565.6074">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1499.5" x2="2318.5" y1="577.4531" y2="577.4531"/><ellipse cx="1509.5" cy="605.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1518.5" y="608.4683">minLatency : urt_delay_t</text><ellipse cx="1509.5" cy="618.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1518.5" y="621.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1499.5" x2="1800.5" y1="591.8555" y2="591.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1800.5" y="595.1636">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2017.5" x2="2318.5" y1="591.8555" y2="591.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1499.5" x2="2318.5" y1="627.8672" y2="627.8672"/><ellipse cx="1509.5" cy="638.8672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="1518.5" y="642.0776">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void</text><ellipse cx="1509.5" cy="651.6719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="715" x="1518.5" y="654.8823">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1509.5" cy="664.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="1518.5" y="667.687">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1509.5" cy="677.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="1518.5" y="680.4917">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1509.5" cy="690.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="1518.5" y="693.2964">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
16
class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1044" x="4501" y="525.9531"/><ellipse cx="4959.75" cy="541.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4959.2344,542.5156 Q4957.375,541.8125 4956.7188,541.0469 Q4956.0781,540.2656 4956.0781,538.9531 Q4956.0781,537.2656 4957.1563,536.2969 Q4958.2344,535.3281 4960.1094,535.3281 Q4960.9688,535.3281 4961.8125,535.5313 Q4962.6719,535.7188 4963.5156,536.1094 L4963.5156,538.5 Q4962.7344,537.9375 4961.9063,537.6563 Q4961.0938,537.3594 4960.2969,537.3594 Q4959.4219,537.3594 4958.9375,537.7188 Q4958.4688,538.0781 4958.4688,538.7344 Q4958.4688,539.25 4958.8125,539.5938 Q4959.1563,539.9219 4960.25,540.3281 L4961.3125,540.7344 Q4962.7969,541.2813 4963.5,542.1875 Q4964.2188,543.0938 4964.2188,544.4688 Q4964.2188,546.3438 4963.1094,547.2656 Q4962,548.1875 4959.75,548.1875 Q4958.8281,548.1875 4957.9063,547.9688 Q4956.9844,547.75 4956.125,547.3281 L4956.125,544.7969 Q4957.0938,545.4844 4958.0156,545.8281 Q4958.9375,546.1719 4959.8281,546.1719 Q4960.7344,546.1719 4961.2344,545.7656 Q4961.7344,545.3438 4961.7344,544.6094 Q4961.7344,544.0469 4961.3906,543.6406 Q4961.0625,543.2188 4960.4375,542.9688 L4959.2344,542.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4980.25" y="546.1074">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4502" x2="5544" y1="557.9531" y2="557.9531"/><ellipse cx="4512" cy="568.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="4521" y="572.1636">usefulnesscb : urt_usefulness_f*</text><ellipse cx="4512" cy="581.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="4521" y="584.9683">cbparams : void*</text><ellipse cx="4512" cy="611.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="4521" y="614.5776">minLatency : urt_delay_t</text><ellipse cx="4512" cy="624.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="4521" y="627.3823">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4502" x2="4914.5" y1="597.9648" y2="597.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4914.5" y="601.2729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5131.5" x2="5544" y1="597.9648" y2="597.9648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4502" x2="5544" y1="633.9766" y2="633.9766"/><ellipse cx="4512" cy="644.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="4521" y="648.187">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void</text><ellipse cx="4512" cy="657.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1018" x="4521" y="660.9917">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_usefulness_f*, cbparams : void*) : urt_status_t</text><ellipse cx="4512" cy="670.5859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="4521" y="673.7964">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4512" cy="683.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="4521" y="686.6011">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4512" cy="696.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="4521" y="699.4058">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4512" cy="709" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="4521" y="712.2104">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
17
class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="3492" y="509.4531"/><ellipse cx="3917.25" cy="525.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3916.7344,526.0156 Q3914.875,525.3125 3914.2188,524.5469 Q3913.5781,523.7656 3913.5781,522.4531 Q3913.5781,520.7656 3914.6563,519.7969 Q3915.7344,518.8281 3917.6094,518.8281 Q3918.4688,518.8281 3919.3125,519.0313 Q3920.1719,519.2188 3921.0156,519.6094 L3921.0156,522 Q3920.2344,521.4375 3919.4063,521.1563 Q3918.5938,520.8594 3917.7969,520.8594 Q3916.9219,520.8594 3916.4375,521.2188 Q3915.9688,521.5781 3915.9688,522.2344 Q3915.9688,522.75 3916.3125,523.0938 Q3916.6563,523.4219 3917.75,523.8281 L3918.8125,524.2344 Q3920.2969,524.7813 3921,525.6875 Q3921.7188,526.5938 3921.7188,527.9688 Q3921.7188,529.8438 3920.6094,530.7656 Q3919.5,531.6875 3917.25,531.6875 Q3916.3281,531.6875 3915.4063,531.4688 Q3914.4844,531.25 3913.625,530.8281 L3913.625,528.2969 Q3914.5938,528.9844 3915.5156,529.3281 Q3916.4375,529.6719 3917.3281,529.6719 Q3918.2344,529.6719 3918.7344,529.2656 Q3919.2344,528.8438 3919.2344,528.1094 Q3919.2344,527.5469 3918.8906,527.1406 Q3918.5625,526.7188 3917.9375,526.4688 L3916.7344,526.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="3937.75" y="529.6074">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3493" x2="4465" y1="541.4531" y2="541.4531"/><ellipse cx="3503" cy="569.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="3512" y="572.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3493" x2="3833.5" y1="555.8555" y2="555.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3833.5" y="559.1636">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4124.5" x2="4465" y1="555.8555" y2="555.8555"/><ellipse cx="3503" cy="598.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="3512" y="602.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3493" x2="3843.5" y1="585.4648" y2="585.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3843.5" y="588.7729">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4114.5" x2="4465" y1="585.4648" y2="585.4648"/><ellipse cx="3503" cy="628.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="3512" y="631.687">minLatency : urt_delay_t</text><ellipse cx="3503" cy="641.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="3512" y="644.4917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3493" x2="3725" y1="615.0742" y2="615.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="3725" y="618.3823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4233" x2="4465" y1="615.0742" y2="615.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3493" x2="4465" y1="651.0859" y2="651.0859"/><ellipse cx="3503" cy="662.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="342" x="3512" y="665.2964">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void</text><ellipse cx="3503" cy="674.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="948" x="3512" y="678.1011">urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="3503" cy="687.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="780" x="3512" y="690.9058">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3503" cy="700.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="790" x="3512" y="703.7104">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3503" cy="713.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="540" x="3512" y="716.5151">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="3503" cy="726.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="441" x="3512" y="729.3198">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
18
class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="2355" y="487.9531"/><ellipse cx="2833.25" cy="503.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2832.7344,504.5156 Q2830.875,503.8125 2830.2188,503.0469 Q2829.5781,502.2656 2829.5781,500.9531 Q2829.5781,499.2656 2830.6563,498.2969 Q2831.7344,497.3281 2833.6094,497.3281 Q2834.4688,497.3281 2835.3125,497.5313 Q2836.1719,497.7188 2837.0156,498.1094 L2837.0156,500.5 Q2836.2344,499.9375 2835.4063,499.6563 Q2834.5938,499.3594 2833.7969,499.3594 Q2832.9219,499.3594 2832.4375,499.7188 Q2831.9688,500.0781 2831.9688,500.7344 Q2831.9688,501.25 2832.3125,501.5938 Q2832.6563,501.9219 2833.75,502.3281 L2834.8125,502.7344 Q2836.2969,503.2813 2837,504.1875 Q2837.7188,505.0938 2837.7188,506.4688 Q2837.7188,508.3438 2836.6094,509.2656 Q2835.5,510.1875 2833.25,510.1875 Q2832.3281,510.1875 2831.4063,509.9688 Q2830.4844,509.75 2829.625,509.3281 L2829.625,506.7969 Q2830.5938,507.4844 2831.5156,507.8281 Q2832.4375,508.1719 2833.3281,508.1719 Q2834.2344,508.1719 2834.7344,507.7656 Q2835.2344,507.3438 2835.2344,506.6094 Q2835.2344,506.0469 2834.8906,505.6406 Q2834.5625,505.2188 2833.9375,504.9688 L2832.7344,504.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2853.75" y="508.1074">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2356" x2="3438" y1="519.9531" y2="519.9531"/><ellipse cx="2366" cy="530.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="2375" y="534.1636">next : urt_hrtsubscriber_t*</text><ellipse cx="2366" cy="560.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="2375" y="563.7729">deadlineOffset : urt_delay_t</text><ellipse cx="2366" cy="573.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="2375" y="576.5776">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2751.5" y1="547.1602" y2="547.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="2751.5" y="550.4683">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3042.5" x2="3438" y1="547.1602" y2="547.1602"/><ellipse cx="2366" cy="602.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="2375" y="606.187">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2761.5" y1="589.5742" y2="589.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="2761.5" y="592.8823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3032.5" x2="3438" y1="589.5742" y2="589.5742"/><ellipse cx="2366" cy="632.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2375" y="635.7964">minLatency : urt_delay_t</text><ellipse cx="2366" cy="645.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2375" y="648.6011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2645" y1="619.1836" y2="619.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="2645" y="622.4917">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3149" x2="3438" y1="619.1836" y2="619.1836"/><ellipse cx="2366" cy="675" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="2375" y="678.2104">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2764.5" y1="661.5977" y2="661.5977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2764.5" y="664.9058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3029.5" x2="3438" y1="661.5977" y2="661.5977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2356" x2="3438" y1="684.8047" y2="684.8047"/><ellipse cx="2366" cy="695.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="2375" y="699.0151">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void</text><ellipse cx="2366" cy="708.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="2375" y="711.8198">urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="2366" cy="721.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="2375" y="724.6245">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2366" cy="734.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="2375" y="737.4292">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2366" cy="747.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="2375" y="750.2339">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
19
class urt_service_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="269.6797" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="596" x="7259" y="487.4531"/><ellipse cx="7513.25" cy="503.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7512.7344,504.0156 Q7510.875,503.3125 7510.2188,502.5469 Q7509.5781,501.7656 7509.5781,500.4531 Q7509.5781,498.7656 7510.6563,497.7969 Q7511.7344,496.8281 7513.6094,496.8281 Q7514.4688,496.8281 7515.3125,497.0313 Q7516.1719,497.2188 7517.0156,497.6094 L7517.0156,500 Q7516.2344,499.4375 7515.4063,499.1563 Q7514.5938,498.8594 7513.7969,498.8594 Q7512.9219,498.8594 7512.4375,499.2188 Q7511.9688,499.5781 7511.9688,500.2344 Q7511.9688,500.75 7512.3125,501.0938 Q7512.6563,501.4219 7513.75,501.8281 L7514.8125,502.2344 Q7516.2969,502.7813 7517,503.6875 Q7517.7188,504.5938 7517.7188,505.9688 Q7517.7188,507.8438 7516.6094,508.7656 Q7515.5,509.6875 7513.25,509.6875 Q7512.3281,509.6875 7511.4063,509.4688 Q7510.4844,509.25 7509.625,508.8281 L7509.625,506.2969 Q7510.5938,506.9844 7511.5156,507.3281 Q7512.4375,507.6719 7513.3281,507.6719 Q7514.2344,507.6719 7514.7344,507.2656 Q7515.2344,506.8438 7515.2344,506.1094 Q7515.2344,505.5469 7514.8906,505.1406 Q7514.5625,504.7188 7513.9375,504.4688 L7512.7344,504.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="7533.75" y="507.6074">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7260" x2="7854" y1="519.4531" y2="519.4531"/><ellipse cx="7270" cy="530.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="7279" y="533.6636">next : urt_service_t*</text><ellipse cx="7270" cy="543.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="7279" y="546.4683">id : urt_serviceid_t</text><ellipse cx="7270" cy="556.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="7279" y="559.2729">lock : urt_osMutex_t</text><ellipse cx="7270" cy="568.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="236" x="7279" y="572.0776">requestQueue_front : urt_baserequest_t*</text><ellipse cx="7270" cy="581.6719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="7279" y="584.8823">requestQueue_hrtBack : urt_hrtrequest_t*</text><ellipse cx="7270" cy="594.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="7279" y="597.687">requestQueue_fsrtBack : urt_baserequest_t*</text><ellipse cx="7270" cy="607.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="7279" y="610.4917">requestQueue_back : urt_baserequest_t*</text><ellipse cx="7270" cy="620.0859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="7279" y="623.2964">evtSource : urt_osEventSource_t</text><ellipse cx="7270" cy="632.8906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="7279" y="636.1011">evtListener : urt_osEventListener_t</text><ellipse cx="7270" cy="662.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="7279" y="665.7104">numCalls : uint64_t</text><ellipse cx="7270" cy="675.3047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="7279" y="678.5151">numOwnershipLost : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7260" x2="7461" y1="649.0977" y2="649.0977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="7461" y="652.4058">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7653" x2="7854" y1="649.0977" y2="649.0977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7260" x2="7854" y1="685.1094" y2="685.1094"/><ellipse cx="7270" cy="696.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="412" x="7279" y="699.3198">urtServiceInit (service : urt_service_t*, id : urt_serviceid_t) : urt_status_t</text><ellipse cx="7270" cy="708.9141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="549" x="7279" y="712.1245">urtServiceDispatch (service : urt_service_t*, payload : void*, bytes : size_t) : urt_baserequest_t*</text><ellipse cx="7270" cy="721.7188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="552" x="7279" y="724.9292">urtServiceAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="7270" cy="734.5234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="7279" y="737.7339">urtServiceTryAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="7270" cy="747.3281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="365" x="7279" y="750.5386">urtServiceRespond (request : urt_baserequest_t*) : urt_status_t</text><!--MD5=[7294e1cfaeb111bef046bc5d07a96458]
20
class urt_baserequest_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="197.6563" id="urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="8739" y="523.4531"/><ellipse cx="8789.25" cy="539.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8788.7344,540.0156 Q8786.875,539.3125 8786.2188,538.5469 Q8785.5781,537.7656 8785.5781,536.4531 Q8785.5781,534.7656 8786.6563,533.7969 Q8787.7344,532.8281 8789.6094,532.8281 Q8790.4688,532.8281 8791.3125,533.0313 Q8792.1719,533.2188 8793.0156,533.6094 L8793.0156,536 Q8792.2344,535.4375 8791.4063,535.1563 Q8790.5938,534.8594 8789.7969,534.8594 Q8788.9219,534.8594 8788.4375,535.2188 Q8787.9688,535.5781 8787.9688,536.2344 Q8787.9688,536.75 8788.3125,537.0938 Q8788.6563,537.4219 8789.75,537.8281 L8790.8125,538.2344 Q8792.2969,538.7813 8793,539.6875 Q8793.7188,540.5938 8793.7188,541.9688 Q8793.7188,543.8438 8792.6094,544.7656 Q8791.5,545.6875 8789.25,545.6875 Q8788.3281,545.6875 8787.4063,545.4688 Q8786.4844,545.25 8785.625,544.8281 L8785.625,542.2969 Q8786.5938,542.9844 8787.5156,543.3281 Q8788.4375,543.6719 8789.3281,543.6719 Q8790.2344,543.6719 8790.7344,543.2656 Q8791.2344,542.8438 8791.2344,542.1094 Q8791.2344,541.5469 8790.8906,541.1406 Q8790.5625,540.7188 8789.9375,540.4688 L8788.7344,540.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="8809.75" y="543.6074">urt_baserequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8740" x2="8962" y1="555.4531" y2="555.4531"/><ellipse cx="8750" cy="566.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="8759" y="569.6636">prev : urt_baserequest_t*</text><ellipse cx="8750" cy="579.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="8759" y="582.4683">next : urt_baserequest_t*</text><ellipse cx="8750" cy="592.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="8759" y="595.2729">lock : urt_osMutex_t</text><ellipse cx="8750" cy="604.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="8759" y="608.0776">owner : urt_service_t*</text><ellipse cx="8750" cy="617.6719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="8759" y="620.8823">submissionTime : urt_osTime_t</text><ellipse cx="8750" cy="630.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="8759" y="633.687">payload : void*</text><ellipse cx="8750" cy="643.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="8759" y="646.4917">evtSource : urt_osEventSource_t</text><ellipse cx="8750" cy="656.0859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="8759" y="659.2964">evtListener : urt_osEventListener_t</text><ellipse cx="8750" cy="685.6953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="8759" y="688.9058">sumLatencies : uint64_t</text><ellipse cx="8750" cy="698.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="8759" y="701.7104">numCalls : uint64_t</text><ellipse cx="8750" cy="711.3047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="8759" y="714.5151">numFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8740" x2="8755" y1="672.293" y2="672.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="8755" y="675.6011">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8947" x2="8962" y1="672.293" y2="672.293"/><!--MD5=[65269c71e9a2a076bc4014c9b128c9e6]
21
class urt_nrtrequest_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="167.2422" id="urt_nrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="531" x="8585.5" y="145.4531"/><ellipse cx="8795.75" cy="161.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8795.2344,162.0156 Q8793.375,161.3125 8792.7188,160.5469 Q8792.0781,159.7656 8792.0781,158.4531 Q8792.0781,156.7656 8793.1563,155.7969 Q8794.2344,154.8281 8796.1094,154.8281 Q8796.9688,154.8281 8797.8125,155.0313 Q8798.6719,155.2188 8799.5156,155.6094 L8799.5156,158 Q8798.7344,157.4375 8797.9063,157.1563 Q8797.0938,156.8594 8796.2969,156.8594 Q8795.4219,156.8594 8794.9375,157.2188 Q8794.4688,157.5781 8794.4688,158.2344 Q8794.4688,158.75 8794.8125,159.0938 Q8795.1563,159.4219 8796.25,159.8281 L8797.3125,160.2344 Q8798.7969,160.7813 8799.5,161.6875 Q8800.2188,162.5938 8800.2188,163.9688 Q8800.2188,165.8438 8799.1094,166.7656 Q8798,167.6875 8795.75,167.6875 Q8794.8281,167.6875 8793.9063,167.4688 Q8792.9844,167.25 8792.125,166.8281 L8792.125,164.2969 Q8793.0938,164.9844 8794.0156,165.3281 Q8794.9375,165.6719 8795.8281,165.6719 Q8796.7344,165.6719 8797.2344,165.2656 Q8797.7344,164.8438 8797.7344,164.1094 Q8797.7344,163.5469 8797.3906,163.1406 Q8797.0625,162.7188 8796.4375,162.4688 L8795.2344,162.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="8816.25" y="165.6074">urt_nrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8586.5" x2="9115.5" y1="177.4531" y2="177.4531"/><ellipse cx="8596.5" cy="205.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="8605.5" y="208.4683">minLatency : urt_delay_t</text><ellipse cx="8596.5" cy="218.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="8605.5" y="221.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8586.5" x2="8755" y1="191.8555" y2="191.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="8755" y="195.1636">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8947" x2="9115.5" y1="191.8555" y2="191.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8586.5" x2="9115.5" y1="227.8672" y2="227.8672"/><ellipse cx="8596.5" cy="238.8672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="8605.5" y="242.0776">urtNrtRequestInit (request : urt_nrtrequest_t*) : void</text><ellipse cx="8596.5" cy="251.6719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="8605.5" y="254.8823">urtNrtRequestAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8596.5" cy="264.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="8605.5" y="267.687">urtNrtRequestTryAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8596.5" cy="277.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="8605.5" y="280.4917">urtNrtRequestRelease (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8596.5" cy="290.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="505" x="8605.5" y="293.2964">urtNrtRequestSubmit (request : urt_nrtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="8596.5" cy="302.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="8605.5" y="306.1011">urtNrtRequestRetrieve (request : urt_nrtrequest_t*) : urt_status_t</text><!--MD5=[e9d515ad43a4cecec056dd09bc14a3c2]
22
class urt_srtrequest_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="180.0469" id="urt_srtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="675" x="9843.5" y="138.9531"/><ellipse cx="10126.25" cy="154.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10125.7344,155.5156 Q10123.875,154.8125 10123.2188,154.0469 Q10122.5781,153.2656 10122.5781,151.9531 Q10122.5781,150.2656 10123.6563,149.2969 Q10124.7344,148.3281 10126.6094,148.3281 Q10127.4688,148.3281 10128.3125,148.5313 Q10129.1719,148.7188 10130.0156,149.1094 L10130.0156,151.5 Q10129.2344,150.9375 10128.4063,150.6563 Q10127.5938,150.3594 10126.7969,150.3594 Q10125.9219,150.3594 10125.4375,150.7188 Q10124.9688,151.0781 10124.9688,151.7344 Q10124.9688,152.25 10125.3125,152.5938 Q10125.6563,152.9219 10126.75,153.3281 L10127.8125,153.7344 Q10129.2969,154.2813 10130,155.1875 Q10130.7188,156.0938 10130.7188,157.4688 Q10130.7188,159.3438 10129.6094,160.2656 Q10128.5,161.1875 10126.25,161.1875 Q10125.3281,161.1875 10124.4063,160.9688 Q10123.4844,160.75 10122.625,160.3281 L10122.625,157.7969 Q10123.5938,158.4844 10124.5156,158.8281 Q10125.4375,159.1719 10126.3281,159.1719 Q10127.2344,159.1719 10127.7344,158.7656 Q10128.2344,158.3438 10128.2344,157.6094 Q10128.2344,157.0469 10127.8906,156.6406 Q10127.5625,156.2188 10126.9375,155.9688 L10125.7344,155.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="10146.75" y="159.1074">urt_srtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9844.5" x2="10517.5" y1="170.9531" y2="170.9531"/><ellipse cx="9854.5" cy="198.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="9863.5" y="201.9683">minLatency : urt_delay_t</text><ellipse cx="9854.5" cy="211.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="9863.5" y="214.7729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9844.5" x2="10085" y1="185.3555" y2="185.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="10085" y="188.6636">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10277" x2="10517.5" y1="185.3555" y2="185.3555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9844.5" x2="10517.5" y1="221.3672" y2="221.3672"/><ellipse cx="9854.5" cy="232.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="9863.5" y="235.5776">urtSrtRequestInit (request : urt_srtrequest_t*) : void</text><ellipse cx="9854.5" cy="245.1719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="9863.5" y="248.3823">urtSrtRequestAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="257.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="9863.5" y="261.187">urtSrtRequestTryAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="270.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="9863.5" y="273.9917">urtSrtRequestRelease (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="283.5859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="505" x="9863.5" y="286.7964">urtSrtRequestSubmit (request : urt_srtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="9854.5" cy="296.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="9863.5" y="299.6011">urtSrtRequestRetrieve (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="309.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="649" x="9863.5" y="312.4058">urtSrtCalculateUsefulness (request : urt_srtrequest_t*, usefulnesscb : urt_usefulness_f, cbparams : void*) : float</text><!--MD5=[240977dbca9212fa5365c87da90aa051]
23
class urt_frtrequest_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="268.875" id="urt_frtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="656" x="9152" y="94.4531"/><ellipse cx="9426.75" cy="110.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9426.2344,111.0156 Q9424.375,110.3125 9423.7188,109.5469 Q9423.0781,108.7656 9423.0781,107.4531 Q9423.0781,105.7656 9424.1563,104.7969 Q9425.2344,103.8281 9427.1094,103.8281 Q9427.9688,103.8281 9428.8125,104.0313 Q9429.6719,104.2188 9430.5156,104.6094 L9430.5156,107 Q9429.7344,106.4375 9428.9063,106.1563 Q9428.0938,105.8594 9427.2969,105.8594 Q9426.4219,105.8594 9425.9375,106.2188 Q9425.4688,106.5781 9425.4688,107.2344 Q9425.4688,107.75 9425.8125,108.0938 Q9426.1563,108.4219 9427.25,108.8281 L9428.3125,109.2344 Q9429.7969,109.7813 9430.5,110.6875 Q9431.2188,111.5938 9431.2188,112.9688 Q9431.2188,114.8438 9430.1094,115.7656 Q9429,116.6875 9426.75,116.6875 Q9425.8281,116.6875 9424.9063,116.4688 Q9423.9844,116.25 9423.125,115.8281 L9423.125,113.2969 Q9424.0938,113.9844 9425.0156,114.3281 Q9425.9375,114.6719 9426.8281,114.6719 Q9427.7344,114.6719 9428.2344,114.2656 Q9428.7344,113.8438 9428.7344,113.1094 Q9428.7344,112.5469 9428.3906,112.1406 Q9428.0625,111.7188 9427.4375,111.4688 L9426.2344,111.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="9447.25" y="114.6074">urt_frtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9153" x2="9807" y1="126.4531" y2="126.4531"/><ellipse cx="9163" cy="154.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="9172" y="157.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9347" y1="140.8555" y2="140.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="9347" y="144.1636">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9613" x2="9807" y1="140.8555" y2="140.8555"/><ellipse cx="9163" cy="183.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="9172" y="187.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9357" y1="170.4648" y2="170.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="9357" y="173.7729">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9603" x2="9807" y1="170.4648" y2="170.4648"/><ellipse cx="9163" cy="213.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="9172" y="216.687">minLatency : urt_delay_t</text><ellipse cx="9163" cy="226.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="9172" y="229.4917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9253" y1="200.0742" y2="200.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="9253" y="203.3823">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9707" x2="9807" y1="200.0742" y2="200.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9153" x2="9807" y1="236.0859" y2="236.0859"/><ellipse cx="9163" cy="247.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="292" x="9172" y="250.2964">urtFrtRequestInit (request : urt_frtrequest_t*) : void</text><ellipse cx="9163" cy="259.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="9172" y="263.1011">urtFrtRequestAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="272.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="9172" y="275.9058">urtFrtRequestTryAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="285.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="365" x="9172" y="288.7104">urtFrtRequestRelease (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="298.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="630" x="9172" y="301.5151">urtFrtRequestSubmit (request : urt_frtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="9163" cy="311.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="366" x="9172" y="314.3198">urtFrtRequestRetrieve (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="323.9141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="318" x="9172" y="327.1245">urtDrtCalculateValidity (request : urt_frtrequest_t) : bool</text><ellipse cx="9163" cy="353.5234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="423" x="9172" y="356.7339">urtFrtRequestGetMaxJitter (request : urt_frtrequest_t*) : urt_delay_t* const</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9357" y1="340.1211" y2="340.1211"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="9357" y="343.4292">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9603" x2="9807" y1="340.1211" y2="340.1211"/><!--MD5=[2b0c3d572fefe037473ca776bdd2f803]
24
class urt_hrtrequest_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="285.6797" id="urt_hrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="661" x="7889.5" y="85.9531"/><ellipse cx="8164.75" cy="101.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8164.2344,102.5156 Q8162.375,101.8125 8161.7188,101.0469 Q8161.0781,100.2656 8161.0781,98.9531 Q8161.0781,97.2656 8162.1563,96.2969 Q8163.2344,95.3281 8165.1094,95.3281 Q8165.9688,95.3281 8166.8125,95.5313 Q8167.6719,95.7188 8168.5156,96.1094 L8168.5156,98.5 Q8167.7344,97.9375 8166.9063,97.6563 Q8166.0938,97.3594 8165.2969,97.3594 Q8164.4219,97.3594 8163.9375,97.7188 Q8163.4688,98.0781 8163.4688,98.7344 Q8163.4688,99.25 8163.8125,99.5938 Q8164.1563,99.9219 8165.25,100.3281 L8166.3125,100.7344 Q8167.7969,101.2813 8168.5,102.1875 Q8169.2188,103.0938 8169.2188,104.4688 Q8169.2188,106.3438 8168.1094,107.2656 Q8167,108.1875 8164.75,108.1875 Q8163.8281,108.1875 8162.9063,107.9688 Q8161.9844,107.75 8161.125,107.3281 L8161.125,104.7969 Q8162.0938,105.4844 8163.0156,105.8281 Q8163.9375,106.1719 8164.8281,106.1719 Q8165.7344,106.1719 8166.2344,105.7656 Q8166.7344,105.3438 8166.7344,104.6094 Q8166.7344,104.0469 8166.3906,103.6406 Q8166.0625,103.2188 8165.4375,102.9688 L8164.2344,102.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="8185.25" y="106.1074">urt_hrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7890.5" x2="8549.5" y1="117.9531" y2="117.9531"/><ellipse cx="7900.5" cy="145.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="7909.5" y="148.9683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="8087" y1="132.3555" y2="132.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="8087" y="135.6636">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8353" x2="8549.5" y1="132.3555" y2="132.3555"/><ellipse cx="7900.5" cy="175.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="7909.5" y="178.5776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="8097" y1="161.9648" y2="161.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="8097" y="165.2729">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8343" x2="8549.5" y1="161.9648" y2="161.9648"/><ellipse cx="7900.5" cy="204.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="7909.5" y="208.187">qosTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="7956" y1="191.5742" y2="191.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="528" x="7956" y="194.8823">URT_CFG_RPC_QOS_DEADLINECHECKS == true || URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8484" x2="8549.5" y1="191.5742" y2="191.5742"/><ellipse cx="7900.5" cy="234.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="7909.5" y="237.7964">minLatency : urt_delay_t</text><ellipse cx="7900.5" cy="247.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="7909.5" y="250.6011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="7993" y1="221.1836" y2="221.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="7993" y="224.4917">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8447" x2="8549.5" y1="221.1836" y2="221.1836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7890.5" x2="8549.5" y1="257.1953" y2="257.1953"/><ellipse cx="7900.5" cy="268.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="7909.5" y="271.4058">urtHrtRequestInit (request : urt_hrtrequest_t*) : void</text><ellipse cx="7900.5" cy="281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="7909.5" y="284.2104">urtHrtRequestAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="293.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="7909.5" y="297.0151">urtHrtRequestTryAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="306.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="7909.5" y="309.8198">urtHrtRequestRelease (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="319.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="635" x="7909.5" y="322.6245">urtHrtRequestSubmit (request : urt_hrtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="7900.5" cy="332.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="7909.5" y="335.4292">urtHrtRequestRetrieve (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="361.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="428" x="7909.5" y="365.0386">urtHrtRequestGetMaxJitter (request : urt_hrtrequest_t*) : urt_delay_t* const</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="8097" y1="348.4258" y2="348.4258"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="8097" y="351.7339">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8343" x2="8549.5" y1="348.4258" y2="348.4258"/><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
25
class urt_core_t--><rect fill="#FEFECE" filter="url(#fgmjoycxg2h2i)" height="384.1172" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="371" x="6189.5" y="36.9531"/><ellipse cx="6339.25" cy="52.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6338.7344,53.5156 Q6336.875,52.8125 6336.2188,52.0469 Q6335.5781,51.2656 6335.5781,49.9531 Q6335.5781,48.2656 6336.6563,47.2969 Q6337.7344,46.3281 6339.6094,46.3281 Q6340.4688,46.3281 6341.3125,46.5313 Q6342.1719,46.7188 6343.0156,47.1094 L6343.0156,49.5 Q6342.2344,48.9375 6341.4063,48.6563 Q6340.5938,48.3594 6339.7969,48.3594 Q6338.9219,48.3594 6338.4375,48.7188 Q6337.9688,49.0781 6337.9688,49.7344 Q6337.9688,50.25 6338.3125,50.5938 Q6338.6563,50.9219 6339.75,51.3281 L6340.8125,51.7344 Q6342.2969,52.2813 6343,53.1875 Q6343.7188,54.0938 6343.7188,55.4688 Q6343.7188,57.3438 6342.6094,58.2656 Q6341.5,59.1875 6339.25,59.1875 Q6338.3281,59.1875 6337.4063,58.9688 Q6336.4844,58.75 6335.625,58.3281 L6335.625,55.7969 Q6336.5938,56.4844 6337.5156,56.8281 Q6338.4375,57.1719 6339.3281,57.1719 Q6340.2344,57.1719 6340.7344,56.7656 Q6341.2344,56.3438 6341.2344,55.6094 Q6341.2344,55.0469 6340.8906,54.6406 Q6340.5625,54.2188 6339.9375,53.9688 L6338.7344,53.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="6359.75" y="57.1074">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6190.5" x2="6559.5" y1="68.9531" y2="68.9531"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="76.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6209.5" y="83.1636">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="89.7578"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="6209.5" y="95.9683">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="102.5625"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6209.5" y="108.7729">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="115.3672"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="122" x="6209.5" y="121.5776">_status : urt_status_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="144.9766"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="6209.5" y="151.187">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6270" y1="134.5742" y2="134.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6270" y="137.8823">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6480" x2="6559.5" y1="134.5742" y2="134.5742"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="174.5859"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="6209.5" y="180.7964">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6282.5" y1="164.1836" y2="164.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6282.5" y="167.4917">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6467.5" x2="6559.5" y1="164.1836" y2="164.1836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6190.5" x2="6559.5" y1="187.3906" y2="187.3906"/><ellipse cx="6200.5" cy="198.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="130" x="6209.5" y="201.6011">urtCoreInit (void) : void</text><ellipse cx="6200.5" cy="211.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="6209.5" y="214.4058">urtCoreGetStatus (void) : urt_status_t</text><ellipse cx="6200.5" cy="224" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="276" x="6209.5" y="227.2104">urtCoreGetEventMask (void) : urt_osEventMask_t</text><ellipse cx="6200.5" cy="236.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="290" x="6209.5" y="240.0151">urtCoreGetEvtSource (void) : urt_osEventSource_t*</text><ellipse cx="6200.5" cy="249.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="177" x="6209.5" y="252.8198">urtCoreStartNodes (void) : void</text><ellipse cx="6200.5" cy="262.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="345" x="6209.5" y="265.6245">urtCoreSynchronizeNodes (node : urt_node_t*) : urt_status_t</text><ellipse cx="6200.5" cy="275.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="317" x="6209.5" y="278.4292">urtCoreStopNodes (reason : urt_status_t) : urt_status_t</text><ellipse cx="6200.5" cy="288.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="304" x="6209.5" y="291.2339">urtCoreGetEventSource (void) : urt_osEventSource_t*</text><ellipse cx="6200.5" cy="300.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="6209.5" y="304.0386">urtCoreGetMutex (void) : urt_osMutex_t*</text><ellipse cx="6200.5" cy="313.6328" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="6209.5" y="316.8433">urtCoreGetNodes (void) : urt_node_t*</text><ellipse cx="6200.5" cy="326.4375" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="6209.5" y="329.6479">urtCoreAddNode (node : urt_node_t*) : void</text><ellipse cx="6200.5" cy="356.0469" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="6209.5" y="359.2573">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><ellipse cx="6200.5" cy="368.8516" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="245" x="6209.5" y="372.062">urtCoreAddTopic (topic : urt_topic_t*) : void</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6270" y1="342.6445" y2="342.6445"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6270" y="345.9526">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6480" x2="6559.5" y1="342.6445" y2="342.6445"/><ellipse cx="6200.5" cy="398.4609" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="284" x="6209.5" y="401.6714">urtCoreGetService (service : urt_service_t*) : void</text><ellipse cx="6200.5" cy="411.2656" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="314" x="6209.5" y="414.4761">urtCoreAddService (id : urt_serviceid_t) : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6282.5" y1="385.0586" y2="385.0586"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6282.5" y="388.3667">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6467.5" x2="6559.5" y1="385.0586" y2="385.0586"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
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="1173px" preserveAspectRatio="none" style="width:10557px;height:1173px;" version="1.1" viewBox="0 0 10557 1173" width="10557px" zoomAndPan="magnify"><defs><filter height="300%" id="f8hvu1te2b9r" 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="5225" y="16.708">µRtWare</text><!--MD5=[b9de0669a29c7bc934fd916b09c39491]
2
cluster node--><rect fill="#FFFFFF" filter="url(#f8hvu1te2b9r)" height="443" style="stroke: #000000; stroke-width: 1.5;" width="1674" x="5569" y="479.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="40" x="6386" y="494.9482">node</text><!--MD5=[d74e2ef346f73688f9378f6d3d42598c]
3
cluster Publish-Subscribe System--><polygon fill="#FFFFFF" filter="url(#f8hvu1te2b9r)" points="16,438.9531,26,428.9531,5561,428.9531,5561,1151.4531,5551,1161.4531,16,1161.4531,16,438.9531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5551" x2="5560" y1="438.9531" y2="429.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="16" x2="5551" y1="438.9531" y2="438.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="5551" x2="5551" y1="438.9531" y2="1161.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="205" x="2682" y="454.9482">Publish-Subscribe System</text><!--MD5=[16a3bbbe805f94d6e6ce317c08ab945e]
4
cluster subscriber--><rect fill="#FFFFFF" filter="url(#f8hvu1te2b9r)" height="498.5" style="stroke: #000000; stroke-width: 1.5;" width="4062" x="1491" y="460.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="3479.5" y="475.9482">subscriber</text><!--MD5=[810d0f07e53ef611b6d803ef30301147]
5
cluster Remote Procedure Call System--><polygon fill="#FFFFFF" filter="url(#f8hvu1te2b9r)" points="7251,36.9531,7261,26.9531,10535,26.9531,10535,755.4531,10525,765.4531,7251,765.4531,7251,36.9531" style="stroke: #000000; stroke-width: 1.5;"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10525" x2="10534" y1="36.9531" y2="27.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="7251" x2="10525" y1="36.9531" y2="36.9531"/><line style="stroke: #000000; stroke-width: 1.5;" x1="10525" x2="10525" y1="36.9531" y2="765.4531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="244" x="8767" y="52.9482">Remote Procedure Call System</text><!--MD5=[ecaf13b018fb9788c80013f5b3634b61]
6
cluster request--><rect fill="#FFFFFF" filter="url(#f8hvu1te2b9r)" height="670.5" style="stroke: #000000; stroke-width: 1.5;" width="2646" x="7881" y="58.9531"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="62" x="9173" y="73.9482">request</text><!--MD5=[a7dea26996a1231aa68629b332780450]
7
class urt_nodeSetupCallback_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="60.8047" id="urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="456" x="5577" y="853.9531"/><ellipse cx="5722.75" cy="869.9531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M5723.5938,876.7031 L5721.1406,876.7031 L5721.1406,866.4531 L5718,866.4531 L5718,864.3125 L5726.7344,864.3125 L5726.7344,866.4531 L5723.5938,866.4531 L5723.5938,876.7031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="156" x="5743.25" y="874.1074">urt_nodeSetupCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5578" x2="6032" y1="885.9531" y2="885.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5578" x2="6032" y1="893.9531" y2="893.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="444" x="5583" y="908.1636">urt_nodeSetupCallback_t (node : urt_node_t*, arg : void*) : urt_osEventMask_t</text><!--MD5=[7f869e17e281b89d59a4c09e0f22c3af]
8
class urt_nodeLoopCallback_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="60.8047" id="urt_nodeLoopCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="614" x="6068" y="853.9531"/><ellipse cx="6296.25" cy="869.9531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6297.0938,876.7031 L6294.6406,876.7031 L6294.6406,866.4531 L6291.5,866.4531 L6291.5,864.3125 L6300.2344,864.3125 L6300.2344,866.4531 L6297.0938,866.4531 L6297.0938,876.7031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="149" x="6316.75" y="874.1074">urt_nodeLoopCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6069" x2="6681" y1="885.9531" y2="885.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6069" x2="6681" y1="893.9531" y2="893.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="602" x="6074" y="908.1636">urt_nodeLoopCallback_t (node : urt_node_t*, events : urt_osEventMask_t, arg : void*) : urt_osEventMask_t</text><!--MD5=[843db13320bebc2ca47f25c6a57c2ae5]
9
class urt_nodeShutdownCallback_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="60.8047" id="urt_nodeShutdownCallback_t" style="stroke: #A80036; stroke-width: 1.5;" width="518" x="6717" y="853.9531"/><ellipse cx="6881.25" cy="869.9531" fill="#00CFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6882.0938,876.7031 L6879.6406,876.7031 L6879.6406,866.4531 L6876.5,866.4531 L6876.5,864.3125 L6885.2344,864.3125 L6885.2344,866.4531 L6882.0938,866.4531 L6882.0938,876.7031 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="181" x="6901.75" y="874.1074">urt_nodeShutdownCallback_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6718" x2="7234" y1="885.9531" y2="885.9531"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6718" x2="7234" y1="893.9531" y2="893.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="506" x="6723" y="908.1636">urt_nodeShutdownCallback_t (node : urt_node_t*, cause : urt_status_t, arg : void*) : void</text><!--MD5=[d2563153d77472384a15c07b815d639f]
10
class urt_node_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="231.2656" id="urt_node_t" style="stroke: #A80036; stroke-width: 1.5;" width="1541" x="5604.5" y="506.9531"/><ellipse cx="6337.25" cy="522.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6336.7344,523.5156 Q6334.875,522.8125 6334.2188,522.0469 Q6333.5781,521.2656 6333.5781,519.9531 Q6333.5781,518.2656 6334.6563,517.2969 Q6335.7344,516.3281 6337.6094,516.3281 Q6338.4688,516.3281 6339.3125,516.5313 Q6340.1719,516.7188 6341.0156,517.1094 L6341.0156,519.5 Q6340.2344,518.9375 6339.4063,518.6563 Q6338.5938,518.3594 6337.7969,518.3594 Q6336.9219,518.3594 6336.4375,518.7188 Q6335.9688,519.0781 6335.9688,519.7344 Q6335.9688,520.25 6336.3125,520.5938 Q6336.6563,520.9219 6337.75,521.3281 L6338.8125,521.7344 Q6340.2969,522.2813 6341,523.1875 Q6341.7188,524.0938 6341.7188,525.4688 Q6341.7188,527.3438 6340.6094,528.2656 Q6339.5,529.1875 6337.25,529.1875 Q6336.3281,529.1875 6335.4063,528.9688 Q6334.4844,528.75 6333.625,528.3281 L6333.625,525.7969 Q6334.5938,526.4844 6335.5156,526.8281 Q6336.4375,527.1719 6337.3281,527.1719 Q6338.2344,527.1719 6338.7344,526.7656 Q6339.2344,526.3438 6339.2344,525.6094 Q6339.2344,525.0469 6338.8906,524.6406 Q6338.5625,524.2188 6337.9375,523.9688 L6336.7344,523.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="67" x="6357.75" y="527.1074">urt_node_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="5605.5" x2="7144.5" y1="538.9531" y2="538.9531"/><ellipse cx="5615.5" cy="549.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="5624.5" y="553.1636">next : urt_node_t*</text><ellipse cx="5615.5" cy="562.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="5624.5" y="565.9683">thread : urt_osThread_t*</text><ellipse cx="5615.5" cy="575.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="5624.5" y="578.7729">setupcallback : urt_nodeSetupCallback_t*</text><ellipse cx="5615.5" cy="588.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117" x="5624.5" y="591.5776">setupparams : void*</text><ellipse cx="5615.5" cy="601.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="221" x="5624.5" y="604.3823">loopcallback : urt_nodeLoopCallback_t*</text><ellipse cx="5615.5" cy="613.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="109" x="5624.5" y="617.187">loopparams : void*</text><ellipse cx="5615.5" cy="626.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="281" x="5624.5" y="629.9917">shutdowncallback : urt_nodeShutdownCallback_t*</text><ellipse cx="5615.5" cy="639.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="5624.5" y="642.7964">shutdownparams : void*</text><ellipse cx="5615.5" cy="652.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="5624.5" y="655.6011">stage : urt_nodestage_t</text><ellipse cx="5615.5" cy="665.1953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="178" x="5624.5" y="668.4058">listener : urt_osEventListener_t</text><ellipse cx="5615.5" cy="694.8047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="88" x="5624.5" y="698.0151">loops : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5605.5" x2="6167" y1="681.4023" y2="681.4023"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="416" x="6167" y="684.7104">URT_CFG_PUBSUB_PROFILING == true || URT_CFG_RPC_PROFILING = true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6583" x2="7144.5" y1="681.4023" y2="681.4023"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="5605.5" x2="7144.5" y1="704.6094" y2="704.6094"/><rect fill="#F24D5C" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="5612.5" y="712.6094"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="179" x="5624.5" y="718.8198">_main : urt_osThreadFunction_t</text><ellipse cx="5615.5" cy="728.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1515" x="5624.5" y="731.6245">urtNodeInit (node : urt_node_t*, thread : urt_osThread_t*, setupcallback : urt_nodeSetupCallback_t*, setupparams : void*, loopcallback : urt_nodeLoopCallback_t*, loopparams : void*, shutdowncallback : urt_nodeShutdownCallback_t*, shutodwnparams : void*) : void</text><!--MD5=[e602aa6d45f270ad04f88c9ca5352b33]
11
class urt_message_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="141.6328" id="urt_message_t" style="stroke: #A80036; stroke-width: 1.5;" width="406" x="941" y="1011.4531"/><ellipse cx="1093.75" cy="1027.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1093.2344,1028.0156 Q1091.375,1027.3125 1090.7188,1026.5469 Q1090.0781,1025.7656 1090.0781,1024.4531 Q1090.0781,1022.7656 1091.1563,1021.7969 Q1092.2344,1020.8281 1094.1094,1020.8281 Q1094.9688,1020.8281 1095.8125,1021.0313 Q1096.6719,1021.2188 1097.5156,1021.6094 L1097.5156,1024 Q1096.7344,1023.4375 1095.9063,1023.1563 Q1095.0938,1022.8594 1094.2969,1022.8594 Q1093.4219,1022.8594 1092.9375,1023.2188 Q1092.4688,1023.5781 1092.4688,1024.2344 Q1092.4688,1024.75 1092.8125,1025.0938 Q1093.1563,1025.4219 1094.25,1025.8281 L1095.3125,1026.2344 Q1096.7969,1026.7813 1097.5,1027.6875 Q1098.2188,1028.5938 1098.2188,1029.9688 Q1098.2188,1031.8438 1097.1094,1032.7656 Q1096,1033.6875 1093.75,1033.6875 Q1092.8281,1033.6875 1091.9063,1033.4688 Q1090.9844,1033.25 1090.125,1032.8281 L1090.125,1030.2969 Q1091.0938,1030.9844 1092.0156,1031.3281 Q1092.9375,1031.6719 1093.8281,1031.6719 Q1094.7344,1031.6719 1095.2344,1031.2656 Q1095.7344,1030.8438 1095.7344,1030.1094 Q1095.7344,1029.5469 1095.3906,1029.1406 Q1095.0625,1028.7188 1094.4375,1028.4688 L1093.2344,1028.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="92" x="1114.25" y="1031.6074">urt_message_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="942" x2="1346" y1="1043.4531" y2="1043.4531"/><ellipse cx="952" cy="1054.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="127" x="961" y="1057.6636">next : urt_message_t*</text><ellipse cx="952" cy="1067.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="961" y="1070.4683">payload : void*</text><ellipse cx="952" cy="1080.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="961" y="1083.2729">originTime : urt_osTime_t</text><ellipse cx="952" cy="1092.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="211" x="961" y="1096.0776">numHrtConsumersLeft : unsigned int</text><ellipse cx="952" cy="1122.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="961" y="1125.687">numConsumersLeft : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="942" x2="1035.5" y1="1109.0742" y2="1109.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1035.5" y="1112.3823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1252.5" x2="1346" y1="1109.0742" y2="1109.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="942" x2="1346" y1="1132.2813" y2="1132.2813"/><ellipse cx="952" cy="1143.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="961" y="1146.4917">urtMessageInit (message : urt_message_t*, payload : void*) : void</text><!--MD5=[2ac85a9c1cceb8bb0c9045edc105e6e3]
12
class urt_publisher_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="196.0469" id="urt_publisher_t" style="stroke: #A80036; stroke-width: 1.5;" width="783" x="24.5" y="524.4531"/><ellipse cx="365.25" cy="540.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M364.7344,541.0156 Q362.875,540.3125 362.2188,539.5469 Q361.5781,538.7656 361.5781,537.4531 Q361.5781,535.7656 362.6563,534.7969 Q363.7344,533.8281 365.6094,533.8281 Q366.4688,533.8281 367.3125,534.0313 Q368.1719,534.2188 369.0156,534.6094 L369.0156,537 Q368.2344,536.4375 367.4063,536.1563 Q366.5938,535.8594 365.7969,535.8594 Q364.9219,535.8594 364.4375,536.2188 Q363.9688,536.5781 363.9688,537.2344 Q363.9688,537.75 364.3125,538.0938 Q364.6563,538.4219 365.75,538.8281 L366.8125,539.2344 Q368.2969,539.7813 369,540.6875 Q369.7188,541.5938 369.7188,542.9688 Q369.7188,544.8438 368.6094,545.7656 Q367.5,546.6875 365.25,546.6875 Q364.3281,546.6875 363.4063,546.4688 Q362.4844,546.25 361.625,545.8281 L361.625,543.2969 Q362.5938,543.9844 363.5156,544.3281 Q364.4375,544.6719 365.3281,544.6719 Q366.2344,544.6719 366.7344,544.2656 Q367.2344,543.8438 367.2344,543.1094 Q367.2344,542.5469 366.8906,542.1406 Q366.5625,541.7188 365.9375,541.4688 L364.7344,541.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="93" x="385.75" y="544.6074">urt_publisher_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="25.5" x2="806.5" y1="556.4531" y2="556.4531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="289" x="30.5" y="570.6636">URT_PUBSUB_PUBLISHER_PUBLISH_TIMEOUT : bool</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="25.5" x2="806.5" y1="577.2578" y2="577.2578"/><ellipse cx="35.5" cy="588.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="44.5" y="591.4683">topic : urt_topic_t*</text><ellipse cx="35.5" cy="617.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="44.5" y="621.0776">publishAttempts : uint64_t</text><ellipse cx="35.5" cy="630.6719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="44.5" y="633.8823">publishFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="25.5" x2="307.5" y1="604.4648" y2="604.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="307.5" y="607.7729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="524.5" x2="806.5" y1="604.4648" y2="604.4648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="25.5" x2="806.5" y1="640.4766" y2="640.4766"/><ellipse cx="35.5" cy="651.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="572" x="44.5" y="654.687">urtPublisherInit (publisher : urt_publisher_t*, topic : urt_topic_t*, messages : urt_message_t*) : void</text><ellipse cx="35.5" cy="681.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="632" x="44.5" y="684.2964">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t) : urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="25.5" x2="262.5" y1="667.6836" y2="667.6836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="307" x="262.5" y="670.9917">URT_PUBSUB_PUBLISHER_PUBLISH_TIMEOUT == false</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="569.5" x2="806.5" y1="667.6836" y2="667.6836"/><ellipse cx="35.5" cy="710.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="757" x="44.5" y="713.9058">urtPublisherPublish (publisher : urt_publisher_t*, payload : void*, bytes : size_t, t : urt_osTime_t, timeout : urt_delay_t) : urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="25.5" x2="265" y1="697.293" y2="697.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="302" x="265" y="700.6011">URT_PUBSUB_PUBLISHER_PUBLISH_TIMEOUT == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="567" x2="806.5" y1="697.293" y2="697.293"/><!--MD5=[a1b1e66ec52c209a9fa2dab315cd7630]
13
class urt_topic_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="260.875" id="urt_topic_t" style="stroke: #A80036; stroke-width: 1.5;" width="603" x="842.5" y="491.9531"/><ellipse cx="1106.75" cy="507.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1106.2344,508.5156 Q1104.375,507.8125 1103.7188,507.0469 Q1103.0781,506.2656 1103.0781,504.9531 Q1103.0781,503.2656 1104.1563,502.2969 Q1105.2344,501.3281 1107.1094,501.3281 Q1107.9688,501.3281 1108.8125,501.5313 Q1109.6719,501.7188 1110.5156,502.1094 L1110.5156,504.5 Q1109.7344,503.9375 1108.9063,503.6563 Q1108.0938,503.3594 1107.2969,503.3594 Q1106.4219,503.3594 1105.9375,503.7188 Q1105.4688,504.0781 1105.4688,504.7344 Q1105.4688,505.25 1105.8125,505.5938 Q1106.1563,505.9219 1107.25,506.3281 L1108.3125,506.7344 Q1109.7969,507.2813 1110.5,508.1875 Q1111.2188,509.0938 1111.2188,510.4688 Q1111.2188,512.3438 1110.1094,513.2656 Q1109,514.1875 1106.75,514.1875 Q1105.8281,514.1875 1104.9063,513.9688 Q1103.9844,513.75 1103.125,513.3281 L1103.125,510.7969 Q1104.0938,511.4844 1105.0156,511.8281 Q1105.9375,512.1719 1106.8281,512.1719 Q1107.7344,512.1719 1108.2344,511.7656 Q1108.7344,511.3438 1108.7344,510.6094 Q1108.7344,510.0469 1108.3906,509.6406 Q1108.0625,509.2188 1107.4375,508.9688 L1106.2344,508.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="66" x="1127.25" y="512.1074">urt_topic_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="843.5" x2="1444.5" y1="523.9531" y2="523.9531"/><ellipse cx="853.5" cy="534.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="862.5" y="538.1636">next : urt_topic_t*</text><ellipse cx="853.5" cy="547.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="862.5" y="550.9683">id : urt_topicid_t</text><ellipse cx="853.5" cy="560.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="862.5" y="563.7729">lock : urt_osMutex_t</text><ellipse cx="853.5" cy="573.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="862.5" y="576.5776">evtSource : urt_osEventSource_t</text><ellipse cx="853.5" cy="586.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="193" x="862.5" y="589.3823">numHrtSubscribers : unsigned int</text><ellipse cx="853.5" cy="598.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="173" x="862.5" y="602.187">hrtReleased : urt_osCondvar_t</text><ellipse cx="853.5" cy="611.7813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="209" x="862.5" y="614.9917">mandatoryMessage : urt_message_t</text><ellipse cx="853.5" cy="624.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="862.5" y="627.7964">latestMessage : urt_message_t*</text><ellipse cx="853.5" cy="654.1953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="862.5" y="657.4058">hrtSubscribers : urt_hrtsubscriber_t*</text><ellipse cx="853.5" cy="667" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="170" x="862.5" y="670.2104">qosRateTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="843.5" x2="1011.5" y1="640.793" y2="640.793"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="1011.5" y="644.1011">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1276.5" x2="1444.5" y1="640.793" y2="640.793"/><ellipse cx="853.5" cy="696.6094" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="862.5" y="699.8198">numMessagesPublished : uint64_t</text><ellipse cx="853.5" cy="709.4141" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="197" x="862.5" y="712.6245">numMessagesDiscarded : uint64_t</text><ellipse cx="853.5" cy="722.2188" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="176" x="862.5" y="725.4292">numSubscribers : unsigned int</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="843.5" x2="1035.5" y1="683.207" y2="683.207"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1035.5" y="686.5151">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1252.5" x2="1444.5" y1="683.207" y2="683.207"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="843.5" x2="1444.5" y1="732.0234" y2="732.0234"/><ellipse cx="853.5" cy="743.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="577" x="862.5" y="746.2339">urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t, mandatoryMessage: urt_message_t*) : urt_status_t</text><!--MD5=[50a042e24f957794dab9ba3ea8701c50]
14
class urt_basesubscriber_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="133.6328" id="urt_basesubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="225" x="2784.5" y="817.4531"/><ellipse cx="2826.95" cy="833.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2826.4344,834.0156 Q2824.575,833.3125 2823.9188,832.5469 Q2823.2781,831.7656 2823.2781,830.4531 Q2823.2781,828.7656 2824.3563,827.7969 Q2825.4344,826.8281 2827.3094,826.8281 Q2828.1688,826.8281 2829.0125,827.0313 Q2829.8719,827.2188 2830.7156,827.6094 L2830.7156,830 Q2829.9344,829.4375 2829.1063,829.1563 Q2828.2938,828.8594 2827.4969,828.8594 Q2826.6219,828.8594 2826.1375,829.2188 Q2825.6688,829.5781 2825.6688,830.2344 Q2825.6688,830.75 2826.0125,831.0938 Q2826.3563,831.4219 2827.45,831.8281 L2828.5125,832.2344 Q2829.9969,832.7813 2830.7,833.6875 Q2831.4188,834.5938 2831.4188,835.9688 Q2831.4188,837.8438 2830.3094,838.7656 Q2829.2,839.6875 2826.95,839.6875 Q2826.0281,839.6875 2825.1063,839.4688 Q2824.1844,839.25 2823.325,838.8281 L2823.325,836.2969 Q2824.2938,836.9844 2825.2156,837.3281 Q2826.1375,837.6719 2827.0281,837.6719 Q2827.9344,837.6719 2828.4344,837.2656 Q2828.9344,836.8438 2828.9344,836.1094 Q2828.9344,835.5469 2828.5906,835.1406 Q2828.2625,834.7188 2827.6375,834.4688 L2826.4344,834.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="132" x="2847.05" y="837.6074">urt_basesubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2785.5" x2="3008.5" y1="849.4531" y2="849.4531"/><ellipse cx="2795.5" cy="860.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104" x="2804.5" y="863.6636">topic : urt_topic_t*</text><ellipse cx="2795.5" cy="873.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="2804.5" y="876.4683">evtListener : urt_osEventListener_t</text><ellipse cx="2795.5" cy="886.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="175" x="2804.5" y="889.2729">lastMessage : urt_message_t*</text><ellipse cx="2795.5" cy="898.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="2804.5" y="902.0776">lastMessageTime : urt_osTime_t</text><ellipse cx="2795.5" cy="928.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="2804.5" y="931.687">sumLatencies : uint64_t</text><ellipse cx="2795.5" cy="941.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="190" x="2804.5" y="944.4917">numMessagesReceived : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2785.5" x2="2788.5" y1="915.0742" y2="915.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="2788.5" y="918.3823">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3005.5" x2="3008.5" y1="915.0742" y2="915.0742"/><!--MD5=[9ff46073dd541e50679ef35e851c67d6]
15
class urt_nrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="154.4375" id="urt_nrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="821" x="1498.5" y="545.4531"/><ellipse cx="1845.25" cy="561.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1844.7344,562.0156 Q1842.875,561.3125 1842.2188,560.5469 Q1841.5781,559.7656 1841.5781,558.4531 Q1841.5781,556.7656 1842.6563,555.7969 Q1843.7344,554.8281 1845.6094,554.8281 Q1846.4688,554.8281 1847.3125,555.0313 Q1848.1719,555.2188 1849.0156,555.6094 L1849.0156,558 Q1848.2344,557.4375 1847.4063,557.1563 Q1846.5938,556.8594 1845.7969,556.8594 Q1844.9219,556.8594 1844.4375,557.2188 Q1843.9688,557.5781 1843.9688,558.2344 Q1843.9688,558.75 1844.3125,559.0938 Q1844.6563,559.4219 1845.75,559.8281 L1846.8125,560.2344 Q1848.2969,560.7813 1849,561.6875 Q1849.7188,562.5938 1849.7188,563.9688 Q1849.7188,565.8438 1848.6094,566.7656 Q1847.5,567.6875 1845.25,567.6875 Q1844.3281,567.6875 1843.4063,567.4688 Q1842.4844,567.25 1841.625,566.8281 L1841.625,564.2969 Q1842.5938,564.9844 1843.5156,565.3281 Q1844.4375,565.6719 1845.3281,565.6719 Q1846.2344,565.6719 1846.7344,565.2656 Q1847.2344,564.8438 1847.2344,564.1094 Q1847.2344,563.5469 1846.8906,563.1406 Q1846.5625,562.7188 1845.9375,562.4688 L1844.7344,562.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="1865.75" y="565.6074">urt_nrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="1499.5" x2="2318.5" y1="577.4531" y2="577.4531"/><ellipse cx="1509.5" cy="605.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="1518.5" y="608.4683">minLatency : urt_delay_t</text><ellipse cx="1509.5" cy="618.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="1518.5" y="621.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="1499.5" x2="1800.5" y1="591.8555" y2="591.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="1800.5" y="595.1636">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2017.5" x2="2318.5" y1="591.8555" y2="591.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1499.5" x2="2318.5" y1="627.8672" y2="627.8672"/><ellipse cx="1509.5" cy="638.8672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="1518.5" y="642.0776">urtNrtSubscriberInit (subscriber : urt_nrtsubscriber_t*) : void</text><ellipse cx="1509.5" cy="651.6719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="715" x="1518.5" y="654.8823">urtNrtSubscriberSubscribe (subscriber : urt_nrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*) : urt_status_t</text><ellipse cx="1509.5" cy="664.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="1518.5" y="667.687">urtNrtSubscriberFetchNextMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1509.5" cy="677.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="1518.5" y="680.4917">urtNrtSubscriberFetchLatestMessage (subscriber : urt_nrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="1509.5" cy="690.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="1518.5" y="693.2964">urtNrtSubscriberUnsubscribe (subscriber : urt_nrtsubscriber_t*) : urt_status_t</text><!--MD5=[5c7929572d87ccc448d875bea5da0fb1]
16
class urt_srtsubscriber_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="192.8516" id="urt_srtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1044" x="4501" y="525.9531"/><ellipse cx="4959.75" cy="541.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M4959.2344,542.5156 Q4957.375,541.8125 4956.7188,541.0469 Q4956.0781,540.2656 4956.0781,538.9531 Q4956.0781,537.2656 4957.1563,536.2969 Q4958.2344,535.3281 4960.1094,535.3281 Q4960.9688,535.3281 4961.8125,535.5313 Q4962.6719,535.7188 4963.5156,536.1094 L4963.5156,538.5 Q4962.7344,537.9375 4961.9063,537.6563 Q4961.0938,537.3594 4960.2969,537.3594 Q4959.4219,537.3594 4958.9375,537.7188 Q4958.4688,538.0781 4958.4688,538.7344 Q4958.4688,539.25 4958.8125,539.5938 Q4959.1563,539.9219 4960.25,540.3281 L4961.3125,540.7344 Q4962.7969,541.2813 4963.5,542.1875 Q4964.2188,543.0938 4964.2188,544.4688 Q4964.2188,546.3438 4963.1094,547.2656 Q4962,548.1875 4959.75,548.1875 Q4958.8281,548.1875 4957.9063,547.9688 Q4956.9844,547.75 4956.125,547.3281 L4956.125,544.7969 Q4957.0938,545.4844 4958.0156,545.8281 Q4958.9375,546.1719 4959.8281,546.1719 Q4960.7344,546.1719 4961.2344,545.7656 Q4961.7344,545.3438 4961.7344,544.6094 Q4961.7344,544.0469 4961.3906,543.6406 Q4961.0625,543.2188 4960.4375,542.9688 L4959.2344,542.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="4980.25" y="546.1074">urt_srtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="4502" x2="5544" y1="557.9531" y2="557.9531"/><ellipse cx="4512" cy="568.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="189" x="4521" y="572.1636">usefulnesscb : urt_usefulness_f*</text><ellipse cx="4512" cy="581.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="98" x="4521" y="584.9683">cbparams : void*</text><ellipse cx="4512" cy="611.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="4521" y="614.5776">minLatency : urt_delay_t</text><ellipse cx="4512" cy="624.1719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="4521" y="627.3823">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4502" x2="4914.5" y1="597.9648" y2="597.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="4914.5" y="601.2729">URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="5131.5" x2="5544" y1="597.9648" y2="597.9648"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="4502" x2="5544" y1="633.9766" y2="633.9766"/><ellipse cx="4512" cy="644.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="4521" y="648.187">urtSrtSubscriberInit (subscriber : urt_srtsubscriber_t*) : void</text><ellipse cx="4512" cy="657.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1018" x="4521" y="660.9917">urtSrtSubscriberSubscribe (subscriber : urt_srtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, usefulnesscb : urt_usefulness_f*, cbparams : void*) : urt_status_t</text><ellipse cx="4512" cy="670.5859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="4521" y="673.7964">urtSrtSubscriberFetchNextMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4512" cy="683.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="4521" y="686.6011">urtSrtSubscriberFetchLatestMessage (subscriber : urt_srtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="4512" cy="696.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="4521" y="699.4058">urtSrtSubscriberCalculateUsefulness (subscriber : urt_srtsubscriber_t*, latency : urt_delay_t) : float</text><ellipse cx="4512" cy="709" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="4521" y="712.2104">urtSrtSubscriberUnsubscribe (subscriber : urt_srtsubscriber_t*) : urt_status_t</text><!--MD5=[17838fb05fe219fd399839979ec8a4a4]
17
class urt_frtsubscriber_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="226.4609" id="urt_frtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="974" x="3492" y="509.4531"/><ellipse cx="3917.25" cy="525.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M3916.7344,526.0156 Q3914.875,525.3125 3914.2188,524.5469 Q3913.5781,523.7656 3913.5781,522.4531 Q3913.5781,520.7656 3914.6563,519.7969 Q3915.7344,518.8281 3917.6094,518.8281 Q3918.4688,518.8281 3919.3125,519.0313 Q3920.1719,519.2188 3921.0156,519.6094 L3921.0156,522 Q3920.2344,521.4375 3919.4063,521.1563 Q3918.5938,520.8594 3917.7969,520.8594 Q3916.9219,520.8594 3916.4375,521.2188 Q3915.9688,521.5781 3915.9688,522.2344 Q3915.9688,522.75 3916.3125,523.0938 Q3916.6563,523.4219 3917.75,523.8281 L3918.8125,524.2344 Q3920.2969,524.7813 3921,525.6875 Q3921.7188,526.5938 3921.7188,527.9688 Q3921.7188,529.8438 3920.6094,530.7656 Q3919.5,531.6875 3917.25,531.6875 Q3916.3281,531.6875 3915.4063,531.4688 Q3914.4844,531.25 3913.625,530.8281 L3913.625,528.2969 Q3914.5938,528.9844 3915.5156,529.3281 Q3916.4375,529.6719 3917.3281,529.6719 Q3918.2344,529.6719 3918.7344,529.2656 Q3919.2344,528.8438 3919.2344,528.1094 Q3919.2344,527.5469 3918.8906,527.1406 Q3918.5625,526.7188 3917.9375,526.4688 L3916.7344,526.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="3937.75" y="529.6074">urt_frtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="3493" x2="4465" y1="541.4531" y2="541.4531"/><ellipse cx="3503" cy="569.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="3512" y="572.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3493" x2="3833.5" y1="555.8555" y2="555.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="3833.5" y="559.1636">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4124.5" x2="4465" y1="555.8555" y2="555.8555"/><ellipse cx="3503" cy="598.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="3512" y="602.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3493" x2="3843.5" y1="585.4648" y2="585.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="3843.5" y="588.7729">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4114.5" x2="4465" y1="585.4648" y2="585.4648"/><ellipse cx="3503" cy="628.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="3512" y="631.687">minLatency : urt_delay_t</text><ellipse cx="3503" cy="641.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="3512" y="644.4917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3493" x2="3725" y1="615.0742" y2="615.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="508" x="3725" y="618.3823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ||  URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="4233" x2="4465" y1="615.0742" y2="615.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="3493" x2="4465" y1="651.0859" y2="651.0859"/><ellipse cx="3503" cy="662.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="342" x="3512" y="665.2964">urtFrtSubscriberInit (subscriber : urt_frtsubscriber_t*) : void</text><ellipse cx="3503" cy="674.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="948" x="3512" y="678.1011">urtFrtSubscriberSubscribe (subscriber : urt_frtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="3503" cy="687.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="780" x="3512" y="690.9058">urtFrtSubscriberFetchNextMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3503" cy="700.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="790" x="3512" y="703.7104">urtFrtSubscriberFetchLatestMessage (subscriber : urt_frtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="3503" cy="713.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="540" x="3512" y="716.5151">urtFrtSubscriberCalculateValidity (subscriber : urt_frtsubscriber_t*, latency : urt_delay_t) : bool</text><ellipse cx="3503" cy="726.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="441" x="3512" y="729.3198">urtFrtSubscriberUnsubscribe (subscriber : urt_frtsubscriber_t*) : urt_status_t</text><!--MD5=[104dc879e5721421b987fcc467bc3a1d]
18
class urt_hrtsubscriber_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="268.875" id="urt_hrtsubscriber_t" style="stroke: #A80036; stroke-width: 1.5;" width="1084" x="2355" y="487.9531"/><ellipse cx="2833.25" cy="503.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M2832.7344,504.5156 Q2830.875,503.8125 2830.2188,503.0469 Q2829.5781,502.2656 2829.5781,500.9531 Q2829.5781,499.2656 2830.6563,498.2969 Q2831.7344,497.3281 2833.6094,497.3281 Q2834.4688,497.3281 2835.3125,497.5313 Q2836.1719,497.7188 2837.0156,498.1094 L2837.0156,500.5 Q2836.2344,499.9375 2835.4063,499.6563 Q2834.5938,499.3594 2833.7969,499.3594 Q2832.9219,499.3594 2832.4375,499.7188 Q2831.9688,500.0781 2831.9688,500.7344 Q2831.9688,501.25 2832.3125,501.5938 Q2832.6563,501.9219 2833.75,502.3281 L2834.8125,502.7344 Q2836.2969,503.2813 2837,504.1875 Q2837.7188,505.0938 2837.7188,506.4688 Q2837.7188,508.3438 2836.6094,509.2656 Q2835.5,510.1875 2833.25,510.1875 Q2832.3281,510.1875 2831.4063,509.9688 Q2830.4844,509.75 2829.625,509.3281 L2829.625,506.7969 Q2830.5938,507.4844 2831.5156,507.8281 Q2832.4375,508.1719 2833.3281,508.1719 Q2834.2344,508.1719 2834.7344,507.7656 Q2835.2344,507.3438 2835.2344,506.6094 Q2835.2344,506.0469 2834.8906,505.6406 Q2834.5625,505.2188 2833.9375,504.9688 L2832.7344,504.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="119" x="2853.75" y="508.1074">urt_hrtsubscriber_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="2356" x2="3438" y1="519.9531" y2="519.9531"/><ellipse cx="2366" cy="530.9531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="151" x="2375" y="534.1636">next : urt_hrtsubscriber_t*</text><ellipse cx="2366" cy="560.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="2375" y="563.7729">deadlineOffset : urt_delay_t</text><ellipse cx="2366" cy="573.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="194" x="2375" y="576.5776">qosDeadlineTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2751.5" y1="547.1602" y2="547.1602"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="2751.5" y="550.4683">URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3042.5" x2="3438" y1="547.1602" y2="547.1602"/><ellipse cx="2366" cy="602.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="2375" y="606.187">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2761.5" y1="589.5742" y2="589.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="271" x="2761.5" y="592.8823">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3032.5" x2="3438" y1="589.5742" y2="589.5742"/><ellipse cx="2366" cy="632.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="2375" y="635.7964">minLatency : urt_delay_t</text><ellipse cx="2366" cy="645.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="2375" y="648.6011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2645" y1="619.1836" y2="619.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="504" x="2645" y="622.4917">URT_CFG_PUBSUB_QOS_JITTERCHECKS == true || URT_CFG_PUBSUB_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3149" x2="3438" y1="619.1836" y2="619.1836"/><ellipse cx="2366" cy="675" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="150" x="2375" y="678.2104">expectedRate : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="2356" x2="2764.5" y1="661.5977" y2="661.5977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="265" x="2764.5" y="664.9058">URT_CFG_PUBSUB_QOS_RATECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="3029.5" x2="3438" y1="661.5977" y2="661.5977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="2356" x2="3438" y1="684.8047" y2="684.8047"/><ellipse cx="2366" cy="695.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="347" x="2375" y="699.0151">urtHrtSubscriberInit (subscriber : urt_hrtsubscriber_t*) : void</text><ellipse cx="2366" cy="708.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="1058" x="2375" y="711.8198">urtHrtSubscriberSubscribe (subscriber : urt_hrtsubscriber_t*, topic : urt_topic_t*, messages : urt_message_t*, deadline : urt_delay_t, rate : urt_delay_t, jitter : urt_delay_t) : urt_status_t</text><ellipse cx="2366" cy="721.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="785" x="2375" y="724.6245">urtHrtSubscriberFetchNextMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2366" cy="734.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="795" x="2375" y="737.4292">urtHrtSubscriberFetchLatestMessage (subscriber : urt_hrtsubscriber_t*, payload : void*, bytes : size_t, latency : urt_delay_t*) : urt_status_t</text><ellipse cx="2366" cy="747.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="446" x="2375" y="750.2339">urtHrtSubscriberUnsubscribe (subscriber : urt_hrtsubscriber_t*) : urt_status_t</text><!--MD5=[e60e0f8379a14e7a4a292c65add9d735]
19
class urt_service_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="269.6797" id="urt_service_t" style="stroke: #A80036; stroke-width: 1.5;" width="596" x="7259" y="487.4531"/><ellipse cx="7513.25" cy="503.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M7512.7344,504.0156 Q7510.875,503.3125 7510.2188,502.5469 Q7509.5781,501.7656 7509.5781,500.4531 Q7509.5781,498.7656 7510.6563,497.7969 Q7511.7344,496.8281 7513.6094,496.8281 Q7514.4688,496.8281 7515.3125,497.0313 Q7516.1719,497.2188 7517.0156,497.6094 L7517.0156,500 Q7516.2344,499.4375 7515.4063,499.1563 Q7514.5938,498.8594 7513.7969,498.8594 Q7512.9219,498.8594 7512.4375,499.2188 Q7511.9688,499.5781 7511.9688,500.2344 Q7511.9688,500.75 7512.3125,501.0938 Q7512.6563,501.4219 7513.75,501.8281 L7514.8125,502.2344 Q7516.2969,502.7813 7517,503.6875 Q7517.7188,504.5938 7517.7188,505.9688 Q7517.7188,507.8438 7516.6094,508.7656 Q7515.5,509.6875 7513.25,509.6875 Q7512.3281,509.6875 7511.4063,509.4688 Q7510.4844,509.25 7509.625,508.8281 L7509.625,506.2969 Q7510.5938,506.9844 7511.5156,507.3281 Q7512.4375,507.6719 7513.3281,507.6719 Q7514.2344,507.6719 7514.7344,507.2656 Q7515.2344,506.8438 7515.2344,506.1094 Q7515.2344,505.5469 7514.8906,505.1406 Q7514.5625,504.7188 7513.9375,504.4688 L7512.7344,504.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="7533.75" y="507.6074">urt_service_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7260" x2="7854" y1="519.4531" y2="519.4531"/><ellipse cx="7270" cy="530.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="115" x="7279" y="533.6636">next : urt_service_t*</text><ellipse cx="7270" cy="543.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="105" x="7279" y="546.4683">id : urt_serviceid_t</text><ellipse cx="7270" cy="556.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="7279" y="559.2729">lock : urt_osMutex_t</text><ellipse cx="7270" cy="568.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="236" x="7279" y="572.0776">requestQueue_front : urt_baserequest_t*</text><ellipse cx="7270" cy="581.6719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="240" x="7279" y="584.8823">requestQueue_hrtBack : urt_hrtrequest_t*</text><ellipse cx="7270" cy="594.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="256" x="7279" y="597.687">requestQueue_fsrtBack : urt_baserequest_t*</text><ellipse cx="7270" cy="607.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="235" x="7279" y="610.4917">requestQueue_back : urt_baserequest_t*</text><ellipse cx="7270" cy="620.0859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="7279" y="623.2964">evtSource : urt_osEventSource_t</text><ellipse cx="7270" cy="632.8906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="7279" y="636.1011">evtListener : urt_osEventListener_t</text><ellipse cx="7270" cy="662.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="7279" y="665.7104">numCalls : uint64_t</text><ellipse cx="7270" cy="675.3047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="167" x="7279" y="678.5151">numOwnershipLost : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7260" x2="7461" y1="649.0977" y2="649.0977"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="7461" y="652.4058">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7653" x2="7854" y1="649.0977" y2="649.0977"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7260" x2="7854" y1="685.1094" y2="685.1094"/><ellipse cx="7270" cy="696.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="412" x="7279" y="699.3198">urtServiceInit (service : urt_service_t*, id : urt_serviceid_t) : urt_status_t</text><ellipse cx="7270" cy="708.9141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="549" x="7279" y="712.1245">urtServiceDispatch (service : urt_service_t*, payload : void*, bytes : size_t) : urt_baserequest_t*</text><ellipse cx="7270" cy="721.7188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="552" x="7279" y="724.9292">urtServiceAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="7270" cy="734.5234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="570" x="7279" y="737.7339">urtServiceTryAcquireRequest (service* urt_serviceid_t*, request : urt_baserequest_t*) : urt_status_t</text><ellipse cx="7270" cy="747.3281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="365" x="7279" y="750.5386">urtServiceRespond (request : urt_baserequest_t*) : urt_status_t</text><!--MD5=[7294e1cfaeb111bef046bc5d07a96458]
20
class urt_baserequest_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="197.6563" id="urt_baserequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="224" x="8739" y="523.4531"/><ellipse cx="8789.25" cy="539.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8788.7344,540.0156 Q8786.875,539.3125 8786.2188,538.5469 Q8785.5781,537.7656 8785.5781,536.4531 Q8785.5781,534.7656 8786.6563,533.7969 Q8787.7344,532.8281 8789.6094,532.8281 Q8790.4688,532.8281 8791.3125,533.0313 Q8792.1719,533.2188 8793.0156,533.6094 L8793.0156,536 Q8792.2344,535.4375 8791.4063,535.1563 Q8790.5938,534.8594 8789.7969,534.8594 Q8788.9219,534.8594 8788.4375,535.2188 Q8787.9688,535.5781 8787.9688,536.2344 Q8787.9688,536.75 8788.3125,537.0938 Q8788.6563,537.4219 8789.75,537.8281 L8790.8125,538.2344 Q8792.2969,538.7813 8793,539.6875 Q8793.7188,540.5938 8793.7188,541.9688 Q8793.7188,543.8438 8792.6094,544.7656 Q8791.5,545.6875 8789.25,545.6875 Q8788.3281,545.6875 8787.4063,545.4688 Q8786.4844,545.25 8785.625,544.8281 L8785.625,542.2969 Q8786.5938,542.9844 8787.5156,543.3281 Q8788.4375,543.6719 8789.3281,543.6719 Q8790.2344,543.6719 8790.7344,543.2656 Q8791.2344,542.8438 8791.2344,542.1094 Q8791.2344,541.5469 8790.8906,541.1406 Q8790.5625,540.7188 8789.9375,540.4688 L8788.7344,540.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="115" x="8809.75" y="543.6074">urt_baserequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8740" x2="8962" y1="555.4531" y2="555.4531"/><ellipse cx="8750" cy="566.4531" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="147" x="8759" y="569.6636">prev : urt_baserequest_t*</text><ellipse cx="8750" cy="579.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="146" x="8759" y="582.4683">next : urt_baserequest_t*</text><ellipse cx="8750" cy="592.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="113" x="8759" y="595.2729">lock : urt_osMutex_t</text><ellipse cx="8750" cy="604.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="126" x="8759" y="608.0776">owner : urt_service_t*</text><ellipse cx="8750" cy="617.6719" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="180" x="8759" y="620.8823">submissionTime : urt_osTime_t</text><ellipse cx="8750" cy="630.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="85" x="8759" y="633.687">payload : void*</text><ellipse cx="8750" cy="643.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="186" x="8759" y="646.4917">evtSource : urt_osEventSource_t</text><ellipse cx="8750" cy="656.0859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="198" x="8759" y="659.2964">evtListener : urt_osEventListener_t</text><ellipse cx="8750" cy="685.6953" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="136" x="8759" y="688.9058">sumLatencies : uint64_t</text><ellipse cx="8750" cy="698.5" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="110" x="8759" y="701.7104">numCalls : uint64_t</text><ellipse cx="8750" cy="711.3047" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="8759" y="714.5151">numFails : uint64_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8740" x2="8755" y1="672.293" y2="672.293"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="8755" y="675.6011">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8947" x2="8962" y1="672.293" y2="672.293"/><!--MD5=[65269c71e9a2a076bc4014c9b128c9e6]
21
class urt_nrtrequest_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="167.2422" id="urt_nrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="531" x="8585.5" y="145.4531"/><ellipse cx="8795.75" cy="161.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8795.2344,162.0156 Q8793.375,161.3125 8792.7188,160.5469 Q8792.0781,159.7656 8792.0781,158.4531 Q8792.0781,156.7656 8793.1563,155.7969 Q8794.2344,154.8281 8796.1094,154.8281 Q8796.9688,154.8281 8797.8125,155.0313 Q8798.6719,155.2188 8799.5156,155.6094 L8799.5156,158 Q8798.7344,157.4375 8797.9063,157.1563 Q8797.0938,156.8594 8796.2969,156.8594 Q8795.4219,156.8594 8794.9375,157.2188 Q8794.4688,157.5781 8794.4688,158.2344 Q8794.4688,158.75 8794.8125,159.0938 Q8795.1563,159.4219 8796.25,159.8281 L8797.3125,160.2344 Q8798.7969,160.7813 8799.5,161.6875 Q8800.2188,162.5938 8800.2188,163.9688 Q8800.2188,165.8438 8799.1094,166.7656 Q8798,167.6875 8795.75,167.6875 Q8794.8281,167.6875 8793.9063,167.4688 Q8792.9844,167.25 8792.125,166.8281 L8792.125,164.2969 Q8793.0938,164.9844 8794.0156,165.3281 Q8794.9375,165.6719 8795.8281,165.6719 Q8796.7344,165.6719 8797.2344,165.2656 Q8797.7344,164.8438 8797.7344,164.1094 Q8797.7344,163.5469 8797.3906,163.1406 Q8797.0625,162.7188 8796.4375,162.4688 L8795.2344,162.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="8816.25" y="165.6074">urt_nrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="8586.5" x2="9115.5" y1="177.4531" y2="177.4531"/><ellipse cx="8596.5" cy="205.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="8605.5" y="208.4683">minLatency : urt_delay_t</text><ellipse cx="8596.5" cy="218.0625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="8605.5" y="221.2729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8586.5" x2="8755" y1="191.8555" y2="191.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="8755" y="195.1636">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8947" x2="9115.5" y1="191.8555" y2="191.8555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="8586.5" x2="9115.5" y1="227.8672" y2="227.8672"/><ellipse cx="8596.5" cy="238.8672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="8605.5" y="242.0776">urtNrtRequestInit (request : urt_nrtrequest_t*) : void</text><ellipse cx="8596.5" cy="251.6719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="8605.5" y="254.8823">urtNrtRequestAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8596.5" cy="264.4766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="8605.5" y="267.687">urtNrtRequestTryAcquire (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8596.5" cy="277.2813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="8605.5" y="280.4917">urtNrtRequestRelease (request : urt_nrtrequest_t*) : urt_status_t</text><ellipse cx="8596.5" cy="290.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="505" x="8605.5" y="293.2964">urtNrtRequestSubmit (request : urt_nrtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="8596.5" cy="302.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="8605.5" y="306.1011">urtNrtRequestRetrieve (request : urt_nrtrequest_t*) : urt_status_t</text><!--MD5=[e9d515ad43a4cecec056dd09bc14a3c2]
22
class urt_srtrequest_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="180.0469" id="urt_srtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="675" x="9843.5" y="138.9531"/><ellipse cx="10126.25" cy="154.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M10125.7344,155.5156 Q10123.875,154.8125 10123.2188,154.0469 Q10122.5781,153.2656 10122.5781,151.9531 Q10122.5781,150.2656 10123.6563,149.2969 Q10124.7344,148.3281 10126.6094,148.3281 Q10127.4688,148.3281 10128.3125,148.5313 Q10129.1719,148.7188 10130.0156,149.1094 L10130.0156,151.5 Q10129.2344,150.9375 10128.4063,150.6563 Q10127.5938,150.3594 10126.7969,150.3594 Q10125.9219,150.3594 10125.4375,150.7188 Q10124.9688,151.0781 10124.9688,151.7344 Q10124.9688,152.25 10125.3125,152.5938 Q10125.6563,152.9219 10126.75,153.3281 L10127.8125,153.7344 Q10129.2969,154.2813 10130,155.1875 Q10130.7188,156.0938 10130.7188,157.4688 Q10130.7188,159.3438 10129.6094,160.2656 Q10128.5,161.1875 10126.25,161.1875 Q10125.3281,161.1875 10124.4063,160.9688 Q10123.4844,160.75 10122.625,160.3281 L10122.625,157.7969 Q10123.5938,158.4844 10124.5156,158.8281 Q10125.4375,159.1719 10126.3281,159.1719 Q10127.2344,159.1719 10127.7344,158.7656 Q10128.2344,158.3438 10128.2344,157.6094 Q10128.2344,157.0469 10127.8906,156.6406 Q10127.5625,156.2188 10126.9375,155.9688 L10125.7344,155.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="101" x="10146.75" y="159.1074">urt_srtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9844.5" x2="10517.5" y1="170.9531" y2="170.9531"/><ellipse cx="9854.5" cy="198.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="9863.5" y="201.9683">minLatency : urt_delay_t</text><ellipse cx="9854.5" cy="211.5625" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="9863.5" y="214.7729">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9844.5" x2="10085" y1="185.3555" y2="185.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="10085" y="188.6636">URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="10277" x2="10517.5" y1="185.3555" y2="185.3555"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9844.5" x2="10517.5" y1="221.3672" y2="221.3672"/><ellipse cx="9854.5" cy="232.3672" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="9863.5" y="235.5776">urtSrtRequestInit (request : urt_srtrequest_t*) : void</text><ellipse cx="9854.5" cy="245.1719" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="9863.5" y="248.3823">urtSrtRequestAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="257.9766" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="9863.5" y="261.187">urtSrtRequestTryAcquire (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="270.7813" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="9863.5" y="273.9917">urtSrtRequestRelease (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="283.5859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="505" x="9863.5" y="286.7964">urtSrtRequestSubmit (request : urt_srtrequest_t*, service : urt_service_t*) : urt_status_t</text><ellipse cx="9854.5" cy="296.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="9863.5" y="299.6011">urtSrtRequestRetrieve (request : urt_srtrequest_t*) : urt_status_t</text><ellipse cx="9854.5" cy="309.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="649" x="9863.5" y="312.4058">urtSrtCalculateUsefulness (request : urt_srtrequest_t*, usefulnesscb : urt_usefulness_f, cbparams : void*) : float</text><!--MD5=[240977dbca9212fa5365c87da90aa051]
23
class urt_frtrequest_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="268.875" id="urt_frtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="656" x="9152" y="94.4531"/><ellipse cx="9426.75" cy="110.4531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M9426.2344,111.0156 Q9424.375,110.3125 9423.7188,109.5469 Q9423.0781,108.7656 9423.0781,107.4531 Q9423.0781,105.7656 9424.1563,104.7969 Q9425.2344,103.8281 9427.1094,103.8281 Q9427.9688,103.8281 9428.8125,104.0313 Q9429.6719,104.2188 9430.5156,104.6094 L9430.5156,107 Q9429.7344,106.4375 9428.9063,106.1563 Q9428.0938,105.8594 9427.2969,105.8594 Q9426.4219,105.8594 9425.9375,106.2188 Q9425.4688,106.5781 9425.4688,107.2344 Q9425.4688,107.75 9425.8125,108.0938 Q9426.1563,108.4219 9427.25,108.8281 L9428.3125,109.2344 Q9429.7969,109.7813 9430.5,110.6875 Q9431.2188,111.5938 9431.2188,112.9688 Q9431.2188,114.8438 9430.1094,115.7656 Q9429,116.6875 9426.75,116.6875 Q9425.8281,116.6875 9424.9063,116.4688 Q9423.9844,116.25 9423.125,115.8281 L9423.125,113.2969 Q9424.0938,113.9844 9425.0156,114.3281 Q9425.9375,114.6719 9426.8281,114.6719 Q9427.7344,114.6719 9428.2344,114.2656 Q9428.7344,113.8438 9428.7344,113.1094 Q9428.7344,112.5469 9428.3906,112.1406 Q9428.0625,111.7188 9427.4375,111.4688 L9426.2344,111.0156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="98" x="9447.25" y="114.6074">urt_frtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="9153" x2="9807" y1="126.4531" y2="126.4531"/><ellipse cx="9163" cy="154.2578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="9172" y="157.4683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9347" y1="140.8555" y2="140.8555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="9347" y="144.1636">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9613" x2="9807" y1="140.8555" y2="140.8555"/><ellipse cx="9163" cy="183.8672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="9172" y="187.0776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9357" y1="170.4648" y2="170.4648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="9357" y="173.7729">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9603" x2="9807" y1="170.4648" y2="170.4648"/><ellipse cx="9163" cy="213.4766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="9172" y="216.687">minLatency : urt_delay_t</text><ellipse cx="9163" cy="226.2813" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="9172" y="229.4917">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9253" y1="200.0742" y2="200.0742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="9253" y="203.3823">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9707" x2="9807" y1="200.0742" y2="200.0742"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="9153" x2="9807" y1="236.0859" y2="236.0859"/><ellipse cx="9163" cy="247.0859" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="292" x="9172" y="250.2964">urtFrtRequestInit (request : urt_frtrequest_t*) : void</text><ellipse cx="9163" cy="259.8906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="362" x="9172" y="263.1011">urtFrtRequestAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="272.6953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="380" x="9172" y="275.9058">urtFrtRequestTryAcquire (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="285.5" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="365" x="9172" y="288.7104">urtFrtRequestRelease (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="298.3047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="630" x="9172" y="301.5151">urtFrtRequestSubmit (request : urt_frtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="9163" cy="311.1094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="366" x="9172" y="314.3198">urtFrtRequestRetrieve (request : urt_frtrequest_t*) : urt_status_t</text><ellipse cx="9163" cy="323.9141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="318" x="9172" y="327.1245">urtDrtCalculateValidity (request : urt_frtrequest_t) : bool</text><ellipse cx="9163" cy="353.5234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="423" x="9172" y="356.7339">urtFrtRequestGetMaxJitter (request : urt_frtrequest_t*) : urt_delay_t* const</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9153" x2="9357" y1="340.1211" y2="340.1211"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="9357" y="343.4292">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="9603" x2="9807" y1="340.1211" y2="340.1211"/><!--MD5=[2b0c3d572fefe037473ca776bdd2f803]
24
class urt_hrtrequest_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="285.6797" id="urt_hrtrequest_t" style="stroke: #A80036; stroke-width: 1.5;" width="661" x="7889.5" y="85.9531"/><ellipse cx="8164.75" cy="101.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M8164.2344,102.5156 Q8162.375,101.8125 8161.7188,101.0469 Q8161.0781,100.2656 8161.0781,98.9531 Q8161.0781,97.2656 8162.1563,96.2969 Q8163.2344,95.3281 8165.1094,95.3281 Q8165.9688,95.3281 8166.8125,95.5313 Q8167.6719,95.7188 8168.5156,96.1094 L8168.5156,98.5 Q8167.7344,97.9375 8166.9063,97.6563 Q8166.0938,97.3594 8165.2969,97.3594 Q8164.4219,97.3594 8163.9375,97.7188 Q8163.4688,98.0781 8163.4688,98.7344 Q8163.4688,99.25 8163.8125,99.5938 Q8164.1563,99.9219 8165.25,100.3281 L8166.3125,100.7344 Q8167.7969,101.2813 8168.5,102.1875 Q8169.2188,103.0938 8169.2188,104.4688 Q8169.2188,106.3438 8168.1094,107.2656 Q8167,108.1875 8164.75,108.1875 Q8163.8281,108.1875 8162.9063,107.9688 Q8161.9844,107.75 8161.125,107.3281 L8161.125,104.7969 Q8162.0938,105.4844 8163.0156,105.8281 Q8163.9375,106.1719 8164.8281,106.1719 Q8165.7344,106.1719 8166.2344,105.7656 Q8166.7344,105.3438 8166.7344,104.6094 Q8166.7344,104.0469 8166.3906,103.6406 Q8166.0625,103.2188 8165.4375,102.9688 L8164.2344,102.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="102" x="8185.25" y="106.1074">urt_hrtrequest_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="7890.5" x2="8549.5" y1="117.9531" y2="117.9531"/><ellipse cx="7900.5" cy="145.7578" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="157" x="7909.5" y="148.9683">deadlineOffset : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="8087" y1="132.3555" y2="132.3555"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="266" x="8087" y="135.6636">URT_CFG_RPC_QOS_DEADLINECHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8353" x2="8549.5" y1="132.3555" y2="132.3555"/><ellipse cx="7900.5" cy="175.3672" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="124" x="7909.5" y="178.5776">maxJitter : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="8097" y1="161.9648" y2="161.9648"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="8097" y="165.2729">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8343" x2="8549.5" y1="161.9648" y2="161.9648"/><ellipse cx="7900.5" cy="204.9766" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="7909.5" y="208.187">qosTimer : urt_osTimer_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="7956" y1="191.5742" y2="191.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="528" x="7956" y="194.8823">URT_CFG_RPC_QOS_DEADLINECHECKS == true || URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8484" x2="8549.5" y1="191.5742" y2="191.5742"/><ellipse cx="7900.5" cy="234.5859" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="138" x="7909.5" y="237.7964">minLatency : urt_delay_t</text><ellipse cx="7900.5" cy="247.3906" fill="none" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="141" x="7909.5" y="250.6011">maxLatency : urt_delay_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="7993" y1="221.1836" y2="221.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="454" x="7993" y="224.4917">URT_CFG_RPC_QOS_JITTERCHECKS == true || URT_CFG_RPC_PROFILING == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8447" x2="8549.5" y1="221.1836" y2="221.1836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="7890.5" x2="8549.5" y1="257.1953" y2="257.1953"/><ellipse cx="7900.5" cy="268.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="297" x="7909.5" y="271.4058">urtHrtRequestInit (request : urt_hrtrequest_t*) : void</text><ellipse cx="7900.5" cy="281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="367" x="7909.5" y="284.2104">urtHrtRequestAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="293.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="385" x="7909.5" y="297.0151">urtHrtRequestTryAcquire (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="306.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="370" x="7909.5" y="309.8198">urtHrtRequestRelease (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="319.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="635" x="7909.5" y="322.6245">urtHrtRequestSubmit (request : urt_hrtrequest_t*, service : urt_service_t*, deadline : urt_delay_t) : urt_status_t</text><ellipse cx="7900.5" cy="332.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="371" x="7909.5" y="335.4292">urtHrtRequestRetrieve (request : urt_hrtrequest_t*) : urt_status_t</text><ellipse cx="7900.5" cy="361.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="428" x="7909.5" y="365.0386">urtHrtRequestGetMaxJitter (request : urt_hrtrequest_t*) : urt_delay_t* const</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="7890.5" x2="8097" y1="348.4258" y2="348.4258"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="246" x="8097" y="351.7339">URT_CFG_RPC_QOS_JITTERCHECKS == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="8343" x2="8549.5" y1="348.4258" y2="348.4258"/><!--MD5=[89d25e87afdd75480e1ec2bd05524873]
25
class urt_core_t--><rect fill="#FEFECE" filter="url(#f8hvu1te2b9r)" height="384.1172" id="urt_core_t" style="stroke: #A80036; stroke-width: 1.5;" width="371" x="6189.5" y="36.9531"/><ellipse cx="6339.25" cy="52.9531" fill="#BFAFFF" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M6338.7344,53.5156 Q6336.875,52.8125 6336.2188,52.0469 Q6335.5781,51.2656 6335.5781,49.9531 Q6335.5781,48.2656 6336.6563,47.2969 Q6337.7344,46.3281 6339.6094,46.3281 Q6340.4688,46.3281 6341.3125,46.5313 Q6342.1719,46.7188 6343.0156,47.1094 L6343.0156,49.5 Q6342.2344,48.9375 6341.4063,48.6563 Q6340.5938,48.3594 6339.7969,48.3594 Q6338.9219,48.3594 6338.4375,48.7188 Q6337.9688,49.0781 6337.9688,49.7344 Q6337.9688,50.25 6338.3125,50.5938 Q6338.6563,50.9219 6339.75,51.3281 L6340.8125,51.7344 Q6342.2969,52.2813 6343,53.1875 Q6343.7188,54.0938 6343.7188,55.4688 Q6343.7188,57.3438 6342.6094,58.2656 Q6341.5,59.1875 6339.25,59.1875 Q6338.3281,59.1875 6337.4063,58.9688 Q6336.4844,58.75 6335.625,58.3281 L6335.625,55.7969 Q6336.5938,56.4844 6337.5156,56.8281 Q6338.4375,57.1719 6339.3281,57.1719 Q6340.2344,57.1719 6340.7344,56.7656 Q6341.2344,56.3438 6341.2344,55.6094 Q6341.2344,55.0469 6340.8906,54.6406 Q6340.5625,54.2188 6339.9375,53.9688 L6338.7344,53.5156 Z "/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="63" x="6359.75" y="57.1074">urt_core_t</text><line style="stroke: #A80036; stroke-width: 1.5;" x1="6190.5" x2="6559.5" y1="68.9531" y2="68.9531"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="76.9531"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6209.5" y="83.1636">_nodes : urt_node_t*</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="89.7578"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="192" x="6209.5" y="95.9683">_evtSource : urt_osEventSource_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="102.5625"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="119" x="6209.5" y="108.7729">_lock : urt_osMutex_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="115.3672"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="122" x="6209.5" y="121.5776">_status : urt_status_t</text><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="144.9766"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="117" x="6209.5" y="151.187">_topics : urt_topic_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6270" y1="134.5742" y2="134.5742"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6270" y="137.8823">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6480" x2="6559.5" y1="134.5742" y2="134.5742"/><rect fill="none" height="6" style="stroke: #C82930; stroke-width: 1.0;" width="6" x="6197.5" y="174.5859"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" text-decoration="underline" textLength="145" x="6209.5" y="180.7964">_services : urt_service_t*</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6282.5" y1="164.1836" y2="164.1836"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6282.5" y="167.4917">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6467.5" x2="6559.5" y1="164.1836" y2="164.1836"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="6190.5" x2="6559.5" y1="187.3906" y2="187.3906"/><ellipse cx="6200.5" cy="198.3906" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="130" x="6209.5" y="201.6011">urtCoreInit (void) : void</text><ellipse cx="6200.5" cy="211.1953" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="215" x="6209.5" y="214.4058">urtCoreGetStatus (void) : urt_status_t</text><ellipse cx="6200.5" cy="224" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="276" x="6209.5" y="227.2104">urtCoreGetEventMask (void) : urt_osEventMask_t</text><ellipse cx="6200.5" cy="236.8047" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="290" x="6209.5" y="240.0151">urtCoreGetEvtSource (void) : urt_osEventSource_t*</text><ellipse cx="6200.5" cy="249.6094" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="177" x="6209.5" y="252.8198">urtCoreStartNodes (void) : void</text><ellipse cx="6200.5" cy="262.4141" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="345" x="6209.5" y="265.6245">urtCoreSynchronizeNodes (node : urt_node_t*) : urt_status_t</text><ellipse cx="6200.5" cy="275.2188" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="317" x="6209.5" y="278.4292">urtCoreStopNodes (reason : urt_status_t) : urt_status_t</text><ellipse cx="6200.5" cy="288.0234" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="304" x="6209.5" y="291.2339">urtCoreGetEventSource (void) : urt_osEventSource_t*</text><ellipse cx="6200.5" cy="300.8281" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="228" x="6209.5" y="304.0386">urtCoreGetMutex (void) : urt_osMutex_t*</text><ellipse cx="6200.5" cy="313.6328" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="212" x="6209.5" y="316.8433">urtCoreGetNodes (void) : urt_node_t*</text><ellipse cx="6200.5" cy="326.4375" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="291" x="6209.5" y="329.6479">urtCoreAddNode (node : urt_node_t*) : urt_status_t</text><ellipse cx="6200.5" cy="356.0469" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="273" x="6209.5" y="359.2573">urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*</text><ellipse cx="6200.5" cy="368.8516" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="290" x="6209.5" y="372.062">urtCoreAddTopic (topic : urt_topic_t*) : urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6270" y1="342.6445" y2="342.6445"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="6270" y="345.9526">URT_CFG_PUBSUB_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6480" x2="6559.5" y1="342.6445" y2="342.6445"/><ellipse cx="6200.5" cy="398.4609" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="313" x="6209.5" y="401.6714">urtCoreGetService (id : urt_serviceid_t) : urt_service_t*</text><ellipse cx="6200.5" cy="411.2656" fill="#84BE84" rx="3" ry="3" style="stroke: #038048; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="330" x="6209.5" y="414.4761">urtCoreAddService (service : urt_service_t*) : urt_status_t</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6190.5" x2="6282.5" y1="385.0586" y2="385.0586"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="6282.5" y="388.3667">URT_CFG_RPC_ENABLED == true</text><line style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 1.0,2.0;" x1="6467.5" x2="6559.5" y1="385.0586" y2="385.0586"/><!--MD5=[182342162f0b9b45ddce11acc6582c59]
26 26
reverse link urt_node_t to urt_node_t--><path d="M7157.9212,601.3785 C7172.4841,607.4256 7180.5,614.4505 7180.5,622.4531 C7180.5,632.4956 7167.8767,640.9983 7145.5332,647.9614 " fill="none" id="urt_node_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7145.5332,596.9448,7149.8344,602.7327,7156.8314,600.9885,7152.5302,595.2006,7145.5332,596.9448" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7154.0047" y="593.65">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7154.0703" y="645.2246">0,1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
27 27
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M6098.6717,743.6213 C6009.6061,784.438 5919.4142,826.5348 5862.8397,853.9419 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6110.6583,738.1328,6103.5377,736.9939,6099.7477,743.1288,6106.8683,744.2676,6110.6583,738.1328" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6084.6291" y="758.4714">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="5853.3046" y="842.7298">0,1</text><!--MD5=[55d7f7c946c3356baf68288566af1bf6]
28 28
reverse link urt_node_t to urt_nodeSetupCallback_t--><path d="M6132.1611,740.251 C6041.4884,782.1073 5945.0101,825.7798 5880.4215,853.9419 " fill="none" id="urt_node_t&lt;-urt_nodeSetupCallback_t-1" style="stroke: #A80036; stroke-width: 1.0; stroke-dasharray: 7.0,7.0;"/><polygon fill="#A80036" points="6136.7481,738.1328,6126.9003,738.2746,6132.2087,740.2291,6130.2543,745.5376,6136.7481,738.1328" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b913f036db99e36b937989146817bd94]
......
57 57
reverse link urt_service_t to urt_service_t--><path d="M7867.2443,591.6615 C7881.5974,599.4463 7890,609.7101 7890,622.4531 C7890,638.4443 7876.7678,650.5314 7855.1491,658.7144 " fill="none" id="urt_service_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="7855.1491,586.1918,7858.9678,592.3088,7866.083,591.1365,7862.2643,585.0195,7855.1491,586.1918" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="7863.1749" y="582.1023">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7863.3343" y="656.5513">0,1</text><!--MD5=[694e7400eb99f74d44ea388aed89d199]
58 58
reverse link urt_core_t to urt_node_t--><path d="M6375,434.1243 C6375,459.0302 6375,483.7558 6375,506.7009 " fill="none" id="urt_core_t&lt;-urt_node_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6375,421.0921,6371,427.0921,6375,433.0921,6379,427.0921,6375,421.0921" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6366.8438" y="440.9577">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="6354.3594" y="495.8677">0,1</text><!--MD5=[250695c91040478b50550bc37a8775c7]
59 59
reverse link urt_core_t to urt_topic_t--><path d="M6176.3152,231.5223 C5316.4701,243.3923 1938.7273,298.0227 1483,428.9531 C1433.0111,443.3149 1382.5257,466.4576 1336.3347,491.8251 " fill="none" id="urt_core_t&lt;-urt_topic_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6189.4071,231.3422,6183.3526,227.4252,6177.4082,231.5075,6183.4627,235.4245,6189.4071,231.3422" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6173.4086" y="228.1938">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="1326.8759" y="480.9139">0,1</text><!--MD5=[8d0a227ec56585cdbc167f8316b34b64]
60
reverse link urt_core_t to urt_service_t--><path d="M6573.8327,254.669 C6755.3267,282.682 7028.4077,336.3695 7251,428.9531 C7289.3034,444.8848 7328.1956,465.4631 7364.8271,487.2332 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6560.9254,252.6962,6566.2522,257.5568,6572.7876,254.5093,6567.4609,249.6487,6560.9254,252.6962" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6568.3444" y="250.3979">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7333.7708" y="476.5075">0,1</text><!--MD5=[575c198f0faf2a90dc62729c0a2144e0]
60
reverse link urt_core_t to urt_service_t--><path d="M6573.8327,254.669 C6755.3267,282.682 7028.4077,336.3695 7251,428.9531 C7289.3034,444.8848 7328.1956,465.4631 7364.8271,487.2332 " fill="none" id="urt_core_t&lt;-urt_service_t" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#FFFFFF" points="6560.9254,252.6962,6566.2522,257.5568,6572.7876,254.5093,6567.4609,249.6487,6560.9254,252.6962" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="8" x="6568.3444" y="250.3979">1</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="20" x="7333.7708" y="476.5075">0,1</text><!--MD5=[4dde9b360547cc20dc0cf34d08163f8e]
61 61
@startuml
62 62

  
63 63
title **µRtWare**
......
105 105
  + {method} urtCoreGetMutex (void) : urt_osMutex_t*
106 106
  + {method} urtCoreGetNodes (void) : urt_node_t*
107 107
    'Retrieve node of the core.
108
  + {method} urtCoreAddNode (node : urt_node_t*) : void
108
  + {method} urtCoreAddNode (node : urt_node_t*) : urt_status_t
109 109
    'Prepend node to core's list of nodes..
110 110
  .. URT_CFG_PUBSUB_ENABLED == true ..
111 111
    'Retrieves a topic given an identifier.
112 112
  + {method} urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*
113 113
    'Append topic to core's list of topics.
114
  + {method} urtCoreAddTopic (topic : urt_topic_t*) : void
114
  + {method} urtCoreAddTopic (topic : urt_topic_t*) : urt_status_t
115 115
  .. URT_CFG_RPC_ENABLED == true ..
116 116
    'Retrieves a service given an identifier.
117
  + {method} urtCoreGetService (service : urt_service_t*) : void
118
  + {method} urtCoreAddService (id : urt_serviceid_t) : urt_service_t*
117
  + {method} urtCoreGetService (id : urt_serviceid_t) : urt_service_t*
118
  + {method} urtCoreAddService (service : urt_service_t*) : urt_status_t
119 119
}
120 120

  
121 121
$group("node") {
......
241 241
  + {method} urtCoreGetEventSource (void) : urt_osEventSource_t*
242 242
  + {method} urtCoreGetMutex (void) : urt_osMutex_t*
243 243
  + {method} urtCoreGetNodes (void) : urt_node_t*
244
  + {method} urtCoreAddNode (node : urt_node_t*) : void
244
  + {method} urtCoreAddNode (node : urt_node_t*) : urt_status_t
245 245
  .. URT_CFG_PUBSUB_ENABLED == true ..
246 246
  + {method} urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*
247
  + {method} urtCoreAddTopic (topic : urt_topic_t*) : void
247
  + {method} urtCoreAddTopic (topic : urt_topic_t*) : urt_status_t
248 248
  .. URT_CFG_RPC_ENABLED == true ..
249
  + {method} urtCoreGetService (service : urt_service_t*) : void
250
  + {method} urtCoreAddService (id : urt_serviceid_t) : urt_service_t*
249
  + {method} urtCoreGetService (id : urt_serviceid_t) : urt_service_t*
250
  + {method} urtCoreAddService (service : urt_service_t*) : urt_status_t
251 251
}
252 252

  
253 253
  package "node" <<Rectangle>> {
doc/classdiagrams/urtware.uml
68 68
  + {method} urtCoreGetMutex (void) : urt_osMutex_t*
69 69
  + {method} urtCoreGetNodes (void) : urt_node_t*
70 70
    'Retrieve node of the core.
71
  + {method} urtCoreAddNode (node : urt_node_t*) : void
71
  + {method} urtCoreAddNode (node : urt_node_t*) : urt_status_t
72 72
    'Prepend node to core's list of nodes..
73 73
  .. URT_CFG_PUBSUB_ENABLED == true ..
74 74
    'Retrieves a topic given an identifier.
75 75
  + {method} urtCoreGetTopic (id : urt_topicid_t) : urt_topic_t*
76 76
    'Append topic to core's list of topics.
77
  + {method} urtCoreAddTopic (topic : urt_topic_t*) : void
77
  + {method} urtCoreAddTopic (topic : urt_topic_t*) : urt_status_t
78 78
  .. URT_CFG_RPC_ENABLED == true ..
79 79
    'Retrieves a service given an identifier.
80
  + {method} urtCoreGetService (service : urt_service_t*) : void
81
  + {method} urtCoreAddService (id : urt_serviceid_t) : urt_service_t*
80
  + {method} urtCoreGetService (id : urt_serviceid_t) : urt_service_t*
81
  + {method} urtCoreAddService (service : urt_service_t*) : urt_status_t
82 82
}
83 83

  
84 84
$group("node") {
inc/urt_core.h
61 61
  urt_status_t urtCoreSynchronizeNodes(urt_node_t* node);
62 62
  urt_status_t urtCoreStopNodes(urt_status_t reason);
63 63
  urt_node_t* urtCoreGetNodes(void);
64
  void urtCoreAddNode(urt_node_t* node);
64
  urt_status_t urtCoreAddNode(urt_node_t* node);
65 65

  
66 66
#if (URT_CFG_PUBSUB_ENABLED)
67
  void urtCoreAddTopic(urt_topic_t* topic);
67
  urt_status_t urtCoreAddTopic(urt_topic_t* topic);
68 68
  urt_topic_t* urtCoreGetTopic(urt_topicid_t id);
69 69
#endif /* URT_CFG_PUBSUB_ENABLED */
70 70

  
71 71
#if (URT_CFG_RPC_ENABLED)
72
  void urtCoreAddService(urt_service_t* service);
73
  urt_service_t urtCoreGetService(urt_serviceid_t id);
72
  urt_status_t urtCoreAddService(urt_service_t* service);
73
  urt_service_t* urtCoreGetService(urt_serviceid_t id);
74 74
#endif /* URT_CFG_RPC_ENABLED */
75 75

  
76 76
#if (URT_CFG_PUBSUB_QOS_DEADLINECHECKS)
77
  urtCoreCallbackDefault(void* params)
77
  urt_osTimerCallback_t urtCoreCallbackDefault(void* params)
78 78
#endif /* URT_CFG_PUBSUB_QOS_DEADLINECHECKS */
79 79

  
80 80
#if defined(__cplusplus)
src/urt_core.c
234 234
 * @brief   Prepend node to core's list of nodes.
235 235
 *
236 236
 * @param[in] node The node to prepend. Must not be NULL.
237
 *
238
 * @return URT_STATUS_OK on success.
237 239
 */
238
void urtCoreAddNode(urt_node_t* node)
240
urt_status_t urtCoreAddNode(urt_node_t* node)
239 241
{
240 242
  urtDebugAssert(node);
241 243

  
244
  urtMutexLock(&core._lock);
242 245
  node->next = core._nodes;
243 246
  core._nodes = node;
244
  return;
247
  urtMutexUnlock(&core._lock);
248
  return URT_STATUS_OK;
245 249
}
246 250

  
247 251

  
......
257 261
/**
258 262
 * @brief   Append topic to core's list of topics.
259 263
 *
260
 * @param[in] node The topic to append.
264
 * @param[in] node The topic to append. Must not be NULL.
261 265
 */
262
void urtCoreAddTopic(urt_topic_t* topic)
266
urt_status_t urtCoreAddTopic(urt_topic_t* topic)
263 267
{
268
  urtDebugAssert(topic);
269

  
270
  urtMutexLock(&core._lock);
264 271
  urt_topic_t* lastTopic = core._topics;
265 272
  while (lastTopic->next != NULL)
266 273
  {
267 274
    lastTopic = lastTopic->next;
268 275
  }
269 276
  lastTopic->next = topic;
270
  return;
277
  urtMutexUnlock(&core._lock);
278
  return URT_STATUS_OK;
271 279
}
272 280

  
273 281
/**
......
292 300

  
293 301
# if (URT_CFG_RPC_ENABLED)
294 302
/**
303
 * @brief   Prepend service to core's list of services.
304
 *
305
 * @param[in] service The service to prepend. Must not be NULL.
306
 *
307
 * @return URT_STATUS_OK on success.
308
 */
309
urt_status_t urtCoreAddService(urt_service_t* service)
310
{
311
  urtDebugAssert(service);
312

  
313
  urtMutexLock(&core._lock);
314
  service->next = core._services;
315
  core._services = service;
316
  urtMutexUnlock(&core._lock);
317
  return URT_STATUS_OK;
318
}
319

  
320
/**
295 321
 * @brief   Get the service of the Core.
296 322
 *
297 323
 * @param[in] id  Identifier of the service to retrieve.
298 324
 *
299 325
 * @return Returns a pointer to the requested service. Returns NULL if no service matches the given ID.
300 326
 */
301
urt_service_t urtCoreGetService(urt_serviceid_t id) {return urt_service_t;}
327
urt_service_t* urtCoreGetService(urt_serviceid_t id) {return urt_service_t;}
302 328
# endif /* URT_CFG_RPC_ENABLED */
303 329

  
330
#if (URT_CFG_PUBSUB_QOS_DEADLINECHECKS)
331
urt_osTimerCallback_t urtCoreCallbackDefault(void* params)
332
{
333
  urtMutexLock(&core._lock);
334
  while (params) {
335
    urtPrintf("Danger");
336
    urtThreadSleep(1);
337
  }
338
  urtMutexUnlock(&core._lock);
339
  return
340
}
341
#endif /* URT_CFG_PUBSUB_QOS_DEADLINECHECKS */
342

  
304 343

  

Also available in: Unified diff