diff rust/src/main.rs @ 638:a9f353f488d0 rust

fix channels
author Matt Johnston <matt@ucc.asn.au>
date Sat, 09 Nov 2019 11:35:59 +0800
parents 4424a8b30f9c
children 89818a14648b
line wrap: on
line diff
--- a/rust/src/main.rs	Sat Nov 09 11:35:43 2019 +0800
+++ b/rust/src/main.rs	Sat Nov 09 11:35:59 2019 +0800
@@ -1,4 +1,3 @@
-#![feature(async_closure)]
 #[macro_use] extern crate log;
 // riker has its own logging?
 //extern crate env_logger;
@@ -12,6 +11,7 @@
 mod types;
 mod params;
 
+use std::time::Duration;
 
 use riker::actors::*;
 
@@ -24,20 +24,14 @@
     let cf = config::Config::load(conf_file)?;
 
     let sys = ActorSystem::new().unwrap();
-    let props = Props::new_args(params::ParamWaiter::new, cf.clone());
-    sys.actor_of(props, "paramwaiter").unwrap();
+
+    let props = Props::new_args(fridge::Fridge::new_actor, (cf.clone(), testmode, nowait));
+    sys.actor_of(props, "fridge").unwrap();
 
-    if testmode {
-        let props = Props::new_args(sensor::TestSensor::new, cf.clone());
-        sys.actor_of(props, "sensor").unwrap()
-    } else {
-        let props = Props::new_args(sensor::OneWireSensor::new, cf.clone());
-        sys.actor_of(props, "sensor").unwrap()
-    };
-
-    let props = Props::new_args(fridge::Fridge::new_actor, (cf.clone(), nowait));
-    sys.actor_of(props, "fridge").unwrap();
-    Ok(())
+    loop {
+        // TODO: wait for a semaphore or something?
+        std::thread::sleep(Duration::from_millis(60000));
+   }
 }
 
 #[derive(Debug, StructOpt)]