OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RouteUpdate Class Reference

#include <bgp_update.h>

Inheritance diagram for RouteUpdate:
Collaboration diagram for RouteUpdate:

Public Types

enum  Flag { F_LIST = 0 }
 
- Public Types inherited from UpdateEntry
enum  EntryType { UPDATE = 1, MARKER }
 

Public Member Functions

 RouteUpdate (BgpRoute *route, int queue_id)
 
 ~RouteUpdate ()
 
void SetUpdateInfo (UpdateInfoSList &uinfo_slist)
 
void BuildNegativeUpdateInfo (UpdateInfoSList &uinfo_slist) const
 
void ClearUpdateInfo ()
 
bool CompareUpdateInfo (const UpdateInfoSList &uinfo_slist) const
 
UpdateInfoFindUpdateInfo (const RibOutAttr &roattr)
 
const UpdateInfoFindUpdateInfo (const RibOutAttr &roattr) const
 
void MergeUpdateInfo (UpdateInfoSList &uinfo_slist)
 
bool RemoveUpdateInfo (UpdateInfo *uinfo)
 
void ResetUpdateInfo (const RibPeerSet &peerset)
 
void TrimRedundantUpdateInfo (UpdateInfoSList &uinfo_slist) const
 
void SetHistory (AdvertiseSList &history)
 
void ClearHistory ()
 
void SwapHistory (AdvertiseSList &history)
 
void MoveHistory (RouteState *rstate)
 
void UpdateHistory (RibOut *ribout, const RibOutAttr *roattr, const RibPeerSet &bits)
 
const AdvertiseInfoFindHistory (const RibOutAttr &roattr) const
 
AdvertiseSListHistory ()
 
const AdvertiseSListHistory () const
 
UpdateInfoSListUpdates ()
 
const UpdateInfoSListUpdates () const
 
bool IsAdvertised () const
 
bool OnUpdateList ()
 
UpdateListMakeUpdateList ()
 
UpdateListGetUpdateList (RibOut *ribout)
 
void set_update_list ()
 
void clear_update_list ()
 
BgpRouteroute ()
 
int queue_id () const
 
void set_queue_id (int queue_id)
 
uint64_t tstamp () const
 
void set_tstamp (uint64_t tstamp)
 
bool empty () const
 
- Public Member Functions inherited from DBState
virtual ~DBState ()
 
- Public Member Functions inherited from UpdateEntry
 UpdateEntry (EntryType type)
 
bool IsMarker ()
 
bool IsUpdate ()
 

Private Member Functions

bool FlagIsSet (Flag flag) const
 
void FlagSet (Flag flag)
 
void FlagReset (Flag flag)
 
 DISALLOW_COPY_AND_ASSIGN (RouteUpdate)
 

Private Attributes

BgpRouteroute_
 
int8_t queue_id_
 
int8_t flags_
 
AdvertiseSList history_
 
UpdateInfoSList updates_
 
uint64_t tstamp_
 

Friends

class RibUpdateMonitor
 

Additional Inherited Members

- Public Attributes inherited from UpdateEntry
boost::intrusive::list_member_hook list_node
 

Detailed Description

Definition at line 183 of file bgp_update.h.

Member Enumeration Documentation

Enumerator
F_LIST 

Definition at line 185 of file bgp_update.h.

Constructor & Destructor Documentation

RouteUpdate::RouteUpdate ( BgpRoute route,
int  queue_id 
)

Definition at line 22 of file bgp_update.cc.

RouteUpdate::~RouteUpdate ( )

Definition at line 29 of file bgp_update.cc.

Here is the call graph for this function:

Member Function Documentation

void RouteUpdate::BuildNegativeUpdateInfo ( UpdateInfoSList uinfo_slist) const

Definition at line 217 of file bgp_update.cc.

Here is the call graph for this function:

void RouteUpdate::clear_update_list ( )
inline

Definition at line 225 of file bgp_update.h.

Here is the call graph for this function:

void RouteUpdate::ClearHistory ( )

Definition at line 289 of file bgp_update.cc.

void RouteUpdate::ClearUpdateInfo ( )

Definition at line 50 of file bgp_update.cc.

bool RouteUpdate::CompareUpdateInfo ( const UpdateInfoSList uinfo_slist) const

Definition at line 116 of file bgp_update.cc.

Here is the call graph for this function:

RouteUpdate::DISALLOW_COPY_AND_ASSIGN ( RouteUpdate  )
private
bool RouteUpdate::empty ( ) const
inline

Definition at line 235 of file bgp_update.h.

const AdvertiseInfo * RouteUpdate::FindHistory ( const RibOutAttr roattr) const

Definition at line 305 of file bgp_update.cc.

