melodium_common/executive/data.rs
1use super::DataTrait;
2use crate::descriptor::Data as DataDescriptor;
3use core::fmt::Debug;
4use downcast_rs::{impl_downcast, DowncastSync};
5use erased_serde::{serialize_trait_object, Serialize};
6use std::sync::Arc;
7
8pub trait Data: DataTrait + Serialize + Debug + DowncastSync + Send + Sync {
9 fn descriptor(&self) -> Arc<dyn DataDescriptor>;
10}
11impl_downcast!(sync Data);
12serialize_trait_object!(Data);