Struct devices::virtio::vhost::user::device::connection::sys::linux::stream::VhostUserStream
source · pub struct VhostUserStream(UnixStream);
Expand description
Connection from connected socket
Tuple Fields§
§0: UnixStream
Implementations§
source§impl VhostUserStream
impl VhostUserStream
sourcepub fn new_socket_from_fd(socket_fd: RawDescriptor) -> Result<Self>
pub fn new_socket_from_fd(socket_fd: RawDescriptor) -> Result<Self>
Creates a new vhost-user listener from an existing connected socket file descriptor.
§Errors
Returns an error if:
- The provided file descriptor is not a socket.
- An error occurs while creating the underlying
SocketListener
.
Trait Implementations§
source§impl AsRawDescriptor for VhostUserStream
impl AsRawDescriptor for VhostUserStream
source§fn as_raw_descriptor(&self) -> RawDescriptor
fn as_raw_descriptor(&self) -> RawDescriptor
Returns the underlying raw descriptor. Read more
source§impl VhostUserConnectionTrait for VhostUserStream
impl VhostUserConnectionTrait for VhostUserStream
source§fn run_req_handler<'e>(
self,
handler: Box<dyn Backend>,
ex: &'e Executor
) -> Pin<Box<dyn Future<Output = Result<()>> + 'e>>
fn run_req_handler<'e>( self, handler: Box<dyn Backend>, ex: &'e Executor ) -> Pin<Box<dyn Future<Output = Result<()>> + 'e>>
Returns a
Future
that processes requests for handler
. The future exits when the
front-end side disconnects or an error occurs.source§fn take_parent_process_resources(&mut self) -> Option<Box<dyn Any>>
fn take_parent_process_resources(&mut self) -> Option<Box<dyn Any>>
Take and return resources owned by the parent process in case of a incoming fork. Read more
source§fn run_backend<'e>(
self,
backend: impl VhostUserDevice + 'static,
ex: &'e Executor
) -> Pin<Box<dyn Future<Output = Result<()>> + 'e>>where
Self: Sized,
fn run_backend<'e>(
self,
backend: impl VhostUserDevice + 'static,
ex: &'e Executor
) -> Pin<Box<dyn Future<Output = Result<()>> + 'e>>where
Self: Sized,
Returns a
Future
that will process requests from backend
when polled. The future exits
when the front-end side disconnects or an error occurs. Read moresource§fn run_device(
self,
ex: Executor,
device: Box<dyn VhostUserDeviceBuilder>
) -> Result<()>where
Self: Sized,
fn run_device(
self,
ex: Executor,
device: Box<dyn VhostUserDeviceBuilder>
) -> Result<()>where
Self: Sized,
Start processing requests for a
VhostUserDevice
on connection
. Returns when the
front-end side disconnects or an error occurs.Auto Trait Implementations§
impl RefUnwindSafe for VhostUserStream
impl Send for VhostUserStream
impl Sync for VhostUserStream
impl Unpin for VhostUserStream
impl UnwindSafe for VhostUserStream
Blanket Implementations§
source§impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
impl<T> AsRawDescriptors for Twhere
T: AsRawDescriptor,
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.