OpenSDN source code
BgpConditionListener Class Reference

#include <bgp_condition_listener.h>

Collaboration diagram for BgpConditionListener:

Public Types

typedef std::map< BgpTable *, ConditionMatchTableState * > TableMap
 
typedef boost::function< void(BgpTable *, ConditionMatch *)> RequestDoneCb
 

Public Member Functions

 BgpConditionListener (BgpServer *server)
 
void AddMatchCondition (BgpTable *table, ConditionMatch *obj, RequestDoneCb addDoneCb)
 
void RemoveMatchCondition (BgpTable *table, ConditionMatch *obj, RequestDoneCb deleteDonecb)
 
ConditionMatchStateGetMatchState (BgpTable *table, BgpRoute *route, ConditionMatch *obj)
 
bool CheckMatchState (BgpTable *table, BgpRoute *route, ConditionMatch *obj)
 
void SetMatchState (BgpTable *table, BgpRoute *route, ConditionMatch *obj, ConditionMatchState *state=NULL)
 
void RemoveMatchState (BgpTable *table, BgpRoute *route, ConditionMatch *obj)
 
void UnregisterMatchCondition (BgpTable *table, ConditionMatch *obj)
 
BgpServerserver ()
 

Private Types

typedef std::set< ConditionMatchTableState * > PurgeTableStateList
 

Private Member Functions

bool BgpRouteNotify (BgpServer *server, DBTablePartBase *root, DBEntryBase *entry)
 
void TableWalk (ConditionMatchTableState *ts, ConditionMatch *obj, RequestDoneCb cb)
 
bool PurgeTableState ()
 
void WalkDone (ConditionMatchTableState *ts, DBTableBase *table)
 
void DisableTableWalkProcessing ()
 
void EnableTableWalkProcessing ()
 
 DISALLOW_COPY_AND_ASSIGN (BgpConditionListener)
 

Private Attributes

BgpServerserver_
 
std::mutex mutex_
 
TableMap map_
 
PurgeTableStateList purge_list_
 
boost::scoped_ptr< TaskTriggerpurge_trigger_
 

Friends

template<typename U >
class PathResolverTest
 

Detailed Description

Definition at line 157 of file bgp_condition_listener.h.

Member Typedef Documentation

◆ PurgeTableStateList

◆ RequestDoneCb

typedef boost::function<void(BgpTable *, ConditionMatch *)> BgpConditionListener::RequestDoneCb

Definition at line 162 of file bgp_condition_listener.h.

◆ TableMap

Constructor & Destructor Documentation

◆ BgpConditionListener()

BgpConditionListener::BgpConditionListener ( BgpServer server)
explicit

Definition at line 107 of file bgp_condition_listener.cc.

Member Function Documentation

◆ AddMatchCondition()

void BgpConditionListener::AddMatchCondition ( BgpTable table,
ConditionMatch obj,
RequestDoneCb  addDoneCb 
)

Definition at line 138 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ BgpRouteNotify()

bool BgpConditionListener::BgpRouteNotify ( BgpServer server,
DBTablePartBase root,
DBEntryBase entry 
)
private

Definition at line 315 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ CheckMatchState()

bool BgpConditionListener::CheckMatchState ( BgpTable table,
BgpRoute route,
ConditionMatch obj 
)

Definition at line 200 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ DisableTableWalkProcessing()

void BgpConditionListener::DisableTableWalkProcessing ( )
private

Definition at line 381 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ DISALLOW_COPY_AND_ASSIGN()

BgpConditionListener::DISALLOW_COPY_AND_ASSIGN ( BgpConditionListener  )
private

◆ EnableTableWalkProcessing()

void BgpConditionListener::EnableTableWalkProcessing ( )
private

Definition at line 386 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ GetMatchState()

ConditionMatchState * BgpConditionListener::GetMatchState ( BgpTable table,
BgpRoute route,
ConditionMatch obj 
)

Definition at line 224 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ PurgeTableState()

bool BgpConditionListener::PurgeTableState ( )
private

Definition at line 114 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ RemoveMatchCondition()

void BgpConditionListener::RemoveMatchCondition ( BgpTable table,
ConditionMatch obj,
RequestDoneCb  deleteDonecb 
)

Definition at line 169 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ RemoveMatchState()

void BgpConditionListener::RemoveMatchState ( BgpTable table,
BgpRoute route,
ConditionMatch obj 
)

Definition at line 275 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ server()

BgpServer* BgpConditionListener::server ( )
inline

Definition at line 198 of file bgp_condition_listener.h.

◆ SetMatchState()

void BgpConditionListener::SetMatchState ( BgpTable table,
BgpRoute route,
ConditionMatch obj,
ConditionMatchState state = NULL 
)

Definition at line 246 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ TableWalk()

void BgpConditionListener::TableWalk ( ConditionMatchTableState ts,
ConditionMatch obj,
BgpConditionListener::RequestDoneCb  cb 
)
private

Definition at line 297 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ UnregisterMatchCondition()

void BgpConditionListener::UnregisterMatchCondition ( BgpTable table,
ConditionMatch obj 
)

Definition at line 367 of file bgp_condition_listener.cc.

Here is the call graph for this function:

◆ WalkDone()

void BgpConditionListener::WalkDone ( ConditionMatchTableState ts,
DBTableBase table 
)
private

Definition at line 349 of file bgp_condition_listener.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ PathResolverTest

template<typename U >
friend class PathResolverTest
friend

Definition at line 203 of file bgp_condition_listener.h.

Member Data Documentation

◆ map_

TableMap BgpConditionListener::map_
private

Definition at line 224 of file bgp_condition_listener.h.

◆ mutex_

std::mutex BgpConditionListener::mutex_
private

Definition at line 223 of file bgp_condition_listener.h.

◆ purge_list_

PurgeTableStateList BgpConditionListener::purge_list_
private

Definition at line 225 of file bgp_condition_listener.h.

◆ purge_trigger_

boost::scoped_ptr<TaskTrigger> BgpConditionListener::purge_trigger_
private

Definition at line 226 of file bgp_condition_listener.h.

◆ server_

BgpServer* BgpConditionListener::server_
private

Definition at line 222 of file bgp_condition_listener.h.


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