Skip to main content

FrameType

Enum FrameType 

Source
#[repr(u8)]
pub enum FrameType { Data = 0, HandshakeInit = 1, HandshakeReply = 2, HandshakeComplete = 3, Ping = 4, Pong = 5, Close = 6, FileHeader = 7, FileChunk = 8, Ack = 9, }
Expand description

The type of a PO frame, encoded in the lower 4 bits of the first header byte.

Variants§

§

Data = 0

Application data (chat messages, RPC payloads, etc.)

§

HandshakeInit = 1

Initiate cryptographic handshake (sends Ed25519 pubkey + X25519 ephemeral).

§

HandshakeReply = 2

Reply to handshake with responder’s keys.

§

HandshakeComplete = 3

Confirm handshake — session key is now active.

§

Ping = 4

Keep-alive ping. Should be sent with CONTROL flag.

§

Pong = 5

Ping response. Should be sent with CONTROL flag.

§

Close = 6

Graceful connection close. Should be sent with CONTROL flag.

§

FileHeader = 7

File transfer metadata (name, size, hash).

§

FileChunk = 8

File data chunk (sequential binary payload).

§

Ack = 9

Acknowledgement of a received frame or operation.

Implementations§

Source§

impl FrameType

Source

pub const fn from_u8(value: u8) -> Result<Self, WireError>

Try to convert a raw u8 nibble (0x00–0x0F) into a FrameType.

Source

pub const fn is_handshake(&self) -> bool

Returns true if this is a handshake-related frame.

Source

pub const fn is_control(&self) -> bool

Returns true if this is a control frame (non-application data).

Source

pub const fn is_file_transfer(&self) -> bool

Returns true if this carries file transfer data.

Trait Implementations§

Source§

impl Clone for FrameType

Source§

fn clone(&self) -> FrameType

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for FrameType

Source§

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

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

impl Display for FrameType

Source§

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

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

impl Hash for FrameType

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for FrameType

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · 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 FrameType

Source§

impl Eq for FrameType

Source§

impl StructuralPartialEq for FrameType

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, 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.