Struct AstuteDDSPublisher

ClassList > AstuteDDSPublisher

More...

  • #include <types.hpp>

Public Attributes

Type Name
uint8_t gid = {}
16-byte publisher GID.
std::mutex listener_mtx
rmw_event_callback_t on_liveliness_lost_cb = { nullptr }
const void * on_liveliness_lost_ud = { nullptr }
rmw_event_callback_t on_offered_deadline_missed_cb = { nullptr }
const void * on_offered_deadline_missed_ud = { nullptr }
rmw_event_callback_t on_offered_incompatible_qos_cb = { nullptr }
const void * on_offered_incompatible_qos_ud = { nullptr }
rmw_event_callback_t on_publication_matched_cb = { nullptr }
const void * on_publication_matched_ud = { nullptr }
rmw_qos_profile_t qos = {}
QoS requested at create.
AstuteDDS_Topic topic = { nullptr }
Owning Topic.
std::string topic_name
DDS topic name ( rt/… ).
std::string type_name
DDS type name.
TypeSupportHandle type_support = {}
Cached at create time.
AstuteDDS_DataWriter writer = { nullptr }
Owning DataWriter.

Detailed Description

State pointed to by rmw_publisher_t::data.

Bundles the DDS DataWriter, its Topic, and the cached introspection handle so rmw_publish() can serialize without re-resolving the type support.

Public Attributes Documentation

variable gid

16-byte publisher GID.

uint8_t AstuteDDSPublisher::gid[16];


variable listener_mtx

std::mutex AstuteDDSPublisher::listener_mtx;

Protects every on_*_cb / on_*_ud pair below against concurrent rmw_event_set_callback calls racing the AstuteDDS listener thread. AstuteDDS's astutedds_datawriter_set_listener() replaces the whole listener struct on each call, so every event callback setter must hold this mutex and call rebuild_publisher_listener() (see listener.hpp) to reassemble the full struct from current state rather than clobbering previously-registered callbacks.


variable on_liveliness_lost_cb

rmw_event_callback_t AstuteDDSPublisher::on_liveliness_lost_cb;

variable on_liveliness_lost_ud

const void* AstuteDDSPublisher::on_liveliness_lost_ud;

variable on_offered_deadline_missed_cb

rmw_event_callback_t AstuteDDSPublisher::on_offered_deadline_missed_cb;

variable on_offered_deadline_missed_ud

const void* AstuteDDSPublisher::on_offered_deadline_missed_ud;

variable on_offered_incompatible_qos_cb

rmw_event_callback_t AstuteDDSPublisher::on_offered_incompatible_qos_cb;

variable on_offered_incompatible_qos_ud

const void* AstuteDDSPublisher::on_offered_incompatible_qos_ud;

variable on_publication_matched_cb

rmw_event_callback_t AstuteDDSPublisher::on_publication_matched_cb;

variable on_publication_matched_ud

const void* AstuteDDSPublisher::on_publication_matched_ud;

variable qos

QoS requested at create.

rmw_qos_profile_t AstuteDDSPublisher::qos;


variable topic

Owning Topic.

AstuteDDS_Topic AstuteDDSPublisher::topic;


variable topic_name

DDS topic name ( rt/… ).

std::string AstuteDDSPublisher::topic_name;


variable type_name

DDS type name.

std::string AstuteDDSPublisher::type_name;


variable type_support

Cached at create time.

TypeSupportHandle AstuteDDSPublisher::type_support;


variable writer

Owning DataWriter.

AstuteDDS_DataWriter AstuteDDSPublisher::writer;



The documentation for this class was generated from the following file include/astutedds/rmw/types.hpp