aboutsummaryrefslogtreecommitdiff
path: root/karlc/src/client.rs
diff options
context:
space:
mode:
authormetamuffin <yvchraiqi@protonmail.com>2022-06-10 17:48:32 +0200
committermetamuffin <yvchraiqi@protonmail.com>2022-06-10 17:48:32 +0200
commit45f2d1651f17d7e155748cfd1e1cd9a96f3e530e (patch)
tree6847a4552db06b56a5e0a55aa56354eccb7c41b1 /karlc/src/client.rs
parentd65b915f3dfda28aad6f2806df38c8ad77135d8b (diff)
downloadkarlender-45f2d1651f17d7e155748cfd1e1cd9a96f3e530e.tar
karlender-45f2d1651f17d7e155748cfd1e1cd9a96f3e530e.tar.bz2
karlender-45f2d1651f17d7e155748cfd1e1cd9a96f3e530e.tar.zst
better cli
Diffstat (limited to 'karlc/src/client.rs')
-rw-r--r--karlc/src/client.rs20
1 files changed, 11 insertions, 9 deletions
diff --git a/karlc/src/client.rs b/karlc/src/client.rs
index 6420da0..e7ca44d 100644
--- a/karlc/src/client.rs
+++ b/karlc/src/client.rs
@@ -5,8 +5,8 @@ use std::{
};
use crossbeam_channel::Receiver;
-use karlcommon::{ClientboundPacket, ServerboundPacket};
-use log::debug;
+use karlcommon::{version, ClientboundPacket, ServerboundPacket};
+use log::{debug, error};
pub struct Client {
socket: UnixStream,
@@ -17,18 +17,20 @@ impl Client {
pub fn new(socket: UnixStream) -> Self {
let (sender, receiver) = crossbeam_channel::unbounded();
let mut reader = BufReader::new(socket.try_clone().unwrap());
- thread::spawn(move || {
- loop {
- let mut buf = String::new();
- reader.read_line(&mut buf).unwrap();
- let p: ClientboundPacket = serde_json::from_str(buf.as_str()).unwrap();
- debug!("<- {:?}", p);
+ thread::spawn(move || loop {
+ let mut buf = String::new();
+ reader.read_line(&mut buf).unwrap();
+ let p: ClientboundPacket = serde_json::from_str(buf.as_str()).unwrap();
+ debug!("<- {:?}", p);
+ if let ClientboundPacket::Error(e) = p {
+ error!("daemon reported error: {:?}", e);
+ } else {
sender.send(p).unwrap();
}
});
let mut c = Self { receiver, socket };
c.send(ServerboundPacket::Handshake {
- version: env!("CARGO_PKG_VERSION").to_owned(),
+ version: version!(),
});
return c;
}