Skip to main content

oliphaunt_wasix/oliphaunt/
engine.rs

1/// Capabilities advertised by the packaged WASIX runtime.
2#[derive(Debug, Clone, PartialEq, Eq)]
3pub struct EngineCapabilities {
4    pub engine_name: &'static str,
5    pub version: String,
6    pub multi_instance: bool,
7    pub protocol_raw: bool,
8    pub protocol_stream: bool,
9    pub server_mode: bool,
10    pub extensions: bool,
11}
12
13impl EngineCapabilities {
14    pub(crate) fn wasix_legacy(protocol_stream: bool) -> Self {
15        Self {
16            engine_name: "wasix-legacy",
17            version: crate::oliphaunt::aot::engine_identity().to_owned(),
18            multi_instance: true,
19            protocol_raw: true,
20            protocol_stream,
21            server_mode: true,
22            extensions: cfg!(feature = "extensions"),
23        }
24    }
25}