1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
use async_trait::async_trait;
use record::RecordData;
pub mod group;
pub mod record;
pub mod samplers;
pub mod output;
#[async_trait]
pub trait Sampler {
async fn run(&self) -> RecordData;
}
#[async_trait]
pub trait Controller {
async fn run(&self) -> Vec<RecordData>;
}
pub trait Output {
fn write(&mut self, data: RecordData);
}