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,8 +1,9 @@
mod client;
mod field;
mod queue;
mod utils;
use client::{Client, Reply, Request};
use client::{Client, ClientLink, Reply, Request};
use field::Field;
use queue::Message;
use std::sync::{
@ -12,26 +13,28 @@ use std::sync::{
#[derive(Clone)]
pub struct MoreThanText {
client_link: ClientLink,
registry: Arc<RwLock<Vec<Sender<Message>>>>,
tx: Sender<Request>,
}
impl MoreThanText {
pub fn new() -> Self {
let tx = Client::start();
Self {
client_link: Client::start(),
registry: Arc::new(RwLock::new(Vec::new())),
tx: tx,
}
}
pub fn request<F>(&self, _session: Option<F>) -> Reply
pub fn request<F>(&mut self, _session: Option<F>) -> Reply
where
F: Into<Field>,
{
let (tx, rx) = channel();
let req = Request::new();
self.client_link.forward(req)
/*
let req = Request::new(tx);
self.tx.send(req).unwrap();
self.tx.send(req.into()).unwrap();
rx.recv().unwrap()
*/
}
}