Struct serenity::client::bridge::gateway::ShardQueuer
[−]
[src]
pub struct ShardQueuer<H: EventHandler + Send + Sync + 'static> { pub data: Arc<ParkingLotMutex<ShareMap>>, pub event_handler: Arc<H>, pub framework: Arc<Mutex<Option<Box<Framework + Send>>>>, pub last_start: Option<Instant>, pub manager_tx: Sender<ShardManagerMessage>, pub runners: Arc<ParkingLotMutex<HashMap<ShardId, ShardRunnerInfo>>>, pub rx: Receiver<ShardQueuerMessage>, pub token: Arc<Mutex<String>>, pub ws_url: Arc<Mutex<String>>, }
The shard queuer is a simple loop that runs indefinitely to manage the startup of shards.
A shard queuer instance should be run in its own thread, due to the blocking nature of the loop itself as well as a 5 second thread sleep between shard starts.
Fields
data: Arc<ParkingLotMutex<ShareMap>>
event_handler: Arc<H>
framework: Arc<Mutex<Option<Box<Framework + Send>>>>
last_start: Option<Instant>
manager_tx: Sender<ShardManagerMessage>
runners: Arc<ParkingLotMutex<HashMap<ShardId, ShardRunnerInfo>>>
rx: Receiver<ShardQueuerMessage>
token: Arc<Mutex<String>>
ws_url: Arc<Mutex<String>>