pub union PacketVtblRef<Perms: PacketPerms> {
pub tag: usize,
pub vtbl: &'static Perms,
}Expand description
Describes packet type.
If the value within this union is less than PacketVtblTag::Complex, then the packet is
simple, and tag should be accessed. Meanwhile, any other value implies the packet is a
complex one, and vtable should be accessed instead.
Fields§
§tag: usize§vtbl: &'static PermsImplementations§
Source§impl<Perms: PacketPerms> PacketVtblRef<Perms>
impl<Perms: PacketPerms> PacketVtblRef<Perms>
pub fn tag(&self) -> PacketVtblTag
pub fn vtbl(&self) -> Option<&'static Perms>
Trait Implementations§
Source§impl<Perms: Copy + Clone + PacketPerms> Clone for PacketVtblRef<Perms>
impl<Perms: Copy + Clone + PacketPerms> Clone for PacketVtblRef<Perms>
Source§fn clone(&self) -> PacketVtblRef<Perms>
fn clone(&self) -> PacketVtblRef<Perms>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl<Perms: Copy + PacketPerms> Copy for PacketVtblRef<Perms>
Auto Trait Implementations§
impl<Perms> Freeze for PacketVtblRef<Perms>
impl<Perms> RefUnwindSafe for PacketVtblRef<Perms>where
Perms: RefUnwindSafe,
impl<Perms> Send for PacketVtblRef<Perms>where
Perms: Sync,
impl<Perms> Sync for PacketVtblRef<Perms>where
Perms: Sync,
impl<Perms> Unpin for PacketVtblRef<Perms>
impl<Perms> UnsafeUnpin for PacketVtblRef<Perms>
impl<Perms> UnwindSafe for PacketVtblRef<Perms>where
Perms: RefUnwindSafe,
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