pub trait VirtioSoundProxyInterface: Send + Sync {
type ConfigureQueueResponseFut: Future<Output = Result<(), Error>> + Send;
type ReadyResponseFut: Future<Output = Result<(), Error>> + Send;
type StartResponseFut: Future<Output = Result<(u32, u32, u32, u32), Error>> + Send;
// Required methods
fn configure_queue(
&self,
queue: u16,
size: u16,
desc: u64,
avail: u64,
used: u64,
) -> Self::ConfigureQueueResponseFut;
fn notify_queue(&self, queue: u16) -> Result<(), Error>;
fn ready(&self, negotiated_features: u32) -> Self::ReadyResponseFut;
fn start(
&self,
start_info: StartInfo,
enable_input: bool,
enable_verbose_logging: bool,
) -> Self::StartResponseFut;
}