5 #ifndef SRC_BGP_BGP_UPDATE_H_
6 #define SRC_BGP_BGP_UPDATE_H_
8 #include <boost/intrusive/list.hpp>
9 #include <boost/intrusive/slist.hpp>
10 #include <boost/intrusive/set.hpp>
119 #ifndef _LIBCPP_VERSION
137 typedef boost::intrusive::member_hook<
139 boost::intrusive::slist_member_hook<>,
142 typedef boost::intrusive::slist<
145 boost::intrusive::linear<true>
270 typedef std::list<RouteUpdate *>
List;
void swap(AdvertiseSList &adv_slist)
DISALLOW_COPY_AND_ASSIGN(RouteUpdate)
bool CompareUpdateInfo(const UpdateInfoSList &uinfo_slist) const
UpdateInfo * FindUpdateInfo(const RibOutAttr &roattr)
void FlagReset(Flag flag)
void SwapHistory(AdvertiseSList &history)
bool FlagIsSet(Flag flag) const
const UpdateInfoSList & Updates() const
void BuildNegativeUpdateInfo(UpdateInfoSList &uinfo_slist) const
void set_queue_id(int queue_id)
RouteUpdate(BgpRoute *route, int queue_id)
UpdateList * GetUpdateList(RibOut *ribout)
AdvertiseSList & History()
void ResetUpdateInfo(const RibPeerSet &peerset)
bool IsAdvertised() const
void MoveHistory(RouteState *rstate)
bool RemoveUpdateInfo(UpdateInfo *uinfo)
void TrimRedundantUpdateInfo(UpdateInfoSList &uinfo_slist) const
void set_tstamp(uint64_t tstamp)
void SetUpdateInfo(UpdateInfoSList &uinfo_slist)
UpdateInfoSList & Updates()
void UpdateHistory(RibOut *ribout, const RibOutAttr *roattr, const RibPeerSet &bits)
UpdateList * MakeUpdateList()
void SetHistory(AdvertiseSList &history)
const AdvertiseSList & History() const
const AdvertiseInfo * FindHistory(const RibOutAttr &roattr) const
void MergeUpdateInfo(UpdateInfoSList &uinfo_slist)
DISALLOW_COPY_AND_ASSIGN(UpdateEntry)
UpdateEntry(EntryType type)
boost::intrusive::list_member_hook list_node
DISALLOW_COPY_AND_ASSIGN(UpdateInfoSList)
boost::intrusive::member_hook< UpdateInfo, boost::intrusive::slist_member_hook<>, &UpdateInfo::slist_node > Node
const List * operator->() const
void swap(UpdateInfoSList &uinfo_slist)
boost::intrusive::slist< UpdateInfo, Node, boost::intrusive::linear< true > > List
const UpdateInfo * FindUpdateInfo(const RibOutAttr &roattr) const
void RemoveUpdate(RouteUpdate *rt_update)
void AddUpdate(RouteUpdate *rt_update)
std::list< RouteUpdate * > List
void MoveHistory(RouteState *rstate)
const AdvertiseSList & History() const
void SwapHistory(AdvertiseSList &history)
DISALLOW_COPY_AND_ASSIGN(UpdateList)
const List * GetList() const
RouteUpdate * FindUpdate(int queue_id)
AdvertiseSList & History()
const AdvertiseInfo * FindHistory(const RibOutAttr &roattr) const
RouteUpdate * MakeRouteUpdate()
void SetHistory(AdvertiseSList &history)
void swap< UpdateInfo >(UpdateInfo &lhs, UpdateInfo &rhs)
void operator()(UpdateInfo *uinfo)
boost::intrusive::set_member_hook update_node
void swap(UpdateInfo &rhs)
boost::intrusive::slist_member_hook slist_node
DISALLOW_COPY_AND_ASSIGN(UpdateInfo)
UpdateInfo(const RibPeerSet &target)
UpdateInfo(const RibPeerSet &target, RibOutAttr &roattr)