#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().  | 
  
 
1.3.6