Skip to main content

dope_runtime/executor/drive/
mod.rs

1use dope_core::driver::schedule::clock::Sample;
2
3pub(crate) mod block;
4pub mod clock;
5mod error;
6mod kind;
7pub mod regress;
8pub(crate) mod serve;
9pub(crate) mod turn;
10
11pub use error::Error;
12pub use kind::Kind;
13
14pub(crate) fn tick<C: clock::Source>(source: C) -> Result<Sample, Error> {
15    Ok(source.tick())
16}
17
18pub(crate) fn timeout<C: clock::Expiring>(source: C) -> Result<Sample, Error> {
19    source.tick().map_err(Error::timeout)
20}
21
22pub(crate) fn quiesce<C: clock::Expiring>(source: C) -> Result<Sample, Error> {
23    source.tick().map_err(Error::quiesce)
24}