nros rmw-cffi
C vtable for plugging a third-party RMW backend into nros
Loading...
Searching...
No Matches
Data Fields
nros_rmw_publisher_t Struct Reference

#include <rmw_entity.h>

Collaboration diagram for nros_rmw_publisher_t:
Collaboration graph
[legend]

Data Fields

uint8_t _reserved [7]
 
void * backend_data
 
bool can_loan_messages
 
nros_rmw_qos_t qos
 
const char * topic_name
 
const char * type_name
 

Detailed Description

Publisher entity.

Created by vtable->create_publisher; destroyed by vtable->destroy_publisher. The runtime owns the storage; the runtime fills topic_name / type_name / qos before the create call. The backend writes can_loan_messages and backend_data.

can_loan_messages matches upstream rmw_publisher_t's field of the same name — true means the backend exposes the loan_publish / commit_publish primitive (Phase 99). The runtime reads it once at create time and picks the publish path accordingly; no per-call probe.

Field Documentation

◆ _reserved

uint8_t nros_rmw_publisher_t::_reserved[7]

Reserved for future fields; must be zero.

◆ backend_data

void* nros_rmw_publisher_t::backend_data

Opaque backend state. NULL if creation failed.

◆ can_loan_messages

bool nros_rmw_publisher_t::can_loan_messages

Backend exposes loan_publish / commit_publish (Phase 99).

◆ qos

nros_rmw_qos_t nros_rmw_publisher_t::qos

QoS subset honoured by this publisher.

◆ topic_name

const char* nros_rmw_publisher_t::topic_name

Topic name (borrowed; outlives the publisher).

◆ type_name

const char* nros_rmw_publisher_t::type_name

ROS-2-style fully-qualified type name (e.g., "std_msgs/msg/Int32"). Borrowed; outlives the publisher.


The documentation for this struct was generated from the following file: