This is a userspace implementation of queues that can be used across processes. More...
Data Structures | |
struct | QueueInterface |
Queue object interface. More... | |
struct | QueueObject |
struct | QueueServiceInterface |
Queue Service interface. More... | |
struct | QueueService |
Queue Server internals. More... | |
Macros | |
#define | QUEUES_ALLOCATED 4 |
Typedefs | |
typedef uint8_t | queue_id_t |
Variables | |
struct QueueService * | queue_server |
Queue server instance for RPC calls. | |
This is a userspace implementation of queues that can be used across processes.
CMRX does not offer queues as a standard syscall, unlike other RTOSes.
If an application wants to use queues, it needs to include the queue server in the build. This is done by calling:
into CMakeLists.txt.
This will include the queue server and enable services described in this document.
Queue server behaves as a pretty standard remote procedure call server. You need a server instance in order to be able to work with queues. Queue server always creates one publicly available instance.
Application can call queue service to create a new queue such as:
This will create new queue which can be used to call methods like send and receive.
#define QUEUES_ALLOCATED 4 |
typedef uint8_t queue_id_t |
|
extern |
Queue server instance for RPC calls.
This is publicly available instance of queue server. You can use it to call rpc_call() using interface defined in QueueServiceInterface.