16 for (List::const_iterator iter =
list_.begin();
17 iter !=
list_.end(); ++iter) {
18 if (iter->roattr == roattr)
return iter.operator->();
71 for (UpdateInfoSList::List::iterator iter =
updates_->begin();
73 if (iter->roattr == roattr)
return iter.operator->();
83 for (UpdateInfoSList::List::const_iterator iter =
updates_->begin();
85 if (iter->roattr == roattr)
return iter.operator->();
95 for (UpdateInfoSList::List::iterator iter =
updates_->begin();
97 iter->target.Reset(peerset);
98 if (iter->target.empty()) {
125 if (uinfo_slist->empty() &&
128 for (AdvertiseSList::List::const_iterator iter =
history_->begin();
130 if (!withdraw_peerset.
Contains(iter->bitset))
141 for (AdvertiseSList::List::const_iterator iter =
history_->begin();
143 old_peerset.
Set(iter->bitset);
145 for (UpdateInfoSList::List::const_iterator iter = uinfo_slist->begin();
146 iter != uinfo_slist->end(); ++iter) {
147 new_peerset.
Set(iter->target);
149 if (!new_peerset.
Contains(old_peerset))
157 for (UpdateInfoSList::List::const_iterator iter = uinfo_slist->begin();
158 iter != uinfo_slist->end(); ++iter) {
166 if (iter->target != attr_peerset)
175 for (UpdateInfoSList::List::const_iterator iter =
updates_->begin();
192 for (UpdateInfoSList::List::iterator iter = uinfo_slist->begin();
193 iter != uinfo_slist->end(); ) {
196 uinfo->
target |= iter->target;
201 iter = uinfo_slist->erase(iter);
222 for (AdvertiseSList::List::const_iterator iter =
history_->begin();
224 peerset.
Set(iter->bitset);
228 for (UpdateInfoSList::List::const_iterator iter = uinfo_slist->begin();
229 iter != uinfo_slist->end(); ++iter) {
230 peerset.
Reset(iter->target);
234 if (!peerset.
empty()) {
236 uinfo_slist->push_front(*uinfo);
250 for (AdvertiseSList::List::const_iterator iter =
history_->begin();
254 for (UpdateInfoSList::List::iterator iter = uinfo_slist->begin();
255 iter != uinfo_slist->end(); ++iter) {
257 if (iter->roattr != ainfo->
roattr)
263 iter->target.Reset(ainfo->
bitset);
264 if (iter->target.empty()) {
307 for (AdvertiseSList::List::const_iterator iter =
history_->begin();
309 if (iter->roattr == roattr)
return iter.operator->();
333 for (AdvertiseSList::List::iterator iter = adv_slist->begin();
334 iter != adv_slist->end(); ) {
337 if (iter->roattr == *roattr) {
338 assert(ainfo == NULL);
339 ainfo = iter.operator->();
350 if (iter->bitset.empty()) {
351 AdvertiseSList::List::iterator prev_iter = iter++;
363 adv_slist->push_front(*ainfo);
367 assert(ainfo == NULL);
377 for (AdvertiseSList::List::const_iterator iter =
history_->begin();
379 if (iter->roattr.IsReachable()) {
446 for (AdvertiseSList::List::const_iterator iter =
history_->begin();
448 if (iter->roattr == roattr)
return iter.operator->();
460 list_.push_back(rt_update);
470 list_.remove(rt_update);
477 for (List::iterator iter =
list_.begin(); iter !=
list_.end(); ++iter) {
478 if ((*iter)->queue_id() == queue_id)
494 assert(
list_.size() != 0);
496 if (
list_.size() > 1)
void swap(AdvertiseSList &adv_slist)
void Set(const BitSet &rhs)
void Reset(const BitSet &rhs)
bool Contains(const BitSet &rhs) const
DBState * GetState(DBTableBase *tbl_base, ListenerId listener) const
DBTableBase::ListenerId listener_id() const
void SwapHistory(AdvertiseSList &history)
bool CompareUpdateInfo(const UpdateInfoSList &uinfo_slist) const
UpdateInfo * FindUpdateInfo(const RibOutAttr &roattr)
void SwapHistory(AdvertiseSList &history)
bool FlagIsSet(Flag flag) const
void BuildNegativeUpdateInfo(UpdateInfoSList &uinfo_slist) const
RouteUpdate(BgpRoute *route, int queue_id)
UpdateList * GetUpdateList(RibOut *ribout)
void ResetUpdateInfo(const RibPeerSet &peerset)
bool IsAdvertised() const
void MoveHistory(RouteState *rstate)
bool RemoveUpdateInfo(UpdateInfo *uinfo)
void TrimRedundantUpdateInfo(UpdateInfoSList &uinfo_slist) const
void SetUpdateInfo(UpdateInfoSList &uinfo_slist)
void UpdateHistory(RibOut *ribout, const RibOutAttr *roattr, const RibPeerSet &bits)
UpdateList * MakeUpdateList()
void SetHistory(AdvertiseSList &history)
const AdvertiseInfo * FindHistory(const RibOutAttr &roattr) const
void MergeUpdateInfo(UpdateInfoSList &uinfo_slist)
void swap(UpdateInfoSList &uinfo_slist)
const UpdateInfo * FindUpdateInfo(const RibOutAttr &roattr) const
void RemoveUpdate(RouteUpdate *rt_update)
void AddUpdate(RouteUpdate *rt_update)
void MoveHistory(RouteState *rstate)
void SwapHistory(AdvertiseSList &history)
RouteUpdate * FindUpdate(int queue_id)
AdvertiseSList & History()
const AdvertiseInfo * FindHistory(const RibOutAttr &roattr) const
RouteUpdate * MakeRouteUpdate()
void SetHistory(AdvertiseSList &history)