aboutsummaryrefslogtreecommitdiff
path: root/client/src/main.rs
diff options
context:
space:
mode:
authormetamuffin <yvchraiqi@protonmail.com>2022-06-09 09:46:00 +0200
committermetamuffin <yvchraiqi@protonmail.com>2022-06-09 09:46:00 +0200
commit7a0d09e5cd0075e2a0d3db4505d7ec77dff35ae0 (patch)
tree5586745b7a9b871b31512cba9f964dabda4651f0 /client/src/main.rs
downloadtwclient-7a0d09e5cd0075e2a0d3db4505d7ec77dff35ae0.tar
twclient-7a0d09e5cd0075e2a0d3db4505d7ec77dff35ae0.tar.bz2
twclient-7a0d09e5cd0075e2a0d3db4505d7ec77dff35ae0.tar.zst
(reset git)
Diffstat (limited to 'client/src/main.rs')
-rw-r--r--client/src/main.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/client/src/main.rs b/client/src/main.rs
new file mode 100644
index 0000000..b79f338
--- /dev/null
+++ b/client/src/main.rs
@@ -0,0 +1,41 @@
+use log::{error, log, warn};
+use signal_hook::{
+ consts::{SIGINT, SIGTERM},
+ iterator::Signals,
+ low_level::exit,
+};
+use std::{net::IpAddr, str::FromStr, sync::atomic::Ordering, thread, time::Duration};
+use twclient::{
+ client::{Client, ClientConfig},
+ SHOULD_EXIT,
+};
+
+fn main() {
+ env_logger::init();
+
+ let mut signals = Signals::new(&[SIGTERM, SIGINT]).unwrap();
+ thread::spawn(move || {
+ for sig in signals.forever() {
+ warn!("received signal {:?}", sig);
+ SHOULD_EXIT.store(true, Ordering::Relaxed);
+ thread::sleep(Duration::from_secs(3));
+ error!("exit timeout!");
+ exit(1);
+ }
+ });
+
+ let config = ClientConfig {
+ nick: String::from("metamuffin"),
+ clan: String::from("rustacean"),
+ timeout: String::from("asgefdhjikhjfhjf"),
+ };
+ let mut args = std::env::args().skip(1);
+ let ip = IpAddr::from_str(args.next().unwrap().as_str()).unwrap();
+ let port = u16::from_str(args.next().unwrap().as_str()).unwrap();
+ drop(ip);
+ drop(port);
+ drop(config);
+ drop(Client::new_evloop());
+ todo!()
+ // Client::run_thing(ip, port, config)
+}