|
xorp
|
Update Queue for RIP Route entries. More...
#include <update_queue.hh>
Public Types | |
| typedef ref_ptr< Reader > | ReadIterator |
| typedef RouteEntryRef< A > | RouteUpdate |
Public Member Functions | |
| void | push_back (const RouteUpdate &ru) |
| Add update to back of queue. | |
| void | flush () |
| Remove all queued entries and reset all read iterators to the front of the queue. | |
| ReadIterator | create_reader () |
| Create a read iterator. | |
| void | destroy_reader (ReadIterator &r) |
| Destroy read iterator. | |
| bool | reader_valid (const ReadIterator &r) |
| Check ReadIterator's validity. | |
| const RouteEntry< A > * | next (ReadIterator &r) |
| Increment iterator and return pointer to entry if available. | |
| const RouteEntry< A > * | get (ReadIterator &r) const |
| Get the RouteEntry associated with the read iterator. | |
| void | ffwd (ReadIterator &r) |
| Advance read iterator to end of update queue. | |
| void | rwd (ReadIterator &r) |
| Move read iterator to first entry of update queue. | |
| uint32_t | updates_queued () const |
| Return number of updates held. | |
Protected Types | |
| typedef UpdateQueueReader< A > | Reader |
Protected Attributes | |
| UpdateQueueImpl< A > * | _impl |
Update Queue for RIP Route entries.
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).
| UpdateQueue< A >::ReadIterator UpdateQueue< A >::create_reader | ( | ) |
| void UpdateQueue< A >::destroy_reader | ( | ReadIterator & | r | ) |
| void UpdateQueue< A >::ffwd | ( | ReadIterator & | r | ) |
| const RouteEntry< A > * UpdateQueue< A >::get | ( | ReadIterator & | r | ) | const |
Get the RouteEntry associated with the read iterator.
| const RouteEntry< A > * UpdateQueue< A >::next | ( | ReadIterator & | r | ) |
Increment iterator and return pointer to entry if available.
| bool UpdateQueue< A >::reader_valid | ( | const ReadIterator & | r | ) |
Check ReadIterator's validity.
| r | reader to be checked. |
| uint32_t UpdateQueue< A >::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.