aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/rbw-agent/main.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2020-04-11 19:32:39 -0400
committerJesse Luehrs <doy@tozt.net>2020-04-11 19:32:39 -0400
commit8ce28d2d5326cdc15328cc3a88d652a758563ece (patch)
tree96f69cfd96f07f5561a79e3420612c255c87cb7c /src/bin/rbw-agent/main.rs
parentf65b65bb24960a75cf1f900819c4005e7729e834 (diff)
downloadrbw-8ce28d2d5326cdc15328cc3a88d652a758563ece.tar.gz
rbw-8ce28d2d5326cdc15328cc3a88d652a758563ece.zip
also refactor the agent code
Diffstat (limited to 'src/bin/rbw-agent/main.rs')
-rw-r--r--src/bin/rbw-agent/main.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/bin/rbw-agent/main.rs b/src/bin/rbw-agent/main.rs
new file mode 100644
index 0000000..235c4f2
--- /dev/null
+++ b/src/bin/rbw-agent/main.rs
@@ -0,0 +1,24 @@
+mod actions;
+mod agent;
+mod daemon;
+mod sock;
+
+fn main() {
+ env_logger::from_env(
+ env_logger::Env::default().default_filter_or("info"),
+ )
+ .init();
+
+ let startup_ack = daemon::daemonize();
+
+ // can't use tokio::main because we need to daemonize before starting the
+ // tokio runloop, or else things break
+ tokio::runtime::Runtime::new().unwrap().block_on(async {
+ let listener = crate::sock::listen();
+
+ startup_ack.ack();
+
+ let mut agent = crate::agent::Agent::new();
+ agent.run(listener.unwrap()).await;
+ })
+}