pub struct VirtioBlockProxy { /* private fields */ }
Implementations§
Source§impl VirtioBlockProxy
impl VirtioBlockProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.virtualization.hardware/VirtioBlock.
Sourcepub fn take_event_stream(&self) -> VirtioBlockEventStream
pub fn take_event_stream(&self) -> VirtioBlockEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn configure_queue(
&self,
queue: u16,
size: u16,
desc: u64,
avail: u64,
used: u64,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn configure_queue( &self, queue: u16, size: u16, desc: u64, avail: u64, used: u64, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
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.
Trait Implementations§
Source§impl Clone for VirtioBlockProxy
impl Clone for VirtioBlockProxy
Source§fn clone(&self) -> VirtioBlockProxy
fn clone(&self) -> VirtioBlockProxy
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for VirtioBlockProxy
impl Debug for VirtioBlockProxy
Source§impl Proxy for VirtioBlockProxy
impl Proxy for VirtioBlockProxy
Source§type Protocol = VirtioBlockMarker
type Protocol = VirtioBlockMarker
The protocol which this
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Create a proxy over the given channel.
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Attempt to convert the proxy back into a channel. Read more
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
Get a reference to the proxy’s underlying channel. Read more
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Attempt to convert the proxy back into a client end. Read more
Source§impl VirtioBlockProxyInterface for VirtioBlockProxy
impl VirtioBlockProxyInterface for VirtioBlockProxy
type ConfigureQueueResponseFut = QueryResponseFut<()>
type ReadyResponseFut = QueryResponseFut<()>
type StartResponseFut = QueryResponseFut<(u64, u32)>
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, spec: BlockSpec, ) -> Self::StartResponseFut
Auto Trait Implementations§
impl Freeze for VirtioBlockProxy
impl !RefUnwindSafe for VirtioBlockProxy
impl Send for VirtioBlockProxy
impl Sync for VirtioBlockProxy
impl Unpin for VirtioBlockProxy
impl !UnwindSafe for VirtioBlockProxy
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
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)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> ProxyHasClient for Twhere
T: Proxy,
impl<T> ProxyHasClient for Twhere
T: Proxy,
§fn client(&self) -> Result<ZirconClient, Infallible>
fn client(&self) -> Result<ZirconClient, Infallible>
Get a “client” for this proxy. This is just an object which has methods
for a few common handle creation operations.