#[derive(Debug, Clone, PartialEq, Eq)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
pub enum BelowRootCgroupConfiguration
{
Domain(DomainCgroupConfiguration),
Threaded(ThreadedCgroupConfiguration),
}
impl ChildCgroupConfiguration for BelowRootCgroupConfiguration
{
#[inline(always)]
fn configure<C: Cgroup>(&self, mount_point: &CgroupMountPoint, parent: &Rc<C>, name: &CgroupName, defaults: &DefaultHugePageSizes) -> io::Result<()>
{
use self::BelowRootCgroupConfiguration::*;
match self
{
&Domain(ref domain_cgroup_configuration) => domain_cgroup_configuration.configure(mount_point, parent, name, defaults),
&Threaded(ref threaded_cgroup_configuration) => threaded_cgroup_configuration.configure(mount_point, parent, name, defaults),
}
}
#[inline(always)]
fn desired_controllers_and_our_depth(&self) -> (&Controllers, usize)
{
use self::BelowRootCgroupConfiguration::*;
match self
{
&Domain(ref domain_cgroup_configuration) => domain_cgroup_configuration.desired_controllers_and_our_depth(),
&Threaded(ref threaded_cgroup_configuration) => threaded_cgroup_configuration.desired_controllers_and_our_depth(),
}
}
}