Expand description
Shared I/O primitives for RustFS.
This crate holds the buffer pool and the concurrency-control primitives that the storage layer builds on:
- Tiered
BytesPoolfor buffer management - Storage-media and access-pattern profiling (
io_profile) - Scheduler and priority-queue configuration shapes
- Backpressure admission, deadlock detection, lock optimization
- Progress tracking for long-running operations
§Example
ⓘ
use rustfs_io_core::BytesPool;
let pool = BytesPool::new_tiered();
let mut buffer = pool.acquire_buffer(8192).await;Re-exports§
pub use pool::BytesPool;pub use pool::BytesPoolConfig;pub use pool::BytesPoolMetrics;pub use pool::PooledBuffer;pub use config::ConfigError;pub use config::IoPriorityQueueConfig;pub use config::IoSchedulerConfig;pub use backpressure::BackpressureConfig;pub use backpressure::BackpressureError;pub use backpressure::BackpressureMonitor;pub use backpressure::BackpressureState;pub use deadlock_detector::DeadlockDetector;pub use deadlock_detector::DeadlockDetectorConfig;pub use deadlock_detector::LockInfo;pub use deadlock_detector::LockType;pub use deadlock_detector::WaitGraphEdge;pub use lock_optimizer::LockGuard;pub use lock_optimizer::LockOptimizeConfig;pub use lock_optimizer::LockOptimizer;pub use lock_optimizer::LockStats;pub use progress::OperationProgress;
Modules§
- backpressure
- Backpressure management for I/O operations.
- config
- I/O scheduler configuration types.
- deadlock_
detector - Deadlock detection for concurrent operations.
- io_
profile - I/O profile helpers for adaptive scheduling.
- lock_
optimizer - Lock optimization utilities.
- pool
- Tiered buffer pool for zero-copy buffer management.
- progress
- Progress tracking for long-running I/O operations.