pub struct VirtioSoundSynchronousProxy { /* private fields */ }
Implementations§
Source§impl VirtioSoundSynchronousProxy
impl VirtioSoundSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<VirtioSoundEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<VirtioSoundEvent, 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 configure_queue(
&self,
queue: u16,
size: u16,
desc: u64,
avail: u64,
used: u64,
___deadline: MonotonicInstant,
) -> Result<(), Error>
pub fn configure_queue( &self, queue: u16, size: u16, desc: u64, avail: u64, used: u64, ___deadline: MonotonicInstant, ) -> Result<(), Error>
Configure a queue
for the device. This specifies the size
and the
guest physical addresses of the queue: desc
, avail
, and used
.
Sourcepub fn notify_queue(&self, queue: u16) -> Result<(), Error>
pub fn notify_queue(&self, queue: u16) -> Result<(), Error>
Notify a queue
for the device. Primarily used for black-box testing.
Sourcepub fn ready(
&self,
negotiated_features: u32,
___deadline: MonotonicInstant,
) -> Result<(), Error>
pub fn ready( &self, negotiated_features: u32, ___deadline: MonotonicInstant, ) -> Result<(), Error>
Ready a device. This provides the set of negotiated_features
that the
driver and device have agreed upon.
Sourcepub fn start(
&self,
start_info: StartInfo,
enable_input: bool,
enable_verbose_logging: bool,
___deadline: MonotonicInstant,
) -> Result<(u32, u32, u32, u32), Error>
pub fn start( &self, start_info: StartInfo, enable_input: bool, enable_verbose_logging: bool, ___deadline: MonotonicInstant, ) -> Result<(u32, u32, u32, u32), Error>
Start the sound device. The response contains the device’s expected static configuration.
- request
start_info
basic info to start the device - request
enable_input
whether audio input (capture) should be enabled - request
enable_verbose_logging
whether verbose logging should be enabled
- response
features
supported features - response
jacks
the virtio_snd_config.jacks value to advertise - response
streams
the virtio_snd_config.streams value to advertise - response
chmaps
the virtio_snd_config.chaps value to advertise
Trait Implementations§
Source§impl Debug for VirtioSoundSynchronousProxy
impl Debug for VirtioSoundSynchronousProxy
Source§impl SynchronousProxy for VirtioSoundSynchronousProxy
impl SynchronousProxy for VirtioSoundSynchronousProxy
Source§type Proxy = VirtioSoundProxy
type Proxy = VirtioSoundProxy
The async proxy for the same protocol.
Source§type Protocol = VirtioSoundMarker
type Protocol = VirtioSoundMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: Channel) -> Self
fn from_channel(inner: Channel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Channel
fn into_channel(self) -> Channel
Convert the proxy back into a channel.
Source§fn as_channel(&self) -> &Channel
fn as_channel(&self) -> &Channel
Get a reference to the proxy’s underlying channel. Read more
Auto Trait Implementations§
impl Freeze for VirtioSoundSynchronousProxy
impl RefUnwindSafe for VirtioSoundSynchronousProxy
impl Send for VirtioSoundSynchronousProxy
impl Sync for VirtioSoundSynchronousProxy
impl Unpin for VirtioSoundSynchronousProxy
impl UnwindSafe for VirtioSoundSynchronousProxy
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
Mutably borrows from an owned value. Read more