Diagnostic

Enum Diagnostic 

Source
pub enum Diagnostic {
Show 18 variants ParseFailed(ParseError), ValidateFailed(ValidateError), DuplicateMessage { message_id: u8, }, DuplicateFragment { message_id: u8, fragment: u8, }, FragmentConflict { message_id: u8, fragment: u8, }, OversizedFragment { message_id: u8, fragment: u8, }, FragmentCountExceeded { message_id: u8, count: u8, }, FragmentCountMismatch { message_id: u8, }, HintCollision { conversation: ConversationKey, }, ReassemblyEvicted { message_id: u8, }, StreamEvicted, RepeatedPresentationOptions { mask: u16, }, IgnoredContinuationMetadata { message_id: u8, }, OutputOverflow, UnknownLookup { request_id: u32, }, ReassembledInvalidUtf8 { message_id: u8, }, CoalescedResend { message_id: u8, }, UnattributableResend,
}
Expand description

Non-fatal observations, surfaced for logging and counters.

Variants§

§

ParseFailed(ParseError)

§

ValidateFailed(ValidateError)

§

DuplicateMessage

Fields

§message_id: u8
§

DuplicateFragment

Fields

§message_id: u8
§fragment: u8
§

FragmentConflict

Conflicting bytes for an already-filled fragment slot were discarded.

Fields

§message_id: u8
§fragment: u8
§

OversizedFragment

A fragment body above the wire maximum was dropped unstored.

Fields

§message_id: u8
§fragment: u8
§

FragmentCountExceeded

A fragment count above the wire maximum was dropped unassembled.

Fields

§message_id: u8
§count: u8
§

FragmentCountMismatch

Fragments of one message disagreed about the fragment count.

Fields

§message_id: u8
§

HintCollision

Two known peer keys collide on one source hint; automatic repair is suppressed for the merged stream.

Fields

§conversation: ConversationKey
§

ReassemblyEvicted

A reassembly was evicted under memory pressure before completion.

Fields

§message_id: u8
§

StreamEvicted

A stream table was full and its least-recently-active entry evicted.

§

RepeatedPresentationOptions

Presentation options were duplicated; first occurrences were kept.

Fields

§mask: u16
§

IgnoredContinuationMetadata

A continuation fragment carried ignored message-level metadata.

Fields

§message_id: u8
§

OutputOverflow

The render arena or output queue overflowed; see lost_outputs.

§

UnknownLookup

An archive result arrived for an unknown request.

Fields

§request_id: u32
§

ReassembledInvalidUtf8

A completely reassembled body failed UTF-8 validation (the spec validates only after every fragment is present); invalid sequences were replaced with U+FFFD in the rendered text.

Fields

§message_id: u8
§

CoalescedResend

A resend request was ignored because an equivalent one was answered within the coalescing window.

Fields

§message_id: u8
§

UnattributableResend

A resend request arrived in a form the engine could not attribute.

Trait Implementations§

Source§

impl Clone for Diagnostic

Source§

fn clone(&self) -> Diagnostic

Returns a duplicate of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Diagnostic

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Diagnostic

Source§

fn eq(&self, other: &Diagnostic) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Diagnostic

Source§

impl Eq for Diagnostic

Source§

impl StructuralPartialEq for Diagnostic

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.