#[non_exhaustive]pub struct CarryOverStats {
pub npd_unsupported: u64,
pub header_parse_failures: u64,
pub mode_mismatches: u64,
pub partial_discards: u64,
}Expand description
Diagnostic counters for a CarryOverExtractor, read via
CarryOverExtractor::stats.
The extractor stays resilient (it never errors or panics on wire-derived
input — bad frames are skipped so a stream keeps flowing). These counters
make the otherwise-silent skips observable. Note the distinction:
npd_unsupported counts valid data we failed to recover (a capability
gap), whereas the others count malformed/misrouted input.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.npd_unsupported: u64HEM frames skipped because Null-Packet-Deletion (DNP) reinsertion is not implemented. These carry valid user packets that are NOT recovered — a known capability gap, not wire corruption. Non-zero means real data was dropped; treat it as a signal that NPD-HEM input is unsupported.
header_parse_failures: u64Frames whose 10-byte BBHEADER failed to parse.
mode_mismatches: u64Frames fed to the wrong mode path (an NM header to feed_hem_into, or a
HEM header to feed_nm_into).
partial_discards: u64Carried-over partial user packets discarded on a SYNCD/stride mismatch (the extractor resynchronised at the frame’s SYNCD).
Trait Implementations§
Source§impl Clone for CarryOverStats
impl Clone for CarryOverStats
Source§fn clone(&self) -> CarryOverStats
fn clone(&self) -> CarryOverStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CarryOverStats
Source§impl Debug for CarryOverStats
impl Debug for CarryOverStats
Source§impl Default for CarryOverStats
impl Default for CarryOverStats
Source§fn default() -> CarryOverStats
fn default() -> CarryOverStats
impl Eq for CarryOverStats
Source§impl PartialEq for CarryOverStats
impl PartialEq for CarryOverStats
Source§fn eq(&self, other: &CarryOverStats) -> bool
fn eq(&self, other: &CarryOverStats) -> bool
self and other values to be equal, and is used by ==.