Skip to main content

ReadyGate

Trait ReadyGate 

Source
pub trait ReadyGate: Send {
    // Required method
    fn wait<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 mut self,
        handle: &'life1 Arc<dyn VmHandle>,
        agent: &'life2 Arc<dyn GuestAgent>,
    ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

An armed readiness observer, awaited once.

Required Methods§

Source

fn wait<'life0, 'life1, 'life2, 'async_trait>( &'life0 mut self, handle: &'life1 Arc<dyn VmHandle>, agent: &'life2 Arc<dyn GuestAgent>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Wait for the guest agent to be serving.

Both arguments describe the VM that booted after this gate was armed, which is why they arrive here rather than at arming time: a Readiness::DialOut gate uses neither (its observer has been listening since before the guest started), Readiness::Poll dials the guest over handle’s transport, and Readiness::Probe round-trips agent. The caller owns the deadline.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§