nros C API
Lightweight ROS 2 client for embedded real-time systems
Loading...
Searching...
No Matches
Functions | Variables
subscription.h File Reference

Topic subscription API. More...

#include "nros/types.h"
Include dependency graph for subscription.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

 NROS_DEPRECATED_MSG ("nros_subscription_try_recv_raw() is deprecated; use " "nros_subscription_take_serialized()") static inline int32_t nros_subscription_try_recv_raw(struct nros_subscription_t *subscription
 
 NROS_DEPRECATED_MSG ("nros_subscription_try_recv_sequence() is deprecated; use " "nros_subscription_take_sequence()") static inline int32_t nros_subscription_try_recv_sequence(struct nros_subscription_t *subscription
 
 NROS_DEPRECATED_MSG ("nros_subscription_try_recv_validated() is deprecated; use " "nros_subscription_take_validated()") static inline int32_t nros_subscription_try_recv_validated(struct nros_subscription_t *subscription
 

Variables

uint8_t * buf
 
uint8_t size_t buf_len
 
uint8_t size_t size_t max_msgs
 
uint8_t size_t size_t size_t * out_lens
 
uint8_t size_t struct nros_integrity_status_tout_status
 
uint8_t size_t per_msg_cap
 

Detailed Description

Topic subscription API.

Create subscriptions with nros_subscription_init() and receive deserialised messages via a user-provided callback.

For manual polling, create the subscription with nros_subscription_init_polling() and drain it with nros_subscription_take_serialized() — or nros_subscription_take_sequence() for a batch and nros_subscription_take_validated() for the E2E-safety variant.

Function Documentation

◆ NROS_DEPRECATED_MSG() [1/3]

NROS_DEPRECATED_MSG ( "nros_subscription_try_recv_raw() is deprecated; use " "nros_subscription_take_serialized()"  )

◆ NROS_DEPRECATED_MSG() [2/3]

NROS_DEPRECATED_MSG ( "nros_subscription_try_recv_sequence() is deprecated; use " "nros_subscription_take_sequence()"  )

◆ NROS_DEPRECATED_MSG() [3/3]

NROS_DEPRECATED_MSG ( "nros_subscription_try_recv_validated() is deprecated; use " "nros_subscription_take_validated()"  )

Variable Documentation

◆ buf

uint8_t * buf

◆ buf_len

uint8_t size_t buf_len
Initial value:
{
int32_t nros_subscription_take_serialized(struct nros_subscription_t *subscription, uint8_t *buf, size_t buf_len)
uint8_t size_t buf_len
Definition subscription.h:62
uint8_t * buf
Definition subscription.h:62

◆ max_msgs

uint8_t size_t size_t max_msgs

◆ out_lens

uint8_t size_t size_t size_t* out_lens
Initial value:
{
int32_t nros_subscription_take_sequence(struct nros_subscription_t *subscription, uint8_t *buf, size_t per_msg_cap, size_t max_msgs, size_t *out_lens)
uint8_t size_t per_msg_cap
Definition subscription.h:69
uint8_t size_t size_t max_msgs
Definition subscription.h:70
uint8_t size_t size_t size_t * out_lens
Definition subscription.h:70

◆ out_status

uint8_t size_t struct nros_integrity_status_t* out_status
Initial value:
{
int32_t nros_subscription_take_validated(struct nros_subscription_t *subscription, uint8_t *buf, size_t buf_len, struct nros_integrity_status_t *out_status)
uint8_t size_t struct nros_integrity_status_t * out_status
Definition subscription.h:78

◆ per_msg_cap

uint8_t size_t per_msg_cap