Skip to main content

Crate fidius_core

Crate fidius_core 

Source

Re-exports§

pub use inventory;

Modules§

descriptor
FFI descriptor and registry types for the Fidius plugin framework.
error
Error types for the Fidius plugin framework.
frame
Streaming frame format for the server-streaming plugin boundary (FIDIUS-I-0026, design decision D2).
hash
FNV-1a interface hashing for compile-time ABI drift detection.
package
Source package manifest types and parsing.
python_descriptor
Compile-time descriptor of a fidius interface used by the Python loader.
registry
Plugin registry assembly for multi-plugin dylibs.
sockets
Capability-gated outbound TCP for sandboxed WASM connectors (FIDIUS-I-0033). Portable (backed by std::netwasi:sockets), so present in host builds too. Capability-gated outbound TCP for sandboxed WASM connectors (FIDIUS-I-0033) — the raw-wire counterpart of [http], for DB/warehouse drivers. Backed by std::net::TcpStream (which is wasi:sockets on wasm32-wasip2), so it is portable: present on the host too (a normal socket), no cfg(wasm) gate. fidius::sockets — capability-gated outbound TCP for sandboxed WASM connectors (FIDIUS-I-0033).
status
FFI status codes returned by plugin method shims.
stream_ffi
cdylib server-streaming FFI handle (FIDIUS-I-0026 Phase 3 / CS.1, T-0138).
stream_marker
The fidius::Stream<T> server-streaming return marker (FIDIUS-I-0026, D4).
value
Value — a neutral, self-describing value tree for the plugin boundary.
wasm_descriptor
Compile-time descriptor of a fidius interface used by the WASM loader.
wire
Wire format serialization for Fidius plugin FFI boundary.

Macros§

fidius_plugin_registry
Emit the fidius_get_registry export function.

Structs§

DescriptorPtr
A Sync wrapper for a raw pointer to a PluginDescriptor.
MetaKv
Static key/value pair for method-level or trait-level metadata.
MethodMetaEntry
Per-method metadata entry. One entry per method in declaration order, stored in the array referenced by PluginDescriptor::method_metadata.
PluginDescriptor
Metadata descriptor for a single plugin within a dylib.
PluginError
Error returned by plugin method implementations to signal business logic failures.
PluginRegistry
Top-level registry exported by every Fidius plugin dylib.
Stream
Marker type a plugin interface uses to declare a server-streaming method:
ValueError
Error produced while converting to or from Value.

Enums§

BufferStrategyKind
Buffer management strategy for an interface.
Value
A self-describing value crossing the plugin-call boundary.

Constants§

ABI_VERSION
Current version of the PluginDescriptor struct layout. Derived from the fidius-core crate version per ADR-0002.
FIDIUS_MAGIC
Magic bytes identifying a Fidius plugin registry.
REGISTRY_VERSION
Current version of the PluginRegistry struct layout.
STATUS_BUFFER_TOO_SMALL
Output buffer was too small (CallerAllocated/Arena strategies only). The out_len parameter contains the required size. Retry with a larger buffer.
STATUS_OK
Method executed successfully. Output buffer contains the serialized result.
STATUS_PANIC
A panic was caught at the extern "C" boundary via catch_unwind. The output buffer may contain a panic message string, but this is not guaranteed.
STATUS_PLUGIN_ERROR
The plugin method returned an error. The output buffer contains a serialized PluginError with details.
STATUS_SERIALIZATION_ERROR
Serialization or deserialization failed at the FFI boundary. This indicates a bug in the generated shims or a type mismatch.
STATUS_STREAM_END
Clean end of a server-stream: the streaming next() shim has no more items (FIDIUS-I-0026 / FIDIUS-T-0138). Distinct from STATUS_OK with out_len == 0, which is a real zero-byte item (e.g. a unit () item).

Functions§

from_value
Convert a Value into any Deserialize type.
to_value
Convert any Serialize type into a Value.