[][src]Struct serenity::client::bridge::gateway::ShardRunner

pub struct ShardRunner { /* fields omitted */ }

A runner for managing a Shard and its respective WebSocket client.

Methods

impl ShardRunner[src]

pub fn new(opt: ShardRunnerOptions) -> Self[src]

Creates a new runner for a Shard.

pub fn run(&mut self) -> Result<()>[src]

Starts the runner's loop to receive events.

This runs a loop that performs the following in each iteration:

  1. checks the receiver for ShardRunnerMessages, possibly from the ShardManager, and if there is one, acts on it.

  2. checks if a heartbeat should be sent to the discord Gateway, and if so, sends one.

  3. attempts to retrieve a message from the WebSocket, processing it into a GatewayEvent. This will block for 100ms before assuming there is no message available.

  4. Checks with the Shard to determine if the gateway event is specifying an action to take (e.g. resuming, reconnecting, heartbeating) and then performs that action, if any.

  5. Dispatches the event via the Client.

  6. Go back to 1.

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> From<T> for T[src]

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

impl<T> Same<T> for T

type Output = T

Should always be Self

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.

impl<T> UnsafeAny for T where
    T: Any

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