Struct devices::virtio::vhost_user_backend::VhostUserStream   
source · pub struct VhostUserStream(UnixStream);Expand description
Connection from connected socket
Tuple Fields§
§0: UnixStreamImplementations§
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 Freeze for VhostUserStream
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.