pub struct VirtioVsockProxy { /* private fields */ }
Implementations§
Source§impl VirtioVsockProxy
impl VirtioVsockProxy
Sourcepub fn new(channel: AsyncChannel) -> Self
pub fn new(channel: AsyncChannel) -> Self
Create a new Proxy for fuchsia.virtualization.hardware/VirtioVsock.
Sourcepub fn take_event_stream(&self) -> VirtioVsockEventStream
pub fn take_event_stream(&self) -> VirtioVsockEventStream
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.
Sourcepub fn ready(
&self,
negotiated_features: u32,
) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
pub fn ready( &self, negotiated_features: u32, ) -> QueryResponseFut<(), DefaultFuchsiaResourceDialect>
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,
guest_cid: u32,
listeners: Vec<Listener>,
) -> QueryResponseFut<VirtioVsockStartResult, DefaultFuchsiaResourceDialect>
pub fn start( &self, start_info: StartInfo, guest_cid: u32, listeners: Vec<Listener>, ) -> QueryResponseFut<VirtioVsockStartResult, DefaultFuchsiaResourceDialect>
Start the vsock device, setting the guest_cid to the provided value.
Returns:
- ZX_OK if device startup succeeded
- ZX_ERR_INVALID_ARGS if guest_cid is a reserved value
- Any errors returned from fuchsia.virtualization.HostVsockEndpoint::Listen
Trait Implementations§
Source§impl Clone for VirtioVsockProxy
impl Clone for VirtioVsockProxy
Source§fn clone(&self) -> VirtioVsockProxy
fn clone(&self) -> VirtioVsockProxy
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 VirtioVsockProxy
impl Debug for VirtioVsockProxy
Source§impl Proxy for VirtioVsockProxy
impl Proxy for VirtioVsockProxy
Source§type Protocol = VirtioVsockMarker
type Protocol = VirtioVsockMarker
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 VirtioVsockProxyInterface for VirtioVsockProxy
impl VirtioVsockProxyInterface for VirtioVsockProxy
type ConfigureQueueResponseFut = QueryResponseFut<()>
type ReadyResponseFut = QueryResponseFut<()>
type StartResponseFut = QueryResponseFut<Result<(), i32>>
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, guest_cid: u32, listeners: Vec<Listener>, ) -> Self::StartResponseFut
Auto Trait Implementations§
impl Freeze for VirtioVsockProxy
impl !RefUnwindSafe for VirtioVsockProxy
impl Send for VirtioVsockProxy
impl Sync for VirtioVsockProxy
impl Unpin for VirtioVsockProxy
impl !UnwindSafe for VirtioVsockProxy
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> 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.