diff options
| author | Fuwn <[email protected]> | 2021-04-30 18:28:32 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-04-30 18:28:32 -0700 |
| commit | 4b196982d9beef728d871ae818958d401232d8f6 (patch) | |
| tree | b17ee677e7b47c88a1b22838465daa491cc6a072 /src/server | |
| parent | refactor(cmds): of2m (diff) | |
| download | whirl-4b196982d9beef728d871ae818958d401232d8f6.tar.xz whirl-4b196982d9beef728d871ae818958d401232d8f6.zip | |
refactor(cmds): of2m
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/cmd/commands/subscribe_distance.rs | 22 | ||||
| -rw-r--r-- | src/server/cmd/commands/subscribe_distance/mod.rs | 5 | ||||
| -rw-r--r-- | src/server/cmd/commands/subscribe_distance/parse.rs | 17 | ||||
| -rw-r--r-- | src/server/cmd/commands/subscribe_distance/structure.rs | 8 | ||||
| -rw-r--r-- | src/server/hub.rs | 4 |
5 files changed, 24 insertions, 32 deletions
diff --git a/src/server/cmd/commands/subscribe_distance.rs b/src/server/cmd/commands/subscribe_distance.rs new file mode 100644 index 0000000..3338573 --- /dev/null +++ b/src/server/cmd/commands/subscribe_distance.rs @@ -0,0 +1,22 @@ +// 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 SubscribeDistance { + pub distance: i16, + pub room_number: i16, +} +impl SubscribeDistance { + 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 { + distance: data.read_i16::<BigEndian>().unwrap(), + room_number: data.read_i16::<BigEndian>().unwrap(), + } + } +} diff --git a/src/server/cmd/commands/subscribe_distance/mod.rs b/src/server/cmd/commands/subscribe_distance/mod.rs deleted file mode 100644 index a72d443..0000000 --- a/src/server/cmd/commands/subscribe_distance/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_distance/parse.rs b/src/server/cmd/commands/subscribe_distance/parse.rs deleted file mode 100644 index 25365b1..0000000 --- a/src/server/cmd/commands/subscribe_distance/parse.rs +++ /dev/null @@ -1,17 +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_distance::structure::SubscribeDistance; - -pub fn parse_subscribe_distance(data: Vec<u8>) -> SubscribeDistance { - // https://stackoverflow.com/questions/41034635/how-do-i-convert-between-string-str-vecu8-and-u8 - let mut data = BytesMut::from(data.as_slice()).reader(); - - SubscribeDistance { - distance: data.read_i16::<BigEndian>().unwrap(), - room_number: data.read_i16::<BigEndian>().unwrap(), - } -} diff --git a/src/server/cmd/commands/subscribe_distance/structure.rs b/src/server/cmd/commands/subscribe_distance/structure.rs deleted file mode 100644 index 0c12e47..0000000 --- a/src/server/cmd/commands/subscribe_distance/structure.rs +++ /dev/null @@ -1,8 +0,0 @@ -// Copyleft (ɔ) 2021-2021 The Whirlsplash Collective -// SPDX-License-Identifier: GPL-3.0-only - -#[derive(Debug)] -pub struct SubscribeDistance { - pub distance: i16, - pub room_number: i16, -} diff --git a/src/server/hub.rs b/src/server/hub.rs index faccde8..1676aab 100644 --- a/src/server/hub.rs +++ b/src/server/hub.rs @@ -25,7 +25,7 @@ use crate::{ parse::find_property_in_property_list, }, room::{create::create_room_id_request, parse::parse_room_id_request}, - subscribe_distance::parse::parse_subscribe_distance, + subscribe_distance::SubscribeDistance, subscribe_room::SubscribeRoom, teleport::Teleport, text::Text, @@ -129,7 +129,7 @@ impl Server for Hub { username, subscribe_room); } SUB_DIST => { - let subscribe_distance = parse_subscribe_distance(msg[3..].to_vec()); + let subscribe_distance = SubscribeDistance::parse(msg[3..].to_vec()); trace!("received subscribe distance from {}: {:?}", username, subscribe_distance); } |