mod handler;
mod shim;
mod spawn;
pub mod watchdog;
use crate::vmm::InstanceSpec;
use boxlite_shared::BoxliteResult;
pub use handler::VmmHandler;
pub use shim::{ShimController, ShimHandler};
#[derive(Clone, Debug, Default)]
pub struct VmmMetrics {
pub cpu_percent: Option<f32>,
pub memory_bytes: Option<u64>,
pub disk_bytes: Option<u64>,
}
#[allow(
clippy::double_must_use,
reason = "async_trait generates a must-use boxed future"
)]
#[async_trait::async_trait]
pub trait VmmController: Send {
async fn start(&mut self, bundle: &InstanceSpec) -> BoxliteResult<Box<dyn VmmHandler>>;
}