Class astutedds::rtps::ReliabilityManagerWriter
ClassList > astutedds > rtps > ReliabilityManagerWriter
Manages reliability protocol for a DataWriter. More...
#include <reliability_manager.hpp>
Public Functions
| Type | Name |
|---|---|
| ReliabilityManagerWriter (const GUID_t & writer_guid, std::chrono::milliseconds heartbeat_period=std::chrono::milliseconds(200)) Constructor. |
|
| void | add_reader (const GUID_t & reader_guid) Add a matched reader. |
| std::vector< uint8_t > | create_heartbeat (const EntityId_t & reader_id, const SequenceNumber_t & first_sn, const SequenceNumber_t & last_sn, bool final=false) Create HEARTBEAT submessage data. |
| std::set< uint32_t > | get_unacknowledged (const SequenceNumber_t & up_to_sn) const Get unacknowledged sequence numbers. |
| std::set< uint32_t > | process_acknack (const GUID_t & reader_guid, const std::set< uint32_t > & reader_sn_set, Count_t count) Process an ACKNACK message from a reader. |
| void | remove_reader (const GUID_t & reader_guid) Remove a matched reader. |
| bool | should_send_heartbeat (const SequenceNumber_t & first_sn, const SequenceNumber_t & last_sn) Check if HEARTBEAT should be sent. |
Detailed Description
Responsibilities: * Send periodic HEARTBEAT messages * Process ACKNACK messages * Track reader acknowledgments * Trigger retransmissions for unacknowledged samples
Public Functions Documentation
function ReliabilityManagerWriter
Constructor.
explicit astutedds::rtps::ReliabilityManagerWriter::ReliabilityManagerWriter (
const GUID_t & writer_guid,
std::chrono::milliseconds heartbeat_period=std::chrono::milliseconds(200)
)
Parameters:
writer_guidGUID of the local writerheartbeat_periodPeriod between HEARTBEAT messages
function add_reader
Add a matched reader.
void astutedds::rtps::ReliabilityManagerWriter::add_reader (
const GUID_t & reader_guid
)
Parameters:
reader_guidGUID of the remote reader
function create_heartbeat
Create HEARTBEAT submessage data.
std::vector< uint8_t > astutedds::rtps::ReliabilityManagerWriter::create_heartbeat (
const EntityId_t & reader_id,
const SequenceNumber_t & first_sn,
const SequenceNumber_t & last_sn,
bool final=false
)
Parameters:
reader_idReader entity ID (or ENTITYID_UNKNOWN for all)first_snFirst available sequence numberlast_snLast available sequence numberfinalTrue if this is the final HEARTBEAT
Returns:
HEARTBEAT submessage data
function get_unacknowledged
Get unacknowledged sequence numbers.
std::set< uint32_t > astutedds::rtps::ReliabilityManagerWriter::get_unacknowledged (
const SequenceNumber_t & up_to_sn
) const
Parameters:
up_to_snCheck up to this sequence number
Returns:
Set of unacknowledged sequence numbers
function process_acknack
Process an ACKNACK message from a reader.
std::set< uint32_t > astutedds::rtps::ReliabilityManagerWriter::process_acknack (
const GUID_t & reader_guid,
const std::set< uint32_t > & reader_sn_set,
Count_t count
)
Parameters:
reader_guidGUID of the readerreader_sn_setSet of sequence numbers requestedcountACKNACK count
Returns:
Set of sequence numbers to retransmit
function remove_reader
Remove a matched reader.
void astutedds::rtps::ReliabilityManagerWriter::remove_reader (
const GUID_t & reader_guid
)
Parameters:
reader_guidGUID of the remote reader
function should_send_heartbeat
Check if HEARTBEAT should be sent.
bool astutedds::rtps::ReliabilityManagerWriter::should_send_heartbeat (
const SequenceNumber_t & first_sn,
const SequenceNumber_t & last_sn
)
Parameters:
first_snFirst available sequence numberlast_snLast available sequence number
Returns:
True if HEARTBEAT should be sent
The documentation for this class was generated from the following file include/astutedds/rtps/reliability_manager.hpp