use o3::base::time::Positive;
pub trait Notify {
type Error;
type Heartbeat: Heartbeat<Self::Error>;
fn ready(self) -> Result<Self::Heartbeat, Self::Error>;
}
pub trait Heartbeat<E> {
fn period(&self) -> Positive;
fn pulse(&self) -> Result<(), E>;
fn draining(&self) -> Result<(), E>;
}