pub trait GpuBackend: Send {
// Required methods
fn name(&self) -> &'static str;
fn devices(&mut self) -> Vec<DeviceId>;
fn static_info(
&mut self,
dev: &DeviceId,
) -> Result<StaticInfo, BackendError>;
fn refresh_dynamic(
&mut self,
dev: &DeviceId,
) -> Result<DynamicSample, BackendError>;
fn refresh_processes(
&mut self,
dev: &DeviceId,
) -> Result<Vec<ProcessSample>, BackendError>;
}Required Methods§
fn name(&self) -> &'static str
Sourcefn static_info(&mut self, dev: &DeviceId) -> Result<StaticInfo, BackendError>
fn static_info(&mut self, dev: &DeviceId) -> Result<StaticInfo, BackendError>
Queried once per device.
Sourcefn refresh_dynamic(
&mut self,
dev: &DeviceId,
) -> Result<DynamicSample, BackendError>
fn refresh_dynamic( &mut self, dev: &DeviceId, ) -> Result<DynamicSample, BackendError>
Called every tick.
Sourcefn refresh_processes(
&mut self,
dev: &DeviceId,
) -> Result<Vec<ProcessSample>, BackendError>
fn refresh_processes( &mut self, dev: &DeviceId, ) -> Result<Vec<ProcessSample>, BackendError>
Called every tick, separately from dynamic info (some sources differ).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".