[][src]Enum pnet_datalink::Channel

pub enum Channel {
    Ethernet(Box<dyn DataLinkSender>, Box<dyn DataLinkReceiver>),
    PleaseIncludeACatchAllVariantWhenMatchingOnThisEnum,
}

A channel for sending and receiving at the data link layer.

NOTE: It is important to always include a catch-all variant in match statements using this enum, since new variants may be added. For example:

This example is not tested
match some_channel {
    Ethernet(tx, rx) => { /* Handle Ethernet packets */ },
    _ => panic!("Unhandled channel type")
}

Variants

Ethernet(Box<dyn DataLinkSender>, Box<dyn DataLinkReceiver>)

A datalink channel which sends and receives Ethernet packets.

PleaseIncludeACatchAllVariantWhenMatchingOnThisEnum

This variant should never be used.

Including it allows new variants to be added to Channel without breaking existing code.

Auto Trait Implementations

impl !RefUnwindSafe for Channel

impl Send for Channel

impl !Sync for Channel

impl Unpin for Channel

impl !UnwindSafe for Channel

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.