use std::num::NonZeroU16;
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct MemoryManagerConfig {
bucket_size_pages: NonZeroU16,
}
impl Default for MemoryManagerConfig {
fn default() -> Self {
Self {
bucket_size_pages: NonZeroU16::new(128).unwrap(),
}
}
}
impl MemoryManagerConfig {
pub(super) const fn from_validated(bucket_size_pages: u16) -> Self {
Self {
bucket_size_pages: NonZeroU16::new(bucket_size_pages)
.expect("validated nonzero bucket size"),
}
}
#[must_use]
pub const fn new(bucket_size_pages: NonZeroU16) -> Self {
Self { bucket_size_pages }
}
#[must_use]
pub const fn bucket_size_pages(self) -> u16 {
self.bucket_size_pages.get()
}
}