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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
const int TIMER_DURATION = 5000; // ms
Et ma callback ne fait pas grand-chose pour le moment:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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...