Kea  2.1.7-git
isc::asiolink::IntervalTimerImpl Class Reference

This class holds a call back function of asynchronous operations. More...

+ Inheritance diagram for isc::asiolink::IntervalTimerImpl:

Public Member Functions

 IntervalTimerImpl (IOService &io_service)
 Constructor. More...
 
 ~IntervalTimerImpl ()
 Destructor. More...
 
void callback (const boost::system::error_code &error)
 Callback function which calls the registerd callback. More...
 
void cancel ()
 Cancel timer. More...
 
long getInterval () const
 Get the timer interval. More...
 
void setup (const IntervalTimer::Callback &cbfunc, const long interval, const IntervalTimer::Mode &interval_mode=IntervalTimer::REPEATING)
 Setup function to register callback and start timer. More...
 

Detailed Description

This class holds a call back function of asynchronous operations.

To ensure the object is alive while an asynchronous operation refers to it, we use shared_ptr and enable_shared_from_this. The object will be destructed in case IntervalTimer has been destructed and no asynchronous operation refers to it. Please follow the link to get an example: http://think-async.com/asio/asio-1.4.8/doc/asio/tutorial/tutdaytime3.html#asio.tutorial.tutdaytime3.the_tcp_connection_class

Definition at line 35 of file interval_timer.cc.

Constructor & Destructor Documentation

◆ IntervalTimerImpl()

isc::asiolink::IntervalTimerImpl::IntervalTimerImpl ( IOService io_service)

Constructor.

Parameters
io_serviceThe IO service used to handle events.

Definition at line 103 of file interval_timer.cc.

◆ ~IntervalTimerImpl()

isc::asiolink::IntervalTimerImpl::~IntervalTimerImpl ( )

Destructor.

Definition at line 108 of file interval_timer.cc.

Member Function Documentation

◆ callback()

void isc::asiolink::IntervalTimerImpl::callback ( const boost::system::error_code &  error)

Callback function which calls the registerd callback.

Parameters
errorThe error code retrieved from the timer.

Definition at line 155 of file interval_timer.cc.

References isc_throw, and isc::asiolink::IntervalTimer::REPEATING.

Referenced by setup().

◆ cancel()

void isc::asiolink::IntervalTimerImpl::cancel ( )
inline

Cancel timer.

Definition at line 63 of file interval_timer.cc.

◆ getInterval()

long isc::asiolink::IntervalTimerImpl::getInterval ( ) const
inline

Get the timer interval.

Returns
The timer interval.

Definition at line 72 of file interval_timer.cc.

References mode_.

◆ setup()

void isc::asiolink::IntervalTimerImpl::setup ( const IntervalTimer::Callback cbfunc,
const long  interval,
const IntervalTimer::Mode interval_mode = IntervalTimer::REPEATING 
)

Setup function to register callback and start timer.

Parameters
cbfuncThe callback function registered on timer.
intervalThe interval used to start the timer.
interval_modeThe interval mode used by the timer.

Definition at line 113 of file interval_timer.cc.

References callback(), isc_throw, and isc::Exception::what().

+ Here is the call graph for this function:

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