$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] Inverval timer.
From: Alexei Sergeev (alexeisergeev_at_[hidden])
Date: 2009-02-12 08:58:56
Hello, I want some function / functor to run every n seconds, is there right 
timer in boost for that? I tried to loop deadline_timer but wasn't able to get 
it work more than one time.
Here is part of code I tryied:
//bool _isOnline; // status of internet connection.
//boost::asio::io_service _ioService; // need for boost timers.
//boost::asio::deadline_timer _internetConnectionTimer;
void Logic::InitializeInternetConnectionChecking( long secondsInterval )
{
        _internetConnectionTimer.expires_from_now( 
                boost::posix_time::seconds( secondsInterval ) );
 
        _internetConnectionTimer.async_wait( 
                boost::bind( &Logic::CheckInternetConnection, this ) );
 
        _ioService.poll();
}
 
void Logic::InitializeInternetConnectionChecking()
{
        InitializeInternetConnectionChecking( 5 );
}
 
void Logic::CheckInternetConnection()
{
        if ( _isOnline = IsLanOrRasInetConnect() )
                onOnline();
        else
                onOffline();
 
        _ioService.reset();
        InitializeInternetConnectionChecking();
}