Skip to main content

BpfRingBufferConsumer

Struct BpfRingBufferConsumer 

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

Le consommateur d’un tampon circulaire BPF, projeté en mémoire.

Implementations§

Source§

impl BpfRingBufferConsumer

Source

pub fn new( map: BorrowedFd<'_>, data_size: usize, page_size: usize, ) -> Result<Self, Errno>

Projette le tampon map, de data_size octets de données, sur une machine dont la page fait page_size octets.

§Errors

EINVAL si page_size n’est pas une puissance de deux d’au moins 4 Kio, ou si data_size n’est pas une puissance de deux multiple de la page — ce que le noyau exige d’un tampon circulaire ; l’erreur de mmap(2) sinon (map n’est pas un tampon circulaire, taille fausse…).

Source

pub fn consume(&mut self, handler: impl FnMut(&[u8])) -> usize

Vide le tampon : rend chaque enregistrement publié à handler, dans l’ordre, puis avance la position consommée. S’arrête sur un enregistrement encore en cours d’écriture. Rend le nombre d’enregistrements rendus (les jetés ne comptent pas).

Trait Implementations§

Source§

impl Debug for BpfRingBufferConsumer

Source§

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

Formats the value using the given formatter. Read more

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.