vmcore::vm_task

Struct VmTaskDriverBuilder

Source
pub struct VmTaskDriverBuilder<'a> { /* private fields */ }
Expand description

A builder returned by VmTaskDriverSource::builder.

Implementations§

Source§

impl VmTaskDriverBuilder<'_>

Source

pub fn run_on_target(&mut self, run_on_target: bool) -> &mut Self

A hint to the backend specifies whether the driver should spawned tasks that always on a thread handling the target VP.

If false (the default), then when spawned tasks are awoken, they may run on any executor (such as the current one). If true, the backend will run them on the same thread that would drive async IO.

Some devices will want to override the default to reduce jitter or ensure that IO is issued from the correct processor.

Source

pub fn target_vp(&mut self, target_vp: u32) -> &mut Self

A hint to the backend specifying the guest VP associated with spawned tasks and IO.

Backends can use this to ensure that spawned tasks and async IO will run near or on the target VP.

Source

pub fn build(&self, name: impl Into<String>) -> VmTaskDriver

Builds a VM task driver.

name is used by some backends to identify a spawned thread. It is ignored by other backends.

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.

Source§

impl<T> Instrument for T

Source§

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

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

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.

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.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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