Revision 056e40d2 doc/classdiagrams/pubsub.uml
| doc/classdiagrams/pubsub.uml | ||
|---|---|---|
| 43 | 43 |
+ {field} lock : urt_osMutex_t
|
| 44 | 44 |
'Counter of HRT subscribers that did not consume the message yet. |
| 45 | 45 |
+ {field} numHrtConsumersLeft : unsigned int
|
| 46 |
'Condition variable to inform waiting publishers when the message is available again. |
|
| 47 |
+ {field} hrtConsumersLeft : urt_osCondvar_t
|
|
| 48 | 46 |
.. URT_CFG_PUBSUB_PROFILING == true .. |
| 49 | 47 |
'Counter of overall subscribers that did not consume the message yet. |
| 50 | 48 |
+ {field} numConsumersLeft : unsigned int
|
| ... | ... | |
| 99 | 97 |
.. URT_CFG_PUBSUB_QOS_RATECHECKS == true .. |
| 100 | 98 |
'Expected rate at which data is published. |
| 101 | 99 |
+ {field} expectedRate : urt_delay_t
|
| 102 |
.. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true .. |
|
| 100 |
.. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
|
|
| 103 | 101 |
'Maximum expected jitter. |
| 104 | 102 |
+ {field} maxJitter : urt_delay_t
|
| 105 | 103 |
'Minimum latency ever detected (to calculate jitter). |
| ... | ... | |
| 111 | 109 |
/' Parameters for firm real-time. '/ |
| 112 | 110 |
$structure("urt_frtdata_t") {
|
| 113 | 111 |
.. URT_CFG_PUBSUB_QOS_DEADLINECHECKS == true .. |
| 114 |
'QoS Timer to detect missed deadlines. |
|
| 115 |
+ {field} qosDeadlineTimer : urt_osTimer_t
|
|
| 116 | 112 |
'Maximum temporal offset between creation and consumption of messages. |
| 117 | 113 |
+ {field} deadlineOffset : urt_delay_t
|
| 118 | 114 |
.. URT_CFG_PUBSUB_QOS_RATECHECKS == true .. |
| 119 | 115 |
'Expected rate at which data is published. |
| 120 | 116 |
+ {field} expectedRate : urt_delay_t
|
| 121 |
.. URT_CFG_PUBSUB_QOS_JITTERCHECKS == true .. |
|
| 117 |
.. URT_CFG_PUBSUB_PROFILING == true || URT_CFG_PUBSUB_QOS_JITTERCHECKS == true ..
|
|
| 122 | 118 |
'Maximum expected jitter. |
| 123 | 119 |
+ {field} maxJitter : urt_delay_t
|
| 124 | 120 |
'Minimum latency ever detected (to calculate jitter). |
| ... | ... | |
| 156 | 152 |
'Event listener to notify the node about new messages. |
| 157 | 153 |
+ {field} evtListener : urt_osEventListener_t
|
| 158 | 154 |
'Real-time class descriptor. |
| 159 |
+ {field} rtconstraints : urt_rtconstaints_t*
|
|
| 155 |
+ {field} rtdata : urt_rtdata_t
|
|
| 160 | 156 |
'Pointer to the message consumed most recently. |
| 161 | 157 |
+ {field} lastMessage : urt_message_t*
|
| 162 | 158 |
'Copy of the origin time of the message consumed most recently. |
| ... | ... | |
| 166 | 162 |
+ {field} sumLatencies : uint64_t
|
| 167 | 163 |
'Number of messages received. |
| 168 | 164 |
+ {field} numMessagesReceived : uint64_t
|
| 169 |
.. URT_CFG_PUBSUB_PROFILING == true && URT_CFG_PUBSUB_QOS_JITTERCHECKS == false ..
|
|
| 165 |
.. URT_CFG_PUBSUB_PROFILING == true .. |
|
| 170 | 166 |
'Minimum latency ever detected (to calculate jitter). |
| 171 | 167 |
+ {field} minLatency : urt_delay_t
|
| 172 | 168 |
'Maximum latency ever detected (to calculate jitter). |
| ... | ... | |
| 223 | 219 |
+ {field} numHrtSubscribers : unsigned int
|
| 224 | 220 |
'List of HRT subscribers, orderd by their expected rate (most critical first). |
| 225 | 221 |
+ {field} hrtSubscribers : urt_subscriber_t*
|
| 222 |
'Condition variable to inform waiting publishers when a blocked message becomes available. |
|
| 223 |
+ {field} hrtReleased : urt_osCondvar_t
|
|
| 226 | 224 |
'Mandatory message, each Topic holds. |
| 227 | 225 |
+ {field} mandatoryMessage : urt_message_t
|
| 228 | 226 |
'Pointer to the latest message. |
| ... | ... | |
| 240 | 238 |
+ {method} urtTopicInit (topic : urt_topic_t*, id : urt_topicid_t) : urt_status_t
|
| 241 | 239 |
} |
| 242 | 240 |
|
| 243 |
/' Publish-Subscribe core structure. '/ |
|
| 244 |
$structure("urt_pubsub_t") {
|
|
| 245 |
'List of topics ordered by their identifiers. |
|
| 246 |
- {field} {static} _topics : urt_topic_t*
|
|
| 247 |
__ |
|
| 248 |
'Initializes the urt_core_t object. |
|
| 249 |
+ {method} urtPubsubInit (void) : urt_status_t
|
|
| 250 |
'Retrieves a topic given an identifier. |
|
| 251 |
+ {method} urtPubsubRetrieveTopic (id : urt_topicid_t) : urt_topic_t*
|
|
| 252 |
} |
|
| 253 |
|
|
| 254 | 241 |
!endsub |
| 255 | 242 |
|
| 256 | 243 |
/'### DEPENDENCIES & LAYOUT ##################################################'/ |
| ... | ... | |
| 283 | 270 |
urt_topic_t "1" o-- "1..1" urt_message_t |
| 284 | 271 |
urt_topic_t "1" *-- "1" urt_message_t |
| 285 | 272 |
|
| 286 |
urt_pubsub_t "1" o-- "0..1" urt_topic_t |
|
| 287 |
urt_pubsub_t -[hidden]-> urt_publisher_t |
|
| 288 |
|
|
| 289 | 273 |
!endsub |
| 290 | 274 |
|
| 291 | 275 |
/'### OUTRO ##################################################################'/ |
Also available in: Unified diff