aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-04-30 18:24:16 +0000
committerFuwn <[email protected]>2021-04-30 18:24:16 +0000
commit620178ca11cd496f445d1c331165e739db1c41c4 (patch)
treed0f702cd65f54a1ba76293c0dac8aef2186b2813 /src/server
parentrefactor(cmds): of2m (diff)
downloadwhirl-620178ca11cd496f445d1c331165e739db1c41c4.tar.xz
whirl-620178ca11cd496f445d1c331165e739db1c41c4.zip
refactor(cmds): of2m
Diffstat (limited to 'src/server')
-rw-r--r--src/server/cmd/commands/subscribe_room.rs28
-rw-r--r--src/server/cmd/commands/subscribe_room/mod.rs5
-rw-r--r--src/server/cmd/commands/subscribe_room/parse.rs21
-rw-r--r--src/server/cmd/commands/subscribe_room/structure.rs11
-rw-r--r--src/server/hub.rs4
5 files changed, 30 insertions, 39 deletions
diff --git a/src/server/cmd/commands/subscribe_room.rs b/src/server/cmd/commands/subscribe_room.rs
new file mode 100644
index 0000000..2c99cbb
--- /dev/null
+++ b/src/server/cmd/commands/subscribe_room.rs
@@ -0,0 +1,28 @@
+// Copyleft (ɔ) 2021-2021 The Whirlsplash Collective
+// SPDX-License-Identifier: GPL-3.0-only
+
+use byteorder::{BigEndian, ReadBytesExt};
+use bytes::{Buf, BytesMut};
+
+#[derive(Debug)]
+pub struct SubscribeRoom {
+ pub room_number: i8,
+ pub x: f32,
+ pub y: f32,
+ pub z: f32,
+ pub distance: f32,
+}
+impl SubscribeRoom {
+ pub fn parse(data: Vec<u8>) -> Self {
+ // https://stackoverflow.com/questions/41034635/how-do-i-convert-between-string-str-vecu8-and-u8
+ let mut data = BytesMut::from(data.as_slice()).reader();
+
+ Self {
+ room_number: data.read_i16::<BigEndian>().unwrap() as i8,
+ x: data.read_i16::<BigEndian>().unwrap() as i8 as f32,
+ y: data.read_i16::<BigEndian>().unwrap() as i8 as f32,
+ z: data.read_i16::<BigEndian>().unwrap() as i8 as f32,
+ distance: data.read_i16::<BigEndian>().unwrap() as i8 as f32, // + 100
+ }
+ }
+}
diff --git a/src/server/cmd/commands/subscribe_room/mod.rs b/src/server/cmd/commands/subscribe_room/mod.rs
deleted file mode 100644
index a72d443..0000000
--- a/src/server/cmd/commands/subscribe_room/mod.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// Copyleft (ɔ) 2021-2021 The Whirlsplash Collective
-// SPDX-License-Identifier: GPL-3.0-only
-
-pub mod parse;
-mod structure;
diff --git a/src/server/cmd/commands/subscribe_room/parse.rs b/src/server/cmd/commands/subscribe_room/parse.rs
deleted file mode 100644
index f90ac63..0000000
--- a/src/server/cmd/commands/subscribe_room/parse.rs
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyleft (ɔ) 2021-2021 The Whirlsplash Collective
-// SPDX-License-Identifier: GPL-3.0-only
-
-use byteorder::{BigEndian, ReadBytesExt};
-use bytes::{Buf, BytesMut};
-
-use crate::server::cmd::commands::subscribe_room::structure::SubscribeRoom;
-
-/// TODO: The functionality of this function has not been tested... TEST IT!
-pub fn parse_subscribe_room(data: Vec<u8>) -> SubscribeRoom {
- // https://stackoverflow.com/questions/41034635/how-do-i-convert-between-string-str-vecu8-and-u8
- let mut data = BytesMut::from(data.as_slice()).reader();
-
- SubscribeRoom {
- room_number: data.read_i16::<BigEndian>().unwrap() as i8,
- x: data.read_i16::<BigEndian>().unwrap() as i8 as f32,
- y: data.read_i16::<BigEndian>().unwrap() as i8 as f32,
- z: data.read_i16::<BigEndian>().unwrap() as i8 as f32,
- distance: data.read_i16::<BigEndian>().unwrap() as i8 as f32, // + 100
- }
-}
diff --git a/src/server/cmd/commands/subscribe_room/structure.rs b/src/server/cmd/commands/subscribe_room/structure.rs
deleted file mode 100644
index 61be683..0000000
--- a/src/server/cmd/commands/subscribe_room/structure.rs
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyleft (ɔ) 2021-2021 The Whirlsplash Collective
-// SPDX-License-Identifier: GPL-3.0-only
-
-#[derive(Debug)]
-pub struct SubscribeRoom {
- pub room_number: i8,
- pub x: f32,
- pub y: f32,
- pub z: f32,
- pub distance: f32,
-}
diff --git a/src/server/hub.rs b/src/server/hub.rs
index f4f92da..faccde8 100644
--- a/src/server/hub.rs
+++ b/src/server/hub.rs
@@ -26,7 +26,7 @@ use crate::{
},
room::{create::create_room_id_request, parse::parse_room_id_request},
subscribe_distance::parse::parse_subscribe_distance,
- subscribe_room::parse::parse_subscribe_room,
+ subscribe_room::SubscribeRoom,
teleport::Teleport,
text::Text,
},
@@ -124,7 +124,7 @@ impl Server for Hub {
trace!("broadcasted text to hub");
}
SUBSCRIB => {
- let subscribe_room = parse_subscribe_room(msg[3..].to_vec());
+ let subscribe_room = SubscribeRoom::parse(msg[3..].to_vec());
trace!("received subscribe room from {}: {:?}",
username, subscribe_room);
}