OpenSDN source code
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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_
 
tbb::mutex mutex_
 
TableMap map_
 
PurgeTableStateList purge_list_
 
boost::scoped_ptr< TaskTriggerpurge_trigger_
 

Friends

template<typename U >
class PathResolverTest
 

Detailed Description

Definition at line 156 of file bgp_condition_listener.h.

Member Typedef Documentation

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

Definition at line 161 of file bgp_condition_listener.h.

Constructor & Destructor Documentation

BgpConditionListener::BgpConditionListener ( BgpServer server)
explicit

Definition at line 106 of file bgp_condition_listener.cc.

Member Function Documentation

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

Definition at line 137 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 314 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 199 of file bgp_condition_listener.cc.

Here is the call graph for this function:

void BgpConditionListener::DisableTableWalkProcessing ( )
private

Definition at line 380 of file bgp_condition_listener.cc.

Here is the call graph for this function:

BgpConditionListener::DISALLOW_COPY_AND_ASSIGN ( BgpConditionListener  )
private
void BgpConditionListener::EnableTableWalkProcessing ( )
private

Definition at line 385 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 223 of file bgp_condition_listener.cc.

Here is the call graph for this function:

bool BgpConditionListener::PurgeTableState ( )
private

Definition at line 113 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 168 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 274 of file bgp_condition_listener.cc.

Here is the call graph for this function:

BgpServer* BgpConditionListener::server ( )
inline

Definition at line 197 of file bgp_condition_listener.h.

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

Definition at line 245 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 296 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 366 of file bgp_condition_listener.cc.

Here is the call graph for this function:

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

Definition at line 348 of file bgp_condition_listener.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

template<typename U >
friend class PathResolverTest
friend

Definition at line 202 of file bgp_condition_listener.h.

Member Data Documentation

TableMap BgpConditionListener::map_
private

Definition at line 223 of file bgp_condition_listener.h.

tbb::mutex BgpConditionListener::mutex_
private

Definition at line 222 of file bgp_condition_listener.h.

PurgeTableStateList BgpConditionListener::purge_list_
private

Definition at line 224 of file bgp_condition_listener.h.

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

Definition at line 225 of file bgp_condition_listener.h.

BgpServer* BgpConditionListener::server_
private

Definition at line 221 of file bgp_condition_listener.h.


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