Got session control into it's own layer.

This commit is contained in:
2025-04-21 21:44:52 -04:00
parent 4fc050e590
commit 393b66a9f5
6 changed files with 168 additions and 369 deletions

View File

@ -6,7 +6,7 @@ mod queue;
mod session;
mod utils;
use client::{Client, ClientLink, Reply, Request};
use client::{Client, ClientChannel};
use clock::Clock;
use document::Document;
use field::Field;
@ -16,7 +16,7 @@ use uuid::Uuid;
#[derive(Clone)]
pub struct MoreThanText {
client_link: ClientLink,
client_channel: ClientChannel,
}
impl MoreThanText {
@ -26,7 +26,7 @@ impl MoreThanText {
Document::start(queue.clone());
Session::start(queue.clone());
Self {
client_link: Client::start(queue.clone()),
client_channel: Client::start(queue.clone()),
}
}
@ -39,7 +39,7 @@ impl MoreThanText {
Some(id) => msg.add_data("sess_id", id.into()),
None => {}
}
let rx = self.client_link.send(msg);
let rx = self.client_channel.send(msg);
let reply = rx.recv().unwrap();
reply.get_data("sess_id").unwrap().to_uuid().unwrap()
}
@ -52,8 +52,8 @@ impl MoreThanText {
Some(id) => Some(id.into()),
None => None,
};
let req = Request::new(sess);
let rx = self.client_link.send(req.into());
let req = Message::new(MsgType::DocumentRequest);
let rx = self.client_channel.send(req.into());
rx.recv().unwrap()
}
}