Expand description
Asset management for devboy-tools.
This crate provides a local, on-disk cache for files downloaded from providers (issue attachments, MR uploads, messenger files, …) together with an index of metadata, LRU rotation, and an integrity check.
The public surface is centered on AssetManager, which wraps a
CacheManager and an on-disk AssetIndex.
See docs/architecture/adr/ADR-010-asset-management.md for the full design.
Re-exports§
pub use cache::CacheManager;pub use cache::StoredFile;pub use config::AssetConfig;pub use config::EvictionPolicy;pub use config::ResolvedAssetConfig;pub use error::AssetError;pub use error::Result;pub use index::AssetIndex;pub use index::CachedAsset;pub use index::NewCachedAsset;pub use manager::AssetManager;pub use manager::ResolvedAsset;pub use manager::StoreRequest;pub use rotation::RotationStats;pub use rotation::Rotator;
Modules§
- cache
- Filesystem-level cache manager.
- config
- Configuration for the asset cache subsystem.
- error
- Error type for the asset management crate.
- index
- On-disk index of cached assets (
index.json). - manager
- High-level orchestrator combining the cache, index, and rotator.
- rotation
- LRU rotation / eviction policy for the asset cache.