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