Skip to main content

PacketHeader

Struct PacketHeader 

Source
pub struct PacketHeader {
    pub component: u16,
    pub command: u16,
    pub error: u16,
    pub ty: PacketType,
    pub id: u16,
}
Expand description

Structure of packet header which comes before the packet content and describes it.

Fields§

§component: u16

The component of this packet

§command: u16

The command of this packet

§error: u16

A possible error this packet contains (zero is none)

§ty: PacketType

The type of this packet

§id: u16

The unique ID of this packet (Notify packets this is just zero)

Implementations§

Source§

impl PacketHeader

Source

pub const fn notify(component: u16, command: u16) -> Self

Creates a notify header for the provided component and command

component The component to use command The command to use

Source

pub const fn request(id: u16, component: u16, command: u16) -> Self

Creates a request header for the provided id, component and command

id The packet ID component The component to use command The command to use

Source

pub const fn response(&self) -> Self

Creates a response to the provided packet header by changing the type of the header

Source

pub const fn with_type(&self, ty: PacketType) -> Self

Copies the header contents changing its Packet Type

ty The new packet type

Source

pub const fn with_error(&self, error: u16) -> Self

Copies the header contents changing its Packet Type

Source

pub fn path_matches(&self, other: &PacketHeader) -> bool

Checks if the component and command of this packet header matches that of the other packet header

other The packet header to compare to

Source

pub fn write(&self, dst: &mut BytesMut, length: usize)

Encodes the contents of this header appending to the output source

dst The dst to append the bytes to length The length of the content after the header

Source

pub fn read(src: &mut BytesMut) -> Option<(PacketHeader, usize)>

Attempts to read the packet header from the provided source bytes returning None if there aren’t enough bytes

src The bytes to read from

Trait Implementations§

Source§

impl Clone for PacketHeader

Source§

fn clone(&self) -> PacketHeader

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PacketHeader

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for PacketHeader

Source§

fn eq(&self, other: &PacketHeader) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for PacketHeader

Source§

impl Eq for PacketHeader

Source§

impl StructuralPartialEq for PacketHeader

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.