handling a create message now uses the Message Struct
This commit is contained in:
Submodule first-render updated: face43116d...51815cb289
Submodule js-client updated: f649c1314a...c12d6a2a4e
@@ -184,6 +184,7 @@ async fn handle_socket_connection(
|
||||
|
||||
// Reading and broadcasting messages
|
||||
while let Some(result) = socket_rx.next().await {
|
||||
println!("got message ==================================");
|
||||
let msg = result.expect("Error when gettin message from WebSocket");
|
||||
|
||||
let itemstore = &*itemstore_clone.lock().await;
|
||||
|
||||
@@ -99,8 +99,7 @@ impl Itemstore {
|
||||
}
|
||||
|
||||
//increment commit number
|
||||
let mut commit_key = id.to_be_bytes().to_vec();
|
||||
commit_key.extend(":_commit".to_string().into_bytes());
|
||||
let mut commit_key = format!("{}:_commit", id).into_bytes();
|
||||
|
||||
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")),
|
||||
|
||||
@@ -5,8 +5,6 @@ use std::vec;
|
||||
use crate::server::itemstore;
|
||||
use crate::server::itemstore::encode;
|
||||
|
||||
use super::itemstore::Itemstore;
|
||||
|
||||
pub enum Response {
|
||||
One(Vec<u8>),
|
||||
All(Vec<u8>),
|
||||
@@ -176,7 +174,7 @@ pub async fn handle_mize_message(
|
||||
|
||||
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 = message.get_bytes(key_len as usize);
|
||||
//println!("KEY: {}", String::from_utf8(key.clone()).expect("here utf-8"));
|
||||
@@ -223,24 +221,18 @@ pub async fn handle_mize_message(
|
||||
|
||||
//create
|
||||
12 => {
|
||||
let tmp = &old_message[2..6];
|
||||
let num_of_fields: u32 = u32::from_be_bytes([tmp[0], tmp[1], tmp[2], tmp[3]]);
|
||||
let num_of_fields = message.get_u32();
|
||||
let mut item: Vec<[Vec<u8>; 2]> = Vec::new();
|
||||
|
||||
let mut index = 6;
|
||||
|
||||
for i in 0..num_of_fields {
|
||||
let mut tmp = &old_message[index..index + 4];
|
||||
let key_len = u32::from_be_bytes([tmp[0], tmp[1], tmp[2], tmp[3]]);
|
||||
let key = old_message[index + 4..(index + 4 + key_len as usize)].to_vec();
|
||||
let key_len = message.get_u32();
|
||||
let key = message.get_bytes(key_len as usize);
|
||||
|
||||
index += 4 + key_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();
|
||||
let val_len = message.get_u32();
|
||||
let val = message.get_bytes(val_len as usize);
|
||||
|
||||
index += 4 + val_len as usize;
|
||||
|
||||
item.push([key, val]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user