diff options
| author | acdenisSK <[email protected]> | 2017-08-11 12:01:40 +0200 |
|---|---|---|
| committer | acdenisSK <[email protected]> | 2017-08-11 12:01:40 +0200 |
| commit | 32de2cb941e8d4fdffde7b8b82599fcd78ab4c2f (patch) | |
| tree | c07186f793a308632c54efd52a15625bb9dd4280 /src/cache | |
| parent | Split event handling in the cache to a trait (diff) | |
| download | serenity-32de2cb941e8d4fdffde7b8b82599fcd78ab4c2f.tar.xz serenity-32de2cb941e8d4fdffde7b8b82599fcd78ab4c2f.zip | |
Put `update_user_entry` back into the cache
Not really related to the events by any means
Diffstat (limited to 'src/cache')
| -rw-r--r-- | src/cache/cache_events_impl.rs | 13 | ||||
| -rw-r--r-- | src/cache/mod.rs | 13 |
2 files changed, 12 insertions, 14 deletions
diff --git a/src/cache/cache_events_impl.rs b/src/cache/cache_events_impl.rs index 308a3b5..0ac1f8f 100644 --- a/src/cache/cache_events_impl.rs +++ b/src/cache/cache_events_impl.rs @@ -66,8 +66,6 @@ pub(crate) trait CacheEventsImpl { fn update_with_user_update(&mut self, event: &UserUpdateEvent) -> CurrentUser; fn update_with_voice_state_update(&mut self, event: &VoiceStateUpdateEvent); - - fn update_user_entry(&mut self, user: &User); } impl CacheEventsImpl for super::Cache { @@ -526,15 +524,4 @@ impl CacheEventsImpl for super::Cache { return; } } - - fn update_user_entry(&mut self, user: &User) { - match self.users.entry(user.id) { - Entry::Vacant(e) => { - e.insert(Arc::new(RwLock::new(user.clone()))); - }, - Entry::Occupied(mut e) => { - e.get_mut().write().unwrap().clone_from(user); - }, - } - } }
\ No newline at end of file diff --git a/src/cache/mod.rs b/src/cache/mod.rs index a3d0058..19089ee 100644 --- a/src/cache/mod.rs +++ b/src/cache/mod.rs @@ -41,7 +41,7 @@ //! [`Role`]: ../model/struct.Role.html //! [`CACHE`]: ../struct.CACHE.html //! [`http`]: ../http/index.html - +use std::collections::hash_map::Entry; use std::collections::{HashMap, HashSet}; use std::default::Default; use std::sync::{Arc, RwLock}; @@ -592,6 +592,17 @@ impl Cache { pub fn user<U: Into<UserId>>(&self, user_id: U) -> Option<Arc<RwLock<User>>> { self.users.get(&user_id.into()).cloned() } + + fn update_user_entry(&mut self, user: &User) { + match self.users.entry(user.id) { + Entry::Vacant(e) => { + e.insert(Arc::new(RwLock::new(user.clone()))); + }, + Entry::Occupied(mut e) => { + e.get_mut().write().unwrap().clone_from(user); + }, + } + } } impl Default for Cache { |