
Hi Jeff, --- Jeff Garland <jeff@crystalclearsoftware.com> 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. 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. Cheers, Chris