we can recieve and send messages on a unix sock

This commit is contained in:
Sebastian Moser
2024-06-28 00:21:33 +02:00
parent 6cb0aa1272
commit f24c46338e
6 changed files with 306 additions and 124 deletions

View File

@@ -0,0 +1,27 @@
use crossbeam::channel::{Sender, Receiver};
use tracing::{trace, debug, info, warn, error};
use crate::proto::MizeMessage;
use crate::error::{MizeError, MizeResult, IntoMizeResult};
use super::Instance;
#[derive(Clone)]
pub struct Connection {
pub rx: Receiver<MizeMessage>,
pub tx: Sender<MizeMessage>,
pub id: u64,
}
pub trait ConnListener : Send + Sync {
fn listen(self, instance: Instance) -> MizeResult<()>;
}
impl Connection {
pub fn send(&mut self, msg: MizeMessage) -> MizeResult<()> {
Ok(self.tx.send(msg)?)
}
}