pub trait DeviceProxyInterface: Send + Sync {
type StartResponseFut: Future<Output = Result<DeviceStartResult, Error>> + Send;
type ReadTimerResponseFut: Future<Output = Result<DeviceReadTimerResult, Error>> + Send;
type ReadClockResponseFut: Future<Output = Result<DeviceReadClockResult, Error>> + Send;
type StopResponseFut: Future<Output = Result<DeviceStopResult, Error>> + Send;
type GetTicksLeftResponseFut: Future<Output = Result<DeviceGetTicksLeftResult, Error>> + Send;
type SetEventResponseFut: Future<Output = Result<DeviceSetEventResult, Error>> + Send;
type StartAndWaitResponseFut: Future<Output = Result<DeviceStartAndWaitResult, Error>> + Send;
type StartAndWait2ResponseFut: Future<Output = Result<DeviceStartAndWait2Result, Error>> + Send;
type GetPropertiesResponseFut: Future<Output = Result<Properties, Error>> + Send;
// Required methods
fn start(
&self,
id: u64,
resolution: &Resolution,
ticks: u64,
) -> Self::StartResponseFut;
fn read_timer(
&self,
id: u64,
resolution: &Resolution,
) -> Self::ReadTimerResponseFut;
fn read_clock(
&self,
id: u64,
resolution: &Resolution,
) -> Self::ReadClockResponseFut;
fn stop(&self, id: u64) -> Self::StopResponseFut;
fn get_ticks_left(&self, id: u64) -> Self::GetTicksLeftResponseFut;
fn set_event(&self, id: u64, event: Event) -> Self::SetEventResponseFut;
fn start_and_wait(
&self,
id: u64,
resolution: &Resolution,
ticks: u64,
setup_event: Event,
) -> Self::StartAndWaitResponseFut;
fn start_and_wait2(
&self,
id: u64,
resolution: &Resolution,
ticks: u64,
setup_keep_alive: EventPair,
) -> Self::StartAndWait2ResponseFut;
fn get_properties(&self) -> Self::GetPropertiesResponseFut;
}Required Associated Types§
type StartResponseFut: Future<Output = Result<DeviceStartResult, Error>> + Send
type ReadTimerResponseFut: Future<Output = Result<DeviceReadTimerResult, Error>> + Send
type ReadClockResponseFut: Future<Output = Result<DeviceReadClockResult, Error>> + Send
type StopResponseFut: Future<Output = Result<DeviceStopResult, Error>> + Send
type GetTicksLeftResponseFut: Future<Output = Result<DeviceGetTicksLeftResult, Error>> + Send
type SetEventResponseFut: Future<Output = Result<DeviceSetEventResult, Error>> + Send
type StartAndWaitResponseFut: Future<Output = Result<DeviceStartAndWaitResult, Error>> + Send
type StartAndWait2ResponseFut: Future<Output = Result<DeviceStartAndWait2Result, Error>> + Send
type GetPropertiesResponseFut: Future<Output = Result<Properties, Error>> + Send
Required Methods§
fn start( &self, id: u64, resolution: &Resolution, ticks: u64, ) -> Self::StartResponseFut
fn read_timer( &self, id: u64, resolution: &Resolution, ) -> Self::ReadTimerResponseFut
fn read_clock( &self, id: u64, resolution: &Resolution, ) -> Self::ReadClockResponseFut
fn stop(&self, id: u64) -> Self::StopResponseFut
fn get_ticks_left(&self, id: u64) -> Self::GetTicksLeftResponseFut
fn set_event(&self, id: u64, event: Event) -> Self::SetEventResponseFut
fn start_and_wait( &self, id: u64, resolution: &Resolution, ticks: u64, setup_event: Event, ) -> Self::StartAndWaitResponseFut
fn start_and_wait2( &self, id: u64, resolution: &Resolution, ticks: u64, setup_keep_alive: EventPair, ) -> Self::StartAndWait2ResponseFut
fn get_properties(&self) -> Self::GetPropertiesResponseFut
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".