Skip to main content

ProvidedBufRing

Struct ProvidedBufRing 

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

A registered provided-buffer ring (the destination pool for multishot recv). Owns the buf-ring mapping and the backing slab; the kernel fills a buffer per arrival, the app recycles it.

Implementations§

Source§

impl ProvidedBufRing

Source

pub fn group(&self) -> u16

The buffer group id this ring serves (pass to prep_recv_multishot).

Source

pub fn bytes(&self, bid: u16, n: usize) -> &[u8]

The n valid bytes the kernel placed in buffer bid (n = completion res).

Source

pub fn recycle(&mut self, bid: u16)

Return buffer bid to the ring so the kernel can reuse it. Call once the bytes from its completion have been copied out.

Trait Implementations§

Source§

impl Drop for ProvidedBufRing

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more
Source§

impl Send for ProvidedBufRing

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