xorp

UpdateBlock< A > Struct Template Reference

Store for a fixed block of update. More...

List of all members.

Public Types

typedef UpdateQueue< A >
::RouteUpdate 
RouteUpdate

Public Member Functions

bool full () const
bool empty () const
size_t count () const
bool add_update (const RouteUpdate &u)
const RouteUpdateget (uint32_t pos) const
void ref ()
void unref ()
uint32_t ref_cnt () const

Static Public Attributes

static const size_t MAX_UPDATES = 100

Private Attributes

vector< RouteUpdate_updates
size_t _update_cnt
uint32_t _refs

Detailed Description

template<typename A>
struct UpdateBlock< A >

Store for a fixed block of update.

Stores a group of updates in a block. They are stored like this for two reasons. Firstly, we can track readers entering and leaving blocks which makes garbage collection decisions easy. Secondly, it involves minimal copying of ref_ptrs (compared to say a scrolling vector of ref_ptrs).


The documentation for this struct was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations