pub enum ControlTypes {
    Handshake(HandshakeControlInfo),
    KeepAlive,
    Ack(Acknowledgement),
    Nak(CompressedLossList),
    CongestionWarning,
    Shutdown,
    Ack2(FullAckSeqNumber),
    DropRequest {
        msg_to_drop: MsgNumber,
        range: RangeInclusive<SeqNumber>,
    },
    PeerError(u32),
    Srt(SrtControlPacket),
}
Expand description

The different kind of control packets

Variants§

§

Handshake(HandshakeControlInfo)

The control packet for initiating connections, type 0x0 Does not use Additional Info

§

KeepAlive

To keep a connection alive Does not use Additional Info or Control Info, type 0x1

§

Ack(Acknowledgement)

ACK packet, type 0x2

§

Nak(CompressedLossList)

NAK packet, type 0x3 Additional Info isn’t used

§

CongestionWarning

§

Shutdown

Shutdown packet, type 0x5

§

Ack2(FullAckSeqNumber)

Acknowledgement of Acknowledgement (ACK2) 0x6 Additional Info (the i32) is the ACK sequence number to acknowldege

§

DropRequest

Fields

§msg_to_drop: MsgNumber

The message to drop Stored in the “addditional info” field of the packet.

§range: RangeInclusive<SeqNumber>

The range of sequence numbers in the message to drop

Drop request, type 0x7

§

PeerError(u32)

§

Srt(SrtControlPacket)

Srt control packets These use the UDT extension type 0xFF

Implementations§

Trait Implementations§

source§

impl Clone for ControlTypes

source§

fn clone(&self) -> ControlTypes

Returns a copy 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 ControlTypes

source§

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

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

impl PartialEq<ControlTypes> for ControlTypes

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for ControlTypes

source§

impl StructuralEq for ControlTypes

source§

impl StructuralPartialEq for ControlTypes

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V