melodium_common/executive/
output.rs1use super::{TransmissionValue, Value};
2use crate::executive::SendResult;
3use async_trait::async_trait;
4use core::fmt::Debug;
5
6pub trait Outputs: Debug + Send + Sync {
7 fn get(&mut self, output: &str) -> Box<dyn Output>;
8}
9
10#[async_trait]
11pub trait Output: Debug + Send + Sync {
12 async fn close(&self);
13
14 async fn send_many(&self, data: TransmissionValue) -> SendResult;
15 async fn send_one(&self, data: Value) -> SendResult;
16
17 async fn force_send(&self);
18}