Enum polling::epoll::Notifier

source ·
enum Notifier {
    EventFd(OwnedFd),
    Pipe {
        read_pipe: OwnedFd,
        write_pipe: OwnedFd,
    },
}
Expand description

The notifier for Linux.

Certain container runtimes do not expose eventfd to the client, as it relies on the host and can be used to “escape” the container under certain conditions. Gramine is the prime example, see here. In this case, fall back to using a pipe.

Variants§

§

EventFd(OwnedFd)

The primary notifier, using eventfd.

§

Pipe

The fallback notifier, using a pipe.

Fields

§read_pipe: OwnedFd

The read end of the pipe.

§write_pipe: OwnedFd

The write end of the pipe.

Implementations§

source§

impl Notifier

source

fn new() -> Result<Self>

Create a new notifier.

source

fn as_fd(&self) -> BorrowedFd<'_>

The file descriptor to register in the poller.

source

fn notify(&self)

Notify the poller.

source

fn clear(&self)

Clear the notification.

Trait Implementations§

source§

impl Debug for Notifier

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> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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>,

§

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

§

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

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more