Skip to main content

Crate drasi_host_sdk

Crate drasi_host_sdk 

Source
Expand description

Host-side SDK for loading and interacting with Drasi cdylib plugins.

This crate provides:

Re-exports§

pub use callbacks::CallbackContext;
pub use callbacks::CapturedLifecycle;
pub use callbacks::CapturedLog;
pub use callbacks::InstanceCallbackContext;
pub use identity_bridge::IdentityProviderVtableBuilder;
pub use loader::is_plugin_binary;
pub use loader::plugin_kind_from_filename;
pub use loader::scan_plugin_metadata;
pub use loader::LoadedPlugin;
pub use loader::PluginLoader;
pub use loader::PluginLoaderConfig;
pub use loader::PluginMetadataSummary;
pub use loader::DEFAULT_PLUGIN_FILE_PATTERNS;
pub use loader::PLUGIN_BINARY_EXTENSIONS;
pub use proxies::bootstrap_provider::BootstrapPluginProxy;
pub use proxies::bootstrap_provider::BootstrapProviderProxy;
pub use proxies::reaction::ReactionPluginProxy;
pub use proxies::reaction::ReactionProxy;
pub use proxies::source::SourcePluginProxy;
pub use proxies::source::SourceProxy;
pub use state_store_bridge::StateStoreVtableBuilder;
pub use plugin_types::PluginCategory;
pub use plugin_types::PluginEvent;
pub use plugin_types::PluginFileEvent;
pub use plugin_types::PluginKindEntry;
pub use plugin_types::PluginStatus;
pub use lockfile::compute_file_hash;
pub use lockfile::FileIntegrityStatus;
pub use lockfile::LockedPlugin;
pub use lockfile::PluginLockfile;
pub use lockfile::PluginSignatureInfo;
pub use plugin_registry::PluginKindInfo;
pub use plugin_registry::PluginRegistry;
pub use plugin_registry::RegisteredDescriptor;
pub use lifecycle::LoadedPluginState;
pub use lifecycle::PluginLifecycleManager;
pub use watcher::PluginWatcher;
pub use watcher::PluginWatcherConfig;

Modules§

callbacks
Log and lifecycle callback wiring for host-side plugin management.
identity_bridge
Bridge from host-side IdentityProvider to FFI IdentityProviderVtable.
lifecycle
Plugin lifecycle management — reusable runtime lifecycle for all Drasi hosts.
loader
Plugin loader — discovers, validates, and loads cdylib plugins.
lockfile
Plugin lockfile management.
plugin_registry
Plugin registry for managing dynamically-registered plugin descriptors.
plugin_types
Shared plugin management types used by the host-sdk lifecycle layer and consumed by host applications like drasi-server.
proxies
Host-side proxy types that wrap FFI vtables into DrasiLib traits.
state_store_bridge
Bridge from host-side StateStoreProvider to FFI StateStoreVtable.
watcher
Policy-neutral plugin filesystem watcher.