|
Boost Users : |
Subject: Re: [Boost-users] Remind me
From: Bill Somerville (bill_at_[hidden])
Date: 2008-11-18 06:07:28
Dominik Steenken wrote:
> Thanks, i already did :)
> I could use deadline_timer to perform an asynchronous wait and have it
> call a given method when the timer expires. But i still need a way to
> interrupt the thread that is currently waiting for the tcp data, and
> since that thread object would not be available in the callback method i
> don't see how i could do that.
>
I wonder what you want the interrupted thread to do, you could close the
socket from the timeout handler. Using an synchronous wait, on an event
that might not happen, to block a thread isn't the way I would use
boost:asio, the point of async operations is that one thread can have
multiple events pending. If you are doing synchronous waits for data
from the socket, then switching to asynchronous i/o may well help you here.
> Igor R wrote:
>
>> Look at asio::deadline_timer.
>>
>>
>>
>>> i am currently trying to implement something very simple: i have some
>>> network code (using boost/asio) which waits for data on a tcp connection
>>> (tcp::socket). Now i want this waiting operation to have a timeout. I
>>> did not find timeout capability in boost/asio so i tried to implement a
>>> timer class using boost/thread.
>>>
>>>
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>
>>
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
Bill Somerville
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