#include <timer_queue.hpp>

Public Types | |
| typedef Time_Traits::time_type | time_type |
| typedef Time_Traits::duration_type | duration_type |
Public Member Functions | |
| timer_queue () | |
| template<typename Handler> | |
| bool | enqueue_timer (const time_type &time, Handler handler, void *token) |
| virtual bool | empty () const |
| virtual boost::posix_time::time_duration | wait_duration () const |
| virtual void | dispatch_timers () |
| std::size_t | cancel_timer (void *timer_token) |
| virtual void | destroy_timers () |
Private Member Functions | |
| void | up_heap (size_t index) |
| void | down_heap (size_t index) |
| void | swap_heap (size_t index1, size_t index2) |
| void | remove_timer (timer_base *t) |
Private Attributes | |
| hash_map< void *, timer_base * > | timers_ |
| std::vector< timer_base * > | heap_ |
Classes | |
| class | timer |
| class | timer_base |
Definition at line 38 of file timer_queue.hpp.
| typedef Time_Traits::time_type asio::detail::timer_queue< Time_Traits >::time_type |
Definition at line 43 of file timer_queue.hpp.
| typedef Time_Traits::duration_type asio::detail::timer_queue< Time_Traits >::duration_type |
Definition at line 46 of file timer_queue.hpp.
| asio::detail::timer_queue< Time_Traits >::timer_queue | ( | ) | [inline] |
Definition at line 49 of file timer_queue.hpp.
| bool asio::detail::timer_queue< Time_Traits >::enqueue_timer | ( | const time_type & | time, | |
| Handler | handler, | |||
| void * | token | |||
| ) | [inline] |
Definition at line 59 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::heap_, asio::placeholders::iterator, asio::detail::timer_queue< Time_Traits >::timers_, and asio::detail::timer_queue< Time_Traits >::up_heap().
Referenced by asio::detail::select_reactor< Own_Thread >::schedule_timer().
| virtual bool asio::detail::timer_queue< Time_Traits >::empty | ( | ) | const [inline, virtual] |
Implements asio::detail::timer_queue_base.
Definition at line 94 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::heap_.
| virtual boost::posix_time::time_duration asio::detail::timer_queue< Time_Traits >::wait_duration | ( | ) | const [inline, virtual] |
Implements asio::detail::timer_queue_base.
Definition at line 100 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::heap_.
| virtual void asio::detail::timer_queue< Time_Traits >::dispatch_timers | ( | ) | [inline, virtual] |
Implements asio::detail::timer_queue_base.
Definition at line 107 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::heap_, asio::detail::timer_queue< Time_Traits >::timer_base::invoke(), and asio::detail::timer_queue< Time_Traits >::remove_timer().
| std::size_t asio::detail::timer_queue< Time_Traits >::cancel_timer | ( | void * | timer_token | ) | [inline] |
Definition at line 120 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::timer_base::invoke(), asio::placeholders::iterator, asio::detail::timer_queue< Time_Traits >::timer_base::next_, asio::detail::error_base< T >::operation_aborted, asio::detail::timer_queue< Time_Traits >::remove_timer(), and asio::detail::timer_queue< Time_Traits >::timers_.
Referenced by asio::detail::select_reactor< Own_Thread >::cancel_timer().
| virtual void asio::detail::timer_queue< Time_Traits >::destroy_timers | ( | ) | [inline, virtual] |
Implements asio::detail::timer_queue_base.
Definition at line 141 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::timer_base::destroy(), asio::detail::timer_queue< Time_Traits >::heap_, and asio::detail::timer_queue< Time_Traits >::timers_.
| void asio::detail::timer_queue< Time_Traits >::up_heap | ( | size_t | index | ) | [inline, private] |
Definition at line 256 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::heap_, and asio::detail::timer_queue< Time_Traits >::swap_heap().
Referenced by asio::detail::timer_queue< Time_Traits >::enqueue_timer(), and asio::detail::timer_queue< Time_Traits >::remove_timer().
| void asio::detail::timer_queue< Time_Traits >::down_heap | ( | size_t | index | ) | [inline, private] |
Definition at line 269 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::heap_, and asio::detail::timer_queue< Time_Traits >::swap_heap().
Referenced by asio::detail::timer_queue< Time_Traits >::remove_timer().
| void asio::detail::timer_queue< Time_Traits >::swap_heap | ( | size_t | index1, | |
| size_t | index2 | |||
| ) | [inline, private] |
Definition at line 287 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::heap_.
Referenced by asio::detail::timer_queue< Time_Traits >::down_heap(), asio::detail::timer_queue< Time_Traits >::remove_timer(), and asio::detail::timer_queue< Time_Traits >::up_heap().
| void asio::detail::timer_queue< Time_Traits >::remove_timer | ( | timer_base * | t | ) | [inline, private] |
Definition at line 297 of file timer_queue.hpp.
References asio::detail::timer_queue< Time_Traits >::down_heap(), asio::detail::timer_queue< Time_Traits >::heap_, asio::detail::timer_queue< Time_Traits >::timer_base::heap_index_, index, asio::placeholders::iterator, asio::detail::timer_queue< Time_Traits >::timer_base::next_, asio::detail::timer_queue< Time_Traits >::timer_base::prev_, asio::detail::timer_queue< Time_Traits >::swap_heap(), asio::detail::timer_queue< Time_Traits >::timer_base::time_, asio::detail::timer_queue< Time_Traits >::timers_, asio::detail::timer_queue< Time_Traits >::timer_base::token_, and asio::detail::timer_queue< Time_Traits >::up_heap().
Referenced by asio::detail::timer_queue< Time_Traits >::cancel_timer(), and asio::detail::timer_queue< Time_Traits >::dispatch_timers().
hash_map<void*, timer_base*> asio::detail::timer_queue< Time_Traits >::timers_ [private] |
Definition at line 336 of file timer_queue.hpp.
Referenced by asio::detail::timer_queue< Time_Traits >::cancel_timer(), asio::detail::timer_queue< Time_Traits >::destroy_timers(), asio::detail::timer_queue< Time_Traits >::enqueue_timer(), and asio::detail::timer_queue< Time_Traits >::remove_timer().
std::vector<timer_base*> asio::detail::timer_queue< Time_Traits >::heap_ [private] |
Definition at line 339 of file timer_queue.hpp.
Referenced by asio::detail::timer_queue< Time_Traits >::destroy_timers(), asio::detail::timer_queue< Time_Traits >::dispatch_timers(), asio::detail::timer_queue< Time_Traits >::down_heap(), asio::detail::timer_queue< Time_Traits >::empty(), asio::detail::timer_queue< Time_Traits >::enqueue_timer(), asio::detail::timer_queue< Time_Traits >::remove_timer(), asio::detail::timer_queue< Time_Traits >::swap_heap(), asio::detail::timer_queue< Time_Traits >::up_heap(), and asio::detail::timer_queue< Time_Traits >::wait_duration().
1.5.6