rmw  master
C API providing a middleware abstraction layer which is used to implement the rest of ROS.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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 
31 #include "rmw/init.h"
32 #include "rmw/init_options.h"
33 #include "rmw/ret_types.h"
34 #include "rmw/security_options.h"
35 #include "rmw/serialized_message.h"
36 #include "rmw/time.h"
37 #include "rmw/visibility_control.h"
38 
39 // 24 bytes is the most memory needed to represent the GID by any current
40 // implementation. It may need to be increased in the future.
41 #define RMW_GID_STORAGE_SIZE 24u
42 
45 {
48 
50  void * data;
51 
53  const char * name;
54 
56  const char * namespace_;
57 
60 } rmw_node_t;
61 
64 {
67 
70 
72  RMW_ENDPOINT_SUBSCRIPTION
74 
77 {
80 
84 
88 
90  RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_SYSTEM_DEFAULT
92 
95 {
97 
107 
109 
117 
120 {
123 
125  void * data;
126 
128  const char * topic_name;
129 
131 
140 
144 
147 {
149 
156 
158 
171 
173 
181 
183 {
186 
188  void * data;
189 
191  const char * topic_name;
192 
194 
203 
207 
210 {
213 
215  void * data;
216 
218  const char * service_name;
219 } rmw_service_t;
220 
223 {
226 
228  void * data;
229 
231  const char * service_name;
232 } rmw_client_t;
233 
236 {
239 
241  void * data;
242 
246 
249 {
252 
254  void * data;
256 
259 {
262 
264  void * data;
266 
268 
275 {
279  void ** subscribers;
281 
283 
290 {
294  void ** services;
296 
298 
305 {
307  size_t client_count;
309  void ** clients;
310 } rmw_clients_t;
311 
313 {
315  size_t event_count;
317  void ** events;
318 } rmw_events_t;
319 
321 
328 {
334 
337 {
340 
343 
345  void * data;
347 
350 {
352  int8_t writer_guid[16];
353 
357 
360 {
365 
367 {
370 
373 
376 
378  RMW_QOS_POLICY_RELIABILITY_UNKNOWN
379 };
380 
383 {
386 
389 
392 
394  RMW_QOS_POLICY_HISTORY_UNKNOWN
395 };
396 
399 {
402 
405 
408 
410  RMW_QOS_POLICY_DURABILITY_UNKNOWN
411 };
412 
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."
416 
417 #ifndef _WIN32
418 # define RMW_DECLARE_DEPRECATED(name, msg) name __attribute__((deprecated(msg)))
419 #else
420 # define RMW_DECLARE_DEPRECATED(name, msg) name __pragma(deprecated(name))
421 #endif
422 
425 // Suppress syntax errors, as cppcheck does not seem to handle enumerator attributes.
426 // cppcheck-suppress syntaxError
428 {
431 
434 
439  RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE,
441 
445  // Using `3` for backwards compatibility.
447 
449  RMW_QOS_POLICY_LIVELINESS_UNKNOWN = 4
450 };
451 
453 #define RMW_QOS_DEADLINE_DEFAULT RMW_DURATION_UNSPECIFIED
454 
456 #define RMW_QOS_LIFESPAN_DEFAULT RMW_DURATION_UNSPECIFIED
457 
459 #define RMW_QOS_LIVELINESS_LEASE_DURATION_DEFAULT RMW_DURATION_UNSPECIFIED
460 
463 {
466  size_t depth;
472 
477  struct rmw_time_t deadline;
479 
484  struct rmw_time_t lifespan;
488 
493  struct rmw_time_t liveliness_lease_duration;
494 
496 
507 
510 {
513 
515  uint8_t data[RMW_GID_STORAGE_SIZE];
516 } rmw_gid_t;
517 
520 {
524 
528 
534 
538 
540 typedef enum RMW_PUBLIC_TYPE
541 {
544 
547 
550 
553 
557 
558 #ifdef __cplusplus
559 }
560 #endif
561 
562 #endif // RMW__TYPES_H_
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:327
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:433
rmw_node_t
Structure which encapsulates an rmw node.
Definition: types.h:44
rmw_client_t::service_name
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
RMW_QOS_POLICY_HISTORY_KEEP_ALL
Store all samples, subject to resource limits.
Definition: types.h:391
rmw_wait_set_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:339
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
RMW_QOS_POLICY_RELIABILITY_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:369
rmw_time_point_value_t
rcutils_time_point_value_t rmw_time_point_value_t
Definition: time.h:40
rmw_services_t::services
void ** services
Pointer to an array of void * pointers of services.
Definition: types.h:294
rmw_subscription_t::data
void * data
Type erased pointer to this subscription.
Definition: types.h:188
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:59
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:228
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:155
rmw_service_t
A handle to an rmw service.
Definition: types.h:209
rmw_services_t
struct RMW_PUBLIC_TYPE rmw_services_t rmw_services_t
Array of service handles.
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_OPTIONALLY_REQUIRED
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_OPTIONALLY_REQUIRED
Definition: types.h:87
rmw_service_t::service_name
const char * service_name
The name of this service as exposed to the ros graph.
Definition: types.h:218
rmw_message_info_t::source_timestamp
rmw_time_point_value_t source_timestamp
Definition: types.h:521
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:375
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:519
rmw_time_t
A struct representing a duration or relative time in RMW - does not encode an origin.
Definition: time.h:31
rmw_message_info_t::publisher_gid
rmw_gid_t publisher_gid
Definition: types.h:523
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_publisher_options_t::require_unique_network_flow_endpoints
rmw_unique_network_flow_endpoints_requirement_t require_unique_network_flow_endpoints
Require middleware to generate unique network flow endpoints.
Definition: types.h:115
rmw_subscription_allocation_t
Allocation of memory for an rmw subscription.
Definition: types.h:258
rmw_publisher_allocation_t
struct RMW_PUBLIC_TYPE rmw_publisher_allocation_t rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
rmw_publisher_allocation_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:251
rmw_guard_condition_t::context
rmw_context_t * context
rmw context associated with this guard condition
Definition: types.h:244
RMW_PUBLIC_TYPE
RMW_PUBLIC_TYPE
Type mapping of rcutils log severity types to rmw specific types.
Definition: types.h:540
rmw_wait_set_t::guard_conditions
rmw_guard_conditions_t * guard_conditions
The guard condition to be waited on.
Definition: types.h:342
rmw_subscriptions_t::subscriber_count
size_t subscriber_count
The number of subscribers represented by the array.
Definition: types.h:277
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:63
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:235
RCUTILS_LOG_SEVERITY_DEBUG
RCUTILS_LOG_SEVERITY_DEBUG
events_statuses.h
rmw_subscription_allocation_t::data
void * data
Type erased pointer to this allocation.
Definition: types.h:264
ret_types.h
rmw_wait_set_t::data
void * data
Type erased pointer to this wait set's data.
Definition: types.h:345
rmw_events_t::events
void ** events
Pointer to an array of void * pointers of events.
Definition: types.h:317
rmw_node_t::name
const char * name
A concise name of this rmw node for identification.
Definition: types.h:53
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:94
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:336
rmw_subscription_t::topic_name
const char * topic_name
Name of the ros topic this subscription listens to.
Definition: types.h:191
rmw_node_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:47
rmw_service_t::data
void * data
Type erased pointer to this service.
Definition: types.h:215
rmw_request_id_t::sequence_number
int64_t sequence_number
Sequence number of this service.
Definition: types.h:355
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:185
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:427
rmw_subscription_allocation_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:261
rmw_service_info_t
Meta-data for a service-related take.
Definition: types.h:359
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:505
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:106
rmw_client_t
A handle to an rmw service client.
Definition: types.h:222
rmw_subscription_t
Definition: types.h:182
rmw_publisher_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:122
rmw_publisher_allocation_t
Allocation of memory for an rmw publisher.
Definition: types.h:248
RMW_LOG_SEVERITY_DEBUG
@ RMW_LOG_SEVERITY_DEBUG
Debug log severity, for pedantic messaging.
Definition: types.h:543
RMW_LOG_SEVERITY_FATAL
@ RMW_LOG_SEVERITY_FATAL
Fatal log severity, for reporting issue causing imminent shutdown.
Definition: types.h:555
serialized_message.h
rmw_services_t::service_count
size_t service_count
The number of services represented by the array.
Definition: types.h:292
init.h
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_STRICTLY_REQUIRED
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_STRICTLY_REQUIRED
Definition: types.h:83
RCUTILS_LOG_SEVERITY_INFO
RCUTILS_LOG_SEVERITY_INFO
rmw_guard_conditions_t::guard_condition_count
size_t guard_condition_count
The number of guard conditions represented by the array.
Definition: types.h:330
rmw_publisher_t::options
rmw_publisher_options_t options
Publisher options.
Definition: types.h:139
rmw_service_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:212
RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
@ RMW_QOS_POLICY_DEPTH_SYSTEM_DEFAULT
Definition: types.h:537
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.
init_options.h
time.h
rmw_client_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:225
security_options.h
rmw_publisher_t
Structure which encapsulates an rmw publisher.
Definition: types.h:119
RMW_GID_STORAGE_SIZE
#define RMW_GID_STORAGE_SIZE
Definition: types.h:41
rmw_qos_history_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_history_policy_t
QoS history enumerations describing how samples endure.
Definition: types.h:382
rmw_request_id_t
An rmw service request identifier.
Definition: types.h:349
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:56
rmw_gid_t::implementation_identifier
const char * implementation_identifier
Name of the rmw implementation.
Definition: types.h:512
rmw_clients_t::clients
void ** clients
Pointer to an array of void * pointers of clients.
Definition: types.h:309
rmw_subscription_t::options
rmw_subscription_options_t options
Subscription options.
Definition: types.h:202
rmw_message_info_t::received_timestamp
rmw_time_point_value_t received_timestamp
Definition: types.h:522
rmw_subscriptions_t::subscribers
void ** subscribers
Pointer to an array of void * pointers of subscriptions.
Definition: types.h:279
RMW_LOG_SEVERITY_INFO
@ RMW_LOG_SEVERITY_INFO
Informational log severity, for reporting expected but not overwhelming information.
Definition: types.h:546
rmw_events_t::event_count
size_t event_count
The number of events represented by the array.
Definition: types.h:315
rmw_service_info_t::source_timestamp
rmw_time_point_value_t source_timestamp
Definition: types.h:361
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:385
visibility_control.h
rmw_guard_condition_t::implementation_identifier
const char * implementation_identifier
The name of the rmw implementation.
Definition: types.h:238
rmw_services_t
Array of service handles.
Definition: types.h:289
rmw_subscription_options_t
Options that can be used to configure the creation of a subscription in rmw.
Definition: types.h:146
rmw_node_t::data
void * data
Type erased pointer to this node's data.
Definition: types.h:50
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:549
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:205
rmw_qos_durability_policy_t
enum RMW_PUBLIC_TYPE rmw_qos_durability_policy_t
QoS durability enumerations describing how samples persist.
Definition: types.h:398
rmw_publisher_allocation_t::data
void * data
Type erased pointer to this allocation.
Definition: types.h:254
rmw_gid_t
ROS graph ID of the topic.
Definition: types.h:509
rmw_guard_condition_t::data
void * data
Type erased pointer to this guard condition.
Definition: types.h:241
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
RMW_QOS_POLICY_LIVELINESS_SYSTEM_DEFAULT
Implementation specific default.
Definition: types.h:430
rmw_clients_t::client_count
size_t client_count
The number of clients represented by the array.
Definition: types.h:307
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
RMW_QOS_POLICY_DURABILITY_SYSTEM_DEFAULT
Impplementation specific default.
Definition: types.h:401
RMW_ENDPOINT_INVALID
RMW_ENDPOINT_INVALID
Endpoint type has not yet been set.
Definition: types.h:66
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:170
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:372
rmw_subscriptions_t
Array of subscriber handles.
Definition: types.h:274
rmw_publisher_t::data
void * data
Type erased pointer to this publisher's data.
Definition: types.h:125
rmw_unique_network_flow_endpoints_requirement_t
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
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:462
rmw_subscription_options_t::require_unique_network_flow_endpoints
rmw_unique_network_flow_endpoints_requirement_t require_unique_network_flow_endpoints
Require middleware to generate unique network flow endpoints.
Definition: types.h:179
RMW_DECLARE_DEPRECATED
#define RMW_DECLARE_DEPRECATED(name, msg)
Definition: types.h:418
rmw_qos_profile_t
struct RMW_PUBLIC_TYPE rmw_qos_profile_t rmw_qos_profile_t
ROS MiddleWare quality of service profile.
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:366
rmw_service_info_t::received_timestamp
rmw_time_point_value_t received_timestamp
Definition: types.h:362
rmw_events_t
Definition: types.h:312
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_TOPIC
Definition: types.h:446
rmw_wait_set_t
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
RMW_UNIQUE_NETWORK_FLOW_ENDPOINTS_NOT_REQUIRED
Unique network flow endpoints not required.
Definition: types.h:79
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:404
RMW_LOG_SEVERITY_ERROR
@ RMW_LOG_SEVERITY_ERROR
Error log severity, for reporting uncoverable issues.
Definition: types.h:552
RMW_ENDPOINT_PUBLISHER
RMW_ENDPOINT_PUBLISHER
Creates and publishes messages to the ROS topic.
Definition: types.h:69
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:304
rmw_message_info_t::from_intra_process
bool from_intra_process
Whether this message is from intra_process communication or not.
Definition: types.h:526
rmw_publisher_t::can_loan_messages
bool can_loan_messages
Indicate whether this publisher supports loaning messages.
Definition: types.h:142
RMW_QOS_POLICY_DURABILITY_VOLATILE
RMW_QOS_POLICY_DURABILITY_VOLATILE
Samples are not persistent.
Definition: types.h:407
rmw_qos_profile_t::depth
size_t depth
Size of the message queue.
Definition: types.h:466
RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
#define RMW_QOS_POLICY_LIVELINESS_MANUAL_BY_NODE_DEPRECATED_MSG
Definition: types.h:413
rmw_publisher_t::topic_name
const char * topic_name
The name of the ROS topic this publisher publishes to.
Definition: types.h:128
rmw_service_info_t::request_id
rmw_request_id_t request_id
Definition: types.h:363
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:388
rmw_guard_conditions_t::guard_conditions
void ** guard_conditions
Pointer to an array of void * pointers of guard conditions.
Definition: types.h:332