DataType

Enum DataType 

Source
#[non_exhaustive]
pub enum DataType { TCP(TcpPacket), UDP(UdpDatagram), }
Expand description

Data that the IP packet encapsulates

An IP packet can encapsulate many different types of data. Each possible encapsulated type that this library supports is represented by this enum.

This enum is marked as non-exhaustive as more underlying types may be added in future versions of the library.

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.

Implementations§

Source§

impl DataType

Source

pub fn pcap_write<W: Write>(&self, f: &mut W) -> Result<()>

Write the underlying protocol data to the pcap file

§Errors

Will return any io errors that occur

Source

pub fn get_proto_num(&self) -> u8

Source

pub fn get_payload(&self) -> &Vec<u8>

Trait Implementations§

Source§

impl Debug for DataType

Source§

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

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

impl From<TcpPacket> for DataType

Source§

fn from(packet: TcpPacket) -> Self

Converts to this type from the input type.
Source§

impl From<UdpDatagram> for DataType

Source§

fn from(packet: UdpDatagram) -> Self

Converts to this type from the input type.

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> 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 = Infallible

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

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

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.