pub struct FragmentAssembler { /* private fields */ }Expand description
State eines Reassemblers.
FragmentAssembler::default() liefert einen Assembler mit
AssemblerCaps::default — dem einzigen Defaults-Weg.
Implementations§
Source§impl FragmentAssembler
impl FragmentAssembler
Sourcepub fn new(caps: AssemblerCaps) -> Self
pub fn new(caps: AssemblerCaps) -> Self
Erzeugt einen Assembler mit den gegebenen Caps.
Sourcepub fn drop_count(&self) -> u64
pub fn drop_count(&self) -> u64
Anzahl verworfener Fragmente seit Start (oder seit
reset_diagnostics).
Sourcepub fn last_drop_reason(&self) -> Option<DropReason>
pub fn last_drop_reason(&self) -> Option<DropReason>
Der Grund des zuletzt verworfenen Fragments, falls ueberhaupt eines verworfen wurde. Fuer Debugging/Metrics — nicht fuer Control-Flow-Entscheidungen.
Sourcepub fn reset_diagnostics(&mut self)
pub fn reset_diagnostics(&mut self)
Setzt Diagnose-Zaehler auf 0 zurueck. buffers bleiben
unveraendert — das ist reine Metric-Hygiene (Long-Running-Reader
wollen ihre Delta-Snapshots).
Sourcepub fn incomplete_sns(&self) -> impl Iterator<Item = SequenceNumber> + '_
pub fn incomplete_sns(&self) -> impl Iterator<Item = SequenceNumber> + '_
Iteriert SNs, fuer die aktuell Fragment-Luecken existieren.
Sourcepub fn missing_fragments(&self, sn: SequenceNumber) -> FragmentNumberSet
pub fn missing_fragments(&self, sn: SequenceNumber) -> FragmentNumberSet
Fehlende Fragmente fuer eine SN. Liefert leeren Set, wenn SN unbekannt oder bereits komplett.
Sourcepub fn discard(&mut self, sn: SequenceNumber) -> bool
pub fn discard(&mut self, sn: SequenceNumber) -> bool
Entfernt den Buffer fuer diese SN (z.B. bei GAP-Signal oder nach Completion). Gibt den Buffer zurueck, falls vorhanden.
Sourcepub fn insert(&mut self, df: &DataFragSubmessage) -> Option<CompletedSample>
pub fn insert(&mut self, df: &DataFragSubmessage) -> Option<CompletedSample>
Spielt ein DATA_FRAG ein. Liefert bei Vervollstaendigung den reassemblierten Sample.
Inkonsistente oder pathologische Fragmente werden verworfen und
in drop_count gezaehlt — sie koennen nicht die interne Map
ueber die Caps hinaus wachsen lassen.
Trait Implementations§
Source§impl Clone for FragmentAssembler
impl Clone for FragmentAssembler
Source§fn clone(&self) -> FragmentAssembler
fn clone(&self) -> FragmentAssembler
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more