pub struct EpollEventInterest {
fd_num: i32,
events: u32,
data: u64,
weak_epfd: WeakFileDescriptionRef<Epoll>,
}
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
weak_epfd: WeakFileDescriptionRef<Epoll>
The epoll file description that this EpollEventInterest is registered under.
This is weak to avoid cycles, but an upgrade is always guaranteed to succeed
because only the Epoll
holds a strong ref to a EpollEventInterest
.
Trait Implementations§
Auto 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
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: 24 bytes