[][src]Enum twilight_gateway::cluster::config::ShardScheme

pub enum ShardScheme {
    Auto,
    Range {
        from: u64,
        to: u64,
        total: u64,
    },
}

The method of sharding to use.

By default this is Auto.

Variants

Auto

Specifies to retrieve the amount of shards recommended by Discord and then start all of them.

For example, if Discord recommends 10 shards, then all 10 shards will be started.

Range

Specifies to start a range of shards.

Examples

For example, if your bot uses 50 shards, then you might specify to start shards 0 through 24:

use twilight_gateway::cluster::config::ShardScheme;
use std::convert::TryFrom;

let _range = ShardScheme::try_from((0..24, 50));

Fields of Range

from: u64

The first shard ID to spawn.

to: u64

The last shard ID to spawn.

This doesn't necessarily have to be up to the total.

total: u64

The total number of shards used by the bot.

Trait Implementations

impl Clone for ShardScheme[src]

impl Copy for ShardScheme[src]

impl Debug for ShardScheme[src]

impl Default for ShardScheme[src]

impl Eq for ShardScheme[src]

impl Hash for ShardScheme[src]

impl Ord for ShardScheme[src]

impl PartialEq<ShardScheme> for ShardScheme[src]

impl PartialOrd<ShardScheme> for ShardScheme[src]

impl StructuralEq for ShardScheme[src]

impl StructuralPartialEq for ShardScheme[src]

impl<T: RangeBounds<u64>> TryFrom<(T, u64)> for ShardScheme[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

impl RefUnwindSafe for ShardScheme

impl Send for ShardScheme

impl Sync for ShardScheme

impl Unpin for ShardScheme

impl UnwindSafe for ShardScheme

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<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?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> 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.

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