5 #ifndef SRC_BGP_BGP_RIBOUT_UPDATES_H_
6 #define SRC_BGP_BGP_RIBOUT_UPDATES_H_
8 #include <boost/scoped_ptr.hpp>
23 class ShowRibOutStatistics;
void ClearUpdate(RouteUpdatePtr *update)
void Enqueue(DBEntryBase *db_entry, RouteUpdate *rt_update)
size_t queue_size(int queue_id) const
bool UpdateMarkersOnBlocked(UpdateMarker *marker, RouteUpdate *rt_update, const RibPeerSet *blocked)
std::vector< UpdateQueue * > QueueVec
static const int kQueueIdInvalid
boost::scoped_ptr< RibUpdateMonitor > monitor_
bool ClearAdvertisedBits(RouteUpdate *rt_update, UpdateInfo *uinfo, const RibPeerSet &bits, bool update_history)
friend class RibOutUpdatesTest
const QueueVec & queue_vec() const
RibUpdateMonitor * monitor()
virtual bool PeerDequeue(int queue_id, IPeerUpdate *peer, RibPeerSet *blocked)
UpdateQueue * queue(int queue_id)
size_t queue_marker_count(int queue_id) const
DISALLOW_COPY_AND_ASSIGN(RibOutUpdates)
void StoreHistory(RouteUpdate *rt_update)
friend class XmppMvpnMessageBuilderTest
static std::vector< Message * > xmpp_messages_
void AddStatisticsInfo(int queue_id, Stats *stats) const
friend class XmppMessageBuilderTest
bool QueueJoin(int queue_id, int bit)
void QueueLeave(int queue_id, int bit)
void UpdateSend(int queue_id, Message *message, const RibPeerSet &dst, RibPeerSet *blocked)
bool DequeueCommon(UpdateQueue *queue, UpdateMarker *marker, RouteUpdate *rt_update, RibPeerSet *blocked)
void ClearState(RouteUpdate *rt_update)
RibOutUpdates(RibOut *ribout, int index)
void UpdatePack(int queue_id, Message *message, UpdateInfo *start_uinfo, const RibPeerSet &isect)
Message * GetMessage() const
void UpdateFlush(const RibPeerSet &dst, RibPeerSet *blocked)
virtual bool TailDequeue(int queue_id, const RibPeerSet &msync, RibPeerSet *blocked, RibPeerSet *unsync)
static std::vector< Message * > bgp_messages_
uint64_t marker_split_count_
uint64_t peer_dequeue_count_
uint64_t marker_move_count_
uint64_t messages_built_count_
uint64_t marker_merge_count_
uint64_t tail_dequeue_count_
uint64_t messages_sent_count_