Skip to main content

Discard

Enum Discard 

Source
#[non_exhaustive]
pub enum Discard {
Show 15 variants Truncated, GroupSource, UnknownDestination, ListenerMismatch { other_interface: bool, }, TooShort, NotBip, LengthMismatch, DestinationMismatch, RateLimited, UnknownFunction, MalformedPayload, OwnEcho, GroupOrigin, UnanswerableSource, ForwardedUntrusted,
}
Expand description

Why a datagram was dropped: each is counted once, under the first rule it fails, in this order.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Truncated

The OS or the buffer cut it short.

§

GroupSource

Its UDP source is a group address (Groups::contains_ip).

§

UnknownDestination

The host couldn’t say where it was sent (Datagram::to is None), so nothing tells a unicast from a broadcast (#1678).

§

ListenerMismatch

A broadcast listener read it but doesn’t keep it: not sent to this link’s broadcast address, or it arrived on another interface.

Fields

§other_interface: bool

It arrived on another interface.

§

TooShort

Shorter than the 4-octet BVLL header.

§

NotBip

The BVLC type isn’t B/IP’s.

§

LengthMismatch

The Length field differs from the datagram’s length.

§

DestinationMismatch

Its function doesn’t fit the address it was sent to.

§

RateLimited

A management request the Policy refused.

§

UnknownFunction

A function Annex J doesn’t define.

§

MalformedPayload

The payload doesn’t fit the function, and nothing answers it.

§

OwnEcho

It comes from this node: from its own address, or a Forwarded-NPDU naming it as the origin.

§

GroupOrigin

A Forwarded-NPDU whose origin is a group address.

§

UnanswerableSource

A request whose NAK couldn’t reach anyone: from the unspecified address, port 0, a group address or this node.

§

ForwardedUntrusted

A Forwarded-NPDU a foreign device doesn’t take from this sender (ForwardedTrust::ConfiguredBbmd).

Trait Implementations§

Source§

impl Clone for Discard

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for Discard

Source§

impl Debug for Discard

Source§

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

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

impl Eq for Discard

Source§

impl PartialEq for Discard

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Discard

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

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
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

Source§

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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

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

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

Performs the conversion.