#[derive(Debug, Clone, PartialEq, Eq)]
pub struct MappedMemorySettings
{
page_size_or_huge_page_size_settings: PageSizeOrHugePageSizeSettings,
configuration: MappedMemoryConfiguration,
}
impl MappedMemorySettings
{
#[inline(always)]
pub fn new(configuration: MappedMemoryConfiguration, defaults: &DefaultHugePageSizes) -> Self
{
Self
{
page_size_or_huge_page_size_settings: PageSizeOrHugePageSizeSettings::from(configuration.page_size_preference, defaults),
configuration,
}
}
#[inline(always)]
pub fn anonymous_memory_map(&self, length: NonZeroU64) -> Result<MappedMemory, MemoryMapError>
{
self.configuration.anonymous_memory_map(length, &self.page_size_or_huge_page_size_settings)
}
#[inline(always)]
pub fn from_file_memory_map<F: MemoryMappableFileDescriptor>(&self, file_descriptor: &F, offset: u64, length: NonZeroU64) -> Result<MappedMemory, MemoryMapError>
{
self.configuration.from_file_memory_map(file_descriptor, offset, length, &self.page_size_or_huge_page_size_settings)
}
}