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.
39 #define RMW_GID_STORAGE_SIZE 24u
70 RMW_ENDPOINT_SUBSCRIPTION
314 int8_t writer_guid[16];
352 RMW_QOS_POLICY_RELIABILITY_UNKNOWN
368 RMW_QOS_POLICY_HISTORY_UNKNOWN
384 RMW_QOS_POLICY_DURABILITY_UNKNOWN
387 #define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG \
388 "RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE is deprecated. " \
389 "Use RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC if manually asserted liveliness is needed."
392 # define RMW_DECLARE_DEPRECATED(name, msg) name __attribute__((deprecated(msg)))
394 # define RMW_DECLARE_DEPRECATED(name, msg) name __pragma(deprecated(name))
413 RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE,
423 RMW_QOS_POLICY_LIVELINESS_UNKNOWN = 4
427 #define RMW_QOS_DEADLINE_DEFAULT {0, 0}
430 #define RMW_QOS_LIFESPAN_DEFAULT {0, 0}
433 #define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT {0, 0}
590 #endif // RMW__TYPES_H_
int32_t total_count_change
The change in total_count since the last time the status was last read.
Definition: types.h:583
struct RMW_PUBLIC_TYPE rmw_liveliness_changed_status_t rmw_liveliness_changed_status_t
QoS Liveliness Changed information provided by a subscription.
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:289
RMW_QOS_POLICY_LIVELINESS_AUTOMATIC
The signal that establishes a Topic is alive comes from the ROS rmw layer.
Definition: types.h:407
Structure which encapsulates an rmw node.
Definition: types.h:42
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:193
RMW_QOS_POLICY_HISTORY_KEEP_ALL
Store all samples, subject to resource limits.
Definition: types.h:365
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:301
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:343
void ** services
Pointer to an array of void * pointers of services.
Definition: types.h:256
void * data
Type erased pointer to this subscription.
Definition: types.h:150
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:57
uint64_t nsec
Nanoseconds component of this time point.
Definition: types.h:327
QoS Liveliness Lost information provided by a publisher.
Definition: types.h:559
#define RMW_PUBLIC
Definition: visibility_control.h:48
void * data
Type erased pointer to this service client.
Definition: types.h:190
void * rmw_specific_subscription_payload
Used to pass rmw implementation specific resources during subscription creation.
Definition: types.h:126
A handle to an rmw service.
Definition: types.h:171
struct RMW_PUBLIC_TYPE rmw_services_t rmw_services_t
Array of service handles.
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:180
rmw_time_point_value_t source_timestamp
Definition: types.h:480
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
Attempt to deliver samples, but some may be lost if the network is not robust.
Definition: types.h:349
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:478
Struct representing a time point for rmw.
Definition: types.h:321
rmw_gid_t publisher_gid
Definition: types.h:482
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.
Allocation of memory for an rmw subscription.
Definition: types.h:220
struct RMW_PUBLIC_TYPE rmw_publisher_allocation_t rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
int32_t total_count
Definition: types.h:553
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:213
rmw_context_t * context
rmw context associated with this guard condition
Definition: types.h:206
RMW_PUBLIC_TYPE
Type mapping of rcutils log severity types to rmw specific types.
Definition: types.h:499
rmw_guard_conditions_t * guard_conditions
The guard condition to be waited on.
Definition: types.h:304
size_t subscriber_count
The number of subscribers represented by the array.
Definition: types.h:239
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:61
struct RMW_PUBLIC_TYPE rmw_subscriptions_t rmw_subscriptions_t
Array of subscriber handles.
Handle for an rmw guard condition.
Definition: types.h:197
struct RMW_PUBLIC_TYPE rmw_liveliness_lost_status_t rmw_liveliness_lost_status_t
QoS Liveliness Lost information provided by a publisher.
RCUTILS_LOG_SEVERITY_DEBUG
void * data
Type erased pointer to this allocation.
Definition: types.h:226
void * data
Type erased pointer to this wait set's data.
Definition: types.h:307
void ** events
Pointer to an array of void * pointers of events.
Definition: types.h:279
const char * name
A concise name of this rmw node for identification.
Definition: types.h:51
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:74
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:298
const char * topic_name
Name of the ros topic this subscription listens to.
Definition: types.h:153
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:45
void * data
Type erased pointer to this service.
Definition: types.h:177
int64_t sequence_number
Sequence number of this service.
Definition: types.h:317
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:147
int32_t alive_count_change
The change in the alive_count since the status was last read.
Definition: types.h:539
#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:401
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:223
Meta-data for a service-related take.
Definition: types.h:333
QoS Liveliness Changed information provided by a subscription.
Definition: types.h:518
bool avoid_ros_namespace_conventions
If true, any ROS specific namespacing conventions will be circumvented.
Definition: types.h:464
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:86
A handle to an rmw service client.
Definition: types.h:184
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:93
Allocation of memory for an rmw publisher.
Definition: types.h:210
@ RMW_LOG_SEVERITY_DEBUG
Debug log severity, for pedantic messaging.
Definition: types.h:502
int32_t total_count
Definition: types.h:567
@ RMW_LOG_SEVERITY_FATAL
Fatal log severity, for reporting issue causing imminent shutdown.
Definition: types.h:514
size_t service_count
The number of services represented by the array.
Definition: types.h:254
int32_t total_count
Definition: types.h:581
RCUTILS_LOG_SEVERITY_INFO
struct RMW_PUBLIC_TYPE rmw_offered_deadline_missed_status_t rmw_offered_deadline_missed_status_t
QoS Deadline Missed information provided by a publisher.
size_t guard_condition_count
The number of guard conditions represented by the array.
Definition: types.h:292
rmw_publisher_options_t options
Publisher options.
Definition: types.h:110
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:174
@ RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
Definition: types.h:496
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.
int32_t total_count_change
The incremental number of deadlines detected since the status was read.
Definition: types.h:555
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:187
int32_t total_count_change
The change in total_count since the last time the status was last read.
Definition: types.h:569
Structure which encapsulates an rmw publisher.
Definition: types.h:90
#define RMW_GID_STORAGE_SIZE
Definition: types.h:39
enum RMW_PUBLIC_TYPE rmw_qos_history_policy_t
QoS history enumerations describing how samples endure.
Definition: types.h:356
An rmw service request identifier.
Definition: types.h:311
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:54
int32_t not_alive_count
Definition: types.h:537
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:471
struct RMW_PUBLIC_TYPE rmw_time_t rmw_time_t
Struct representing a time point for rmw.
void ** clients
Pointer to an array of void * pointers of clients.
Definition: types.h:271
rmw_subscription_options_t options
Subscription options.
Definition: types.h:164
rmw_time_point_value_t received_timestamp
Definition: types.h:481
void ** subscribers
Pointer to an array of void * pointers of subscriptions.
Definition: types.h:241
int64_t rcutils_time_point_value_t
@ RMW_LOG_SEVERITY_INFO
Informational log severity, for reporting expected but not overwhelming information.
Definition: types.h:505
size_t event_count
The number of events represented by the array.
Definition: types.h:277
uint64_t sec
Seconds since the epoch.
Definition: types.h:324
rmw_time_point_value_t source_timestamp
Definition: types.h:335
RCUTILS_LOG_SEVERITY_FATAL
RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT
Implementation default for history policy.
Definition: types.h:359
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:200
Array of service handles.
Definition: types.h:251
Options that can be used to configure the creation of a subscription in rmw.
Definition: types.h:117
void * data
Type erased pointer to this node's data.
Definition: types.h:48
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:508
rcutils_time_point_value_t rmw_time_point_value_t
Definition: types.h:330
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:167
enum RMW_PUBLIC_TYPE rmw_qos_durability_policy_t
QoS durability enumerations describing how samples persist.
Definition: types.h:372
void * data
Type erased pointer to this allocation.
Definition: types.h:216
ROS graph ID of the topic.
Definition: types.h:468
void * data
Type erased pointer to this guard condition.
Definition: types.h:203
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:404
size_t client_count
The number of clients represented by the array.
Definition: types.h:269
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
Impplementation specific default.
Definition: types.h:375
RMW_ENDPOINT_INVALID
Endpoint type has not yet been set.
Definition: types.h:64
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:141
RCUTILS_LOG_SEVERITY_ERROR
RMW_QOS_POLICY_RELIABILITY_RELIABLE
Guarantee that samples are delivered, may retry multiple times.
Definition: types.h:346
Array of subscriber handles.
Definition: types.h:236
void * data
Type erased pointer to this publisher's data.
Definition: types.h:96
struct RMW_PUBLIC_TYPE rmw_subscription_t rmw_subscription_t
ROS MiddleWare quality of service profile.
Definition: types.h:436
#define RMW_DECLARE_DEPRECATED(name, msg)
Definition: types.h:392
struct RMW_PUBLIC_TYPE rmw_qos_profile_t rmw_qos_profile_t
ROS MiddleWare quality of service profile.
struct RMW_PUBLIC_TYPE rmw_requested_deadline_missed_status_t rmw_requested_deadline_missed_status_t
QoS Requested Deadline Missed information provided by a subscription.
RCUTILS_LOG_SEVERITY_WARN
enum RMW_PUBLIC_TYPE rmw_qos_reliability_policy_t
Definition: types.h:340
rmw_time_point_value_t received_timestamp
Definition: types.h:336
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
Definition: types.h:420
struct RMW_PUBLIC_TYPE rmw_wait_set_t rmw_wait_set_t
Container for guard conditions to be waited on.
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
The rmw publisher is responsible for persisting samples for “late-joining” subscribers.
Definition: types.h:378
@ RMW_LOG_SEVERITY_ERROR
Error log severity, for reporting uncoverable issues.
Definition: types.h:511
QoS Requested Deadline Missed information provided by a subscription.
Definition: types.h:545
QoS Deadline Missed information provided by a publisher.
Definition: types.h:573
RMW_ENDPOINT_PUBLISHER
Creates and publishes messages to the ROS topic.
Definition: types.h:67
struct RMW_PUBLIC_TYPE rmw_gid_t rmw_gid_t
ROS graph ID of the topic.
Array of client handles.
Definition: types.h:266
bool from_intra_process
Whether this message is from intra_process communication or not.
Definition: types.h:485
bool can_loan_messages
Indicate whether this publisher supports loaning messages.
Definition: types.h:113
RMW_QOS_POLICY_DURABILITY_VOLATILE
Samples are not persistent.
Definition: types.h:381
int32_t alive_count
Definition: types.h:528
size_t depth
Size of the message queue.
Definition: types.h:440
int32_t not_alive_count_change
The change in the not_alive_count since the status was last read.
Definition: types.h:541
#define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
Definition: types.h:387
const char * topic_name
The name of the ROS topic this publisher publishes to.
Definition: types.h:99
rmw_request_id_t request_id
Definition: types.h:337
RMW_QOS_POLICY_HISTORY_KEEP_LAST
Only store up to a maximum number of samples, dropping oldest once max is exceeded.
Definition: types.h:362
void ** guard_conditions
Pointer to an array of void * pointers of guard conditions.
Definition: types.h:294