Preparing to move session into an extractor.

This commit is contained in:
2025-04-19 07:57:16 -04:00
parent 9e6d407b69
commit bb70cc65e0
5 changed files with 146 additions and 38 deletions

View File

@ -10,8 +10,9 @@ use client::{Client, ClientLink, Reply, Request};
use clock::Clock;
use document::Document;
use field::Field;
use queue::Queue;
use queue::{Message, MsgType, Queue};
use session::Session;
use uuid::Uuid;
#[derive(Clone)]
pub struct MoreThanText {
@ -29,7 +30,21 @@ impl MoreThanText {
}
}
pub fn request<F>(&mut self, session: Option<F>) -> Reply
pub fn validate_session<F>(&mut self, session: Option<F>) -> Uuid
where
F: Into<Field>,
{
let mut msg = Message::new(MsgType::SessionValidate);
match session {
Some(id) => msg.add_data("sess_id", id.into()),
None => {},
}
let rx = self.client_link.send(msg);
let reply = rx.recv().unwrap();
reply.get_data("sess_id").unwrap().to_uuid().unwrap()
}
pub fn request<F>(&mut self, session: Option<F>) -> Message
where
F: Into<Field>,
{
@ -38,7 +53,7 @@ impl MoreThanText {
None => None,
};
let req = Request::new(sess);
let rx = self.client_link.send(req);
let rx = self.client_link.send(req.into());
rx.recv().unwrap()
}
}