Class astutedds::rtps::FragmentationManager

ClassList > astutedds > rtps > FragmentationManager

Manages fragmentation for a reader. More...

  • #include <fragmentation.hpp>

Classes

Type Name
struct Stats
Get statistics.

Public Functions

Type Name
FragmentationManager (size_t max_pending=256, uint32_t nack_delay_ms=100)
Construct manager with configurable parameters.
FragmentationManager (const FragmentationManager &) = delete
void check_pending_samples ()
Check for stale incomplete samples and trigger NACKs.
Stats get_stats () const
FragmentationManager & operator= (const FragmentationManager &) = delete
std::optional< std::vector< uint8_t > > process_data_frag (const GUID_t & writer_guid, const DataFragSubmessage & data_frag)
Process received DATA_FRAG.
std::optional< std::vector< FragmentNumber_t > > process_heartbeat_frag (const GUID_t & writer_guid, const HeartbeatFragSubmessage & hb_frag)
Process HEARTBEAT_FRAG (checks for missing fragments)
void set_assembly_callback (FragmentAssemblyCallback callback)
Set callback for complete sample assembly.
void set_nack_callback (FragmentNackCallback callback)
Set callback for NACK generation.
~FragmentationManager ()

Detailed Description

Handles fragment assembly and NACK generation for missing fragments.

Public Functions Documentation

function FragmentationManager [1/2]

Construct manager with configurable parameters.

explicit astutedds::rtps::FragmentationManager::FragmentationManager (
    size_t max_pending=256,
    uint32_t nack_delay_ms=100
) 

Parameters:

  • max_pending Maximum number of samples being assembled
  • nack_delay_ms Delay before sending NACK for missing fragments

function FragmentationManager [2/2]

astutedds::rtps::FragmentationManager::FragmentationManager (
    const FragmentationManager &
) = delete

function check_pending_samples

Check for stale incomplete samples and trigger NACKs.

void astutedds::rtps::FragmentationManager::check_pending_samples () 


function get_stats

Stats astutedds::rtps::FragmentationManager::get_stats () const

function operator=

FragmentationManager & astutedds::rtps::FragmentationManager::operator= (
    const FragmentationManager &
) = delete

function process_data_frag

Process received DATA_FRAG.

std::optional< std::vector< uint8_t > > astutedds::rtps::FragmentationManager::process_data_frag (
    const GUID_t & writer_guid,
    const DataFragSubmessage & data_frag
) 

Parameters:

  • writer_guid GUID of the writer
  • data_frag The DATA_FRAG submessage

Returns:

Assembled sample if complete, nullopt otherwise


function process_heartbeat_frag

Process HEARTBEAT_FRAG (checks for missing fragments)

std::optional< std::vector< FragmentNumber_t > > astutedds::rtps::FragmentationManager::process_heartbeat_frag (
    const GUID_t & writer_guid,
    const HeartbeatFragSubmessage & hb_frag
) 

Parameters:

  • writer_guid GUID of the writer
  • hb_frag The HEARTBEAT_FRAG submessage

Returns:

List of missing fragments if any


function set_assembly_callback

Set callback for complete sample assembly.

void astutedds::rtps::FragmentationManager::set_assembly_callback (
    FragmentAssemblyCallback callback
) 


function set_nack_callback

Set callback for NACK generation.

void astutedds::rtps::FragmentationManager::set_nack_callback (
    FragmentNackCallback callback
) 


function ~FragmentationManager

astutedds::rtps::FragmentationManager::~FragmentationManager () 


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