linked client to session.

This commit is contained in:
2025-04-07 00:41:28 -04:00
parent d8623f9691
commit f9f64dae55
6 changed files with 75 additions and 44 deletions

View File

@ -5,9 +5,9 @@ use std::{
};
use uuid::Uuid;
const RESPONS_TO: [MsgType; 1] = [MsgType::SessionValidate];
const RESPONDS_TO: [MsgType; 1] = [MsgType::SessionValidate];
struct Session {
pub struct Session {
queue: Queue,
rx: Receiver<Message>,
}
@ -20,10 +20,10 @@ impl Session {
}
}
fn start(queue: Queue) {
pub fn start(queue: Queue) {
let (tx, rx) = channel();
let session = Session::new(queue, rx);
session.queue.add(tx, RESPONS_TO.to_vec());
session.queue.add(tx, RESPONDS_TO.to_vec());
spawn(move || {
session.listen();
});
@ -81,7 +81,7 @@ mod sessions {
for _ in 0..10 {
queue.send(msg.clone());
let result = rx.recv().unwrap();
let id = result.get_data().get("sess_id").unwrap().to_uuid().unwrap();
let id = result.get_data("sess_id").unwrap().to_uuid().unwrap();
assert!(!ids.contains(&id), "{} is a duplicate id", id);
ids.push(id);
}