pub struct EpollEventInterest {
fd_num: i32,
events: u32,
data: u64,
ready_list: Rc<ReadyList>,
weak_epfd: WeakFileDescriptionRef,
}
Expand description
EpollEventInterest registers the file description information to an epoll
instance during a successful epoll_ctl
call. It also stores additional
information needed to check and update readiness state for epoll_wait
.
events
and data
field matches the epoll_event
struct defined
by the epoll_ctl man page. For more information
see the man page:
Fields§
§fd_num: i32
The file descriptor value of the file description registered. This is only used for ready_list, to inform userspace which FD triggered an event. For that, it is crucial to preserve the original FD number. This FD number must never be “dereferenced” to a file description inside Miri.
events: u32
The events bitmask retrieved from epoll_event
.
data: u64
The data retrieved from epoll_event
.
libc’s data field in epoll_event can store integer or pointer,
but only u64 is supported for now.
https://man7.org/linux/man-pages/man3/epoll_event.3type.html
ready_list: Rc<ReadyList>
Ready list of the epoll instance under which this EpollEventInterest is registered.
weak_epfd: WeakFileDescriptionRef
The epoll file description that this EpollEventInterest is registered under.
Trait Implementations§
Source§impl Clone for EpollEventInterest
impl Clone for EpollEventInterest
Source§fn clone(&self) -> EpollEventInterest
fn clone(&self) -> EpollEventInterest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl Freeze for EpollEventInterest
impl !RefUnwindSafe for EpollEventInterest
impl !Send for EpollEventInterest
impl !Sync for EpollEventInterest
impl Unpin for EpollEventInterest
impl !UnwindSafe for EpollEventInterest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 32 bytes