#[derive(Default, Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields, default)]
pub struct MemoryControllerConfiguration
{
pub minimum: u64,
pub low: u64,
pub high: MaximumNumber<u64>,
pub maximum: MaximumNumber<u64>,
}
impl ControllerConfiguration for MemoryControllerConfiguration
{
const Controller: Controller = Controller::memory;
#[inline(always)]
fn configure(&self, mount_point: &CgroupMountPoint, cgroup: &Rc<NonRootCgroup>, _defaults: &DefaultHugePageSizes) -> io::Result<()>
{
cgroup.write_memory_minimum(mount_point, self.minimum)?;
cgroup.write_memory_low(mount_point, self.low)?;
cgroup.write_memory_high(mount_point, self.high)?;
cgroup.write_memory_maximum(mount_point, self.maximum)?;
Ok(())
}
}