Revision 1f7ffcff
src/urt_core.c | ||
---|---|---|
48 | 48 |
/** |
49 | 49 |
* @brief Initialize the Core. |
50 | 50 |
*/ |
51 |
void urtCoreInit(void) {return;} |
|
51 |
void urtCoreInit(void) |
|
52 |
{ |
|
53 |
urt_core_t._nodes = NULL; |
|
54 |
urt_core_t._status = URT_STATUS_OK; |
|
55 |
//add later: mutex and eventsource init |
|
56 |
#if (URT_CFG_PUBSUB_ENABLED) |
|
57 |
urt_core_t._topics = NULL; |
|
58 |
#endif /* URT_CFG_PUBSUB_ENABLED */ |
|
59 |
#if (URT_CFG_RPC_ENABLED) |
|
60 |
urt_core_t.urt_service_t = NULL; |
|
61 |
#endif /* URT_CFG_RPC_ENABLED */ |
|
62 |
return; |
|
63 |
} |
|
52 | 64 |
|
53 | 65 |
/** |
54 | 66 |
* @brief Get Core status. |
src/urt_message.c | ||
---|---|---|
51 | 51 |
* @param[in] message Message to initalize. Must not be NULL. |
52 | 52 |
* @param[in] payload May be NULL for messages without payload. |
53 | 53 |
*/ |
54 |
void urtMessageInit(urt_message_t* message, void* payload) {return;} |
|
54 |
void urtMessageInit(urt_message_t* message, void* payload) |
|
55 |
{ |
|
56 |
urt_message_t.next = NULL; |
|
57 |
urt_message_t.payload = payload; |
|
58 |
urt_message_t.originTime = 0; |
|
59 |
urt_message_t.numHrtConsumersLeft = 0; |
|
60 |
#if (URT_CFG_PUBSUB_PROFILING) |
|
61 |
urt_message_t.numConsumersLeft = 0; |
|
62 |
#endif /* URT_CFG_PUBSUB_PROFILING */ |
|
63 |
|
|
64 |
return; |
|
65 |
} |
src/urt_node.c | ||
---|---|---|
46 | 46 |
/******************************************************************************/ |
47 | 47 |
|
48 | 48 |
/** |
49 |
* @brief Initalize the node.
|
|
49 |
* @brief Initalize the node. |
|
50 | 50 |
* |
51 | 51 |
* @param[in] node The node to initialize. Must not be NULL. |
52 | 52 |
* @param[in] thread The already initialized, exclusive thread for the node. Must not be NULL. |
53 | 53 |
* @param[in] setupcallback Callback function to be executed during setup. |
54 | 54 |
* May be NULL if no custom setup is required. |
55 | 55 |
* @param[in] setupparams Parameters for the setup callback function. |
56 |
* Must be NULLif no setup callback is specified. |
|
57 |
* May be NULLif the specified setup callback does not expect parameters. |
|
56 |
* Must be NULL if no setup callback is specified.
|
|
57 |
* May be NULL if the specified setup callback does not expect parameters.
|
|
58 | 58 |
* @param[in] loopcallback Callback function to be executed in a loop. |
59 | 59 |
* Must not be NULL. |
60 | 60 |
* @param[in] loopparams Parameters for the loop callback function. |
... | ... | |
67 | 67 |
*/ |
68 | 68 |
void urtNodeInit(urt_node_t* node, urt_osThread_t* thread, urt_nodeSetupCallback_t* setupcallback, |
69 | 69 |
void* setupparams, urt_nodeLoopCallback_t* loopcallback, void* loopparams, |
70 |
urt_nodeShutdownCallback_t* shutdowncallback, void* shutdownparams) {return;} |
|
70 |
urt_nodeShutdownCallback_t* shutdowncallback, void* shutdownparams) |
|
71 |
{ |
|
72 |
urt_node_t.next = NULL; |
|
73 |
urt_node_t.thread = thread; |
|
74 |
urt_node_t.setupcallback = setupcallback; |
|
75 |
urt_node_t.setupparams = setupparams; |
|
76 |
urt_node_t.loopparams = loopparams; |
|
77 |
urt_node_t.shutdowncallback = loopcallback; |
|
78 |
urt_node_t.shutdownparams = loopparams; |
|
79 |
urt_node_t.stage = 0; |
|
80 |
// add later: urteventlistenerinit |
|
81 |
#if (URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING) |
|
82 |
urt_node_t.loops = 0; |
|
83 |
#endif /* URT_CFG_PUBSUB_PROFILING || URT_CFG_RPC_PROFILING */ |
|
84 |
// add later: lock core,.. |
|
85 |
return; |
|
86 |
} |
src/urt_publisher.c | ||
---|---|---|
55 | 55 |
* Once a message has been contributed, it cannot be removed later. |
56 | 56 |
* May be NULL (no messages to contribute). |
57 | 57 |
*/ |
58 |
void urtPublisherInit(urt_publisher_t* publisher, urt_topic_t* topic, urt_message_t* message) {return;} |
|
58 |
void urtPublisherInit(urt_publisher_t* publisher, urt_topic_t* topic, urt_message_t* message) |
|
59 |
{ |
|
60 |
urt_publisher_t.topic = topic; |
|
61 |
#if (URT_CFG_PUBSUB_PROFILING) |
|
62 |
urt_publisher_t.publishAttempts = 0; |
|
63 |
urt_publisher_t.publishFails = 0; |
|
64 |
endif /* URT_CFG_PUBSUB_PROFILING */ |
|
65 |
//add later: messages to contribute,... |
|
66 |
return; |
|
67 |
} |
|
59 | 68 |
|
60 | 69 |
|
61 | 70 |
/** |
src/urt_service.c | ||
---|---|---|
55 | 55 |
* @return Returns URT_STATUS_OK on success. |
56 | 56 |
* Returns URT_STATUS_SERVICE_DUPLICATE if another service with the same identifier already exists. |
57 | 57 |
*/ |
58 |
urt_status_t urtServiceInit(urt_service_t* service, urt_serviceid_t id, urt_servicefunc_t* callback) {return URT_STATUS_OK;} |
|
58 |
urt_status_t urtServiceInit(urt_service_t* service, urt_serviceid_t id, urt_servicefunc_t* callback) |
|
59 |
{ |
|
60 |
urt_service_t.next = NULL; |
|
61 |
urt_service_t.id = id; |
|
62 |
//add later: urtmutex init |
|
63 |
urt_service_t.callback = callback; |
|
64 |
#if (URT_CFG_RPC_PROFILING) |
|
65 |
urt_service_t.sumDurations = 0; |
|
66 |
urt_service_t.numCalls = 0; |
|
67 |
urt_service_t.numTimeouts = 0; |
|
68 |
urt_service_t.minDuration = 0; |
|
69 |
urt_service_t.maxDuration 0; |
|
70 |
#endif /* URT_CFG_RPC_PROFILING */ |
|
71 |
//add later: lock core,... |
|
72 |
return URT_STATUS_OK; |
|
73 |
} |
|
59 | 74 |
|
60 | 75 |
/** |
61 | 76 |
* @brief Calls a service. |
src/urt_topic.c | ||
---|---|---|
54 | 54 |
* @return Returns URT_STATUS_OK on success. |
55 | 55 |
* Returns URT_STATUS_TOPIC_DUPLICATE if another topic with the same identifier already exists. |
56 | 56 |
*/ |
57 |
urt_status_t urtTopicInit(urt_topic_t* topic, urt_topicid_t id) {return URT_STATUS_OK;} |
|
57 |
urt_status_t urtTopicInit(urt_topic_t* topic, urt_topicid_t id) |
|
58 |
{ |
|
59 |
urt_topic_t.next = NULL; |
|
60 |
urt_topic_t.id = id; |
|
61 |
//add later: urtmutexinit, urteventsourceinit |
|
62 |
urt_topic_t.numHrtSubscribers = 0; |
|
63 |
//add later: condvar, message init, latest message |
|
64 |
#if (URT_CFG_PUBSUB_QOS_RATECHECKS) |
|
65 |
urt_topic_t.hrtSubscribers = nullptr; |
|
66 |
//add later: timer init; |
|
67 |
#endif /* URT_CFG_PUBSUB_QOS_RATECHECKS */ |
|
68 |
#if (URT_CFG_PUBSUB_PROFILING) |
|
69 |
urt_topic_t.numMessagesPublished = 0; |
|
70 |
urt_topic_t.numMessagesDiscarded = 0; |
|
71 |
urt_topic_t.numSubscribers = 0; |
|
72 |
#endif /* URT_CFG_PUBSUB_PROFILING */ |
|
73 |
//add later: close circular message buffer,... |
|
74 |
return URT_STATUS_OK; |
|
75 |
} |
Also available in: Unified diff