| 
		| class RouteWalker | Asynchronous RouteDB walker.
 More... |  
 |  | 
Public Types
Public Methods
Protected Methods
 The RouteWalker class walks the routes in a RouteDB.  It assumes
 the walking is broken up into a number of shorter walks, and that
 each short walk is triggered from a XorpTimer.  The end of a short
 walk causes state to saved and is signalled using the pause()
 method.  When the next short walk is ready to start, resume()
 should be called.  These calls save and resume state are relatively
 expensive.
 
| typedef RouteDB<A>::RouteContainer  RouteContainer | RouteContainer | 
| typedef RouteDB<A>::Route	  Route | Route | 
| enum State { RUNNING, PAUSED } | State | 
| RouteWalker (RouteDB<A>& route_db) 
 | RouteWalker | 
| ~RouteWalker () 
 | ~RouteWalker | 
| inline State  state () 
 | state | 
 [const]
Returns: current state of instance.
     
| const Route*  next_route () 
 | next_route | 
 Move iterator to next available route.
Returns: true on success, false if route not available or instance is
         not in the RUNNING state.
     
| const Route*  current_route () 
 | current_route | 
 Get current route.
Returns: pointer to route if available, 0 if route not available or
	       not in RUNNING state.
     
| void  pause (uint32_t pause_ms) 
 | pause | 
 Pause route walking operation.  The instance state is
 transitioned from RUNNING to PAUSED on the assumption that
 route walking will be resumed at some point in the future (resume).  If the current route has a deletion timer associated
 with it that would expire within pause_ms, the timer expiry is
 pushed back so it will expire at a time after the expected
 resume time.  Thus in most cases a walk can safely resume from
 where it was paused.
Parameters:
| pause_ms | the expected time before resume is called. | 
 Resume route walking.  The instance state is transitioned from
 PAUSED to RUNNING.  The internal iterator is checked for validity and
 recovery steps taken should the route pointed to have been deleted.
     
 Effect a reset.  The internal iterator is moved to the first
 stored route and the state is set to RUNNING.
     
 [protected]
 [protected]
	
	| Generated by: pavlin on possum.icir.org on Thu Aug 28 12:52:20 2003, using kdoc 2.0a54+XORP. |