use super::RuntimeConstructionError;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct MemoryManagerConfig {
bucket_size_pages: u16,
}
impl Default for MemoryManagerConfig {
fn default() -> Self {
Self {
bucket_size_pages: 128,
}
}
}
impl MemoryManagerConfig {
pub(super) const fn from_validated(bucket_size_pages: u16) -> Self {
Self { bucket_size_pages }
}
pub const fn new(bucket_size_pages: u16) -> Result<Self, RuntimeConstructionError> {
if bucket_size_pages == 0 {
return Err(RuntimeConstructionError::InvalidBucketSize);
}
Ok(Self { bucket_size_pages })
}
#[must_use]
pub const fn bucket_size_pages(self) -> u16 {
self.bucket_size_pages
}
}