5 #ifndef SRC_BGP_BGP_UPDATE_MONITOR_H_
6 #define SRC_BGP_BGP_UPDATE_MONITOR_H_
8 #include <boost/function.hpp>
104 typedef boost::function<bool(const RouteUpdate *)>
UpdateCmp;
193 #endif // SRC_BGP_BGP_UPDATE_MONITOR_H_
RouteUpdatePtr & operator=(RouteUpdatePtr &rhs)
RouteUpdate * operator->()
boost::function< bool(const RouteUpdate *)> UpdateCmp
DBState * GetRouteUpdateAndDequeue(DBEntryBase *db_entry, RouteUpdate *rt_update, UpdateCmp cmp, bool *duplicate)
void SetEntryState(DBEntryBase *db_entry, DBState *dbstate)
DBState * GetUpdateListAndDequeue(DBEntryBase *db_entry, UpdateList *uplist)
bool RouteStateMergeUpdate(DBEntryBase *db_entry, RouteUpdate *rt_update, RouteState *rstate)
RibUpdateMonitor(RibOut *ribout, QueueVec *queue_vec)
DBState * GetDBStateAndDequeue(DBEntryBase *db_entry, UpdateCmp cmp, bool *duplicate)
RouteUpdatePtr & operator=(Proxy rhs)
RouteUpdatePtr(RouteUpdatePtr &rhs)
RouteUpdatePtr(Proxy rhs)
void RouteStateClearPeerSet(DBEntryBase *db_entry, RouteState *rstate, const RibPeerSet &mleave)
bool UpdateListMergeUpdate(DBEntryBase *db_entry, RouteUpdate *rt_update, UpdateList *uplist)
bool RouteUpdateMergeUpdate(DBEntryBase *db_entry, RouteUpdate *rt_update, RouteUpdate *current_rt_update)
RouteUpdatePtr GetNextUpdate(int queue_id, UpdateEntry *upentry)
void UpdateInfoSListClearBits(UpdateInfoSList &uinfo_slist, const RibPeerSet &clear)
bool EnqueueUpdate(DBEntryBase *db_entry, RouteUpdate *rt_update, UpdateList *uplist=NULL)
RouteUpdatePtr GetNextEntry(int queue_id, UpdateEntry *upentry, UpdateEntry **next_upentry_p)
RouteUpdatePtr GetAttrNext(int queue_id, UpdateInfo *current_uinfo, UpdateInfo **next_uinfo_p)
bool GetPeerSetCurrentAndScheduled(DBEntryBase *db_entry, int queue_id, RibPeerSet *mcurrent, RibPeerSet *mscheduled)
bool MergeUpdate(DBEntryBase *db_entry, RouteUpdate *rt_update)
bool UpdateListClearPeerSet(DBEntryBase *db_entry, UpdateList *uplist, const RibPeerSet &mleave)
void ClearEntryState(DBEntryBase *db_entry)
void ClearPeerSetCurrentAndScheduled(DBEntryBase *db_entry, const RibPeerSet &mleave)
bool RouteUpdateClearPeerSet(DBEntryBase *db_entry, RouteUpdate *rt_update, const RibPeerSet &mleave)
void DequeueUpdate(RouteUpdate *rt_update)
DISALLOW_COPY_AND_ASSIGN(RibUpdateMonitor)
void swap(RouteUpdatePtr &rhs)
void AdvertiseSListClearBits(AdvertiseSList &adv_slist, const RibPeerSet &clear)
std::vector< UpdateQueue * > QueueVec