pub struct BufferManagerConfig {
pub budget: usize,
pub soft_limit_fraction: f64,
pub evict_limit_fraction: f64,
pub hard_limit_fraction: f64,
pub background_eviction: bool,
pub spill_path: Option<PathBuf>,
}Expand description
Configuration for the buffer manager.
Fields§
§budget: usizeTotal memory budget in bytes.
soft_limit_fraction: f64Soft limit threshold (default: 70%).
evict_limit_fraction: f64Eviction threshold (default: 85%).
hard_limit_fraction: f64Hard limit threshold (default: 95%).
background_eviction: boolEnable background eviction thread.
spill_path: Option<PathBuf>Directory for spilling data to disk.
Implementations§
Source§impl BufferManagerConfig
impl BufferManagerConfig
Sourcepub fn detect_system_memory() -> usize
pub fn detect_system_memory() -> usize
Detects system memory size.
Returns a conservative estimate if detection fails.
Sourcepub fn with_budget(budget: usize) -> Self
pub fn with_budget(budget: usize) -> Self
Creates a config with the given budget.
Trait Implementations§
Source§impl Clone for BufferManagerConfig
impl Clone for BufferManagerConfig
Source§fn clone(&self) -> BufferManagerConfig
fn clone(&self) -> BufferManagerConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BufferManagerConfig
impl Debug for BufferManagerConfig
Auto Trait Implementations§
impl Freeze for BufferManagerConfig
impl RefUnwindSafe for BufferManagerConfig
impl Send for BufferManagerConfig
impl Sync for BufferManagerConfig
impl Unpin for BufferManagerConfig
impl UnwindSafe for BufferManagerConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more