pub struct TcpOptionsRef<B> { /* private fields */ }Expand description
TCP Options that borrow from a backing buffer.
Typically used for parsing TCP Options.
When parsing, this type imposes a B: CloneableByteSlice bound. This is
so that the type can
- retain the original
Bto return the option bytes exactly as they were, and - have individual fields reference subsections of the
Bto avoid needless copies.
Note, for options that are small (< 16 bytes), this type will hold owned
copies, as they’re cheaper than storing a Ref<B, _>.
Trait Implementations§
Source§impl<B> Debug for TcpOptionsRef<B>where
B: ByteSlice,
impl<B> Debug for TcpOptionsRef<B>where
B: ByteSlice,
Source§impl<B: ByteSlice> InnerPacketBuilder for TcpOptionsRef<B>
impl<B: ByteSlice> InnerPacketBuilder for TcpOptionsRef<B>
Source§fn serialize(&self, buffer: &mut [u8])
fn serialize(&self, buffer: &mut [u8])
Serializes this packet into an existing buffer. Read more
Source§fn into_serializer(self) -> InnerSerializer<Self, EmptyBuf>where
Self: Sized,
fn into_serializer(self) -> InnerSerializer<Self, EmptyBuf>where
Self: Sized,
Source§fn into_serializer_with<B>(self, buffer: B) -> InnerSerializer<Self, B>where
B: ShrinkBuffer,
Self: Sized,
fn into_serializer_with<B>(self, buffer: B) -> InnerSerializer<Self, B>where
B: ShrinkBuffer,
Self: Sized,
Converts this
InnerPacketBuilder into a Serializer with a buffer
that can be used for serialization. Read moreSource§impl<B: ByteSlice> TcpOptions for &TcpOptionsRef<B>
impl<B: ByteSlice> TcpOptions for &TcpOptionsRef<B>
Source§fn window_scale(&self) -> Option<u8>
fn window_scale(&self) -> Option<u8>
Access the Window Scale option, if present.
Source§fn sack_permitted(&self) -> bool
fn sack_permitted(&self) -> bool
Access the SACK Permitted option, if present.
Source§fn sack_blocks(&self) -> Option<&[TcpSackBlock]>
fn sack_blocks(&self) -> Option<&[TcpSackBlock]>
Access the SACK option, if present.
Source§fn timestamp(&self) -> Option<&TimestampOption>
fn timestamp(&self) -> Option<&TimestampOption>
Access the timestamp option, if present.
Auto Trait Implementations§
impl<B> Freeze for TcpOptionsRef<B>where
B: Freeze,
impl<B> RefUnwindSafe for TcpOptionsRef<B>where
B: RefUnwindSafe,
impl<B> Send for TcpOptionsRef<B>where
B: Send,
impl<B> Sync for TcpOptionsRef<B>where
B: Sync,
impl<B> Unpin for TcpOptionsRef<B>where
B: Unpin,
impl<B> UnwindSafe for TcpOptionsRef<B>where
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more