|
Boost : |
From: Jeff Garland (jeff_at_[hidden])
Date: 2005-12-31 10:15:02
On Sat, 31 Dec 2005 18:16:21 +1100 (EST), Christopher Kohlhoff wrote
> --- Jeff Garland <jeff_at_[hidden]> wrote:
> <snip>
>> So the questions are:
>>
>> 1) Is the intent to support an 'unlimited' number of timers
>> portably?
>
> Yes.
>
>> 2) If yes, does the implementation do this for all platforms?
>
> Yes.
>
> First a minor clarification to put things in asio terminology:
> the question is not just about whether you can have an unlimited
> number of deadline_timer objects, but also whether you can have
> an unlimited number of pending asynchronous waits.
Yep, it's pending waits I was worried about.
> The implementation of a deadline_timer object is just an expiry
> time (stored as a boost::posix_time::ptime).
>
> Each pending asynchronous wait on a timer is represented by an
> entry in a heap, sorted by expiry. Only the earliest expiry is
> fed into the demultiplexer as a timeout, so in that sense there
> is only one OS timer being used.
Great thx -- that's what I thought I saw in the code :-)
Jeff
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk