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
123 swap(lhs.roattr, rhs.roattr);
124 swap(lhs.target, rhs.target);
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;
299 #endif // SRC_BGP_BGP_UPDATE_H_
void FlagReset(Flag flag)
RouteUpdate(BgpRoute *route, int queue_id)
RouteUpdate * MakeRouteUpdate()
boost::intrusive::set_member_hook update_node
void set_queue_id(int queue_id)
void SetHistory(AdvertiseSList &history)
void SetUpdateInfo(UpdateInfoSList &uinfo_slist)
void AddUpdate(RouteUpdate *rt_update)
bool RemoveUpdateInfo(UpdateInfo *uinfo)
UpdateEntry(EntryType type)
bool CompareUpdateInfo(const UpdateInfoSList &uinfo_slist) const
boost::intrusive::slist_member_hook slist_node
DISALLOW_COPY_AND_ASSIGN(UpdateEntry)
DISALLOW_COPY_AND_ASSIGN(RouteUpdate)
UpdateInfo(const RibPeerSet &target)
void operator()(UpdateInfo *uinfo)
const UpdateInfoSList & Updates() const
AdvertiseSList & History()
const List * operator->() const
void swap(UpdateInfoSList &uinfo_slist)
DISALLOW_COPY_AND_ASSIGN(UpdateInfo)
void MoveHistory(RouteState *rstate)
const AdvertiseInfo * FindHistory(const RibOutAttr &roattr) const
UpdateInfo * FindUpdateInfo(const RibOutAttr &roattr)
DISALLOW_COPY_AND_ASSIGN(UpdateList)
void BuildNegativeUpdateInfo(UpdateInfoSList &uinfo_slist) const
void SetHistory(AdvertiseSList &history)
void ResetUpdateInfo(const RibPeerSet &peerset)
AdvertiseSList & History()
UpdateInfo(const RibPeerSet &target, RibOutAttr &roattr)
const AdvertiseSList & History() const
void swap< UpdateInfo >(UpdateInfo &lhs, UpdateInfo &rhs)
void MoveHistory(RouteState *rstate)
RouteUpdate * FindUpdate(int queue_id)
DISALLOW_COPY_AND_ASSIGN(UpdateInfoSList)
bool FlagIsSet(Flag flag) const
const List * GetList() const
boost::intrusive::slist< UpdateInfo, Node, boost::intrusive::linear< true > > List
void swap(UpdateInfo &rhs)
void UpdateHistory(RibOut *ribout, const RibOutAttr *roattr, const RibPeerSet &bits)
boost::intrusive::list_member_hook list_node
void SwapHistory(AdvertiseSList &history)
void TrimRedundantUpdateInfo(UpdateInfoSList &uinfo_slist) const
bool IsAdvertised() const
const UpdateInfo * FindUpdateInfo(const RibOutAttr &roattr) const
void set_tstamp(uint64_t tstamp)
void RemoveUpdate(RouteUpdate *rt_update)
UpdateList * GetUpdateList(RibOut *ribout)
void SwapHistory(AdvertiseSList &history)
UpdateList * MakeUpdateList()
const AdvertiseInfo * FindHistory(const RibOutAttr &roattr) const
void swap(AdvertiseSList &adv_slist)
const AdvertiseSList & History() const
void MergeUpdateInfo(UpdateInfoSList &uinfo_slist)
UpdateInfoSList & Updates()
std::list< RouteUpdate * > List
boost::intrusive::member_hook< UpdateInfo, boost::intrusive::slist_member_hook<>,&UpdateInfo::slist_node > Node