mirror of
https://gitlab.com/fabinfra/fabaccess/bffh.git
synced 2024-12-22 19:53:49 +01:00
Status
This commit is contained in:
parent
c1c34aa703
commit
d0fe576d62
@ -8,7 +8,7 @@ use futures::future::BoxFuture;
|
||||
|
||||
use genawaiter::{sync::{Gen, GenBoxed, Co}, GeneratorState};
|
||||
|
||||
use futures_signals::signal::{Signal, MutableSignalCloned};
|
||||
use futures_signals::signal::{Signal, Mutable, MutableSignalCloned};
|
||||
use crate::machine::{Machine, ReturnToken};
|
||||
use crate::db::machine::MachineState;
|
||||
use crate::db::user::{User, UserId, UserData};
|
||||
@ -35,6 +35,13 @@ impl<S: Sensor> Initiator<S> {
|
||||
sensor: sensor,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn wrap(sensor: Box<S>) -> (Mutable<Option<Machine>>, Self) {
|
||||
let m = Mutable::new(None);
|
||||
let s = m.signal_cloned();
|
||||
|
||||
(m, Self::new(sensor, s))
|
||||
}
|
||||
}
|
||||
|
||||
impl<S: Sensor> Future for Initiator<S> {
|
||||
@ -68,8 +75,9 @@ impl<S: Sensor> Future for Initiator<S> {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn load<S: Sensor>() -> Result<Initiator<S>> {
|
||||
unimplemented!()
|
||||
pub fn load() -> Result<(Mutable<Option<Machine>>, Initiator<Dummy>)> {
|
||||
let d = Box::new(Dummy::new());
|
||||
Ok(Initiator::wrap(d))
|
||||
}
|
||||
|
||||
pub struct Dummy {
|
||||
|
@ -135,12 +135,13 @@ fn maybe(matches: clap::ArgMatches, log: Arc<Logger>) -> Result<(), Error> {
|
||||
} else {
|
||||
|
||||
//let machines = machine::load(&config)?;
|
||||
//let initiators = initiator::load(&config)?;
|
||||
let ex = Executor::new();
|
||||
|
||||
let m = futures_signals::signal::Mutable::new(crate::db::machine::MachineState::new());
|
||||
let (mut tx, actor) = actor::load()?;
|
||||
|
||||
let (mut init_machine, initiator) = initiator::load()?;
|
||||
|
||||
// TODO HERE: restore connections between initiators, machines, actors
|
||||
|
||||
// Like so
|
||||
@ -150,6 +151,7 @@ fn maybe(matches: clap::ArgMatches, log: Arc<Logger>) -> Result<(), Error> {
|
||||
|
||||
// Like so
|
||||
let t = ex.spawn(actor);
|
||||
let t2 = ex.spawn(initiator);
|
||||
|
||||
let (signal, shutdown) = async_channel::bounded::<()>(1);
|
||||
easy_parallel::Parallel::new()
|
||||
|
Loading…
Reference in New Issue
Block a user