pub struct RingBufferProxy { /* private fields */ }
Implementations§
Source§impl RingBufferProxy
impl RingBufferProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.audio.device/RingBuffer.
Sourcepub fn take_event_stream(&self) -> RingBufferEventStream
pub fn take_event_stream(&self) -> RingBufferEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn set_active_channels(
&self,
payload: &RingBufferSetActiveChannelsRequest,
) -> QueryResponseFut<RingBufferSetActiveChannelsResult, DefaultFuchsiaResourceDialect>
pub fn set_active_channels( &self, payload: &RingBufferSetActiveChannelsRequest, ) -> QueryResponseFut<RingBufferSetActiveChannelsResult, DefaultFuchsiaResourceDialect>
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,
) -> QueryResponseFut<RingBufferStartResult, DefaultFuchsiaResourceDialect>
pub fn start( &self, payload: &RingBufferStartRequest, ) -> QueryResponseFut<RingBufferStartResult, DefaultFuchsiaResourceDialect>
Start the ring buffer, beginning at the first frame of the ring buffer.
Sourcepub fn stop(
&self,
payload: &RingBufferStopRequest,
) -> QueryResponseFut<RingBufferStopResult, DefaultFuchsiaResourceDialect>
pub fn stop( &self, payload: &RingBufferStopRequest, ) -> QueryResponseFut<RingBufferStopResult, DefaultFuchsiaResourceDialect>
Stop the ring buffer.
Sourcepub fn watch_delay_info(
&self,
) -> QueryResponseFut<RingBufferWatchDelayInfoResult, DefaultFuchsiaResourceDialect>
pub fn watch_delay_info( &self, ) -> QueryResponseFut<RingBufferWatchDelayInfoResult, DefaultFuchsiaResourceDialect>
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 Clone for RingBufferProxy
impl Clone for RingBufferProxy
Source§fn clone(&self) -> RingBufferProxy
fn clone(&self) -> RingBufferProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for RingBufferProxy
impl Debug for RingBufferProxy
Source§impl Proxy for RingBufferProxy
impl Proxy for RingBufferProxy
Source§type Protocol = RingBufferMarker
type Protocol = RingBufferMarker
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Source§impl RingBufferProxyInterface for RingBufferProxy
impl RingBufferProxyInterface for RingBufferProxy
type SetActiveChannelsResponseFut = QueryResponseFut<Result<RingBufferSetActiveChannelsResponse, RingBufferSetActiveChannelsError>>
type StartResponseFut = QueryResponseFut<Result<RingBufferStartResponse, RingBufferStartError>>
type StopResponseFut = QueryResponseFut<Result<RingBufferStopResponse, RingBufferStopError>>
type WatchDelayInfoResponseFut = QueryResponseFut<Result<RingBufferWatchDelayInfoResponse, RingBufferWatchDelayInfoError>>
fn set_active_channels( &self, payload: &RingBufferSetActiveChannelsRequest, ) -> Self::SetActiveChannelsResponseFut
fn start(&self, payload: &RingBufferStartRequest) -> Self::StartResponseFut
fn stop(&self, payload: &RingBufferStopRequest) -> Self::StopResponseFut
fn watch_delay_info(&self) -> Self::WatchDelayInfoResponseFut
Auto Trait Implementations§
impl Freeze for RingBufferProxy
impl !RefUnwindSafe for RingBufferProxy
impl Send for RingBufferProxy
impl Sync for RingBufferProxy
impl Unpin for RingBufferProxy
impl !UnwindSafe for RingBufferProxy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)