Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Loading...
Searching...
No Matches
rte_ipc_pubsub.h
Go to the documentation of this file.
1
46
47#ifndef RTE_IPC_PUBSUB_H
48#define RTE_IPC_PUBSUB_H
49
52#include "rte_ipc.h"
53
54#ifdef __cplusplus
55extern "C" {
56#endif
57
58/* ============================================================================
59 * Publish-Subscribe Topic
60 * ========================================================================== */
61
65typedef struct rte_ipc_pubsub_topic_s *rte_ipc_pubsub_topic_t;
66
70typedef struct {
71 const char *topic_name;
72 size_t message_size;
75
98 const rte_ipc_pubsub_topic_config_t *config);
99
124 const void *message,
125 size_t message_size);
126
134
135/* ============================================================================
136 * Subscriber (Receiver Side)
137 * ========================================================================== */
138
142typedef struct rte_ipc_pubsub_subscriber_s *rte_ipc_pubsub_subscriber_t;
143
152
178
206 void *message_out,
207 size_t message_size,
208 rte_duration_ms_t timeout_ms);
209
217
218#ifdef __cplusplus
219}
220#endif
221
222#endif /* RTE_IPC_PUBSUB_H */
rte_status_t
Common result/status codes.
Definition rte_status.h:27
uint32_t rte_duration_ms_t
Definition rte_types.h:27
OS Abstraction Layer - Inter-process/inter-task communication service.
rte_status_t rte_ipc_pubsub_topic_destroy(rte_ipc_pubsub_topic_t topic)
Destroy a publish-subscribe topic.
rte_status_t rte_ipc_pubsub_receive(rte_ipc_pubsub_subscriber_t subscriber, void *message_out, size_t message_size, rte_duration_ms_t timeout_ms)
Receive a message from subscribed topic (blocking with timeout).
struct rte_ipc_pubsub_subscriber_s * rte_ipc_pubsub_subscriber_t
Subscriber handle for receiving from a topic.
rte_status_t rte_ipc_pubsub_unsubscribe(rte_ipc_pubsub_subscriber_t subscriber)
Unsubscribe from a topic.
struct rte_ipc_pubsub_topic_s * rte_ipc_pubsub_topic_t
Publish-subscribe topic handle.
rte_status_t rte_ipc_pubsub_subscribe(rte_ipc_pubsub_subscriber_t *subscriber_out, const rte_ipc_pubsub_subscriber_config_t *config)
Subscribe to a topic.
rte_status_t rte_ipc_pubsub_topic_create(rte_ipc_pubsub_topic_t *topic_out, const rte_ipc_pubsub_topic_config_t *config)
Create a publish-subscribe topic.
rte_status_t rte_ipc_pubsub_publish(rte_ipc_pubsub_topic_t topic, const void *message, size_t message_size)
Publish a message to all subscribers on a topic.
Common status/error codes returned by every Safe API Framework function. Shared across all OS Abstrac...
Common fixed-width types and the caller-owned-storage handle pattern used by every OAL service (see A...
Configuration for a subscriber.
Configuration for a pub-sub topic.