Remove duplicate lookup in get_or_insert_inner (#273)
This commit is contained in:
@@ -158,32 +158,30 @@ impl Songbird {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn get_or_insert_inner(&self, guild_id: GuildId) -> Arc<Mutex<Call>> {
|
fn get_or_insert_inner(&self, guild_id: GuildId) -> Arc<Mutex<Call>> {
|
||||||
self.get(guild_id).unwrap_or_else(|| {
|
self.calls
|
||||||
self.calls
|
.entry(guild_id)
|
||||||
.entry(guild_id)
|
.or_insert_with(|| {
|
||||||
.or_insert_with(|| {
|
let info = self
|
||||||
let info = self
|
.client_data
|
||||||
.client_data
|
.get()
|
||||||
.get()
|
.expect("Manager has not been initialised");
|
||||||
.expect("Manager has not been initialised");
|
|
||||||
|
|
||||||
let shard = shard_id(guild_id.0.get(), info.shard_count);
|
let shard = shard_id(guild_id.0.get(), info.shard_count);
|
||||||
let shard_handle = self
|
let shard_handle = self
|
||||||
.sharder
|
.sharder
|
||||||
.get_shard(shard)
|
.get_shard(shard)
|
||||||
.expect("Failed to get shard handle: shard_count incorrect?");
|
.expect("Failed to get shard handle: shard_count incorrect?");
|
||||||
|
|
||||||
let call = Call::from_config(
|
let call = Call::from_config(
|
||||||
guild_id,
|
guild_id,
|
||||||
shard_handle,
|
shard_handle,
|
||||||
info.user_id,
|
info.user_id,
|
||||||
self.config.read().clone(),
|
self.config.read().clone(),
|
||||||
);
|
);
|
||||||
|
|
||||||
Arc::new(Mutex::new(call))
|
Arc::new(Mutex::new(call))
|
||||||
})
|
})
|
||||||
.clone()
|
.clone()
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Creates an iterator for all [`Call`]s currently managed.
|
/// Creates an iterator for all [`Call`]s currently managed.
|
||||||
|
|||||||
Reference in New Issue
Block a user