fidius-host::error Rust¶
Error types for fidius-host plugin loading and calling.
Enums¶
fidius-host::error::LoadError pub¶
Errors that can occur when loading a plugin.
Variants¶
LibraryNotFoundSymbolNotFoundInvalidMagicIncompatibleRegistryVersionIncompatibleAbiVersionInterfaceHashMismatchBufferStrategyMismatchArchitectureMismatchUnknownBufferStrategySignatureInvalidSignatureRequiredPluginNotFoundLibLoadingIoPythonLoad- Python loader failed (only produced with thepythonfeature on). Wrapsfidius_python::PythonLoadErroras a string to keep the fidius-host public error enum type-clean across feature gates.WasmLoad- WASM component loader failed (only produced with thewasmfeature on). Wraps wasmtime/instantiation errors as a string to keep the public enum type-clean across feature gates.
fidius-host::error::CallError pub¶
Errors that can occur when calling a plugin method.
Variants¶
SerializationDeserializationPluginPanicBufferTooSmallNotImplemented- Optional method is not implemented by this plugin — its capability bit is unset. Returned when a method marked#[optional]is called on a plugin that chose not to implement it. Not returned for out-of-range method indices; seeInvalidMethodIndex.InvalidMethodIndexUnknownStatusWireModeMismatch- A method was dispatched through the wrong wire path — a#[wire(raw)]method called via the typed path, or vice versa. Backend-agnostic: the Python and (future) WASM executors both enforce the raw/typed split.Backend- A runtime-level fault originating inside an execution backend that is not a plugin-raised [PluginError] — e.g. a future WASM trap (unreachable, out-of-bounds) or an interpreter-level failure. Carries the backend's runtime name and a message. Plugin-raised errors (Python exceptions included) stay in [CallError::Plugin] so their structuredcode/message/details(including tracebacks) round-trip.MalformedFrame- A streaming backend produced bytes that did not decode as a valid [fidius_core::frame::Frame] (bad tag, truncated, malformed payload). Distinct from [CallError::Deserialization], which is about an item's contents; this is about the framing around items. (FIDIUS-I-0026.)StreamAborted- A stream ended without a terminalEND/ERRORframe — the producer went away mid-stream (e.g. a dropped backend task, a crashed interpreter, a closed channel). (FIDIUS-I-0026.)