pub struct Epoll { /* private fields */ }Implementations§
Source§impl Epoll
impl Epoll
pub fn new() -> Arc<AtomicRefCell<Self>>
pub fn status(&self) -> FileStatus
pub fn set_status(&mut self, status: FileStatus)
pub fn mode(&self) -> FileMode
pub fn has_open_file(&self) -> bool
pub fn supports_sa_restart(&self) -> bool
pub fn set_has_open_file(&mut self, val: bool)
pub fn close( &mut self, cb_queue: &mut CallbackQueue, ) -> Result<(), SyscallError>
pub fn readv( &mut self, _iovs: &[IoVec], _offset: Option<off_t>, _flags: c_int, _mem: &mut MemoryManager, _cb_queue: &mut CallbackQueue, ) -> Result<ssize_t, SyscallError>
pub fn writev( &mut self, _iovs: &[IoVec], _offset: Option<off_t>, _flags: c_int, _mem: &mut MemoryManager, _cb_queue: &mut CallbackQueue, ) -> Result<ssize_t, SyscallError>
pub fn ioctl( &mut self, _request: IoctlRequest, _arg_ptr: ForeignPtr<()>, _mem: &mut MemoryManager, ) -> SyscallResult
pub fn stat(&self) -> Result<stat, SyscallError>
Sourcepub fn ctl(
&mut self,
op: EpollCtlOp,
target_fd: i32,
target_file: File,
events: EpollEvents,
data: u64,
weak_self: Weak<AtomicRefCell<Epoll>>,
cb_queue: &mut CallbackQueue,
) -> Result<(), Errno>
pub fn ctl( &mut self, op: EpollCtlOp, target_fd: i32, target_file: File, events: EpollEvents, data: u64, weak_self: Weak<AtomicRefCell<Epoll>>, cb_queue: &mut CallbackQueue, ) -> Result<(), Errno>
Executes an epoll control operation on the target file.
We think this panics if target_file is an instance of this epoll object due to recursive
mutable borrows (but it does not panic due to a check+panic).
pub fn add_listener( &mut self, monitoring_state: FileState, monitoring_signals: FileSignals, filter: StateListenerFilter, notify_fn: impl Fn(FileState, FileState, FileSignals, &mut CallbackQueue) + Send + Sync + 'static, ) -> StateListenHandle
pub fn add_legacy_listener(&mut self, ptr: HostTreePointer<StatusListener>)
pub fn remove_legacy_listener(&mut self, ptr: *mut StatusListener)
pub fn state(&self) -> FileState
pub fn has_ready_events(&self) -> bool
pub fn collect_ready_events( &mut self, cb_queue: &mut CallbackQueue, max_events: u32, ) -> Vec<(EpollEvents, u64)>
Auto Trait Implementations§
impl Freeze for Epoll
impl !RefUnwindSafe for Epoll
impl Send for Epoll
impl Sync for Epoll
impl Unpin for Epoll
impl UnsafeUnpin for Epoll
impl !UnwindSafe for Epoll
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
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more