class UpdateQueue
|
Update Queue for RIP Route entries.
More... |
|
|
Public Types
Public Methods
Protected Types
- typedef UpdateQueueReader<A> Reader
Protected Members
- UpdateQueueImpl<A>* _impl
The Update Queue has is conceptually a single writer multi-reader
queue. It is used to store state for triggered updates and may be
used unsolicited responses (routing table announcements).
[protected]
typedef ref_ptr<Reader> ReadIterator | ReadIterator |
UpdateQueue ()
| UpdateQueue |
~UpdateQueue ()
| ~UpdateQueue |
void push_back (const RouteUpdate& ru)
| push_back |
Add update to back of queue.
Remove all queued entries and reset all read iterators to the front
of the queue.
ReadIterator create_reader ()
| create_reader |
Create a read iterator. These are reference counted entities that
need to be stored in order to operate. The newly created reader is
set to the end of the update queue.
void destroy_reader (ReadIterator& r)
| destroy_reader |
Destroy read iterator. This method detaches the iterator from the
update queue. Use of the iterator after this call is unsafe.
Increment iterator and return pointer to entry if available.
Returns: A pointer to a RouteEntry if available, 0 otherwise.
[const]
Get the RouteEntry associated with the read iterator.
Returns: A pointer to a RouteEntry if available, 0 otherwise.
void ffwd (ReadIterator& r)
| ffwd |
Advance read iterator to end of update queue. Calls to
next and get will return 0 until further
updates occur.
void rwd (ReadIterator& r)
| rwd |
Move read iterator to first entry of update queue.
uint32_t updates_queued ()
| updates_queued |
[const]
Return number of updates held. Note: this may be more than are
available for reading since there is internal buffering and
UpdateQueue iterators attach at the end of the UpdateQueue.
Returns: number of updates queued.
[protected]
Generated by: pavlin on possum.icir.org on Thu Aug 28 12:52:20 2003, using kdoc 2.0a54+XORP. |