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