Struct calloop::Poll

source ·
pub struct Poll { /* private fields */ }
Expand description

The polling system

This type represents the polling system of calloop, on which you can register your file descriptors. This interface is only accessible in implementations of the EventSource trait.

You only need to interact with this type if you are implementing your own event sources, while implementing the EventSource trait. And even in this case, you can often just use the Generic event source and delegate the implementations to it.

Implementations§

source§

impl Poll

source

pub unsafe fn register( &self, fd: impl AsFd, interest: Interest, mode: Mode, token: Token ) -> Result<()>

Register a new file descriptor for polling

The file descriptor will be registered with given interest, mode and token. This function will fail if given a bad file descriptor or if the provided file descriptor is already registered.

§Safety

The registered source must not be dropped before it is unregistered.

§Leaking tokens

If your event source is dropped without being unregistered, the token passed in here will remain on the heap and continue to be used by the polling system even though no event source will match it.

source

pub fn reregister( &self, fd: impl AsFd, interest: Interest, mode: Mode, token: Token ) -> Result<()>

Update the registration for a file descriptor

This allows you to change the interest, mode or token of a file descriptor. Fails if the provided fd is not currently registered.

See note on register() regarding leaking.

source

pub fn unregister(&self, fd: impl AsFd) -> Result<()>

Unregister a file descriptor

This file descriptor will no longer generate events. Fails if the provided file descriptor is not currently registered.

Trait Implementations§

source§

impl Debug for Poll

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !Freeze for Poll

§

impl !RefUnwindSafe for Poll

§

impl !Send for Poll

§

impl !Sync for Poll

§

impl Unpin for Poll

§

impl !UnwindSafe for Poll

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.

§

impl<T> Instrument for T

§

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

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

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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