class UpdateQueue

Update Queue for RIP Route entries. More...

Definition#include <update_queue.hh>
Template formUpdateQueue<typename A>
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Types

Public Methods

Public Members

Protected Members


Detailed Description

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).

typedef ref_ptr<Reader> ReadIterator

ReadIterator

typedef ref_ptr<const RouteEntry<A> > RouteUpdate

RouteUpdate

typedef vector<RouteUpdate> Queue

Queue

 UpdateQueue ()

UpdateQueue

 ~UpdateQueue ()

~UpdateQueue

void  push_back (const RouteUpdate& ru)

push_back

Add update to back of queue.

void  flush ()

flush

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.

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.

const RouteEntry<A>*  next (ReadIterator& r)

next

[const]

Increment iterator and return pointer to entry if available.

Returns: RouteEntry if available, 0 otherwise.

const RouteEntry<A>*  get (ReadIterator& r)

get

[const]

Get the RouteEntry associated with the read iterator.

struct ReaderPool* _pool

_pool

[protected]

Queue _queue

_queue

[protected]


Generated by: pavlin on possum.icir.org on Mon Jun 9 13:24:02 2003, using kdoc 2.0a54+XORP.