Struct timerfd::TimerFd
[−]
[src]
pub struct TimerFd(_);
Represents a timerfd.
See also timerfd_create(2)
.
Methods
impl TimerFd
[src]
fn new_custom(
clock: ClockId,
nonblocking: bool,
cloexec: bool
) -> IoResult<TimerFd>
clock: ClockId,
nonblocking: bool,
cloexec: bool
) -> IoResult<TimerFd>
Creates a new TimerFd
.
By default, it uses the monotonic clock, is blocking and does not close on exec. The parameters allow you to change that.
Errors
On Linux 2.6.26 and earlier, nonblocking and cloexec are not supported and setting them
will return an error of kind ErrorKind::InvalidInput
.
This can also fail in various cases of resource exhaustion. Please check
timerfd_create(2)
for details.
fn new() -> IoResult<TimerFd>
Creates a new TimerFd
with default settings.
Use new_custom
to specify custom settings.
fn set_state(&mut self, state: TimerState, sflags: SetTimeFlags) -> TimerState
Sets this timerfd to a given TimerState
and returns the old state.
fn get_state(&self) -> TimerState
Returns the current TimerState
.
fn read(&mut self) -> u64
Read from this timerfd.
Returns the number of timer expirations since the last read. If this timerfd is operating in blocking mode (the default), it will not return zero but instead block until the timer has expired at least once.