|
nros rmw-cffi
C vtable for plugging a third-party RMW backend into nros
|
#include <rmw_entity.h>

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 |
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.
| uint8_t nros_rmw_publisher_t::_reserved[7] |
Reserved for future fields; must be zero.
| void* nros_rmw_publisher_t::backend_data |
Opaque backend state. NULL if creation failed.
| bool nros_rmw_publisher_t::can_loan_messages |
Backend exposes loan_publish / commit_publish (Phase 99).
| nros_rmw_qos_t nros_rmw_publisher_t::qos |
QoS subset honoured by this publisher.
| const char* nros_rmw_publisher_t::topic_name |
Topic name (borrowed; outlives the publisher).
| 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.