diff options
| author | Fuwn <[email protected]> | 2021-04-30 18:24:16 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-04-30 18:24:16 +0000 |
| commit | 620178ca11cd496f445d1c331165e739db1c41c4 (patch) | |
| tree | d0f702cd65f54a1ba76293c0dac8aef2186b2813 /src/server | |
| parent | refactor(cmds): of2m (diff) | |
| download | whirl-620178ca11cd496f445d1c331165e739db1c41c4.tar.xz whirl-620178ca11cd496f445d1c331165e739db1c41c4.zip | |
refactor(cmds): of2m
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/cmd/commands/subscribe_room.rs | 28 | ||||
| -rw-r--r-- | src/server/cmd/commands/subscribe_room/mod.rs | 5 | ||||
| -rw-r--r-- | src/server/cmd/commands/subscribe_room/parse.rs | 21 | ||||
| -rw-r--r-- | src/server/cmd/commands/subscribe_room/structure.rs | 11 | ||||
| -rw-r--r-- | src/server/hub.rs | 4 |
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); } |