# Struct rustix::io::epoll::Epoll

source · [−]

    pub struct Epoll<Context: Context> { /* private fields */ }

Expand description

An “epoll”, an interface to an OS object allowing one to repeatedly wait for events from a set of file descriptors efficiently.

## Implementations

source

### impl<Context: Context> Epoll<Context>

source

#### pub fn new(flags: CreateFlags, context: Context) -> Result<Self>

`epoll_create1(flags)`—Creates a new `Epoll`.

Use the `CreateFlags::CLOEXEC` flag to prevent the resulting file descriptor from being implicitly passed across `exec` boundaries.

source

#### pub fn add(
&self,
data: Context::Data,
event_flags: EventFlags
) -> Result<Ref<'_, Context::Target>>

`epoll_ctl(self, EPOLL_CTL_ADD, data, event)`—Adds an element to an `Epoll`.

This registers interest in any of the events set in `events` occurring on the file descriptor associated with `data`.

source

#### pub fn mod_(
&self,
target: Ref<'_, Context::Target>,
event_flags: EventFlags
) -> Result<()>

`epoll_ctl(self, EPOLL_CTL_MOD, target, event)`—Modifies an element in this `Epoll`.

This sets the events of interest with `target` to `events`.

source

#### pub fn del(&self, target: Ref<'_, Context::Target>) -> Result<Context::Data>

`epoll_ctl(self, EPOLL_CTL_DEL, target, NULL)`—Removes an element in this `Epoll`.

This also returns the owning `Data`.

source

#### pub fn wait<'context>(
&'context self,
event_list: &mut EventVec<'context, Context>,
timeout: c_int
) -> Result<()>

`epoll_wait(self, events, timeout)`—Waits for registered events of interest.

For each event of interest, an element is written to `events`. On success, this returns the number of written elements.

## Trait Implementations

source

### impl<'context, T: AsFd + Into<OwnedFd> + From<OwnedFd>> AsFd for Epoll<Owning<'context, T>>

source

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

Borrows the file descriptor. Read more

source

### impl<'context, T: AsFd + Into<OwnedFd> + From<OwnedFd>> AsRawFd for Epoll<Owning<'context, T>>

source

#### fn as_raw_fd(&self) -> RawFd

Extracts the raw file descriptor. Read more

source

### impl<'context, T: AsFd + Into<OwnedFd> + From<OwnedFd>> From<Epoll<Owning<'context, T>>> for OwnedFd

source

#### fn from(epoll: Epoll<Owning<'context, T>>) -> Self

Converts to this type from the input type.

source

### impl<'context, T: AsFd + Into<OwnedFd> + From<OwnedFd>> From<OwnedFd> for Epoll<Owning<'context, T>>

source

#### fn from(fd: OwnedFd) -> Self

Converts to this type from the input type.

source

### impl<'context, T: AsFd + Into<OwnedFd> + From<OwnedFd>> FromRawFd for Epoll<Owning<'context, T>>

source

#### unsafe fn from_raw_fd(fd: RawFd) -> Self

Constructs a new instance of `Self` from the given raw file descriptor. Read more

source

### impl<'context, T: AsFd + Into<OwnedFd> + From<OwnedFd>> IntoRawFd for Epoll<Owning<'context, T>>

source

#### fn into_raw_fd(self) -> RawFd

Consumes this object, returning the raw underlying file descriptor. Read more

## Auto Trait Implementations

### impl<Context> RefUnwindSafe for Epoll<Context> where
Context: RefUnwindSafe,

### impl<Context> Send for Epoll<Context> where
Context: Send,

### impl<Context> Sync for Epoll<Context> where
Context: Sync,

### impl<Context> Unpin for Epoll<Context> where
Context: Unpin,

### impl<Context> UnwindSafe for Epoll<Context> where
Context: UnwindSafe,

## 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> AsFilelike for T where
T: AsFd,

source

#### fn as_filelike(&self) -> BorrowedFd<'_>

Borrows the reference. Read more

source

#### fn as_filelike_view<Target>(&self) -> FilelikeView<'_, Target> where
Target: FilelikeViewType,

