Skip to main content

Crate loadable_node_abi

Crate loadable_node_abi 

Source
Expand description

ABI-stable plugin interface.

Both the host and the plugin depend on this crate. Everything that crosses the dlopen boundary is defined here and uses abi_stable types (RVec, RString, RResult, RBox, sabi-trait objects).

RuntimeData itself is not in this surface — instead it is serialized to msgpack bytes (RVec<u8> via rmp-serde::to_vec_named) at the boundary. That keeps remotemedia-core out of the FFI contract entirely, so a plugin built against a different rustc / feature set can still load.

For the full contract — wire format, versioning policy, plugin author rules, change history — see docs/LOADABLE_NODE_ABI.md.

Modules§

FfiNodeFactory_trait
This module is generated by the #[sabi_trait] attribute on FfiNodeFactory
FfiNode_trait
This module is generated by the #[sabi_trait] attribute on FfiNode

Structs§

FfiNodeFactory_TO
The trait object for FfiNodeFactory.
FfiNode_TO
The trait object for FfiNode.
NodePlugin
Root module exported by every plugin.
NodePluginRef
This is the pointer to the prefix of NodePlugin.
NodePlugin_Prefix
This is the prefix fields of NodePlugin, accessible through NodePluginRef, with .0.prefix().

Traits§

FfiNode
FFI-safe node.
FfiNodeFactory
FFI-safe factory — produces FfiNode instances from a JSON params blob.

Type Aliases§

FfiNodeBox
Owned trait object for an FFI node.
FfiNodeFactoryBox
Owned trait object for an FFI factory.
FfiNodeFactory_CTO
A type alias for the const-constructible FfiNodeFactory_TO.
FfiNode_CTO
A type alias for the const-constructible FfiNode_TO.