summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs78
1 files changed, 24 insertions, 54 deletions
diff --git a/src/main.rs b/src/main.rs
index 6421bf1..f7eba0b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,58 +1,28 @@
-use tokio::signal::unix;
-use tokio::time;
+// #[derive(Debug)]
+// enum VRRPv2State {
+// Initialize,
+// Backup,
+// Master,
+// }
-const ADV_INTERVAL: u64 = 1;
+// struct StateMachine {
+// state: VRRPv2State,
+// }
-#[derive(Debug)]
-enum VRRPv2State {
- Initialize,
- Backup,
- Master,
-}
-
-struct StateMachine {
- state: VRRPv2State,
-}
-
-impl StateMachine {
- fn new() -> Self {
- StateMachine {
- state: VRRPv2State::Initialize,
- }
- }
- fn transit_to(&mut self, new_state: VRRPv2State) {
- std::println!("vvrpd: {:?} -> {:?}", self.state, new_state);
- self.state = new_state;
- }
-}
-
-async fn advert_handler() {
- println!("advert timer fired");
-}
-
-async fn sighup_handler() {
- println!("got SIGHUP");
-}
+// impl StateMachine {
+// fn new() -> Self {
+// StateMachine {
+// state: VRRPv2State::Initialize,
+// }
+// }
+// fn transit_to(&mut self, new_state: VRRPv2State) {
+// std::println!("vvrpd: {:?} -> {:?}", self.state, new_state);
+// self.state = new_state;
+// }
+// }
-#[tokio::main(flavor = "current_thread")]
-async fn main() {
- let advert_timer_handle = tokio::spawn(async move {
- let mut advert_interval = time::interval(time::Duration::from_secs(ADV_INTERVAL));
- loop {
- advert_interval.tick().await;
- advert_handler().await;
- }
- });
- let sighup_handle = tokio::spawn(async move {
- let mut stream =
- unix::signal(unix::SignalKind::hangup()).expect("Should be a signal stream");
- loop {
- stream.recv().await;
- sighup_handler().await;
- }
- });
- let mut sm = StateMachine::new();
- sm.transit_to(VRRPv2State::Master);
- sm.transit_to(VRRPv2State::Backup);
- tokio::try_join!(advert_timer_handle, sighup_handle).expect("task(s) erred");
+fn main() {
+ // let mut sm = StateMachine::new();
+ // sm.transit_to(VRRPv2State::Master);
+ // sm.transit_to(VRRPv2State::Backup);
}