|
OpenSDN source code
|
#include <bgp_update_queue.h>

Public Types | |
| typedef boost::intrusive::member_hook< UpdateEntry, boost::intrusive::list_member_hook<>, &UpdateEntry::list_node > | UpdateEntryNode |
| typedef boost::intrusive::list< UpdateEntry, UpdateEntryNode > | UpdatesByOrder |
| typedef boost::intrusive::member_hook< UpdateInfo, boost::intrusive::set_member_hook<>, &UpdateInfo::update_node > | UpdateSetNode |
| typedef boost::intrusive::set< UpdateInfo, UpdateSetNode, boost::intrusive::compare< UpdateByAttrCmp > > | UpdatesByAttr |
| typedef std::vector< UpdateMarker * > | MarkerList |
Public Member Functions | |
| UpdateQueue (const RibOut *ribout, int queue_id) | |
| ~UpdateQueue () | |
| bool | Enqueue (RouteUpdate *rt_update) |
| void | Dequeue (RouteUpdate *rt_update) |
| RouteUpdate * | NextUpdate (UpdateEntry *upentry) |
| UpdateEntry * | NextEntry (UpdateEntry *upentry) |
| void | AttrDequeue (UpdateInfo *current_uinfo) |
| UpdateInfo * | AttrNext (UpdateInfo *current_uinfo) |
| void | AddMarker (UpdateMarker *marker, RouteUpdate *rt_update) |
| void | MoveMarker (UpdateMarker *marker, RouteUpdate *rt_update) |
| void | MarkerSplit (UpdateMarker *marker, const RibPeerSet &msplit) |
| void | MarkerMerge (UpdateMarker *dst_marker, UpdateMarker *src_marker, const RibPeerSet &bitset) |
| UpdateMarker * | GetMarker (int bit) |
| bool | Join (int bit) |
| void | Leave (int bit) |
| bool | CheckInvariants () const |
| UpdateMarker * | tail_marker () |
| bool | empty () const |
| size_t | size () const |
| size_t | marker_count () const |
Private Member Functions | |
| DISALLOW_COPY_AND_ASSIGN (UpdateQueue) | |
Private Attributes | |
| int | queue_id_ |
| bool | encoding_is_xmpp_ |
| uint64_t | tstamp_ |
| size_t | marker_count_ |
| UpdatesByOrder | queue_ |
| UpdatesByAttr | attr_set_ |
| MarkerList | markers_ |
| UpdateMarker | tail_marker_ |
Friends | |
| class | BgpExportTest |
| class | RibOutUpdatesTest |
Definition at line 96 of file bgp_update_queue.h.
| typedef std::vector<UpdateMarker *> UpdateQueue::MarkerList |
Definition at line 117 of file bgp_update_queue.h.
| typedef boost::intrusive::member_hook< UpdateEntry, boost::intrusive::list_member_hook<>, &UpdateEntry::list_node > UpdateQueue::UpdateEntryNode |
Definition at line 103 of file bgp_update_queue.h.
| typedef boost::intrusive::set<UpdateInfo, UpdateSetNode, boost::intrusive::compare<UpdateByAttrCmp> > UpdateQueue::UpdatesByAttr |
Definition at line 115 of file bgp_update_queue.h.
| typedef boost::intrusive::list<UpdateEntry, UpdateEntryNode> UpdateQueue::UpdatesByOrder |
Definition at line 105 of file bgp_update_queue.h.
| typedef boost::intrusive::member_hook<UpdateInfo, boost::intrusive::set_member_hook<>, &UpdateInfo::update_node > UpdateQueue::UpdateSetNode |
Definition at line 111 of file bgp_update_queue.h.
| UpdateQueue::UpdateQueue | ( | const RibOut * | ribout, |
| int | queue_id | ||
| ) |
Definition at line 14 of file bgp_update_queue.cc.
| UpdateQueue::~UpdateQueue | ( | ) |
Definition at line 25 of file bgp_update_queue.cc.
| void UpdateQueue::AddMarker | ( | UpdateMarker * | marker, |
| RouteUpdate * | rt_update | ||
| ) |
| void UpdateQueue::AttrDequeue | ( | UpdateInfo * | current_uinfo | ) |
Definition at line 110 of file bgp_update_queue.cc.
| UpdateInfo * UpdateQueue::AttrNext | ( | UpdateInfo * | current_uinfo | ) |
| bool UpdateQueue::CheckInvariants | ( | ) | const |
| void UpdateQueue::Dequeue | ( | RouteUpdate * | rt_update | ) |
|
private |
| bool UpdateQueue::empty | ( | ) | const |
Definition at line 317 of file bgp_update_queue.cc.
| bool UpdateQueue::Enqueue | ( | RouteUpdate * | rt_update | ) |
| UpdateMarker * UpdateQueue::GetMarker | ( | int | bit | ) |
Definition at line 256 of file bgp_update_queue.cc.
| bool UpdateQueue::Join | ( | int | bit | ) |
| void UpdateQueue::Leave | ( | int | bit | ) |
| size_t UpdateQueue::marker_count | ( | ) | const |
Definition at line 325 of file bgp_update_queue.cc.
| void UpdateQueue::MarkerMerge | ( | UpdateMarker * | dst_marker, |
| UpdateMarker * | src_marker, | ||
| const RibPeerSet & | bitset | ||
| ) |
| void UpdateQueue::MarkerSplit | ( | UpdateMarker * | marker, |
| const RibPeerSet & | msplit | ||
| ) |
| void UpdateQueue::MoveMarker | ( | UpdateMarker * | marker, |
| RouteUpdate * | rt_update | ||
| ) |
Definition at line 184 of file bgp_update_queue.cc.
| UpdateEntry * UpdateQueue::NextEntry | ( | UpdateEntry * | upentry | ) |
Definition at line 99 of file bgp_update_queue.cc.
| RouteUpdate * UpdateQueue::NextUpdate | ( | UpdateEntry * | upentry | ) |
| size_t UpdateQueue::size | ( | ) | const |
Definition at line 321 of file bgp_update_queue.cc.
|
inline |
Definition at line 143 of file bgp_update_queue.h.
|
friend |
Definition at line 150 of file bgp_update_queue.h.
|
friend |
Definition at line 151 of file bgp_update_queue.h.
|
private |
Definition at line 158 of file bgp_update_queue.h.
|
private |
Definition at line 154 of file bgp_update_queue.h.
|
private |
Definition at line 156 of file bgp_update_queue.h.
|
private |
Definition at line 159 of file bgp_update_queue.h.
|
private |
Definition at line 157 of file bgp_update_queue.h.
|
private |
Definition at line 153 of file bgp_update_queue.h.
|
private |
Definition at line 160 of file bgp_update_queue.h.
|
private |
Definition at line 155 of file bgp_update_queue.h.