|
Boost Users : |
From: Andrea Bartoli (bartols2000_at_[hidden])
Date: 2007-12-05 04:05:12
Yes, timeout and read event have two different callback, in read callback you have to m_timer->cancel() to avoid receive timeout also.
----- Messaggio originale -----
Da: Arkadiy Vertleyb <vertleyb_at_[hidden]>
A: boost-users_at_[hidden]
Inviato: Martedì 4 dicembre 2007, 16:14:40
Oggetto: Re: [Boost-users] [asio] how to specify a timeout?
Hello Andrea,
"Andrea Bartoli" <bartols2000_at_[hidden]> wrote
> Use an asio::deadline_timer
>
> Example:
>
> asio::io_service m_ioService;
> asio::deadline_timer * m_timer;
> m_timer = new asio::deadline_timer(m_ioService);
>
> m_timer->expires_from_now( boost::posix_time::seconds(t) );
> m_timer->async_wait( boost::bind(&Foo:handle_timeout, this,
> asio::placeholders::error) );
> asio::async_read( *m_socket,
> asio::buffer( m_msg.header(),
> m_msg.header_length() ),
>
boost::bind(&Foo::handle_read_header,
> this, asio::placeholders::error) );
Thanks for your response. Still, it's not clear to me how to use it.
In
your example it seems that read operation and timeout are two
independent
things. How do I make sure only one of these two fires? Is it possile
to
cancel read operation once timout has been recieved?
Thanks,
Arkadiy
_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users
___________________________________
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: http://it.docs.yahoo.com/nowyoucan.html
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net