Struct RxRing

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

Ring from which we can dequeue packets that have been filled by the kernel

Implementations§

Source§

impl RxRing

Source

pub unsafe fn recv(&mut self, umem: &Umem, packets: &mut HeapSlab) -> usize

Pops packets that have finished receiving

The number of packets returned will be the minimum of the number of packets actually available in the ring, and the remaining capacity in the slab

§Returns

The number of actual packets that were pushed to the slab

§Safety

The packets returned in the slab must not outlive the Umem

Auto Trait Implementations§

§

impl Freeze for RxRing

§

impl RefUnwindSafe for RxRing

§

impl Send for RxRing

§

impl Sync for RxRing

§

impl Unpin for RxRing

§

impl !UnwindSafe for RxRing

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.