Trait SystemHarness

Source
pub trait SystemHarness<'sys> {
    type Terminal: SystemTerminal;

    // Required methods
    fn terminal(
        &'sys mut self,
    ) -> impl Future<Output = Result<Self::Terminal, Error>>;
    fn pause(&mut self) -> impl Future<Output = Result<(), Error>>;
    fn resume(&mut self) -> impl Future<Output = Result<(), Error>>;
    fn shutdown(&mut self) -> impl Future<Output = Result<(), Error>>;
    fn status(&mut self) -> impl Future<Output = Result<Status, Error>>;
    fn running(&mut self) -> impl Future<Output = Result<bool, Error>>;
}
Expand description

A trait representing a harnessed system

Required Associated Types§

Required Methods§

Source

fn terminal( &'sys mut self, ) -> impl Future<Output = Result<Self::Terminal, Error>>

Get a terminal for the system

Source

fn pause(&mut self) -> impl Future<Output = Result<(), Error>>

Pause system

Source

fn resume(&mut self) -> impl Future<Output = Result<(), Error>>

Resume system

Source

fn shutdown(&mut self) -> impl Future<Output = Result<(), Error>>

Shutdown system

Source

fn status(&mut self) -> impl Future<Output = Result<Status, Error>>

Get system status

Source

fn running(&mut self) -> impl Future<Output = Result<bool, Error>>

Check if harness is running

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§