#[repr(transparent)]pub struct PollFd<'fd> {
pollfd: pollfd,
_fd: PhantomData<BorrowedFd<'fd>>,
}Expand description
This is a wrapper around libc::pollfd.
It’s meant to be used as an argument to the poll and
ppoll functions to specify the events of interest
for a specific file descriptor.
After a call to poll or ppoll, the events that occurred can be retrieved by calling
revents() on the PollFd object from the array passed to poll.
Fields§
§pollfd: pollfd§_fd: PhantomData<BorrowedFd<'fd>>Implementations§
Source§impl<'fd> PollFd<'fd>
impl<'fd> PollFd<'fd>
Sourcepub fn new(fd: BorrowedFd<'fd>, events: PollFlags) -> PollFd<'fd>
pub fn new(fd: BorrowedFd<'fd>, events: PollFlags) -> PollFd<'fd>
Sourcepub fn revents(&self) -> Option<PollFlags>
pub fn revents(&self) -> Option<PollFlags>
Returns the events that occurred in the last call to poll or ppoll. Will only return
None if the kernel provides status flags that Nix does not know about.
Sourcepub fn any(&self) -> Option<bool>
pub fn any(&self) -> Option<bool>
Returns if any of the events of interest occured in the last call to poll or ppoll. Will
only return None if the kernel provides status flags that Nix does not know about.
Equivalent to x.revents()? != PollFlags::empty().
This is marginally more efficient than PollFd::all.
Sourcepub fn all(&self) -> Option<bool>
pub fn all(&self) -> Option<bool>
Returns if all the events of interest occured in the last call to poll or ppoll. Will
only return None if the kernel provides status flags that Nix does not know about.
Equivalent to x.revents()? & x.events() == x.events().
This is marginally less efficient than PollFd::any.
Sourcepub fn set_events(&mut self, events: PollFlags)
pub fn set_events(&mut self, events: PollFlags)
Modify the events of interest for this PollFd.