Struct FreezerController

Source
pub struct FreezerController { /* private fields */ }
Expand description

A controller that allows controlling the freezer subsystem of a Cgroup.

In essence, this subsystem allows the user to freeze and thaw (== “un-freeze”) the processes in the control group. This is done transparently so that neither the parent, nor the children of the processes can observe the freeze.

Note that if the control group is currently in the Frozen or Freezing state, then no processes can be added to it.

Implementations§

Source§

impl FreezerController

Source

pub fn new(root: PathBuf, v2: bool) -> Self

Contructs a new FreezerController with root serving as the root of the control group.

Source

pub fn freeze(&self) -> Result<()>

Freezes the processes in the control group.

Source

pub fn thaw(&self) -> Result<()>

Thaws, that is, unfreezes the processes in the control group.

Source

pub fn state(&self) -> Result<FreezerState>

Retrieve the state of processes in the control group.

Trait Implementations§

Source§

impl Clone for FreezerController

Source§

fn clone(&self) -> FreezerController

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FreezerController

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> From<&'a Subsystem> for &'a FreezerController

Source§

fn from(sub: &'a Subsystem) -> &'a FreezerController

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Controller for T
where T: ControllerInternal,

Source§

fn apply(&self, res: &Resources) -> Result<(), Error>

Apply a set of resources to the Controller, invoking its internal functions to pass the kernel the information.

Source§

fn create(&self)

Create this controller

Source§

fn set_notify_on_release(&self, enable: bool) -> Result<(), Error>

Set notify_on_release

Source§

fn set_release_agent(&self, path: &str) -> Result<(), Error>

Set release_agent

Source§

fn exists(&self) -> bool

Does this controller already exist?

Source§

fn delete(&self) -> Result<(), Error>

Delete the controller.

Source§

fn add_task(&self, pid: &CgroupPid) -> Result<(), Error>

Attach a task to this controller.

Source§

fn add_task_by_tgid(&self, pid: &CgroupPid) -> Result<(), Error>

Attach a task to this controller by thread group id.

Source§

fn procs(&self) -> Vec<CgroupPid>

Get the list of procs that this controller has.

Source§

fn tasks(&self) -> Vec<CgroupPid>

Get the list of tasks that this controller has.

Source§

fn set_cgroup_type(&self, cgroup_type: &str) -> Result<(), Error>

set cgroup.type

Source§

fn get_cgroup_type(&self) -> Result<String, Error>

get cgroup.type

Source§

fn control_type(&self) -> Controllers

Source§

fn path(&self) -> &Path

The file system path to the controller.
Source§

fn v2(&self) -> bool

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.