pub struct RejectCounts {
pub malformed: u64,
pub epoch: u64,
pub shape: u64,
pub delivered: u64,
pub window: u64,
pub block_shape: u64,
pub delivered_lo: Option<u32>,
pub delivered_hi: Option<u32>,
pub seen_lo: Option<u32>,
pub seen_hi: Option<u32>,
}Expand description
Datagrams a Decoder refused at ingest, one counter per reason.
A shard that reaches the process and is then dropped leaves no other
trace: the window simply does not advance. These counters are that
trace. A stalled window whose epoch count is climbing is being fed
by a peer whose session stamp disagrees with the one adopted; one
whose delivered count is climbing is being fed blocks it has
already emitted.
Fields§
§malformed: u64Not a DATA datagram, or shorter than the fixed header.
epoch: u64Carries a session epoch other than the one this decoder holds.
shape: u64Header shard geometry is unusable: no data shards, more shards than the codeword allows, or an index outside the codeword.
delivered: u64Names a block already delivered to the caller.
window: u64Names a block beyond the reassembly window’s ceiling.
block_shape: u64Shard length or codeword shape disagrees with the block it would join, which symbol-wise FEC cannot mix.
delivered_lo: Option<u32>Lowest and highest block id refused as already delivered. A stalled window names which blocks are being re-offered, which separates surplus parity on the block just completed from a peer replaying a range the window passed long ago.
delivered_hi: Option<u32>§seen_lo: Option<u32>Lowest and highest block id SEEN at ingest, recorded before any gate runs. A block the encoder says it sent that never appears here was lost below the decoder; one that appears without advancing the window was taken by a path that neither delivers nor refuses.
seen_hi: Option<u32>Implementations§
Trait Implementations§
Source§impl Clone for RejectCounts
impl Clone for RejectCounts
Source§fn clone(&self) -> RejectCounts
fn clone(&self) -> RejectCounts
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more