rmw
master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
|
Go to the documentation of this file.
41 #define RMW_GID_STORAGE_SIZE 24u
72 RMW_ENDPOINT_SUBSCRIPTION
90 RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_SYSTEM_DEFAULT
352 int8_t writer_guid[16];
378 RMW_QOS_POLICY_RELIABILITY_UNKNOWN
394 RMW_QOS_POLICY_HISTORY_UNKNOWN
410 RMW_QOS_POLICY_DURABILITY_UNKNOWN
413 #define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG \
414 "RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE is deprecated. " \
415 "Use RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC if manually asserted liveliness is needed."
418 # define RMW_DECLARE_DEPRECATED(name, msg) name __attribute__((deprecated(msg)))
420 # define RMW_DECLARE_DEPRECATED(name, msg) name __pragma(deprecated(name))
439 RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE,
449 RMW_QOS_POLICY_LIVELINESS_UNKNOWN = 4
453 #define RMW_QOS_DEADLINE_DEFAULT RMW_DURATION_UNSPECIFIED
456 #define RMW_QOS_LIFESPAN_DEFAULT RMW_DURATION_UNSPECIFIED
459 #define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT RMW_DURATION_UNSPECIFIED
562 #endif // RMW__TYPES_H_
struct RMW_PUBLIC_TYPE rmw_guard_conditions_t rmw_guard_conditions_t
Array of guard condition handles.
Array of guard condition handles.
Definition: types.h:327
RMW_QOS_POLICY_LIVELINESS_AUTOMATIC
The signal that establishes a Topic is alive comes from the ROS rmw layer.
Definition: types.h:433
Structure which encapsulates an rmw node.
Definition: types.h:44
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:231
RMW_QOS_POLICY_HISTORY_KEEP_ALL
Store all samples, subject to resource limits.
Definition: types.h:391
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:339
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:369
rcutils_time_point_value_t rmw_time_point_value_t
Definition: time.h:40
void ** services
Pointer to an array of void * pointers of services.
Definition: types.h:294
void * data
Type erased pointer to this subscription.
Definition: types.h:188
struct RMW_PUBLIC_TYPE rmw_client_t rmw_client_t
A handle to an rmw service client.
rmw_context_t * context
Context information about node's init specific information.
Definition: types.h:59
#define RMW_PUBLIC
Definition: visibility_control.h:48
void * data
Type erased pointer to this service client.
Definition: types.h:228
void * rmw_specific_subscription_payload
Used to pass rmw implementation specific resources during subscription creation.
Definition: types.h:155
A handle to an rmw service.
Definition: types.h:209
struct RMW_PUBLIC_TYPE rmw_services_t rmw_services_t
Array of service handles.
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_OPTIONALLY_REQUIRED
Definition: types.h:87
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:218
rmw_time_point_value_t source_timestamp
Definition: types.h:521
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
Attempt to deliver samples, but some may be lost if the network is not robust.
Definition: types.h:375
struct RMW_PUBLIC_TYPE rmw_service_info_t rmw_service_info_t
Meta-data for a service-related take.
Information describing an rmw message.
Definition: types.h:519
A struct representing a duration or relative time in RMW - does not encode an origin.
Definition: time.h:31
rmw_gid_t publisher_gid
Definition: types.h:523
struct RMW_PUBLIC_TYPE rmw_events_t rmw_events_t
enum RMW_PUBLIC_TYPE rmw_log_severity_t
Type mapping of rcutils log severity types to rmw specific types.
rmw_unique_network_flow_endpoints_requirement_t require_unique_network_flow_endpoints
Require middleware to generate unique network flow endpoints.
Definition: types.h:115
Allocation of memory for an rmw subscription.
Definition: types.h:258
struct RMW_PUBLIC_TYPE rmw_publisher_allocation_t rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:251
rmw_context_t * context
rmw context associated with this guard condition
Definition: types.h:244
RMW_PUBLIC_TYPE
Type mapping of rcutils log severity types to rmw specific types.
Definition: types.h:540
rmw_guard_conditions_t * guard_conditions
The guard condition to be waited on.
Definition: types.h:342
size_t subscriber_count
The number of subscribers represented by the array.
Definition: types.h:277
struct RMW_PUBLIC_TYPE rmw_publisher_t rmw_publisher_t
Structure which encapsulates an rmw publisher.
enum RMW_PUBLIC_TYPE rmw_endpoint_type_t rmw_endpoint_type_t
Endpoint enumeration type.
Definition: types.h:63
struct RMW_PUBLIC_TYPE rmw_subscriptions_t rmw_subscriptions_t
Array of subscriber handles.
Handle for an rmw guard condition.
Definition: types.h:235
RCUTILS_LOG_SEVERITY_DEBUG
void * data
Type erased pointer to this allocation.
Definition: types.h:264
void * data
Type erased pointer to this wait set's data.
Definition: types.h:345
void ** events
Pointer to an array of void * pointers of events.
Definition: types.h:317
const char * name
A concise name of this rmw node for identification.
Definition: types.h:53
struct RMW_PUBLIC_TYPE rmw_message_info_t rmw_message_info_t
Information describing an rmw message.
Options that can be used to configure the creation of a publisher in rmw.
Definition: types.h:94
struct RMW_PUBLIC_TYPE rmw_subscription_options_t rmw_subscription_options_t
Options that can be used to configure the creation of a subscription in rmw.
Container for guard conditions to be waited on.
Definition: types.h:336
const char * topic_name
Name of the ros topic this subscription listens to.
Definition: types.h:191
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:47
void * data
Type erased pointer to this service.
Definition: types.h:215
int64_t sequence_number
Sequence number of this service.
Definition: types.h:355
struct RMW_PUBLIC_TYPE rmw_subscription_allocation_t rmw_subscription_allocation_t
Allocation of memory for an rmw subscription.
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:185
#define RMW_WARN_UNUSED
Indicate that a variable is not used, and prevent compiler from issuing warnings.
Definition: macros.h:24
enum RMW_PUBLIC_TYPE rmw_qos_liveliness_policy_t
Definition: types.h:427
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:261
Meta-data for a service-related take.
Definition: types.h:359
bool avoid_ros_namespace_conventions
If true, any ROS specific namespacing conventions will be circumvented.
Definition: types.h:505
Initialization context structure which is used to store init specific information.
Definition: init.h:37
void * rmw_specific_publisher_payload
Used to pass rmw implementation specific resources during publisher creation.
Definition: types.h:106
A handle to an rmw service client.
Definition: types.h:222
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:122
Allocation of memory for an rmw publisher.
Definition: types.h:248
@ RMW_LOG_SEVERITY_DEBUG
Debug log severity, for pedantic messaging.
Definition: types.h:543
@ RMW_LOG_SEVERITY_FATAL
Fatal log severity, for reporting issue causing imminent shutdown.
Definition: types.h:555
size_t service_count
The number of services represented by the array.
Definition: types.h:292
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_STRICTLY_REQUIRED
Definition: types.h:83
RCUTILS_LOG_SEVERITY_INFO
size_t guard_condition_count
The number of guard conditions represented by the array.
Definition: types.h:330
rmw_publisher_options_t options
Publisher options.
Definition: types.h:139
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:212
@ RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
Definition: types.h:537
struct RMW_PUBLIC_TYPE rmw_request_id_t rmw_request_id_t
An rmw service request identifier.
struct RMW_PUBLIC_TYPE rmw_guard_condition_t rmw_guard_condition_t
Handle for an rmw guard condition.
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:225
Structure which encapsulates an rmw publisher.
Definition: types.h:119
#define RMW_GID_STORAGE_SIZE
Definition: types.h:41
enum RMW_PUBLIC_TYPE rmw_qos_history_policy_t
QoS history enumerations describing how samples endure.
Definition: types.h:382
An rmw service request identifier.
Definition: types.h:349
struct RMW_PUBLIC_TYPE rmw_publisher_options_t rmw_publisher_options_t
Options that can be used to configure the creation of a publisher in rmw.
const char * namespace_
The namespace of this rmw node.
Definition: types.h:56
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:512
void ** clients
Pointer to an array of void * pointers of clients.
Definition: types.h:309
rmw_subscription_options_t options
Subscription options.
Definition: types.h:202
rmw_time_point_value_t received_timestamp
Definition: types.h:522
void ** subscribers
Pointer to an array of void * pointers of subscriptions.
Definition: types.h:279
@ RMW_LOG_SEVERITY_INFO
Informational log severity, for reporting expected but not overwhelming information.
Definition: types.h:546
size_t event_count
The number of events represented by the array.
Definition: types.h:315
rmw_time_point_value_t source_timestamp
Definition: types.h:361
RCUTILS_LOG_SEVERITY_FATAL
RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT
Implementation default for history policy.
Definition: types.h:385
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:238
Array of service handles.
Definition: types.h:289
Options that can be used to configure the creation of a subscription in rmw.
Definition: types.h:146
void * data
Type erased pointer to this node's data.
Definition: types.h:50
rmw_message_info_t rmw_get_zero_initialized_message_info(void)
Get zero initialized mesage info.
@ RMW_LOG_SEVERITY_WARN
Warning log severity, for reporting recoverable issues.
Definition: types.h:549
struct RMW_PUBLIC_TYPE rmw_service_t rmw_service_t
A handle to an rmw service.
struct RMW_PUBLIC_TYPE rmw_clients_t rmw_clients_t
Array of client handles.
bool can_loan_messages
Indicates whether this subscription can loan messages.
Definition: types.h:205
enum RMW_PUBLIC_TYPE rmw_qos_durability_policy_t
QoS durability enumerations describing how samples persist.
Definition: types.h:398
void * data
Type erased pointer to this allocation.
Definition: types.h:254
ROS graph ID of the topic.
Definition: types.h:509
void * data
Type erased pointer to this guard condition.
Definition: types.h:241
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:430
size_t client_count
The number of clients represented by the array.
Definition: types.h:307
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
Impplementation specific default.
Definition: types.h:401
RMW_ENDPOINT_INVALID
Endpoint type has not yet been set.
Definition: types.h:66
struct RMW_PUBLIC_TYPE rmw_node_t rmw_node_t
Structure which encapsulates an rmw node.
bool ignore_local_publications
If true then the middleware should not deliver data from local publishers.
Definition: types.h:170
RCUTILS_LOG_SEVERITY_ERROR
RMW_QOS_POLICY_RELIABILITY_RELIABLE
Guarantee that samples are delivered, may retry multiple times.
Definition: types.h:372
Array of subscriber handles.
Definition: types.h:274
void * data
Type erased pointer to this publisher's data.
Definition: types.h:125
enum RMW_PUBLIC_TYPE rmw_unique_network_flow_endpoints_requirement_t rmw_unique_network_flow_endpoints_requirement_t
Unique network flow endpoints requirement enumeration.
Definition: types.h:76
struct RMW_PUBLIC_TYPE rmw_subscription_t rmw_subscription_t
ROS MiddleWare quality of service profile.
Definition: types.h:462
rmw_unique_network_flow_endpoints_requirement_t require_unique_network_flow_endpoints
Require middleware to generate unique network flow endpoints.
Definition: types.h:179
#define RMW_DECLARE_DEPRECATED(name, msg)
Definition: types.h:418
struct RMW_PUBLIC_TYPE rmw_qos_profile_t rmw_qos_profile_t
ROS MiddleWare quality of service profile.
RCUTILS_LOG_SEVERITY_WARN
enum RMW_PUBLIC_TYPE rmw_qos_reliability_policy_t
Definition: types.h:366
rmw_time_point_value_t received_timestamp
Definition: types.h:362
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
Definition: types.h:446
struct RMW_PUBLIC_TYPE rmw_wait_set_t rmw_wait_set_t
Container for guard conditions to be waited on.
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_NOT_REQUIRED
Unique network flow endpoints not required.
Definition: types.h:79
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
The rmw publisher is responsible for persisting samples for “late-joining” subscribers.
Definition: types.h:404
@ RMW_LOG_SEVERITY_ERROR
Error log severity, for reporting uncoverable issues.
Definition: types.h:552
RMW_ENDPOINT_PUBLISHER
Creates and publishes messages to the ROS topic.
Definition: types.h:69
struct RMW_PUBLIC_TYPE rmw_gid_t rmw_gid_t
ROS graph ID of the topic.
Array of client handles.
Definition: types.h:304
bool from_intra_process
Whether this message is from intra_process communication or not.
Definition: types.h:526
bool can_loan_messages
Indicate whether this publisher supports loaning messages.
Definition: types.h:142
RMW_QOS_POLICY_DURABILITY_VOLATILE
Samples are not persistent.
Definition: types.h:407
size_t depth
Size of the message queue.
Definition: types.h:466
#define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
Definition: types.h:413
const char * topic_name
The name of the ROS topic this publisher publishes to.
Definition: types.h:128
rmw_request_id_t request_id
Definition: types.h:363
RMW_QOS_POLICY_HISTORY_KEEP_LAST
Only store up to a maximum number of samples, dropping oldest once max is exceeded.
Definition: types.h:388
void ** guard_conditions
Pointer to an array of void * pointers of guard conditions.
Definition: types.h:332