rmw  master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
types.h
Go to the documentation of this file.
1 // Copyright 2014-2017 Open Source Robotics Foundation, Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef RMW__TYPES_H_
16 #define RMW__TYPES_H_
17 
18 #ifdef __cplusplus
19 extern "C"
20 {
21 #endif
22 
23 #include <stdbool.h>
24 #include <stddef.h>
25 #include <stdint.h>
26 
27 // map rcutils specific log levels to rmw speicfic type
28 #include <rcutils/logging.h>
29 
30 #include "rmw/init.h"
31 #include "rmw/init_options.h"
32 #include "rmw/ret_types.h"
33 #include "rmw/security_options.h"
34 #include "rmw/serialized_message.h"
35 #include "rmw/visibility_control.h"
36 
37 // 24 bytes is the most memory needed to represent the GID by any current
38 // implementation. It may need to be increased in the future.
39 #define RMW_GID_STORAGE_SIZE 24u
40 
43 {
46 
48  void * data;
49 
51  const char * name;
52 
54  const char * namespace_;
55 
58 } rmw_node_t;
59 
62 {
65 
68 
70  RMW_ENDPOINT_SUBSCRIPTION
72 
75 {
77 
88 
91 {
94 
96  void * data;
97 
99  const char * topic_name;
100 
102 
111 
115 
118 {
120 
127 
129 
143 
145 {
148 
150  void * data;
151 
153  const char * topic_name;
154 
156 
165 
169 
172 {
175 
177  void * data;
178 
180  const char * service_name;
181 } rmw_service_t;
182 
185 {
188 
190  void * data;
191 
193  const char * service_name;
194 } rmw_client_t;
195 
198 {
201 
203  void * data;
204 
208 
211 {
214 
216  void * data;
218 
221 {
224 
226  void * data;
228 
230 
237 {
241  void ** subscribers;
243 
245 
252 {
256  void ** services;
258 
260 
267 {
269  size_t client_count;
271  void ** clients;
272 } rmw_clients_t;
273 
275 {
277  size_t event_count;
279  void ** events;
280 } rmw_events_t;
281 
283 
290 {
296 
299 {
302 
305 
307  void * data;
309 
312 {
314  int8_t writer_guid[16];
315 
319 
322 {
324  uint64_t sec;
325 
327  uint64_t nsec;
328 } rmw_time_t;
329 
331 
334 {
339 
341 {
344 
347 
350 
352  RMW_QOS_POLICY_RELIABILITY_UNKNOWN
353 };
354 
357 {
360 
363 
366 
368  RMW_QOS_POLICY_HISTORY_UNKNOWN
369 };
370 
373 {
376 
379 
382 
384  RMW_QOS_POLICY_DURABILITY_UNKNOWN
385 };
386 
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."
390 
391 #ifndef _WIN32
392 # define RMW_DECLARE_DEPRECATED(name, msg) name __attribute__((deprecated(msg)))
393 #else
394 # define RMW_DECLARE_DEPRECATED(name, msg) name __pragma(deprecated(name))
395 #endif
396 
399 // Suppress syntax errors, as cppcheck does not seem to handle enumerator attributes.
400 // cppcheck-suppress syntaxError
402 {
405 
408 
413  RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE,
415 
419  // Using `3` for backwards compatibility.
421 
423  RMW_QOS_POLICY_LIVELINESS_UNKNOWN = 4
424 };
425 
427 #define RMW_QOS_DEADLINE_DEFAULT {0, 0}
428 
430 #define RMW_QOS_LIFESPAN_DEFAULT {0, 0}
431 
433 #define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT {0, 0}
434 
437 {
440  size_t depth;
446  struct rmw_time_t deadline;
448  struct rmw_time_t lifespan;
452  struct rmw_time_t liveliness_lease_duration;
453 
455 
466 
469 {
472 
474  uint8_t data[RMW_GID_STORAGE_SIZE];
475 } rmw_gid_t;
476 
479 {
483 
487 
493 
497 
499 typedef enum RMW_PUBLIC_TYPE
500 {
503 
506 
509 
512 
516 
519 {
528  int32_t alive_count;
543 
546 {
553  int32_t total_count;
557 
560 {
567  int32_t total_count;
571 
574 {
581  int32_t total_count;
585 
586 #ifdef __cplusplus
587 }
588 #endif
589 
590 #endif // RMW__TYPES_H_
rmw_offered_deadline_missed_status_t::total_count_change
int32_t total_count_change
The change in total_count since the last time the status was last read.
Definition: types.h:583
rmw_liveliness_changed_status_t
struct RMW_PUBLIC_TYPE rmw_liveliness_changed_status_t rmw_liveliness_changed_status_t
QoS Liveliness Changed information provided by a subscription.
rmw_guard_conditions_t
struct RMW_PUBLIC_TYPE rmw_guard_conditions_t rmw_guard_conditions_t
Array of guard condition handles.
rmw_guard_conditions_t
Array of guard condition handles.
Definition: types.h:289
RMW_QOS_POLICY_LIVELINESS_AUTOMATIC
RMW_QOS_POLICY_LIVELINESS_AUTOMATIC
The signal that establishes a Topic is alive comes from the ROS rmw layer.
Definition: types.h:407
rmw_node_t
Structure which encapsulates an rmw node.
Definition: types.h:42
rmw_client_t::service_name
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
RMW_QOS_POLICY_HISTORY_KEEP_ALL
Store all samples, subject to resource limits.
Definition: types.h:365
rmw_wait_set_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:301
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:343
rmw_services_t::services
void ** services
Pointer to an array of void * pointers of services.
Definition: types.h:256
rmw_subscription_t::data
void * data
Type erased pointer to this subscription.
Definition: types.h:150
rmw_client_t
struct RMW_PUBLIC_TYPE rmw_client_t rmw_client_t
A handle to an rmw service client.
rmw_node_t::context
rmw_context_t * context
Context information about node's init specific information.
Definition: types.h:57
rmw_time_t::nsec
uint64_t nsec
Nanoseconds component of this time point.
Definition: types.h:327
rmw_liveliness_lost_status_t
QoS Liveliness Lost information provided by a publisher.
Definition: types.h:559
RMW_PUBLIC
#define RMW_PUBLIC
Definition: visibility_control.h:48
rmw_client_t::data
void * data
Type erased pointer to this service client.
Definition: types.h:190
rmw_subscription_options_t::rmw_specific_subscription_payload
void * rmw_specific_subscription_payload
Used to pass rmw implementation specific resources during subscription creation.
Definition: types.h:126
rmw_service_t
A handle to an rmw service.
Definition: types.h:171
rmw_services_t
struct RMW_PUBLIC_TYPE rmw_services_t rmw_services_t
Array of service handles.
rmw_service_t::service_name
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:180
rmw_message_info_t::source_timestamp
rmw_time_point_value_t source_timestamp
Definition: types.h:480
RMW_QOS_POLICY_RELIABILITY_BEST_EFFORT
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
rmw_service_info_t
struct RMW_PUBLIC_TYPE rmw_service_info_t rmw_service_info_t
Meta-data for a service-related take.
rmw_message_info_t
Information describing an rmw message.
Definition: types.h:478
rmw_time_t
Struct representing a time point for rmw.
Definition: types.h:321
rmw_message_info_t::publisher_gid
rmw_gid_t publisher_gid
Definition: types.h:482
rmw_events_t
struct RMW_PUBLIC_TYPE rmw_events_t rmw_events_t
rmw_log_severity_t
enum RMW_PUBLIC_TYPE rmw_log_severity_t
Type mapping of rcutils log severity types to rmw specific types.
rmw_subscription_allocation_t
Allocation of memory for an rmw subscription.
Definition: types.h:220
rmw_publisher_allocation_t
struct RMW_PUBLIC_TYPE rmw_publisher_allocation_t rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
rmw_requested_deadline_missed_status_t::total_count
int32_t total_count
Definition: types.h:553
rmw_publisher_allocation_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:213
rmw_guard_condition_t::context
rmw_context_t * context
rmw context associated with this guard condition
Definition: types.h:206
RMW_PUBLIC_TYPE
RMW_PUBLIC_TYPE
Type mapping of rcutils log severity types to rmw specific types.
Definition: types.h:499
rmw_wait_set_t::guard_conditions
rmw_guard_conditions_t * guard_conditions
The guard condition to be waited on.
Definition: types.h:304
rmw_subscriptions_t::subscriber_count
size_t subscriber_count
The number of subscribers represented by the array.
Definition: types.h:239
rmw_publisher_t
struct RMW_PUBLIC_TYPE rmw_publisher_t rmw_publisher_t
Structure which encapsulates an rmw publisher.
rmw_endpoint_type_t
enum RMW_PUBLIC_TYPE rmw_endpoint_type_t rmw_endpoint_type_t
Endpoint enumeration type.
Definition: types.h:61
rmw_subscriptions_t
struct RMW_PUBLIC_TYPE rmw_subscriptions_t rmw_subscriptions_t
Array of subscriber handles.
rmw_guard_condition_t
Handle for an rmw guard condition.
Definition: types.h:197
rmw_liveliness_lost_status_t
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
RCUTILS_LOG_SEVERITY_DEBUG
rmw_subscription_allocation_t::data
void * data
Type erased pointer to this allocation.
Definition: types.h:226
ret_types.h
rmw_wait_set_t::data
void * data
Type erased pointer to this wait set's data.
Definition: types.h:307
rmw_events_t::events
void ** events
Pointer to an array of void * pointers of events.
Definition: types.h:279
rmw_node_t::name
const char * name
A concise name of this rmw node for identification.
Definition: types.h:51
rmw_message_info_t
struct RMW_PUBLIC_TYPE rmw_message_info_t rmw_message_info_t
Information describing an rmw message.
rmw_publisher_options_t
Options that can be used to configure the creation of a publisher in rmw.
Definition: types.h:74
rmw_subscription_options_t
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.
rmw_wait_set_t
Container for guard conditions to be waited on.
Definition: types.h:298
rmw_subscription_t::topic_name
const char * topic_name
Name of the ros topic this subscription listens to.
Definition: types.h:153
rmw_node_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:45
rmw_service_t::data
void * data
Type erased pointer to this service.
Definition: types.h:177
rmw_request_id_t::sequence_number
int64_t sequence_number
Sequence number of this service.
Definition: types.h:317
rmw_subscription_allocation_t
struct RMW_PUBLIC_TYPE rmw_subscription_allocation_t rmw_subscription_allocation_t
Allocation of memory for an rmw subscription.
rmw_subscription_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:147
rmw_liveliness_changed_status_t::alive_count_change
int32_t alive_count_change
The change in the alive_count since the status was last read.
Definition: types.h:539
RMW_WARN_UNUSED
#define RMW_WARN_UNUSED
Indicate that a variable is not used, and prevent compiler from issuing warnings.
Definition: macros.h:24
rmw_qos_liveliness_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_liveliness_policy_t
Definition: types.h:401
rmw_subscription_allocation_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:223
rmw_service_info_t
Meta-data for a service-related take.
Definition: types.h:333
rmw_liveliness_changed_status_t
QoS Liveliness Changed information provided by a subscription.
Definition: types.h:518
rmw_qos_profile_t::avoid_ros_namespace_conventions
bool avoid_ros_namespace_conventions
If true, any ROS specific namespacing conventions will be circumvented.
Definition: types.h:464
rmw_context_t
Initialization context structure which is used to store init specific information.
Definition: init.h:37
rmw_publisher_options_t::rmw_specific_publisher_payload
void * rmw_specific_publisher_payload
Used to pass rmw implementation specific resources during publisher creation.
Definition: types.h:86
rmw_client_t
A handle to an rmw service client.
Definition: types.h:184
rmw_subscription_t
Definition: types.h:144
rmw_publisher_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:93
rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
Definition: types.h:210
RMW_LOG_SEVERITY_DEBUG
@ RMW_LOG_SEVERITY_DEBUG
Debug log severity, for pedantic messaging.
Definition: types.h:502
rmw_liveliness_lost_status_t::total_count
int32_t total_count
Definition: types.h:567
RMW_LOG_SEVERITY_FATAL
@ RMW_LOG_SEVERITY_FATAL
Fatal log severity, for reporting issue causing imminent shutdown.
Definition: types.h:514
serialized_message.h
rmw_services_t::service_count
size_t service_count
The number of services represented by the array.
Definition: types.h:254
init.h
rmw_offered_deadline_missed_status_t::total_count
int32_t total_count
Definition: types.h:581
RCUTILS_LOG_SEVERITY_INFO
RCUTILS_LOG_SEVERITY_INFO
rmw_offered_deadline_missed_status_t
struct RMW_PUBLIC_TYPE rmw_offered_deadline_missed_status_t rmw_offered_deadline_missed_status_t
QoS Deadline Missed information provided by a publisher.
rmw_guard_conditions_t::guard_condition_count
size_t guard_condition_count
The number of guard conditions represented by the array.
Definition: types.h:292
rmw_publisher_t::options
rmw_publisher_options_t options
Publisher options.
Definition: types.h:110
rmw_service_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:174
RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
@ RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
Definition: types.h:496
rmw_request_id_t
struct RMW_PUBLIC_TYPE rmw_request_id_t rmw_request_id_t
An rmw service request identifier.
rmw_guard_condition_t
struct RMW_PUBLIC_TYPE rmw_guard_condition_t rmw_guard_condition_t
Handle for an rmw guard condition.
rmw_requested_deadline_missed_status_t::total_count_change
int32_t total_count_change
The incremental number of deadlines detected since the status was read.
Definition: types.h:555
init_options.h
rmw_client_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:187
security_options.h
rmw_liveliness_lost_status_t::total_count_change
int32_t total_count_change
The change in total_count since the last time the status was last read.
Definition: types.h:569
rmw_publisher_t
Structure which encapsulates an rmw publisher.
Definition: types.h:90
RMW_GID_STORAGE_SIZE
#define RMW_GID_STORAGE_SIZE
Definition: types.h:39
rmw_qos_history_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_history_policy_t
QoS history enumerations describing how samples endure.
Definition: types.h:356
rmw_request_id_t
An rmw service request identifier.
Definition: types.h:311
rmw_publisher_options_t
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.
rmw_node_t::namespace_
const char * namespace_
The namespace of this rmw node.
Definition: types.h:54
rmw_liveliness_changed_status_t::not_alive_count
int32_t not_alive_count
Definition: types.h:537
rmw_gid_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:471
rmw_time_t
struct RMW_PUBLIC_TYPE rmw_time_t rmw_time_t
Struct representing a time point for rmw.
rmw_clients_t::clients
void ** clients
Pointer to an array of void * pointers of clients.
Definition: types.h:271
rmw_subscription_t::options
rmw_subscription_options_t options
Subscription options.
Definition: types.h:164
rmw_message_info_t::received_timestamp
rmw_time_point_value_t received_timestamp
Definition: types.h:481
rmw_subscriptions_t::subscribers
void ** subscribers
Pointer to an array of void * pointers of subscriptions.
Definition: types.h:241
rcutils_time_point_value_t
int64_t rcutils_time_point_value_t
RMW_LOG_SEVERITY_INFO
@ RMW_LOG_SEVERITY_INFO
Informational log severity, for reporting expected but not overwhelming information.
Definition: types.h:505
rmw_events_t::event_count
size_t event_count
The number of events represented by the array.
Definition: types.h:277
rmw_time_t::sec
uint64_t sec
Seconds since the epoch.
Definition: types.h:324
rmw_service_info_t::source_timestamp
rmw_time_point_value_t source_timestamp
Definition: types.h:335
RCUTILS_LOG_SEVERITY_FATAL
RCUTILS_LOG_SEVERITY_FATAL
RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT
RMW_QOS_POLICY_HISTORY_SYSTEM_DEFAULT
Implementation default for history policy.
Definition: types.h:359
visibility_control.h
rmw_guard_condition_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:200
rmw_services_t
Array of service handles.
Definition: types.h:251
rmw_subscription_options_t
Options that can be used to configure the creation of a subscription in rmw.
Definition: types.h:117
rmw_node_t::data
void * data
Type erased pointer to this node's data.
Definition: types.h:48
rmw_get_zero_initialized_message_info
rmw_message_info_t rmw_get_zero_initialized_message_info(void)
Get zero initialized mesage info.
RMW_LOG_SEVERITY_WARN
@ RMW_LOG_SEVERITY_WARN
Warning log severity, for reporting recoverable issues.
Definition: types.h:508
rmw_time_point_value_t
rcutils_time_point_value_t rmw_time_point_value_t
Definition: types.h:330
rmw_service_t
struct RMW_PUBLIC_TYPE rmw_service_t rmw_service_t
A handle to an rmw service.
rmw_clients_t
struct RMW_PUBLIC_TYPE rmw_clients_t rmw_clients_t
Array of client handles.
rmw_subscription_t::can_loan_messages
bool can_loan_messages
Indicates whether this subscription can loan messages.
Definition: types.h:167
rmw_qos_durability_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_durability_policy_t
QoS durability enumerations describing how samples persist.
Definition: types.h:372
rmw_publisher_allocation_t::data
void * data
Type erased pointer to this allocation.
Definition: types.h:216
rmw_gid_t
ROS graph ID of the topic.
Definition: types.h:468
rmw_guard_condition_t::data
void * data
Type erased pointer to this guard condition.
Definition: types.h:203
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:404
rmw_clients_t::client_count
size_t client_count
The number of clients represented by the array.
Definition: types.h:269
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
Impplementation specific default.
Definition: types.h:375
RMW_ENDPOINT_INVALID
RMW_ENDPOINT_INVALID
Endpoint type has not yet been set.
Definition: types.h:64
rmw_node_t
struct RMW_PUBLIC_TYPE rmw_node_t rmw_node_t
Structure which encapsulates an rmw node.
rmw_subscription_options_t::ignore_local_publications
bool ignore_local_publications
If true then the middleware should not deliver data from local publishers.
Definition: types.h:141
RCUTILS_LOG_SEVERITY_ERROR
RCUTILS_LOG_SEVERITY_ERROR
RMW_QOS_POLICY_RELIABILITY_RELIABLE
RMW_QOS_POLICY_RELIABILITY_RELIABLE
Guarantee that samples are delivered, may retry multiple times.
Definition: types.h:346
rmw_subscriptions_t
Array of subscriber handles.
Definition: types.h:236
rmw_publisher_t::data
void * data
Type erased pointer to this publisher's data.
Definition: types.h:96
rmw_subscription_t
struct RMW_PUBLIC_TYPE rmw_subscription_t rmw_subscription_t
rmw_qos_profile_t
ROS MiddleWare quality of service profile.
Definition: types.h:436
RMW_DECLARE_DEPRECATED
#define RMW_DECLARE_DEPRECATED(name, msg)
Definition: types.h:392
rmw_qos_profile_t
struct RMW_PUBLIC_TYPE rmw_qos_profile_t rmw_qos_profile_t
ROS MiddleWare quality of service profile.
rmw_requested_deadline_missed_status_t
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
RCUTILS_LOG_SEVERITY_WARN
rmw_qos_reliability_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_reliability_policy_t
Definition: types.h:340
rmw_service_info_t::received_timestamp
rmw_time_point_value_t received_timestamp
Definition: types.h:336
rmw_events_t
Definition: types.h:274
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
Definition: types.h:420
rmw_wait_set_t
struct RMW_PUBLIC_TYPE rmw_wait_set_t rmw_wait_set_t
Container for guard conditions to be waited on.
logging.h
RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL
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
@ RMW_LOG_SEVERITY_ERROR
Error log severity, for reporting uncoverable issues.
Definition: types.h:511
rmw_requested_deadline_missed_status_t
QoS Requested Deadline Missed information provided by a subscription.
Definition: types.h:545
rmw_offered_deadline_missed_status_t
QoS Deadline Missed information provided by a publisher.
Definition: types.h:573
RMW_ENDPOINT_PUBLISHER
RMW_ENDPOINT_PUBLISHER
Creates and publishes messages to the ROS topic.
Definition: types.h:67
rmw_gid_t
struct RMW_PUBLIC_TYPE rmw_gid_t rmw_gid_t
ROS graph ID of the topic.
rmw_clients_t
Array of client handles.
Definition: types.h:266
rmw_message_info_t::from_intra_process
bool from_intra_process
Whether this message is from intra_process communication or not.
Definition: types.h:485
rmw_publisher_t::can_loan_messages
bool can_loan_messages
Indicate whether this publisher supports loaning messages.
Definition: types.h:113
RMW_QOS_POLICY_DURABILITY_VOLATILE
RMW_QOS_POLICY_DURABILITY_VOLATILE
Samples are not persistent.
Definition: types.h:381
rmw_liveliness_changed_status_t::alive_count
int32_t alive_count
Definition: types.h:528
rmw_qos_profile_t::depth
size_t depth
Size of the message queue.
Definition: types.h:440
rmw_liveliness_changed_status_t::not_alive_count_change
int32_t not_alive_count_change
The change in the not_alive_count since the status was last read.
Definition: types.h:541
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
#define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
Definition: types.h:387
rmw_publisher_t::topic_name
const char * topic_name
The name of the ROS topic this publisher publishes to.
Definition: types.h:99
rmw_service_info_t::request_id
rmw_request_id_t request_id
Definition: types.h:337
RMW_QOS_POLICY_HISTORY_KEEP_LAST
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
rmw_guard_conditions_t::guard_conditions
void ** guard_conditions
Pointer to an array of void * pointers of guard conditions.
Definition: types.h:294