Revision 056e40d2 doc/classdiagrams/pubsub.uml

View differences:

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