pub struct PollFd<'fd> { /* private fields */ }
poll
only.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
.
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
.