Skip to main content

Crate memlink_runtime

Crate memlink_runtime 

Source
Expand description

Memlink runtime - dynamic module loading and execution.

Re-exports§

pub use abi::AbiInfo;
pub use abi::AbiVersionError;
pub use arena::Arena;
pub use backpressure::BackpressureState;
pub use backpressure::ModuleQuota;
pub use backpressure::ModuleResources;
pub use backpressure::ResourceManager;
pub use backpressure::ResourceManagerStats;
pub use backpressure::BP_CRITICAL_THRESHOLD;
pub use backpressure::BP_HIGH_THRESHOLD;
pub use backpressure::BP_LOW_THRESHOLD;
pub use backpressure::BP_MEDIUM_THRESHOLD;
pub use batch::BatchConfig;
pub use batch::BatchStats;
pub use batch::RequestBatch;
pub use batch::RequestBatcher;
pub use batch::BatchedRequest;
pub use cache::CacheConfig;
pub use cache::CacheStats;
pub use cache::RequestCache;
pub use circuit::CircuitBreaker;
pub use circuit::CircuitConfig;
pub use circuit::CircuitRegistry;
pub use circuit::CircuitState;
pub use circuit::CircuitStats;
pub use deps::CallContext;
pub use deps::DependencyGraph;
pub use deps::DependencyNode;
pub use deps::ModuleDependency;
pub use discovery::DiscoveryConfig;
pub use discovery::DiscoveredModule;
pub use discovery::ModuleDiscovery;
pub use discovery::ModuleFile;
pub use discovery::ModuleStatus;
pub use error::Error;
pub use error::Result;
pub use events::CallMiddleware;
pub use events::EventListener;
pub use events::EventRegistry;
pub use events::MiddlewareChain;
pub use events::ModuleEvent;
pub use exports::ExportCategory;
pub use exports::OPTIONAL_EXPORTS;
pub use exports::REQUIRED_EXPORTS;
pub use ffi::ModuleLoader;
pub use ffi::ModuleSymbols;
pub use health::HealthConfig;
pub use health::HealthRegistry;
pub use health::HealthStats;
pub use health::HealthStatus;
pub use health::HealthSummary;
pub use health::HealthTracker;
pub use instance::ModuleInstance;
pub use instance::ModuleProfile as InstanceProfile;
pub use mhash::fnv1a_hash;
pub use metrics::Counter;
pub use metrics::Histogram;
pub use metrics::RuntimeMetrics;
pub use panic::safe_call;
pub use panic::safe_call_unchecked;
pub use panic::PanicError;
pub use pool::InstanceStats;
pub use pool::LoadBalanceStrategy;
pub use pool::ModulePool;
pub use pool::PoolConfig;
pub use pool::PoolStats;
pub use pool::PooledInstance;
pub use profile::ModuleProfile;
pub use reload::ReloadConfig;
pub use reload::ReloadState;
pub use resolver::ArtifactHandle;
pub use resolver::ModuleRef;
pub use resolver::ModuleResolver;
pub use resource::AggregateClientStats;
pub use resource::ClientId;
pub use resource::ClientQuota;
pub use resource::ClientRegistry;
pub use resource::ClientResources;
pub use resource::ClientStats;
pub use runtime::ModuleHandle;
pub use runtime::ModuleRuntime;
pub use runtime::ModuleUsage;
pub use runtime::Runtime;
pub use sandbox::Permission;
pub use sandbox::Permissions;
pub use sandbox::ResourceTracker;
pub use sandbox::ResourceUsage;
pub use sandbox::SandboxConfig;
pub use safety::MemoryTracker;
pub use safety::SafetyConfig;
pub use safety::StackDepth;
pub use validation::validate_module;
pub use validation::CachedValidation;
pub use validation::ValidationCache;
pub use validation::ValidationResult;
pub use version::ModuleVersion;
pub use version::TrafficRouting;
pub use version::VersionManager;
pub use version::VersionRegistry;
pub use version::VersionedModule;

Modules§

abi
Module ABI version checking and compatibility validation.
arena
Arena allocator for module memory management.
backpressure
Global backpressure management for the runtime.
batch
Request batching for improved throughput.
cache
Request/response caching for modules.
circuit
Circuit breaker pattern for fault tolerance.
deps
Module dependency tracking and composition.
discovery
Module discovery and auto-loading.
error
Error types for the memlink runtime.
events
Module events and lifecycle hooks.
exports
Required and optional module exports definition.
ffi
FFI module for dynamic library loading.
health
Module health checking and probes.
instance
Module instance - a loaded and callable module.
metrics
Runtime metrics collection with Prometheus-compatible output.
mhash
Method hashing for FFI-efficient dispatch.
panic
Panic isolation for safe FFI calls.
pool
Module instance pooling and load balancing.
prelude
profile
Module profile - configuration and metadata for loaded modules.
reload
Hot-reload support for module reloading.
resolver
Module resolution - locating and validating module artifacts.
resource
Per-client resource tracking for the runtime.
runtime
High-level module runtime API.
safety
Safety hardening features for the runtime.
sandbox
Module sandboxing and resource isolation.
validation
Module validation.
version
Module versioning and side-by-side execution.