aboutsummaryrefslogtreecommitdiff
path: root/src/server/interaction/shared.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-04-26 13:30:51 -0700
committerFuwn <[email protected]>2021-04-26 13:30:51 -0700
commitf157d081d58bf6d85dabfe873c275efba71d29a5 (patch)
treeeefd84a9b073896fb80c1eff36b10f3873fe03ed /src/server/interaction/shared.rs
parentfix: Actually remove legacy server module (diff)
downloadwhirl-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.rs28
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() }
+}