Skip to main content

Request

Struct Request 

Source
pub struct Request<'buf> { /* private fields */ }
Available on crate feature net-shaper only.

Implementations§

Source§

impl Request<'static>

Source

pub fn new() -> Self

Source

pub fn new_from_buf(buf: Vec<u8>) -> Self

Source

pub fn into_buf(self) -> Vec<u8>

Source§

impl<'buf> Request<'buf>

Source

pub fn new_with_buf(buf: &'buf mut Vec<u8>) -> Self

Source

pub fn new_extend(buf: &'buf mut Vec<u8>) -> Self

Source

pub fn buf(&self) -> &Vec<u8>

Source

pub fn buf_mut(&mut self) -> &mut Vec<u8>

Source

pub fn set_create(self) -> Self

Set NLM_F_CREATE flag

Source

pub fn set_excl(self) -> Self

Set NLM_F_EXCL flag

Source

pub fn set_replace(self) -> Self

Set NLM_F_REPLACE flag

Source

pub fn set_change(self) -> Self

Set NLM_F_CREATE and NLM_F_REPLACE flag

Source

pub fn set_append(self) -> Self

Set NLM_F_APPEND flag

Source

pub fn set_flags(self, flags: u16) -> Self

Set self.flags |= flags

Source

pub fn unset_flags(self, flags: u16) -> Self

Set self.flags ^= self.flags & flags

Source

pub fn op_get_dump(self) -> OpGetDump<'buf>

Get information about a shaper for a given device.

Request attributes:

Reply attributes:

Source

pub fn op_get_do(self) -> OpGetDo<'buf>

Get information about a shaper for a given device.

Request attributes:

Reply attributes:

Source

pub fn op_set_do(self) -> OpSetDo<'buf>

Create or update the specified shaper. The set operation can't be used to create a @node scope shaper, use the @group operation instead.

Flags: admin-perm

Request attributes:

Source

pub fn op_delete_do(self) -> OpDeleteDo<'buf>

Clear (remove) the specified shaper. When deleting a @node shaper, reattach all the node's leaves to the deleted node's parent. If, after the removal, the parent shaper has no more leaves and the parent shaper scope is @node, the parent node is deleted, recursively. When deleting a @queue shaper or a @netdev shaper, the shaper disappears from the hierarchy, but the queue/device can still send traffic: it has an implicit node with infinite bandwidth. The queue's implicit node feeds an implicit RR node at the root of the hierarchy.

Flags: admin-perm

Request attributes:

Source

pub fn op_group_do(self) -> OpGroupDo<'buf>

Create or update a scheduling group, attaching the specified @leaves shapers under the specified node identified by @handle. The @leaves shapers scope must be @queue and the node shaper scope must be either @node or @netdev. When the node shaper has @node scope, if the @handle @id is not specified, a new shaper of such scope is created, otherwise the specified node must already exist. When updating an existing node shaper, the specified @leaves are added to the existing node; such node will also retain any preexisting leave. The @parent handle for a new node shaper defaults to the parent of all the leaves, provided all the leaves share the same parent. Otherwise @parent handle must be specified. The user can optionally provide shaping attributes for the node shaper. The operation is atomic, on failure no change is applied to the device shaping configuration, otherwise the @node shaper full identifier, comprising @binding and @handle, is provided as the reply.

Flags: admin-perm

Request attributes:

Reply attributes:

Source

pub fn op_cap_get_dump(self) -> OpCapGetDump<'buf>

Source

pub fn op_cap_get_do(self) -> OpCapGetDo<'buf>

Trait Implementations§

Source§

impl<'buf> Debug for Request<'buf>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'buf> !UnwindSafe for Request<'buf>

§

impl<'buf> Freeze for Request<'buf>

§

impl<'buf> RefUnwindSafe for Request<'buf>

§

impl<'buf> Send for Request<'buf>

§

impl<'buf> Sync for Request<'buf>

§

impl<'buf> Unpin for Request<'buf>

§

impl<'buf> UnsafeUnpin for Request<'buf>

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> 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, 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.