#[non_exhaustive]pub enum DropReason {
SampleTooLarge,
FragmentSizeInvalid,
FragmentIndexZero,
FragmentIndexOutOfRange,
PayloadSizeMismatch,
InconsistentWithBuffered,
FragmentsInSubmessageInvalid,
PendingSnsCapExceeded,
AssemblerDisabled,
}Expand description
Rejected-fragment category — for diagnostics only.
Adding new variants: when changing this, also adapt the
DropReason::as_str method (exhaustive match), otherwise
the build breaks. This is intentional — it prevents new
failure modes from being silently lost in logging/metrics paths.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
SampleTooLarge
sample_size over the cap.
FragmentSizeInvalid
fragment_size over the cap or == 0.
FragmentIndexZero
fragment_starting_num == 0 (1-based expected).
FragmentIndexOutOfRange
Fragment index beyond total_fragments.
PayloadSizeMismatch
Payload length does not match the fragment position.
InconsistentWithBuffered
A later DataFrag contradicts an already stored one
(different sample_size or fragment_size).
FragmentsInSubmessageInvalid
fragments_in_submessage == 0 or inconsistent.
PendingSnsCapExceeded
The number of simultaneously managed SNs would exceed max_pending_sns
— the oldest incomplete SN was discarded.
AssemblerDisabled
max_pending_sns == 0 — the assembler accepts no entries.
Implementations§
Trait Implementations§
Source§impl Clone for DropReason
impl Clone for DropReason
Source§fn clone(&self) -> DropReason
fn clone(&self) -> DropReason
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more