Skip to main content

Crate rustfs_io_core

Crate rustfs_io_core 

Source
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 BytesPool for 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.