[−][src]Enum packet::ip::Packet
Generic IP packet.
Variants
V4(Packet<B>)
IPv4 packet.
V6(Packet<B>)
IPv6 packet.
Implementations
impl<B: AsRef<[u8]>> Packet<B>
[src]
pub fn unchecked(buffer: B) -> Packet<B>
[src]
Create an IP packet without checking the buffer.
Note
This still checks the version field to pick an IPv4 or IPv6 packet.
pub fn no_payload(buffer: B) -> Result<Packet<B>>
[src]
Parse an IP packet without checking the payload.
pub fn new(buffer: B) -> Result<Packet<B>>
[src]
Parse an IP packet, 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.
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: AsRef<[u8]> + AsMut<[u8]>> AsPacketMut<'a, Packet<&'a mut [u8]>> for B
[src]
impl<B: AsRef<[u8]>> AsRef<[u8]> for Packet<B>
[src]
impl<B: Debug + AsRef<[u8]>> Debug for Packet<B>
[src]
impl<'a, B: AsRef<[u8]> + Clone> From<&'a Packet<B>> for Packet<B>
[src]
impl<'a, B: AsRef<[u8]> + Clone> From<&'a Packet<B>> for Packet<B>
[src]
impl<B: AsRef<[u8]>> From<Packet<B>> for Packet<B>
[src]
impl<B: AsRef<[u8]>> From<Packet<B>> 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> 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>,