diff options
| author | troido <troido@protonmail.com> | 2020-03-02 22:36:06 +0100 |
|---|---|---|
| committer | troido <troido@protonmail.com> | 2020-03-02 22:36:06 +0100 |
| commit | a8d0e075613cc973b66c37510103108362fe7d3d (patch) | |
| tree | af5aeeb98bfbd7f033a78d1f4bfca0c38320bc2c | |
| parent | 22168c8eedac95fdfde9a536a1d1f6ddf622cfa1 (diff) | |
don't cache messages between reconnecting
| -rw-r--r-- | src/main.rs | 1 | ||||
| -rw-r--r-- | src/worldmessages.rs | 8 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs index 5ee6183..96844d3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -111,6 +111,7 @@ fn main() -> Result<()>{ } Action::Leave(player) => { world.remove_player(&player)?; + message_cache.remove(&player); } } } diff --git a/src/worldmessages.rs b/src/worldmessages.rs index 1a56c55..75d8b33 100644 --- a/src/worldmessages.rs +++ b/src/worldmessages.rs @@ -78,11 +78,11 @@ pub struct FieldMessage { #[derive(Debug, Clone, Default)] pub struct MessageCache { - pub cache: HashMap<PlayerId, WorldMessage> + cache: HashMap<PlayerId, WorldMessage> } impl MessageCache { - + pub fn trim(&mut self, player: &PlayerId, msg: &mut WorldMessage){ if let Some(cached) = self.cache.get_mut(player){ msg.remove_old(cached); @@ -91,6 +91,10 @@ impl MessageCache { self.cache.insert(player.clone(), msg.clone()); } } + + pub fn remove(&mut self, player: &PlayerId){ + self.cache.remove(player); + } } |
