Skip to main content

OdpmDeviceProxyInterface

Trait OdpmDeviceProxyInterface 

Source
pub trait OdpmDeviceProxyInterface: Send + Sync {
    type GetRailMetadataResponseFut: Future<Output = Result<OdpmDeviceGetRailMetadataResult, Error>> + Send;
    type GetAvailableRailsResponseFut: Future<Output = Result<OdpmDeviceGetAvailableRailsResult, Error>> + Send;
    type SetChannelRailResponseFut: Future<Output = Result<OdpmDeviceSetChannelRailResult, Error>> + Send;
    type GetPowerWattsResponseFut: Future<Output = Result<OdpmDeviceGetPowerWattsResult, Error>> + Send;
    type GetCurrentAmperesResponseFut: Future<Output = Result<OdpmDeviceGetCurrentAmperesResult, Error>> + Send;
    type GetEnergyJoulesResponseFut: Future<Output = Result<OdpmDeviceGetEnergyJoulesResult, Error>> + Send;
    type SetPollingConfigResponseFut: Future<Output = Result<OdpmDeviceSetPollingConfigResult, Error>> + Send;
    type GetPollingConfigResponseFut: Future<Output = Result<OdpmDeviceGetPollingConfigResult, Error>> + Send;
    type ResetPollingConfigResponseFut: Future<Output = Result<OdpmDeviceResetPollingConfigResult, Error>> + Send;

    // Required methods
    fn get_rail_metadata(&self) -> Self::GetRailMetadataResponseFut;
    fn get_available_rails(&self) -> Self::GetAvailableRailsResponseFut;
    fn set_channel_rail(
        &self,
        channel_id: u32,
        rail_name: &str,
    ) -> Self::SetChannelRailResponseFut;
    fn get_power_watts(
        &self,
        payload: &Options,
    ) -> Self::GetPowerWattsResponseFut;
    fn get_current_amperes(
        &self,
        payload: &Options,
    ) -> Self::GetCurrentAmperesResponseFut;
    fn get_energy_joules(
        &self,
        payload: &Options,
    ) -> Self::GetEnergyJoulesResponseFut;
    fn set_polling_config(
        &self,
        payload: &PollingConfig,
    ) -> Self::SetPollingConfigResponseFut;
    fn get_polling_config(&self) -> Self::GetPollingConfigResponseFut;
    fn reset_polling_config(&self) -> Self::ResetPollingConfigResponseFut;
}

Required Associated Types§

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§