diff options
| author | Fuwn <[email protected]> | 2021-04-26 13:30:51 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-04-26 13:30:51 -0700 |
| commit | f157d081d58bf6d85dabfe873c275efba71d29a5 (patch) | |
| tree | eefd84a9b073896fb80c1eff36b10f3873fe03ed /src/server/interaction/shared.rs | |
| parent | fix: Actually remove legacy server module (diff) | |
| download | whirl-f157d081d58bf6d85dabfe873c275efba71d29a5.tar.xz whirl-f157d081d58bf6d85dabfe873c275efba71d29a5.zip | |
fmt: Rename re_server module to server
Diffstat (limited to 'src/server/interaction/shared.rs')
| -rw-r--r-- | src/server/interaction/shared.rs | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/server/interaction/shared.rs b/src/server/interaction/shared.rs new file mode 100644 index 0000000..fec5980 --- /dev/null +++ b/src/server/interaction/shared.rs @@ -0,0 +1,28 @@ +// Copyleft 2021-2021 Whirlsplash +// SPDX-License-Identifier: GPL-3.0-only + +use std::collections::HashMap; + +use bytes::BytesMut; + +use crate::server::types::Tx; + +pub struct Shared { + pub peers: HashMap<String, Tx>, +} +impl Shared { + pub fn new() -> Self { + Shared { + peers: HashMap::new(), + } + } + + pub async fn broadcast(&mut self, message: &[u8]) { + for peer in self.peers.iter_mut() { + peer.1.send(BytesMut::from(message)).unwrap(); + } + } +} +impl Default for Shared { + fn default() -> Self { Self::new() } +} |