use super::{ArconResult, Error};
use snafu::Snafu;
use std::fmt::Debug;
pub type TimerResult<A> = ArconResult<std::result::Result<(), TimerExpiredError<A>>>;
#[derive(Debug, Snafu)]
#[snafu(display(
"Attempted to schedule timer entry {:?} at {} when time is {}",
entry,
scheduled_time,
current_time
))]
pub struct TimerExpiredError<A: Debug> {
pub current_time: u64,
pub scheduled_time: u64,
pub entry: A,
}
impl<A: Debug> From<Error> for TimerResult<A> {
fn from(error: Error) -> Self {
Err(error)
}
}