#![allow(clippy::disallowed_macros)]
use std::thread;
use hyperlight_host::{MultiUseSandbox, UninitializedSandbox};
fn main() -> hyperlight_host::Result<()> {
let mut uninitialized_sandbox = UninitializedSandbox::new(
hyperlight_host::GuestBinary::FilePath(
hyperlight_testing::simple_guest_as_string().unwrap(),
),
None, )?;
uninitialized_sandbox.register("Sleep5Secs", || {
thread::sleep(std::time::Duration::from_secs(5));
Ok(())
})?;
let mut multi_use_sandbox: MultiUseSandbox = uninitialized_sandbox.evolve()?;
let message = "Hello, World! I am executing inside of a VM :)\n".to_string();
multi_use_sandbox
.call::<i32>(
"PrintOutput", message,
)
.unwrap();
Ok(())
}