vmbus_relay

Struct HostVmbusTransport

Source
pub struct HostVmbusTransport { /* private fields */ }
Expand description

Represents a relay between a vmbus server on the host, and the vmbus server running in Underhill, allowing offers from the host and offers from Underhill to be mixed.

The relay will connect to the host when it first receives a start request through its state unit, and will remain connected until it is destroyed.

Implementations§

Source§

impl HostVmbusTransport

Source

pub async fn new( driver: impl SpawnDriver + Clone, control: Arc<VmbusServerControl>, channel: VmbusRelayChannelHalf, hvsock_relay: HvsockRelayChannelHalf, vmbus_client: VmbusClientAccess, connection: ConnectResult, intercept_list: Vec<(Guid, Sender<InterceptChannelRequest>)>, ) -> Result<Self>

Create a new instance of the host vmbus relay.

Source

pub fn start(&self)

Source

pub async fn stop(&self)

Source

pub async fn save(&self) -> SavedState

Source

pub async fn restore(&self, state: SavedState) -> Result<()>

Trait Implementations§

Source§

impl Debug for HostVmbusTransport

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Inspect for HostVmbusTransport

Source§

fn inspect(&self, req: Request<'_>)

Inspects the object.

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> IntoAny for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Converts into a Box<dyn Any>.
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