Skip to main content

Module plugin

Module plugin 

Source
Expand description

Plugin system for Crush compression library

This module provides the plugin infrastructure for extending Crush with custom compression algorithms. Plugins are registered at compile-time using the linkme crate for zero runtime overhead.

Re-exports§

pub use contract::CompressionAlgorithm;
pub use metadata::CrushHeader;
pub use metadata::FileMetadata;
pub use metadata::PluginMetadata;
pub use registry::init_plugins;
pub use registry::list_plugins;
pub use selector::calculate_plugin_score;
pub use selector::PluginSelector;
pub use selector::ScoringWeights;
pub use timeout::run_with_timeout;
pub use timeout::run_with_timeout_and_cancel;
pub use timeout::TimeoutGuard;

Modules§

contract
Plugin contract trait definition
default
Default DEFLATE compression plugin
metadata
Plugin metadata and file format structures
registry
Plugin registry for runtime plugin management
selector
Plugin selection and scoring logic
timeout
Timeout protection for plugin operations

Statics§

COMPRESSION_ALGORITHMS
Global registry of all compile-time registered compression plugins