use crate::tmtc::TargetId; pub type CollectionIntervalFactor = u32; pub type UniqueId = u32; #[derive(Debug, Copy, Clone, PartialEq, Eq)] pub enum HkRequest { OneShot(UniqueId), Enable(UniqueId), Disable(UniqueId), ModifyCollectionInterval(UniqueId, CollectionIntervalFactor), } #[derive(Debug, Copy, Clone, PartialEq, Eq)] pub struct TargetedHkRequest { target: TargetId, hk_request: HkRequest, } pub trait HkRequestProvider { fn route_hk_request(&self, targeted_request: TargetedHkRequest); }