Class dds::pub::DataWriter

template <typename T>

ClassList > dds > pub > DataWriter

Public Functions

Type Name
DataWriter (Publisher & publisher, dds::topic::Topic< T > & topic, const astutedds::dcps::DataWriterQos & qos={})
DataWriter (const DataWriter &) = delete
bool dispose_instance (astutedds::dcps::InstanceHandle_t handle)
DDS §2.2.2.4.2.13 — dispose_instance(handle).
bool dispose_instance (const T & sample)
DDS §2.2.2.4.2.13 — dispose_instance(sample).
astutedds::dcps::InstanceHandle_t lookup_instance (const T & sample) const
DDS §2.2.2.4.2.7 — lookup_instance(sample) const.
DataWriter & operator= (const DataWriter &) = delete
astutedds::dcps::DataWriter * raw () const
astutedds::dcps::InstanceHandle_t register_instance (const T & sample)
DDS §2.2.2.4.2.5 — register_instance(sample).
bool unregister_instance (astutedds::dcps::InstanceHandle_t handle)
DDS §2.2.2.4.2.6 — unregister_instance(handle).
bool unregister_instance (const T & sample)
DDS §2.2.2.4.2.6 — unregister_instance(sample).
bool write (const T & sample)
Serialize and publish a typed sample.
~DataWriter ()

Public Functions Documentation

function DataWriter [1/2]

inline dds::pub::DataWriter::DataWriter (
    Publisher & publisher,
    dds::topic::Topic < T > & topic,
    const astutedds::dcps::DataWriterQos & qos={}
) 

function DataWriter [2/2]

dds::pub::DataWriter::DataWriter (
    const DataWriter &
) = delete

function dispose_instance [1/2]

DDS §2.2.2.4.2.13 — dispose_instance(handle).

inline bool dds::pub::DataWriter::dispose_instance (
    astutedds::dcps::InstanceHandle_t handle
) 

Emits a DATA submessage with the K flag set and PID_STATUS_INFO carrying the DISPOSED bit (0x00000001) so remote readers transition the instance to NOT_ALIVE_DISPOSED_INSTANCE_STATE.


function dispose_instance [2/2]

DDS §2.2.2.4.2.13 — dispose_instance(sample).

inline bool dds::pub::DataWriter::dispose_instance (
    const T & sample
) 

Serialises the @key fields of sample as XCDR1 and disposes by key, so the caller does not have to have retained the handle returned by register_instance(). This is the RTI-Connext / Cyclone DDS spelling used by the pattern:

auto h = writer.lookup_instance(sample);
if (h != dds::core::HANDLE_NIL)
    writer.dispose_instance(h);

function lookup_instance

DDS §2.2.2.4.2.7 — lookup_instance(sample) const.

inline astutedds::dcps::InstanceHandle_t dds::pub::DataWriter::lookup_instance (
    const T & sample
) const

Returns the InstanceHandle_t previously assigned to the key carried in sample, or HANDLE_NIL if the key has never been seen by this writer. Does not register the instance.


function operator=

DataWriter & dds::pub::DataWriter::operator= (
    const DataWriter &
) = delete

function raw

inline astutedds::dcps::DataWriter * dds::pub::DataWriter::raw () const

function register_instance

DDS §2.2.2.4.2.5 — register_instance(sample).

inline astutedds::dcps::InstanceHandle_t dds::pub::DataWriter::register_instance (
    const T & sample
) 

Serialises the @key fields of sample as XCDR1 and hands the bytes to astutedds::dcps::DataWriter::register_instance, which returns a stable handle that a later dispose_instance(handle) or unregister_instance(handle) call can use to emit a keyed DATA(K) on the wire without re-supplying the sample. Returns HANDLE_NIL for unkeyed topics.


function unregister_instance [1/2]

DDS §2.2.2.4.2.6 — unregister_instance(handle).

inline bool dds::pub::DataWriter::unregister_instance (
    astutedds::dcps::InstanceHandle_t handle
) 


function unregister_instance [2/2]

DDS §2.2.2.4.2.6 — unregister_instance(sample).

inline bool dds::pub::DataWriter::unregister_instance (
    const T & sample
) 

Convenience overload that serialises the @key fields of sample as XCDR1 and unregisters by key, so the caller does not have to have retained the handle returned by register_instance().


function write

Serialize and publish a typed sample.

inline bool dds::pub::DataWriter::write (
    const T & sample
) 


function ~DataWriter

inline dds::pub::DataWriter::~DataWriter () 


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