8d8d136510
Introduce an injectable, deadline-aware KvBackend boundary and link only the exact wasmeld:kv/store@0.1.0 import requested by a Component. Namespace entries by service ID so revisions share state while services remain isolated, reject registrations without a backend, and enforce 256-byte keys and 64 KiB values. Cover capability discovery, cross-revision sharing, service isolation, missing backends, and resource limits with Component integration tests.
21 lines
741 B
Rust
21 lines
741 B
Rust
//! A minimal resident WebAssembly Component runtime.
|
|
//!
|
|
//! The runtime intentionally has no network protocol or business capabilities.
|
|
//! It provides a restricted WASI compatibility context, links explicitly
|
|
//! imported host capabilities, loads a Component that implements the stable
|
|
//! service exports, and invokes it through one serial Actor.
|
|
|
|
mod bindings;
|
|
mod capability;
|
|
mod error;
|
|
mod manifest;
|
|
mod runtime;
|
|
|
|
pub use capability::{
|
|
CapabilityDescriptor, KV_MAX_KEY_BYTES, KV_MAX_VALUE_BYTES, KvBackend, KvBackendError,
|
|
};
|
|
pub use error::RuntimeError;
|
|
pub use manifest::{ResourceLimits, ServiceKey, ServiceManifest};
|
|
pub use runtime::{ActorHandle, Runtime, RuntimeConfig, RuntimeStats};
|
|
pub use wasmeld_package::SERVICE_WORLD;
|