1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
pub mod iedred;

use crate::Location;

use tokio::sync::mpsc;

#[async_trait::async_trait]
pub trait Watchdog {
    type EqInfo;
    type Error;

    async fn watch(&mut self, tx: mpsc::Sender<()>, loction: Location) -> Result<(), Self::Error>;

    async fn scout(&self) -> Result<Self::EqInfo, Self::Error>;

    async fn bark(&self, tx: mpsc::Sender<()>) -> Result<(), Self::Error>;
}