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_pendingMaximum number of samples being assemblednack_delay_msDelay 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_guidGUID of the writerdata_fragThe 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_guidGUID of the writerhb_fragThe 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