Skip to main content

KcpSegment

Struct KcpSegment 

Source
pub struct KcpSegment<'a> { /* private fields */ }
Expand description

An exact borrowed KCP segment with a structurally complete declared payload.

Implementations§

Source§

impl<'a> KcpSegment<'a>

Source

pub fn parse(bytes: &'a [u8]) -> Result<(Self, &'a [u8]), KcpSegmentParseError>

Parses exactly one KCP segment and returns the unconsumed input suffix.

This validates only structural boundaries. Raw command bytes and all field values are preserved without runtime KCP semantic validation.

Source

pub const fn conversation_id(self) -> KcpConversationId

Returns the conversation identifier.

Source

pub const fn command(self) -> KcpCommand

Returns the raw command byte.

Source

pub const fn fragment(self) -> KcpFragment

Returns the fragment number.

Source

pub const fn window_size(self) -> u16

Returns the advertised receive window.

Source

pub const fn timestamp(self) -> KcpTimestamp

Returns the timestamp.

Source

pub const fn sequence_number(self) -> KcpSequenceNumber

Returns the sequence number.

Source

pub const fn unacknowledged(self) -> KcpUnacknowledged

Returns the unacknowledged sequence-number marker.

Source

pub const fn payload_length(self) -> u32

Returns the encoded payload length.

Source

pub fn payload(self) -> &'a [u8]

Returns the exact payload bytes.

Source

pub const fn as_bytes(self) -> &'a [u8]

Returns the exact complete segment bytes, excluding any input suffix.

Trait Implementations§

Source§

impl<'a> Clone for KcpSegment<'a>

Source§

fn clone(&self) -> Self

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<'a> Copy for KcpSegment<'a>

Source§

impl<'a> Debug for KcpSegment<'a>

Source§

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

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

impl<'a> Eq for KcpSegment<'a>

Source§

impl<'a> PartialEq for KcpSegment<'a>

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl<'a> StructuralPartialEq for KcpSegment<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for KcpSegment<'a>

§

impl<'a> RefUnwindSafe for KcpSegment<'a>

§

impl<'a> Send for KcpSegment<'a>

§

impl<'a> Sync for KcpSegment<'a>

§

impl<'a> Unpin for KcpSegment<'a>

§

impl<'a> UnsafeUnpin for KcpSegment<'a>

§

impl<'a> UnwindSafe for KcpSegment<'a>

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 = !

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

fn try_from(value: U) -> Result<T, !>

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.