[−][src]Struct packet::ether::Packet
Ethernet frame parser.
Implementations
impl<B: AsRef<[u8]>> Packet<B>
[src]
pub fn unchecked(buffer: B) -> Packet<B>
[src]
Create an Ethernet frame without checking the buffer.
pub fn new(buffer: B) -> Result<Packet<B>>
[src]
Parse an Ethernet frame, checking the buffer contents are correct.
impl<B: AsRef<[u8]>> Packet<B>
[src]
pub fn to_owned(&self) -> Packet<Vec<u8>>
[src]
Convert the packet to its owned version.
Notes
It would be nice if ToOwned
could be implemented, but Packet
already
implements Clone
and the impl would conflict.
impl<B: AsRef<[u8]>> Packet<B>
[src]
pub fn destination(&self) -> HwAddr
[src]
MAC address for the destination.
pub fn source(&self) -> HwAddr
[src]
MAC address for the source.
pub fn protocol(&self) -> Protocol
[src]
Protocol of the inner packet.
impl<B: AsRef<[u8]> + AsMut<[u8]>> Packet<B>
[src]
pub fn set_destination(&mut self, value: HwAddr) -> Result<&mut Self>
[src]
Destination MAC address.
pub fn set_source(&mut self, value: HwAddr) -> Result<&mut Self>
[src]
Source MAC address.
pub fn set_protocol(&mut self, value: Protocol) -> Result<&mut Self>
[src]
Inner protocol.
Trait Implementations
impl<B: AsRef<[u8]> + AsMut<[u8]>> AsMut<[u8]> for Packet<B>
[src]
impl<'a, B: AsRef<[u8]>> AsPacket<'a, Packet<&'a [u8]>> for B
[src]
impl<'a, B: Buffer> AsPacket<'a, Packet<&'a [u8]>> for Builder<B>
[src]
impl<'a, B: AsRef<[u8]> + AsMut<[u8]>> AsPacketMut<'a, Packet<&'a mut [u8]>> for B
[src]
impl<'a, B: Buffer> AsPacketMut<'a, Packet<&'a mut [u8]>> for Builder<B>
[src]
impl<B: AsRef<[u8]>> AsRef<[u8]> for Packet<B>
[src]
impl<B: AsRef<[u8]>> Debug for Packet<B>
[src]
impl<B> Max for Packet<B>
[src]
impl<B> Max for Packet<B>
[src]
impl<B> Min for Packet<B>
[src]
impl<B> Min for Packet<B>
[src]
impl<B: AsRef<[u8]>> Packet for Packet<B>
[src]
pub fn split(&self) -> (&[u8], &[u8])
[src]
pub fn header(&self) -> &[u8]
[src]
pub fn payload(&self) -> &[u8]
[src]
impl<B: AsRef<[u8]> + AsMut<[u8]>> PacketMut for Packet<B>
[src]
pub fn split_mut(&mut self) -> (&mut [u8], &mut [u8])
[src]
pub fn header_mut(&mut self) -> &mut [u8]
[src]
pub fn payload_mut(&mut self) -> &mut [u8]
[src]
impl<B: AsRef<[u8]>> Size for Packet<B>
[src]
impl<B: AsRef<[u8]>> Size for Packet<B>
[src]
Auto Trait Implementations
impl<B> RefUnwindSafe for Packet<B> where
B: RefUnwindSafe,
B: RefUnwindSafe,
impl<B> Send for Packet<B> where
B: Send,
B: Send,
impl<B> Sync for Packet<B> where
B: Sync,
B: Sync,
impl<B> Unpin for Packet<B> where
B: Unpin,
B: Unpin,
impl<B> UnwindSafe for Packet<B> where
B: UnwindSafe,
B: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Max for T where
T: Max + Max,
[src]
T: Max + Max,
impl<T> Min for T where
T: Min + Min,
[src]
T: Min + Min,
impl<T> Size for T where
T: Size + Size,
[src]
T: Size + Size,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,