Moved client responses to mutex.

This commit is contained in:
2025-04-02 14:26:09 -04:00
parent 704625b078
commit 3355358ac5
5 changed files with 179 additions and 43 deletions

View File

@ -1,4 +1,4 @@
use crate::field::Field;
use crate::{client::Request, field::Field};
use std::{
collections::HashMap,
sync::{
@ -11,6 +11,7 @@ use uuid::Uuid;
enum MsgType {
ClientMessage,
ClientRequest,
NewClientMessage,
NoOp,
}
@ -55,6 +56,13 @@ impl Message {
}
}
impl From<Request> for Message {
fn from(value: Request) -> Self {
let msg = Message::new();
msg.reply(MsgType::ClientRequest)
}
}
#[cfg(test)]
mod messages {
use super::*;
@ -178,7 +186,11 @@ mod queues {
for _ in 0..10 {
tx.send(msg.reply(MsgType::NewClientMessage)).unwrap();
let result = rx.recv().unwrap();
assert!(!ids.contains(&result.id.clone()), "{} is a duplicate", &result.id);
assert!(
!ids.contains(&result.id.clone()),
"{} is a duplicate",
&result.id
);
ids.push(result.id);
}
}