#[derive(Default, Debug, Clone, PartialEq, Eq)]
#[derive(Deserialize, Serialize)]
#[serde(default, deny_unknown_fields)]
pub struct AllControllersConfiguration
{
#[serde(flatten)] pub threaded: ThreadedControllersConfiguration,
#[serde(flatten)] pub domain: DomainControllersConfiguration,
}
impl ControllersConfiguration for AllControllersConfiguration
{
fn configure(&self, mount_point: &CgroupMountPoint, cgroup: &Rc<NonRootCgroup>, available_controllers: &Controllers, defaults: &DefaultHugePageSizes) -> io::Result<()>
{
self.threaded.configure(mount_point, cgroup, available_controllers, defaults)?;
self.domain.configure(mount_point, cgroup, available_controllers, defaults)
}
fn to_desired_controllers(&self) -> Controllers
{
let mut controllers = self.threaded.to_desired_controllers();
self.domain.add_to_desired_controllers(&mut controllers);
controllers
}
}