Home
Base module

Timeout

Timeout counter which expires after a given delay.

Timeout

#include <icy/timeout.h>
class Timeout

Defined in src/base/include/icy/timeout.h:32

Subclassed by: TimedToken

Timeout counter which expires after a given delay. Delay is specified in milliseconds.

List of all members

NameKindOwner
TimeoutfunctionDeclared here
TimeoutfunctionDeclared here
TimeoutfunctionDeclared here
~TimeoutfunctionDeclared here
runningfunctionDeclared here
startfunctionDeclared here
stopfunctionDeclared here
resetfunctionDeclared here
remainingfunctionDeclared here
expiredfunctionDeclared here
setDelayfunctionDeclared here
delayfunctionDeclared here
operator=functionDeclared here
operator=functionDeclared here
_startAtvariableDeclared here
_delayvariableDeclared here
_runningvariableDeclared here

Public Methods

ReturnNameDescription
TimeoutConstructs a Timeout with the given delay.
TimeoutCopy constructor.
Timeout noexceptDefaulted constructor.
boolrunning constReturns true if the timer is currently running.
voidstartStarts (or restarts) the timer, recording the current time as the start point.
voidstopStops the timer without resetting it. expired() will return false after this call.
voidresetRestarts the timer from now, equivalent to calling start().
longremaining constReturns the number of milliseconds remaining before expiry. Returns 0 if already expired, or the full delay if not running.
boolexpired constReturns true if the timer is running and the delay has fully elapsed.
voidsetDelay inlineSets the expiry delay without restarting the timer.
longdelay const inlineReturns the configured delay in milliseconds.
Timeout &operator=Copy assignment operator.

Timeout

Timeout(long delay = 0, bool autoStart = false)

Defined in src/base/include/icy/timeout.h:38

Constructs a Timeout with the given delay.

Parameters

  • delay Expiry duration in milliseconds (default: 0).

  • autoStart If true, starts the timer immediately on construction.


Timeout

Timeout(const Timeout & src)

Defined in src/base/include/icy/timeout.h:42

Copy constructor.

Parameters

  • src Source Timeout to copy state from.

Timeout

noexcept

Timeout(Timeout && src) noexcept = default

Defined in src/base/include/icy/timeout.h:44

Defaulted constructor.


running

const

bool running() const

Defined in src/base/include/icy/timeout.h:49

Returns true if the timer is currently running.

Returns

true if start() has been called and stop() has not.


start

void start()

Defined in src/base/include/icy/timeout.h:52

Starts (or restarts) the timer, recording the current time as the start point.


stop

void stop()

Defined in src/base/include/icy/timeout.h:55

Stops the timer without resetting it. expired() will return false after this call.


reset

void reset()

Defined in src/base/include/icy/timeout.h:58

Restarts the timer from now, equivalent to calling start().


remaining

const

long remaining() const

Defined in src/base/include/icy/timeout.h:63

Returns the number of milliseconds remaining before expiry. Returns 0 if already expired, or the full delay if not running.

Returns

Milliseconds until expiry.


expired

const

bool expired() const

Defined in src/base/include/icy/timeout.h:67

Returns true if the timer is running and the delay has fully elapsed.

Returns

true if expired, false if stopped or not yet elapsed.


setDelay

inline

inline void setDelay(long delay)

Defined in src/base/include/icy/timeout.h:71

Sets the expiry delay without restarting the timer.

Parameters

  • delay New delay in milliseconds.

delay

const inline

inline long delay() const

Defined in src/base/include/icy/timeout.h:75

Returns the configured delay in milliseconds.

Returns

Delay in milliseconds.


operator=

Timeout & operator=(const Timeout & src)

Defined in src/base/include/icy/timeout.h:79

Copy assignment operator.

Parameters

  • src Source Timeout to copy state from.

Protected Attributes

ReturnNameDescription
std::chrono::steady_clock::time_point_startAt
long_delay
bool_running

_startAt

std::chrono::steady_clock::time_point _startAt

Defined in src/base/include/icy/timeout.h:83


_delay

long _delay

Defined in src/base/include/icy/timeout.h:84


_running

bool _running

Defined in src/base/include/icy/timeout.h:85