OpenSDN source code
|
#include <ifmap_update_queue.h>
Public Types | |
typedef boost::intrusive::member_hook < IFMapListEntry, boost::intrusive::list_member_hook <>,&IFMapListEntry::node > | MemberHook |
typedef boost::intrusive::list < IFMapListEntry, MemberHook > | List |
typedef std::map< int, IFMapMarker * > | MarkerMap |
Public Member Functions | |
IFMapUpdateQueue (IFMapServer *server) | |
~IFMapUpdateQueue () | |
bool | Enqueue (IFMapUpdate *update) |
void | Dequeue (IFMapUpdate *update) |
IFMapListEntry * | Next (IFMapListEntry *current) |
IFMapListEntry * | Previous (IFMapListEntry *current) |
IFMapListEntry * | GetLast () |
void | MoveMarkerBefore (IFMapMarker *marker, IFMapListEntry *current) |
void | MoveMarkerAfter (IFMapMarker *marker, IFMapListEntry *current) |
IFMapMarker * | MarkerSplitBefore (IFMapMarker *marker, IFMapListEntry *current, const BitSet &msplit) |
IFMapMarker * | MarkerSplitAfter (IFMapMarker *marker, IFMapListEntry *current, const BitSet &msplit) |
void | MarkerMerge (IFMapMarker *dst, IFMapMarker *src, const BitSet &mmove) |
void | Join (int bit) |
void | Leave (int bit) |
IFMapMarker * | GetMarker (int bit) |
bool | empty () const |
IFMapMarker * | tail_marker () |
int | size () const |
void | PrintQueue () |
Private Member Functions | |
void | SetSequence (IFMapListEntry *item) |
void | PushbackIntoList (IFMapListEntry *item) |
void | InsertIntoListBefore (IFMapListEntry *ptr, IFMapListEntry *item) |
void | InsertIntoListAfter (IFMapListEntry *ptr, IFMapListEntry *item) |
void | EraseFromList (IFMapListEntry *item) |
void | ClearAndDisposeList () |
IFMapMarker * | MarkerSplit (IFMapMarker *marker, IFMapListEntry *current, const BitSet &msplit, bool before) |
Private Attributes | |
List | list_ |
MarkerMap | marker_map_ |
IFMapMarker | tail_marker_ |
IFMapServer * | server_ |
uint64_t | sequence_ |
Static Private Attributes | |
static const uint64_t | NULL_SEQUENCE = 0 |
Friends | |
class | ShowIFMapUpdateQueue |
Definition at line 13 of file ifmap_update_queue.h.
typedef boost::intrusive::list<IFMapListEntry, MemberHook> IFMapUpdateQueue::List |
Definition at line 20 of file ifmap_update_queue.h.
typedef std::map<int, IFMapMarker *> IFMapUpdateQueue::MarkerMap |
Definition at line 22 of file ifmap_update_queue.h.
typedef boost::intrusive::member_hook< IFMapListEntry, boost::intrusive::list_member_hook<>, &IFMapListEntry::node > IFMapUpdateQueue::MemberHook |
Definition at line 19 of file ifmap_update_queue.h.
|
explicit |
IFMapUpdateQueue::~IFMapUpdateQueue | ( | ) |
|
private |
Definition at line 66 of file ifmap_update_queue.cc.
void IFMapUpdateQueue::Dequeue | ( | IFMapUpdate * | update | ) |
bool IFMapUpdateQueue::empty | ( | ) | const |
Definition at line 246 of file ifmap_update_queue.cc.
bool IFMapUpdateQueue::Enqueue | ( | IFMapUpdate * | update | ) |
|
private |
IFMapListEntry * IFMapUpdateQueue::GetLast | ( | ) |
Definition at line 230 of file ifmap_update_queue.cc.
IFMapMarker * IFMapUpdateQueue::GetMarker | ( | int | bit | ) |
Definition at line 89 of file ifmap_update_queue.cc.
|
private |
|
private |
void IFMapUpdateQueue::Join | ( | int | bit | ) |
void IFMapUpdateQueue::Leave | ( | int | bit | ) |
void IFMapUpdateQueue::MarkerMerge | ( | IFMapMarker * | dst, |
IFMapMarker * | src, | ||
const BitSet & | mmove | ||
) |
|
private |
IFMapMarker * IFMapUpdateQueue::MarkerSplitAfter | ( | IFMapMarker * | marker, |
IFMapListEntry * | current, | ||
const BitSet & | msplit | ||
) |
IFMapMarker * IFMapUpdateQueue::MarkerSplitBefore | ( | IFMapMarker * | marker, |
IFMapListEntry * | current, | ||
const BitSet & | msplit | ||
) |
void IFMapUpdateQueue::MoveMarkerAfter | ( | IFMapMarker * | marker, |
IFMapListEntry * | current | ||
) |
void IFMapUpdateQueue::MoveMarkerBefore | ( | IFMapMarker * | marker, |
IFMapListEntry * | current | ||
) |
IFMapListEntry * IFMapUpdateQueue::Next | ( | IFMapListEntry * | current | ) |
Definition at line 238 of file ifmap_update_queue.cc.
IFMapListEntry * IFMapUpdateQueue::Previous | ( | IFMapListEntry * | current | ) |
Definition at line 221 of file ifmap_update_queue.cc.
void IFMapUpdateQueue::PrintQueue | ( | ) |
|
private |
|
private |
int IFMapUpdateQueue::size | ( | ) | const |
Definition at line 251 of file ifmap_update_queue.cc.
|
inline |
Definition at line 87 of file ifmap_update_queue.h.
|
friend |
Definition at line 94 of file ifmap_update_queue.h.
|
private |
Definition at line 96 of file ifmap_update_queue.h.
|
private |
Definition at line 97 of file ifmap_update_queue.h.
|
staticprivate |
Definition at line 95 of file ifmap_update_queue.h.
|
private |
Definition at line 100 of file ifmap_update_queue.h.
|
private |
Definition at line 99 of file ifmap_update_queue.h.
|
private |
Definition at line 98 of file ifmap_update_queue.h.