[][src]Enum serenity_voice_model::OpCode

#[non_exhaustive]
#[repr(u8)]pub enum OpCode {
    Identify,
    SelectProtocol,
    Ready,
    Heartbeat,
    SessionDescription,
    Speaking,
    HeartbeatAck,
    Resume,
    Hello,
    Resumed,
    ClientConnect,
    ClientDisconnect,
}

Enum to map voice opcodes.

Variants (Non-exhaustive)

Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Identify

Used to begin a voice websocket connection.

SelectProtocol

Used to select the voice protocol.

Ready

Used to complete the websocket handshake.

Heartbeat

Used to keep the websocket connection alive.

SessionDescription

Server's confirmation of a negotiated encryption scheme.

Speaking

Used to indicate which users are speaking, or to inform Discord that the client is now speaking.

HeartbeatAck

Heartbeat ACK, received by the client to show the server's receipt of a heartbeat.

Resume

Sent after a disconnect to attempt to resume a session.

Hello

Used to determine how often the client must send a heartbeat.

Resumed

Sent by the server if a session could successfully be resumed.

ClientConnect

Message indicating that another user has connected to the voice channel.

ClientDisconnect

Message indicating that another user has disconnected from the voice channel.

Trait Implementations

impl Clone for OpCode[src]

impl Copy for OpCode[src]

impl Debug for OpCode[src]

impl<'de> Deserialize<'de> for OpCode[src]

impl Eq for OpCode[src]

impl Hash for OpCode[src]

impl Ord for OpCode[src]

impl PartialEq<OpCode> for OpCode[src]

impl PartialOrd<OpCode> for OpCode[src]

impl Serialize for OpCode[src]

impl StructuralEq for OpCode[src]

impl StructuralPartialEq for OpCode[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.