Skip to main content

Packet

Enum Packet 

Source
pub enum Packet {
    Open(OpenPacket),
    Close,
    Ping,
    Pong,
    PingUpgrade,
    PongUpgrade,
    Message(Str),
    Upgrade,
    Noop,
    Binary(Bytes),
    BinaryV3(Bytes),
}
Expand description

A Packet type to use when receiving and sending data from the client

Variants§

§

Open(OpenPacket)

Open packet used to initiate a connection

§

Close

Close packet used to close a connection

§

Ping

Ping packet used to check if the connection is still alive The client never sends this packet, it is only used by the server

§

Pong

Pong packet used to respond to a Ping packet The server never sends this packet, it is only used by the client

§

PingUpgrade

Special Ping packet used to initiate a connection

§

PongUpgrade

Special Pong packet used to respond to a PingUpgrade packet and upgrade the connection

§

Message(Str)

Message packet used to send a message to the client

§

Upgrade

Upgrade packet to upgrade the connection from polling to websocket

§

Noop

Noop packet used to send something to a opened polling connection so it gracefully closes to allow the client to upgrade to websocket

§

Binary(Bytes)

Binary packet used to send binary data to the client Converts to a String using base64 encoding when using polling connection Or to a websocket binary frame when using websocket connection

When receiving, it is only used with polling connection, websocket use binary frame

§

BinaryV3(Bytes)

Binary packet used to send binary data to the client Converts to a String using base64 encoding when using polling connection Or to a websocket binary frame when using websocket connection

When receiving, it is only used with polling connection, websocket use binary frame

This is a special packet, excepionally specific to the V3 protocol.

Implementations§

Source§

impl Packet

Source

pub fn is_binary(&self) -> bool

Check if the packet is a binary packet

Source

pub fn into_message(self) -> Str

If the packet is a message packet (text), it returns the message

Source

pub fn into_binary(self) -> Bytes

If the packet is a binary packet, it returns the binary data

Source

pub fn get_size_hint(&self, b64: bool) -> usize

Get the max size the packet could have when serialized

If b64 is true, it returns the max size when serialized to base64

The base64 max size factor is ceil(n / 3) * 4

Source§

impl Packet

Deserialize a Packet from a String according to the Engine.IO protocol

Source

pub fn parse( protocol: ProtocolVersion, value: impl Into<Str>, ) -> Result<Self, PacketParseError>

Parses a packet from a string value using the specified protocol version.

Trait Implementations§

Source§

impl Clone for Packet

Source§

fn clone(&self) -> Packet

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 Packet

Source§

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

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

impl From<Packet> for Bytes

Source§

fn from(value: Packet) -> Self

Converts to this type from the input type.
Source§

impl From<Packet> for String

Serialize a Packet to a String according to the Engine.IO protocol

Source§

fn from(packet: Packet) -> String

Converts to this type from the input type.
Source§

impl PartialEq for Packet

Source§

fn eq(&self, other: &Packet) -> 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 StructuralPartialEq for Packet

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.