Revision 37cd5dc2 src/urt_topic.c
src/urt_topic.c | ||
---|---|---|
50 | 50 |
* |
51 | 51 |
* @param[in] topic The topic to initialize. Must not be NULL. |
52 | 52 |
* @param[in] id Unique, numeric identifier of the topic. |
53 |
* @param[in] mandatoryMessage Starting message of the topic. Must not be NULL. |
|
53 | 54 |
* |
54 | 55 |
* @return Returns URT_STATUS_OK on success. |
55 | 56 |
* Returns URT_STATUS_TOPIC_DUPLICATE if another topic with the same identifier already exists. |
56 | 57 |
*/ |
57 |
urt_status_t urtTopicInit(urt_topic_t* topic, urt_topicid_t id) |
|
58 |
urt_status_t urtTopicInit(urt_topic_t* topic, urt_topicid_t id, urt_message_t* mandatoryMessage)
|
|
58 | 59 |
{ |
60 |
urtDebugAssert(topic); |
|
61 |
urtDebugAssert(mandatoryMessage); |
|
62 |
|
|
59 | 63 |
urt_topic_t.next = NULL; |
60 | 64 |
urt_topic_t.id = id; |
61 | 65 |
urtMutexInit(topic->lock); |
62 | 66 |
urtEventSourceInit(topic->evtSource); |
63 | 67 |
urt_topic_t.numHrtSubscribers = 0; |
64 | 68 |
urtCondvarInit(topic->hrtReleased); |
65 |
void* payload = NULL; //TODO: Replace |
|
66 |
urtMessageInit(topic->mandatoryMessage, payload); |
|
69 |
topic->mandatoryMessage = *mandatoryMessage; |
|
67 | 70 |
topic->latestMessage = &topic->mandatoryMessage; |
68 | 71 |
#if (URT_CFG_PUBSUB_QOS_RATECHECKS) |
69 | 72 |
urt_topic_t.hrtSubscribers = nullptr; |
Also available in: Unified diff