aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/rbw-agent/main.rs
diff options
context:
space:
mode:
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;
+ })
+}