File types.hpp
FileList > astutedds > rmw > types.hpp
Go to the source code of this file
Private PIMPL structs backing every RMW-provided handle. More...
#include <atomic>#include <cstdint>#include <map>#include <mutex>#include <new>#include <string>#include <utility>#include <vector>#include <fcntl.h>#include <unistd.h>#include <rmw/event_callback_type.h>#include <rmw/qos_profiles.h>#include <rmw/rmw.h>#include <astutedds/c/astutedds.h>#include <astutedds/rmw/identifier.hpp>#include <astutedds/rmw/type_support.hpp>
Classes
| Type | Name |
|---|---|
| struct | AstuteDDSClient |
| struct | AstuteDDSContext |
| struct | NodeEndpoint |
| struct | AstuteDDSGuardCondition |
| struct | AstuteDDSNode |
| struct | AstuteDDSPublisher |
| struct | AstuteDDSService |
| struct | AstuteDDSSubscription |
| struct | AstuteDDSWaitSet |
Detailed Description
Every opaque RMW handle (rmw_context_t, rmw_node_t, rmw_publisher_t, …) carries a void * payload that the RMW is free to point at anything. This file defines the concrete structs those pointers refer to.
Design notes:
* There is no shared mutable global state; everything is reached through these PIMPL structs, keeping the code testable and localised.
* Each RMW handle owns exactly one of these; the RMW never deletes a handle it did not allocate.
* AstuteDDSContext holds the one-per-process DomainParticipant plus the DataWriter/DataReader factories.
The documentation for this class was generated from the following file include/astutedds/rmw/types.hpp