Class astutedds::dcps::DataWriter
ClassList > astutedds > dcps > DataWriter
Publishes data samples to a topic.
#include <dcps.hpp>
Public Types
| Type | Name |
|---|---|
| typedef std::function< void()> | HeartbeatCallback |
| typedef std::function< void(const rtps::GUID_t &)> | LivelinessAssertHook |
| typedef std::function< LivelinessLostStatus()> | LivelinessLostStatusHook |
| typedef std::function< void(const std::vector< uint8_t > &data, const rtps::GUID_t &writer_guid, const rtps::SequenceNumber_t &sequence_number)> | LocalDeliverCallback |
| typedef std::function< void(const std::vector< uint8_t > &)> | SendCallback |
| typedef std::function< void(const std::vector< uint8_t > &, const std::vector< uint8_t > &)> | SendDualCallback |
Public Functions
| Type | Name |
|---|---|
| DataWriter (Topic * topic, Publisher * publisher) |
|
| DataWriter (const DataWriter &) = delete |
|
| void | add_matched_reader (const rtps::GUID_t & reader_guid) |
| bool | assert_liveliness () Explicitly assert liveliness on this writer (DDS §2.2.2.4.2.22). Required for MANUAL_BY_TOPIC writers when no write() is happening. A no-op for AUTOMATIC writers. Returns false if the writer has not been registered with the participant's liveliness manager (e.g. participant not enabled yet). |
| bool | dispose (uint64_t handle) Dispose a type instance. |
| DataWriterListener * | get_listener () const |
| StatusMask | get_listener_mask () const |
| LivelinessLostStatus | get_liveliness_lost_status () const Get liveliness-lost status (DDS §2.2.4.1.6). Only meaningful for MANUAL_BY_TOPIC / MANUAL_BY_PARTICIPANT writers — bumps each time the writer's lease expires without an assertion. total_count_change is reset on read. |
| OfferedDeadlineMissedStatus | get_offered_deadline_missed_status () Get offered-deadline-missed status (DDS §2.2.4.1.7). Bumps every time the writer fails to publish within its DEADLINE QoS period. total_count_change reset on read. |
| void | get_offered_incompatible_qos_status (OfferedIncompatibleQosStatus & out) |
| void | get_publication_matched_status (PublicationMatchedStatus & out) |
| const DataWriterQos & | get_qos () const |
| Topic * | get_topic () const |
| const rtps::GUID_t & | guid () const |
| const std::deque< CacheChange > & | history_cache () const |
| void | note_offered_incompatible_qos (QosPolicyId_t failed_policy_id) |
| void | notify_write (InstanceHandle_t handle) |
| DataWriter & | operator= (const DataWriter &) = delete |
| void | process_acknack (const rtps::GUID_t & reader_guid, const std::set< uint32_t > & requested_sns, rtps::Count_t count) |
| Publisher * | publisher () const |
| uint64_t | register_instance () Register a type instance. |
| void | remove_expired_samples () |
| void | remove_matched_reader (const rtps::GUID_t & reader_guid) |
| void | set_deadline_timer_service (TimerService * ts) |
| void | set_guid (const rtps::GUID_t & guid) |
| void | set_heartbeat_callback (HeartbeatCallback callback) |
| void | set_listener (DataWriterListener * listener, StatusMask mask=STATUS_MASK_ALL) |
| void | set_liveliness_assert_hook (LivelinessAssertHook hook) |
| void | set_liveliness_lost_hook (LivelinessLostStatusHook hook) |
| void | set_local_deliver_callback (LocalDeliverCallback callback) |
| void | set_qos (const DataWriterQos & qos) |
| void | set_send_callback (SendCallback callback) |
| void | set_send_dual_callback (SendDualCallback callback) |
| void | start_deadline_timer () |
| void | stop_deadline_timer () |
| Topic * | topic () const |
| bool | unregister_instance (uint64_t handle) Unregister a type instance. |
| ReturnCode_t | wait_for_acknowledgments (const Duration_t & max_wait) Wait for acknowledgments from all matched readers. |
| bool | write (const std::vector< uint8_t > & data) Write a serialized data sample. |
| bool | write (const std::vector< uint8_t > & xcdr1Data, const std::vector< uint8_t > & xcdr2Data) Write dual-encoded data (XCDR1 + XCDR2) |
| virtual | ~DataWriter () = default |
Public Types Documentation
typedef HeartbeatCallback
using astutedds::dcps::DataWriter::HeartbeatCallback = std::function<void()>;
typedef LivelinessAssertHook
using astutedds::dcps::DataWriter::LivelinessAssertHook = std::function<void(const rtps::GUID_t&)>;
Hook installed by Publisher::create_datawriter — wires this writer's assert_liveliness() / write() to the participant's LivelinessManager. Not part of the public DDS API.
typedef LivelinessLostStatusHook
using astutedds::dcps::DataWriter::LivelinessLostStatusHook = std::function<LivelinessLostStatus()>;
typedef LocalDeliverCallback
using astutedds::dcps::DataWriter::LocalDeliverCallback = std::function<void(const std::vector<uint8_t> &data, const rtps::GUID_t &writer_guid, const rtps::SequenceNumber_t &sequence_number)>;
typedef SendCallback
using astutedds::dcps::DataWriter::SendCallback = std::function<void(const std::vector<uint8_t> &)>;
typedef SendDualCallback
using astutedds::dcps::DataWriter::SendDualCallback = std::function<void(const std::vector<uint8_t> &, const std::vector<uint8_t> &)>;
Public Functions Documentation
function DataWriter [1/2]
astutedds::dcps::DataWriter::DataWriter (
Topic * topic,
Publisher * publisher
)
function DataWriter [2/2]
astutedds::dcps::DataWriter::DataWriter (
const DataWriter &
) = delete
function add_matched_reader
void astutedds::dcps::DataWriter::add_matched_reader (
const rtps::GUID_t & reader_guid
)
function assert_liveliness
Explicitly assert liveliness on this writer (DDS §2.2.2.4.2.22). Required for MANUAL_BY_TOPIC writers when no write() is happening. A no-op for AUTOMATIC writers. Returns false if the writer has not been registered with the participant's liveliness manager (e.g. participant not enabled yet).
bool astutedds::dcps::DataWriter::assert_liveliness ()
function dispose
Dispose a type instance.
bool astutedds::dcps::DataWriter::dispose (
uint64_t handle
)
function get_listener
inline DataWriterListener * astutedds::dcps::DataWriter::get_listener () const
function get_listener_mask
inline StatusMask astutedds::dcps::DataWriter::get_listener_mask () const
function get_liveliness_lost_status
Get liveliness-lost status (DDS §2.2.4.1.6). Only meaningful for MANUAL_BY_TOPIC / MANUAL_BY_PARTICIPANT writers — bumps each time the writer's lease expires without an assertion. total_count_change is reset on read.
LivelinessLostStatus astutedds::dcps::DataWriter::get_liveliness_lost_status () const
function get_offered_deadline_missed_status
Get offered-deadline-missed status (DDS §2.2.4.1.7). Bumps every time the writer fails to publish within its DEADLINE QoS period. total_count_change reset on read.
OfferedDeadlineMissedStatus astutedds::dcps::DataWriter::get_offered_deadline_missed_status ()
function get_offered_incompatible_qos_status
void astutedds::dcps::DataWriter::get_offered_incompatible_qos_status (
OfferedIncompatibleQosStatus & out
)
function get_publication_matched_status
void astutedds::dcps::DataWriter::get_publication_matched_status (
PublicationMatchedStatus & out
)
function get_qos
inline const DataWriterQos & astutedds::dcps::DataWriter::get_qos () const
function get_topic
inline Topic * astutedds::dcps::DataWriter::get_topic () const
function guid
inline const rtps::GUID_t & astutedds::dcps::DataWriter::guid () const
function history_cache
inline const std::deque< CacheChange > & astutedds::dcps::DataWriter::history_cache () const
function note_offered_incompatible_qos
void astutedds::dcps::DataWriter::note_offered_incompatible_qos (
QosPolicyId_t failed_policy_id
)
Record that a remote DataReader was seen with QoS incompatible with this writer's offered QoS. Bumps the OfferedIncompatibleQosStatus counters and, if a listener is registered, delivers a copy of the updated status.
function notify_write
void astutedds::dcps::DataWriter::notify_write (
InstanceHandle_t handle
)
function operator=
DataWriter & astutedds::dcps::DataWriter::operator= (
const DataWriter &
) = delete
function process_acknack
void astutedds::dcps::DataWriter::process_acknack (
const rtps::GUID_t & reader_guid,
const std::set< uint32_t > & requested_sns,
rtps::Count_t count
)
function publisher
inline Publisher * astutedds::dcps::DataWriter::publisher () const
function register_instance
Register a type instance.
uint64_t astutedds::dcps::DataWriter::register_instance ()
Returns:
Instance handle
function remove_expired_samples
void astutedds::dcps::DataWriter::remove_expired_samples ()
function remove_matched_reader
void astutedds::dcps::DataWriter::remove_matched_reader (
const rtps::GUID_t & reader_guid
)
function set_deadline_timer_service
inline void astutedds::dcps::DataWriter::set_deadline_timer_service (
TimerService * ts
)
§1.1b-B — hook installed by Publisher::create_datawriter to share the participant's TimerService. Null when no participant is attached (e.g. unit tests constructing DataWriter directly).
function set_guid
inline void astutedds::dcps::DataWriter::set_guid (
const rtps::GUID_t & guid
)
function set_heartbeat_callback
inline void astutedds::dcps::DataWriter::set_heartbeat_callback (
HeartbeatCallback callback
)
function set_listener
inline void astutedds::dcps::DataWriter::set_listener (
DataWriterListener * listener,
StatusMask mask=STATUS_MASK_ALL
)
function set_liveliness_assert_hook
inline void astutedds::dcps::DataWriter::set_liveliness_assert_hook (
LivelinessAssertHook hook
)
function set_liveliness_lost_hook
inline void astutedds::dcps::DataWriter::set_liveliness_lost_hook (
LivelinessLostStatusHook hook
)
function set_local_deliver_callback
inline void astutedds::dcps::DataWriter::set_local_deliver_callback (
LocalDeliverCallback callback
)
function set_qos
void astutedds::dcps::DataWriter::set_qos (
const DataWriterQos & qos
)
function set_send_callback
inline void astutedds::dcps::DataWriter::set_send_callback (
SendCallback callback
)
function set_send_dual_callback
inline void astutedds::dcps::DataWriter::set_send_dual_callback (
SendDualCallback callback
)
function start_deadline_timer
void astutedds::dcps::DataWriter::start_deadline_timer ()
function stop_deadline_timer
void astutedds::dcps::DataWriter::stop_deadline_timer ()
function topic
inline Topic * astutedds::dcps::DataWriter::topic () const
function unregister_instance
Unregister a type instance.
bool astutedds::dcps::DataWriter::unregister_instance (
uint64_t handle
)
function wait_for_acknowledgments
Wait for acknowledgments from all matched readers.
inline ReturnCode_t astutedds::dcps::DataWriter::wait_for_acknowledgments (
const Duration_t & max_wait
)
Parameters:
max_waitMaximum time to wait
Returns:
RETCODE_OK or RETCODE_TIMEOUT
function write [1/2]
Write a serialized data sample.
bool astutedds::dcps::DataWriter::write (
const std::vector< uint8_t > & data
)
Parameters:
dataSerialized data bytes
Returns:
true on success
function write [2/2]
Write dual-encoded data (XCDR1 + XCDR2)
bool astutedds::dcps::DataWriter::write (
const std::vector< uint8_t > & xcdr1Data,
const std::vector< uint8_t > & xcdr2Data
)
Parameters:
xcdr1DataXCDR1 serialized dataxcdr2DataXCDR2 serialized data
Returns:
true on success
function ~DataWriter
virtual astutedds::dcps::DataWriter::~DataWriter () = default
The documentation for this class was generated from the following file include/astutedds/dcps/dcps.hpp