Skip to main content

VhostUserGenericHandle

Struct VhostUserGenericHandle 

Source
pub struct VhostUserGenericHandle {
    pub socket: OwnedFd,
    pub device_id: u16,
    pub queue_sizes: Vec<u16>,
}
Expand description

Handle for a generic vhost-user device backed by an external process.

The socket must already be connected. The CLI layer connects to the backend and passes the connected fd here.

For device types with specific handles (FS, BLK), use those instead. This handle is for devices identified only by their numeric virtio device ID.

Fields§

§socket: OwnedFd

Connected Unix socket fd to the vhost-user backend.

§device_id: u16

Virtio device ID (e.g., 2 for block, 1 for net).

§queue_sizes: Vec<u16>

Per-queue sizes. Length determines the queue count. Required — must be non-empty.

Trait Implementations§

Source§

impl DefaultEncoding for VhostUserGenericHandle

Source§

type Encoding = TableEncoder

The encoding to use for the serialization. Read more
Source§

impl ResourceId<VirtioDeviceHandle> for VhostUserGenericHandle

Source§

const ID: &'static str = "vhost-user-generic"

The ID of this resource type. Read more
Source§

impl<'encoding> StructDecodeMetadata<'encoding, Resource> for VhostUserGenericHandle

Source§

const DECODERS: &'static [ErasedDecoderEntry]

The list of decoder vtables.
Source§

impl StructEncodeMetadata<Resource> for VhostUserGenericHandle

Source§

const ENCODERS: &'static [ErasedEncoderEntry]

The list of encoder vtables.
Source§

impl StructMetadata for VhostUserGenericHandle

Source§

const NUMBERS: &'static [u32]

The field numbers for each field.
Source§

const OFFSETS: &'static [usize]

The byte offset to each field within the struct.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, K> IntoResource<K> for T
where T: 'static + ResourceId<K> + MeshPayload + Send, K: ResourceKind,

§

fn into_resource(self) -> Resource<K>

Converts self into a Resource.
§

impl<T> MeshField for T
where T: DefaultEncoding, <T as DefaultEncoding>::Encoding: FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,

§

type Encoding = <T as DefaultEncoding>::Encoding

§

impl<T> MeshPayload for T
where T: DefaultEncoding + Any + Send + 'static, <T as DefaultEncoding>::Encoding: MessageEncode<T, Resource> + for<'a> MessageDecode<'a, T, Resource> + FieldEncode<T, Resource> + for<'a> FieldDecode<'a, T, Resource> + Send + Sync,

§

type Encoding = <T as DefaultEncoding>::Encoding

§

impl<T> SerializeMessage for T
where T: 'static + MeshPayload + Send,

§

type Concrete = T

The underlying concrete message type.
§

fn compute_message_size(&mut self, sizer: MessageSizer<'_>)

Computes the message size, as in [MessageEncode::compute_message_size].
§

fn write_message(self, writer: MessageWriter<'_, '_, Resource>)

Writes the message, as in [MessageEncode::write_message].
§

fn extract(self) -> <T as SerializeMessage>::Concrete

Extract the concrete message.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more