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

Data Fields | |
| uint8_t | _reserved [7] |
| const char * | enclave |
| uint8_t | localhost_only |
| const rmw_session_property_t * | properties |
| size_t | property_count |
| uint8_t rmw_session_options_t::_reserved[7] |
Reserved; must be zero.
| const char* rmw_session_options_t::enclave |
The security enclave this session belongs to, or NULL.
Borrowed for the duration of the call. Carried so rmw_get_node_names_with_enclaves stops being a HOLLOW grouping: the visitor's enclave argument was structurally always NULL because nothing in this ABI accepted one (issue 0785). A backend that does not track enclaves still reports NULL, which is now a fact about the backend rather than about the seam.
| uint8_t rmw_session_options_t::localhost_only |
Restrict discovery to this host. Upstream rmw_localhost_only_t, narrowed to a flag: 0 = the system default, non-zero = localhost only.
A backend that cannot restrict discovery must IGNORE this rather than fail — same contract as mode. Cyclone is the one that can honour it.
| const rmw_session_property_t* rmw_session_options_t::properties |
Backend-specific configuration properties, or NULL.
Borrowed for the duration of the call, as is every string they point at. property_count must be 0 when this is NULL, and must not exceed RMW_SESSION_MAX_PROPERTIES; a violation is RMW_RET_INVALID_ARGUMENT, not a truncation.
| size_t rmw_session_options_t::property_count |
Number of entries in properties.