"Recharger" un deadline_timer
Bonjour,
pour détecter les timeouts de mon serveur, j'utilise un deadline_timer de boost::asio.
Alors j'ai mon timer lié a ma méthode callback comme ca (dans le constructeur de ma connection):
Code:
timer.async_wait(boost::bind(&tftp_connection::timeout_callback , this));
Et lorsque j'envoie des données, j'attends confirmation de la réception.
Code:
timer.expires_from_now(boost::posix_time::milliseconds(TIMER_DURATION));
Le timer est assez important, 5 secondes, il ne devrait pas être atteint dans mes tests actuels:
Code:
const int TIMER_DURATION = 5000; // ms
Et ma callback ne fait pas grand-chose pour le moment:
Code:
1 2 3 4
| void tftp_connection::timeout_callback()
{
std::cout << "Time Out !\n";
} |
Mon problème:
A chaque recharge du timer, la callback est appelée, et je n'ai pas trouver le moyen de différencier le timeout atteint et le rechargement du timer.
Comment je dois m'y prendre ?
Merci !
EDIT: Ah... En fait, il ne passe qu'une fois dans ma callback, mais au tout début de la connection...