pub struct RingBufferSynchronousProxy { /* private fields */ }
Implementations§
Source§impl RingBufferSynchronousProxy
impl RingBufferSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<RingBufferEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<RingBufferEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn set_active_channels(
&self,
payload: &RingBufferSetActiveChannelsRequest,
___deadline: MonotonicInstant,
) -> Result<RingBufferSetActiveChannelsResult, Error>
pub fn set_active_channels( &self, payload: &RingBufferSetActiveChannelsRequest, ___deadline: MonotonicInstant, ) -> Result<RingBufferSetActiveChannelsResult, Error>
Request that specific individual channels be powered down/up, if the device supports this. This is intended for idle power conservation.
Channels are specified by bitmask; the least significant bit corresponds
to channel 0. Each bit not set indicates that the channel can be
deactivated. SetActiveChannels
does not change how a ring buffer
responds to Start
/Stop
, specifically with regards to position.
Devices are not required to obey SetActiveChannels
. For example, they
are not required to zero-out an input stream’s inactive channels, and
data written to inactive channels of an output stream’s ring buffer may
still be played.
If not called, then by default all channels will be active.
Sourcepub fn start(
&self,
payload: &RingBufferStartRequest,
___deadline: MonotonicInstant,
) -> Result<RingBufferStartResult, Error>
pub fn start( &self, payload: &RingBufferStartRequest, ___deadline: MonotonicInstant, ) -> Result<RingBufferStartResult, Error>
Start the ring buffer, beginning at the first frame of the ring buffer.
Sourcepub fn stop(
&self,
payload: &RingBufferStopRequest,
___deadline: MonotonicInstant,
) -> Result<RingBufferStopResult, Error>
pub fn stop( &self, payload: &RingBufferStopRequest, ___deadline: MonotonicInstant, ) -> Result<RingBufferStopResult, Error>
Stop the ring buffer.
Sourcepub fn watch_delay_info(
&self,
___deadline: MonotonicInstant,
) -> Result<RingBufferWatchDelayInfoResult, Error>
pub fn watch_delay_info( &self, ___deadline: MonotonicInstant, ) -> Result<RingBufferWatchDelayInfoResult, Error>
Request delay information via a hanging get. The RingBuffer will respond
immediately to the first WatchDelayInfo
call. Subsequent calls will
only be completed when the delay info has changed from previously
communicated values.
Trait Implementations§
Source§impl Debug for RingBufferSynchronousProxy
impl Debug for RingBufferSynchronousProxy
Source§impl SynchronousProxy for RingBufferSynchronousProxy
impl SynchronousProxy for RingBufferSynchronousProxy
Source§type Proxy = RingBufferProxy
type Proxy = RingBufferProxy
Source§type Protocol = RingBufferMarker
type Protocol = RingBufferMarker
Proxy
controls.