pub use harn_kernel::{
CapabilityRequest, CapabilityResult, DataValue, Diagnostic, Execution, GrantSet,
};
use harn_kernel::{ArtifactLimits, ProgramArtifact};
pub fn start(
artifact: &[u8],
input: DataValue,
grants: &GrantSet,
) -> Result<Execution, Diagnostic> {
let program = ProgramArtifact::decode(artifact, ArtifactLimits::default())?;
Ok(harn_kernel::start(&program, input, grants))
}
pub fn resume(
artifact: &[u8],
snapshot: &[u8],
result: CapabilityResult,
grants: &GrantSet,
) -> Result<Execution, Diagnostic> {
let program = ProgramArtifact::decode(artifact, ArtifactLimits::default())?;
Ok(harn_kernel::resume(&program, snapshot, result, grants))
}