#include <Timer_Wheel_T.h>
Inheritance diagram for ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >:
Public Types | |
typedef ACE_Timer_Wheel_T< TYPE, FUNCTOR, ACE_LOCK > | Wheel |
typedef ACE_Timer_Node_T< TYPE > | Node |
Public Member Functions | |
ACE_Timer_Wheel_Iterator_T (Wheel &) | |
Constructor. | |
~ACE_Timer_Wheel_Iterator_T (void) | |
Destructor. | |
virtual void | first (void) |
Positions the iterator at the earliest node in the Timer Queue. | |
virtual void | next (void) |
Positions the iterator at the next node in the Timer Queue. | |
virtual int | isdone (void) const |
Returns true when there are no more nodes in the sequence. | |
virtual ACE_Timer_Node_T< TYPE > * | item (void) |
Returns the node at the current position in the sequence. | |
Protected Attributes | |
Wheel & | timer_wheel_ |
Pointer to the ACE_Timer_List that we are iterating over. | |
u_int | spoke_ |
Current position in the timing wheel. | |
ACE_Timer_Node_T< TYPE > * | current_node_ |
Pointer to the position in the the th list. | |
Private Member Functions | |
void | goto_next (u_int start_spoke) |
Helper class for common functionality of next() and first(). |
This is a generic iterator that can be used to visit every node of a timer queue. Be aware that it doesn't traverse in the order of timeout values.
Definition at line 39 of file Timer_Wheel_T.h.
|
Definition at line 44 of file Timer_Wheel_T.h. |
|
Definition at line 43 of file Timer_Wheel_T.h. Referenced by ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::ACE_Timer_Wheel_Iterator_T(). |
|
Constructor. Just initializes the iterator with a ACE_Timer_Wheel_T and then calls first() to initialize the rest of itself.
Definition at line 871 of file Timer_Wheel_T.cpp. References ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::Wheel.
00872 : timer_wheel_ (wheel) 00873 { 00874 this->first(); 00875 } |
|
Destructor. Destructor, at this level does nothing. Definition at line 884 of file Timer_Wheel_T.cpp.
00885 { 00886 } |
|
Positions the iterator at the earliest node in the Timer Queue. Positions the iterator at the first position in the timing wheel that contains something. spoke_ will be set to the spoke position of this entry and current_node_ will point to the first entry in that spoke. If the wheel is empty, spoke_ will be equal timer_wheel_.spoke_count_ and current_node_ would be 0. Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >. Definition at line 898 of file Timer_Wheel_T.cpp. References ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::goto_next().
00899 { 00900 this->goto_next(0); 00901 } |
|
|
Returns true when there are no more nodes in the sequence.
Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >. Definition at line 947 of file Timer_Wheel_T.cpp. Referenced by ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::next().
00948 { 00949 return this->current_node_ == 0; 00950 } |
|
Returns the node at the current position in the sequence.
Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >. Definition at line 957 of file Timer_Wheel_T.cpp.
00958 { 00959 return this->current_node_; 00960 } |
|
Positions the iterator at the next node in the Timer Queue. Positions the iterator at the next node. Implements ACE_Timer_Queue_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >. Definition at line 908 of file Timer_Wheel_T.cpp. References ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::goto_next(), ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::isdone(), ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::spoke_, ACE_Timer_Wheel_T< TYPE, FUNCTOR, ACE_LOCK >::spokes_, and ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::timer_wheel_.
00909 { 00910 if (this->isdone()) 00911 return; 00912 00913 ACE_Timer_Node_T<TYPE>* n = this->current_node_->get_next (); 00914 ACE_Timer_Node_T<TYPE>* root = this->timer_wheel_.spokes_[this->spoke_]; 00915 if (n == root) 00916 this->goto_next (this->spoke_ + 1); 00917 else 00918 this->current_node_ = n; 00919 } |
|
Pointer to the position in the the th list.
Definition at line 72 of file Timer_Wheel_T.h. |
|
Current position in the timing wheel.
Definition at line 69 of file Timer_Wheel_T.h. Referenced by ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::goto_next(), and ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::next(). |
|
Pointer to the ACE_Timer_List that we are iterating over.
Definition at line 66 of file Timer_Wheel_T.h. Referenced by ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::goto_next(), and ACE_Timer_Wheel_Iterator_T< TYPE, FUNCTOR, ACE_LOCK >::next(). |