handling a create message now uses the Message Struct

This commit is contained in:
Sebastian Moser
2022-11-01 23:26:12 +01:00
parent f3c864eab8
commit e4ce4cfc37
5 changed files with 11 additions and 19 deletions

View File

@@ -184,6 +184,7 @@ async fn handle_socket_connection(
// Reading and broadcasting messages // Reading and broadcasting messages
while let Some(result) = socket_rx.next().await { while let Some(result) = socket_rx.next().await {
println!("got message ==================================");
let msg = result.expect("Error when gettin message from WebSocket"); let msg = result.expect("Error when gettin message from WebSocket");
let itemstore = &*itemstore_clone.lock().await; let itemstore = &*itemstore_clone.lock().await;

View File

@@ -99,8 +99,7 @@ impl Itemstore {
} }
//increment commit number //increment commit number
let mut commit_key = id.to_be_bytes().to_vec(); let mut commit_key = format!("{}:_commit", id).into_bytes();
commit_key.extend(":_commit".to_string().into_bytes());
let mut commit_num: u64 = match tr.get(&*commit_key).await { let mut commit_num: u64 = match tr.get(&*commit_key).await {
Ok(Some(val)) => u64::from_be_bytes(val.try_into().expect("error converting _commit num to u64")), Ok(Some(val)) => u64::from_be_bytes(val.try_into().expect("error converting _commit num to u64")),

View File

@@ -5,8 +5,6 @@ use std::vec;
use crate::server::itemstore; use crate::server::itemstore;
use crate::server::itemstore::encode; use crate::server::itemstore::encode;
use super::itemstore::Itemstore;
pub enum Response { pub enum Response {
One(Vec<u8>), One(Vec<u8>),
All(Vec<u8>), All(Vec<u8>),
@@ -176,7 +174,7 @@ pub async fn handle_mize_message(
let num_of_updates = message.get_u32(); let num_of_updates = message.get_u32();
for i in 1..num_of_updates as usize { for i in 0..num_of_updates as usize {
let key_len = message.get_u32(); let key_len = message.get_u32();
let key = message.get_bytes(key_len as usize); let key = message.get_bytes(key_len as usize);
//println!("KEY: {}", String::from_utf8(key.clone()).expect("here utf-8")); //println!("KEY: {}", String::from_utf8(key.clone()).expect("here utf-8"));
@@ -223,23 +221,17 @@ pub async fn handle_mize_message(
//create //create
12 => { 12 => {
let tmp = &old_message[2..6]; let num_of_fields = message.get_u32();
let num_of_fields: u32 = u32::from_be_bytes([tmp[0], tmp[1], tmp[2], tmp[3]]);
let mut item: Vec<[Vec<u8>; 2]> = Vec::new(); let mut item: Vec<[Vec<u8>; 2]> = Vec::new();
let mut index = 6; let mut index = 6;
for i in 0..num_of_fields { for i in 0..num_of_fields {
let mut tmp = &old_message[index..index + 4]; let key_len = message.get_u32();
let key_len = u32::from_be_bytes([tmp[0], tmp[1], tmp[2], tmp[3]]); let key = message.get_bytes(key_len as usize);
let key = old_message[index + 4..(index + 4 + key_len as usize)].to_vec();
index += 4 + key_len as usize; let val_len = message.get_u32();
let val = message.get_bytes(val_len as usize);
tmp = &old_message[index..index + 4];
let val_len = u32::from_be_bytes([tmp[0], tmp[1], tmp[2], tmp[3]]);
let val = old_message[index + 4..(index + 4 + val_len as usize)].to_vec();
index += 4 + val_len as usize;
item.push([key, val]); item.push([key, val]);
} }