aboutsummaryrefslogtreecommitdiff
path: root/karlgui/src/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'karlgui/src/client.rs')
-rw-r--r--karlgui/src/client.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/karlgui/src/client.rs b/karlgui/src/client.rs
index b027cdc..731c6ff 100644
--- a/karlgui/src/client.rs
+++ b/karlgui/src/client.rs
@@ -1,9 +1,10 @@
use crossbeam_channel::Receiver;
-use karlcommon::{version, ClientboundPacket, ServerboundPacket};
+use karlcommon::{interfaces::unix_path, version, ClientboundPacket, ServerboundPacket};
use log::{debug, error};
use std::{
io::{BufRead, BufReader, Write},
os::unix::net::UnixStream,
+ process::exit,
thread,
};
@@ -14,7 +15,16 @@ pub struct Client {
}
impl Client {
- pub fn new(socket: UnixStream) -> Self {
+ pub fn new() -> Self {
+ let socket = match UnixStream::connect(unix_path()) {
+ Ok(s) => s,
+ Err(e) => {
+ error!("failed to connect to socket: {}", e);
+ error!("make sure that karld is running");
+ exit(1)
+ }
+ };
+
let (sender, receiver) = crossbeam_channel::unbounded();
let mut reader = BufReader::new(socket.try_clone().unwrap());
thread::spawn(move || loop {