E-MailRelay

Public Types | Public Member Functions | List of all members
GNet::Timer< T > Class Template Reference

A timer class template in which the timeout is delivered to the specified method. More...

`#include <gtimer.h>`

Inheritance diagram for GNet::Timer< T >:

## Public Types
using | method_type = void(T::*)()

## Public Member Functions
| Timer (T &t, method_type m, ExceptionSink)
| Constructor. More...
void | startTimer (unsigned int interval_s, unsigned int interval_us=0U)
| Starts or restarts the timer so that it expires after the given interval. More...
void | startTimer (const G::TimeInterval &)
| Starts or restarts the timer so that it expires after the given interval. More...
void | cancelTimer ()
| Cancels the timer. Does nothing if not running. More...
bool | active () const noexcept
| Returns true if the timer is running. More...
| Timer (const Timer< T > &)=delete
| Timer (Timer< T > &&)=delete
void | operator= (const Timer< T > &)=delete
void | operator= (Timer< T > &&)=delete

## Detailed Description

template<typename T>
class GNet::Timer< T >

A timer class template in which the timeout is delivered to the specified method.

Any exception thrown out of the timeout handler is delivered to the specified ExceptionHandler interface so that it can be handled or rethrown.

Eg:

struct Foo
{
Timer<Foo> m_timer ;
Foo( ExceptionSink es ) : m_timer(*this,&Foo::onTimeout,es) {}
void onTimeout() { throw "oops" ; }
} ;

Definition at line 128 of file gtimer.h.

## Member Typedef Documentation

## ◆ method_type

template<typename T >

using GNet::Timer< T >::method_type = void (T::*)()

Definition at line 131 of file gtimer.h.

## Constructor & Destructor Documentation

## ◆ Timer()

template<typename T >

GNet::Timer< T >::Timer | ( | T & | t,
|  | method_type | m,
|  | GNet::ExceptionSink | es
| ) |  |

Constructor.

Definition at line 166 of file gtimer.h.

## Member Function Documentation

## ◆ active()

template<typename T >

bool GNet::Timer< T >::active
| noexcept

Returns true if the timer is running.

Definition at line 192 of file gtimer.h.

## ◆ cancelTimer()

template<typename T >

void GNet::Timer< T >::cancelTimer

Cancels the timer. Does nothing if not running.

Definition at line 186 of file gtimer.h.

## ◆ startTimer() [1/2]

template<typename T >

void GNet::Timer< T >::startTimer | ( | const G::TimeInterval & | i | ) |

Starts or restarts the timer so that it expires after the given interval.

Definition at line 180 of file gtimer.h.

## ◆ startTimer() [2/2]

template<typename T >

void GNet::Timer< T >::startTimer | ( | unsigned int | interval_s,
|  | unsigned int | interval_us = `0U`
| ) |  |

Starts or restarts the timer so that it expires after the given interval.

Definition at line 174 of file gtimer.h.

The documentation for this class was generated from the following file:

- /usr/src/slapt-src-x86_64/network/emailrelay/emailrelay-2.3/src/gnet/gtimer.h