UpdateInfo * RouteUpdate::FindUpdateInfo ( const RibOutAttr roattr)

Definition at line 69 of file bgp_update.cc.

const UpdateInfo * RouteUpdate::FindUpdateInfo ( const RibOutAttr roattr) const

Definition at line 81 of file bgp_update.cc.

bool RouteUpdate::FlagIsSet ( Flag  flag) const
inlineprivate

Definition at line 240 of file bgp_update.h.

void RouteUpdate::FlagReset ( Flag  flag)
inlineprivate

Definition at line 242 of file bgp_update.h.

void RouteUpdate::FlagSet ( Flag  flag)
inlineprivate

Definition at line 241 of file bgp_update.h.

UpdateList * RouteUpdate::GetUpdateList ( RibOut ribout)

Definition at line 405 of file bgp_update.cc.

Here is the call graph for this function:

AdvertiseSList& RouteUpdate::History ( )
inline

Definition at line 211 of file bgp_update.h.

const AdvertiseSList& RouteUpdate::History ( ) const
inline

Definition at line 212 of file bgp_update.h.

bool RouteUpdate::IsAdvertised ( ) const

Definition at line 375 of file bgp_update.cc.

UpdateList * RouteUpdate::MakeUpdateList ( )

Definition at line 392 of file bgp_update.cc.

Here is the call graph for this function:

void RouteUpdate::MergeUpdateInfo ( UpdateInfoSList uinfo_slist)

Definition at line 190 of file bgp_update.cc.

Here is the call graph for this function:

void RouteUpdate::MoveHistory ( RouteState rstate)

Definition at line 296 of file bgp_update.cc.

Here is the call graph for this function:

bool RouteUpdate::OnUpdateList ( )
inline

Definition at line 220 of file bgp_update.h.

Here is the call graph for this function:

int RouteUpdate::queue_id ( ) const
inline

Definition at line 229 of file bgp_update.h.

bool RouteUpdate::RemoveUpdateInfo ( UpdateInfo uinfo)

Definition at line 60 of file bgp_update.cc.

void RouteUpdate::ResetUpdateInfo ( const RibPeerSet peerset)

Definition at line 93 of file bgp_update.cc.

BgpRoute* RouteUpdate::route ( )
inline

Definition at line 227 of file bgp_update.h.

void RouteUpdate::set_queue_id ( int  queue_id)
inline

Definition at line 230 of file bgp_update.h.

Here is the call graph for this function:

void RouteUpdate::set_tstamp ( uint64_t  tstamp)
inline

Definition at line 233 of file bgp_update.h.

Here is the call graph for this function:

void RouteUpdate::set_update_list ( )
inline

Definition at line 224 of file bgp_update.h.

Here is the call graph for this function:

void RouteUpdate::SetHistory ( AdvertiseSList history)

Definition at line 280 of file bgp_update.cc.

Here is the call graph for this function:

void RouteUpdate::SetUpdateInfo ( UpdateInfoSList uinfo_slist)

Definition at line 41 of file bgp_update.cc.

Here is the call graph for this function:

void RouteUpdate::SwapHistory ( AdvertiseSList history)
inline

Definition at line 205 of file bgp_update.h.

Here is the call graph for this function:

void RouteUpdate::TrimRedundantUpdateInfo ( UpdateInfoSList uinfo_slist) const

Definition at line 248 of file bgp_update.cc.

uint64_t RouteUpdate::tstamp ( ) const
inline

Definition at line 232 of file bgp_update.h.

void RouteUpdate::UpdateHistory ( RibOut ribout,
const RibOutAttr roattr,
const RibPeerSet bits 
)

Definition at line 319 of file bgp_update.cc.

Here is the call graph for this function:

UpdateInfoSList& RouteUpdate::Updates ( )
inline

Definition at line 214 of file bgp_update.h.

const UpdateInfoSList& RouteUpdate::Updates ( ) const
inline

Definition at line 215 of file bgp_update.h.

Friends And Related Function Documentation

friend class RibUpdateMonitor
friend

Definition at line 238 of file bgp_update.h.

Member Data Documentation

int8_t RouteUpdate::flags_
private

Definition at line 246 of file bgp_update.h.

AdvertiseSList RouteUpdate::history_
private

Definition at line 247 of file bgp_update.h.

int8_t RouteUpdate::queue_id_
private

Definition at line 245 of file bgp_update.h.

BgpRoute* RouteUpdate::route_
private

Definition at line 244 of file bgp_update.h.

uint64_t RouteUpdate::tstamp_
private

Definition at line 249 of file bgp_update.h.

UpdateInfoSList RouteUpdate::updates_
private

Definition at line 248 of file bgp_update.h.


The documentation for this class was generated from the following files: