Moved client responses to mutex.
This commit is contained in:
16
src/queue.rs
16
src/queue.rs
@ -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);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user