Return a borrowing view of a resource which dereferences to a `&Target`. Read more

source

### impl<T> AsRawFilelike for T where
T: AsRawFd,

source

#### fn as_raw_filelike(&self) -> i32

Returns the raw value.

source

### impl<T> AsRawSocketlike for T where
T: AsRawFd,

source

#### fn as_raw_socketlike(&self) -> i32

Returns the raw value.

source

### impl<T> AsSocketlike for T where
T: AsFd,

source

#### fn as_socketlike(&self) -> BorrowedFd<'_>

Borrows the reference.

source

#### fn as_socketlike_view<Target>(&self) -> SocketlikeView<'_, Target> where
Target: SocketlikeViewType,

Return a borrowing view of a resource which dereferences to a `&Target`. Read more

source

### impl<T> Borrow<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more

source

### impl<T> BorrowMut<T> for T where
T: ?Sized,

const: unstable · source

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more

source

### impl<T> From<T> for T

const: unstable · source

#### fn from(t: T) -> T

Returns the argument unchanged.

source

### impl<T> FromFd for T where
T: From<OwnedFd>,

source

#### fn from_fd(owned_fd: OwnedFd) -> T

👎 Deprecated since 1.0.0:

`FromFd::from_fd` is replaced by `From<OwnedFd>::from`

Constructs a new instance of `Self` from the given file descriptor. Read more

source

#### fn from_into_fd<Owned>(into_owned: Owned) -> Self where
Owned: Into<OwnedFd>,
Self: From<OwnedFd>,

Constructs a new instance of `Self` from the given file descriptor converted from `into_owned`. Read more

source

### impl<T> FromFilelike for T where
T: From<OwnedFd>,

source

#### fn from_filelike(owned: OwnedFd) -> T

Constructs a new instance of `Self` from the given filelike object. Read more

source

#### fn from_into_filelike<Owned>(owned: Owned) -> T where
Owned: IntoFilelike,

Constructs a new instance of `Self` from the given filelike object converted from `into_owned`. Read more

source

### impl<T> FromRawFilelike for T where
T: FromRawFd,

source

#### unsafe fn from_raw_filelike(raw: i32) -> T

Constructs `Self` from the raw value. Read more

source

### impl<T> FromRawSocketlike for T where
T: FromRawFd,

source

#### unsafe fn from_raw_socketlike(raw: i32) -> T

Constructs `Self` from the raw value. Read more

source

### impl<T> FromSocketlike for T where
T: From<OwnedFd>,

source

#### fn from_socketlike(owned: OwnedFd) -> T

Constructs a new instance of `Self` from the given socketlike object.

source

#### fn from_into_socketlike<Owned>(owned: Owned) -> T where
Owned: IntoSocketlike,

Constructs a new instance of `Self` from the given socketlike object converted from `into_owned`. Read more

source

### impl<T, U> Into<U> for T where
U: From<T>,

const: unstable · 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> IntoFd for T where
OwnedFd: From<T>,

source

#### fn into_fd(self) -> OwnedFd

👎 Deprecated since 1.0.0:

`IntoFd` is replaced by `From<...> for OwnedFd` or `Into<OwnedFd>`

Consumes this object, returning the underlying file descriptor. Read more

source

### impl<T> IntoFilelike for T where
T: Into<OwnedFd>,

source

#### fn into_filelike(self) -> OwnedFd

Consumes this object, returning the underlying filelike object. Read more

source

### impl<T> IntoRawFilelike for T where
T: IntoRawFd,

source

#### fn into_raw_filelike(self) -> i32

Returns the raw value.

source

### impl<T> IntoRawSocketlike for T where
T: IntoRawFd,

source

#### fn into_raw_socketlike(self) -> i32

Returns the raw value.

source

### impl<T> IntoSocketlike for T where
T: Into<OwnedFd>,

source

#### fn into_socketlike(self) -> OwnedFd

Consumes this object, returning the underlying socketlike object.

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.

const: unstable · 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.

const: unstable · source

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.