Mercurial > templog
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)]