pub struct SnapLlcFrame<'a, Payload = &'a [u8]> {
pub oui: [u8; 3],
pub ether_type: EtherType,
pub payload: Payload,
pub _phantom: PhantomData<&'a ()>,
}Expand description
An unnumbered LLC frame, with the SNAP extension.
§Structure
This struct represents an unnumbered LLC frame with a SNAP header.
This means, that DSAP and SSAP are equal to 0xaa.
It is also expected, that the first two bits of the control field are set to one.
If any of these assumptions aren’t met, an error will be returned.
Fields§
§oui: [u8; 3]The organizationally unique identifier.
In most cases this is just all zeroes.
ether_type: EtherTypeThe type of the protocol carried in Self::payload.
NOTE: If the oui isn’t all zeroes, this isn’t actually an ether type.
However this is quite uncommon, and an ether type is usually correct.
If this isn’t the case, use self.ether_type.into_bits() to get the raw u16 protocol ID.
payload: PayloadThe payload of the LLC frame.
_phantom: PhantomData<&'a ()>Trait Implementations§
Source§impl<'a, Payload: Clone> Clone for SnapLlcFrame<'a, Payload>
impl<'a, Payload: Clone> Clone for SnapLlcFrame<'a, Payload>
Source§fn clone(&self) -> SnapLlcFrame<'a, Payload>
fn clone(&self) -> SnapLlcFrame<'a, Payload>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a, Payload: Debug> Debug for SnapLlcFrame<'a, Payload>
impl<'a, Payload: Debug> Debug for SnapLlcFrame<'a, Payload>
Source§impl<'a, Payload: Default> Default for SnapLlcFrame<'a, Payload>
impl<'a, Payload: Default> Default for SnapLlcFrame<'a, Payload>
Source§fn default() -> SnapLlcFrame<'a, Payload>
fn default() -> SnapLlcFrame<'a, Payload>
Returns the “default value” for a type. Read more
Source§impl<Payload: MeasureWith<()>> MeasureWith<()> for SnapLlcFrame<'_, Payload>
impl<Payload: MeasureWith<()>> MeasureWith<()> for SnapLlcFrame<'_, Payload>
Source§fn measure_with(&self, ctx: &()) -> usize
fn measure_with(&self, ctx: &()) -> usize
How large is
Self, given the ctx?Source§impl<'a, Payload: PartialEq> PartialEq for SnapLlcFrame<'a, Payload>
impl<'a, Payload: PartialEq> PartialEq for SnapLlcFrame<'a, Payload>
Source§impl<'a> TryFromCtx<'a> for SnapLlcFrame<'a>
impl<'a> TryFromCtx<'a> for SnapLlcFrame<'a>
Source§impl<Payload: TryIntoCtx<Error = Error>> TryIntoCtx for SnapLlcFrame<'_, Payload>
impl<Payload: TryIntoCtx<Error = Error>> TryIntoCtx for SnapLlcFrame<'_, Payload>
impl<'a, Payload: Copy> Copy for SnapLlcFrame<'a, Payload>
impl<'a, Payload: Eq> Eq for SnapLlcFrame<'a, Payload>
impl<'a, Payload> StructuralPartialEq for SnapLlcFrame<'a, Payload>
Auto Trait Implementations§
impl<'a, Payload> Freeze for SnapLlcFrame<'a, Payload>where
Payload: Freeze,
impl<'a, Payload> RefUnwindSafe for SnapLlcFrame<'a, Payload>where
Payload: RefUnwindSafe,
impl<'a, Payload> Send for SnapLlcFrame<'a, Payload>where
Payload: Send,
impl<'a, Payload> Sync for SnapLlcFrame<'a, Payload>where
Payload: Sync,
impl<'a, Payload> Unpin for SnapLlcFrame<'a, Payload>where
Payload: Unpin,
impl<'a, Payload> UnwindSafe for SnapLlcFrame<'a, Payload>where
Payload: 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