aboutsummaryrefslogtreecommitdiff
path: root/crates/whirl_server/src/net/converter.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/whirl_server/src/net/converter.rs')
-rw-r--r--crates/whirl_server/src/net/converter.rs58
1 files changed, 0 insertions, 58 deletions
diff --git a/crates/whirl_server/src/net/converter.rs b/crates/whirl_server/src/net/converter.rs
deleted file mode 100644
index f8a5188..0000000
--- a/crates/whirl_server/src/net/converter.rs
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyleft (ɔ) 2021-2021 The Whirlsplash Collective
-// SPDX-License-Identifier: GPL-3.0-only
-
-use bytes::{BufMut, BytesMut};
-use num_traits::AsPrimitive;
-
-use crate::{
- cmd::constants::Command,
- net::{
- constants::{PROPACCESS_POSSESS, PROPFLAG_DBSTORE},
- PropertyList,
- },
-};
-
-pub fn property_list_to_bytes(
- command_id: i32,
- obj_id: i32,
- mut property_list: PropertyList,
-) -> Vec<u8> {
- let mut command = BytesMut::new();
-
- // Iterate over all network properties
- loop {
- // Check if there are any properties left
- trace!("props left: {}", property_list.len());
- if property_list.is_empty() {
- break;
- }
-
- let property = &property_list[0]; // Property we are currently iterating over
- trace!("current prop: {}:{}", property.prop_id, property.value);
-
- command.put_u8(property.prop_id.as_(): u8); // Property ID
-
- // NOTE: THIS IS SUPER BAD DO NOT DO THIS! But it works!
- if command_id == Command::PropUpd as i32 {
- command.put_u8(PROPFLAG_DBSTORE.as_(): u8); // Flag (s)
- command.put_u8(PROPACCESS_POSSESS.as_(): u8); // Access
- }
-
- command.put_u8(property.value.len().as_(): u8); // Property UTF-8 Length
- command.put_slice(property.value.as_bytes()); // Property UTF-8
-
- property_list.reverse();
- property_list.pop();
- property_list.reverse();
- }
-
- // Convert to vector and insert the header
- let mut command_as_vec = command.to_vec();
-
- command_as_vec.insert(0, command_id.as_(): u8); // Command ID
- command_as_vec.insert(0, obj_id.as_(): u8); // ObjId
- command_as_vec.insert(0, command.len().as_(): u8 + 3); // Data length
-
- // Return bytes
- command_as_vec
-}