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

#include <db_table_walk_mgr.h>

Collaboration diagram for DBTableWalkMgr:

Classes

struct  WalkRequestCompare
 
struct  WalkRequestInfo
 

Public Member Functions

 DBTableWalkMgr ()
 
void DisableWalkProcessing ()
 
void EnableWalkProcessing ()
 
void DisableWalkDoneTrigger ()
 
void EnableWalkDoneTrigger ()
 

Private Types

typedef std::set
< DBTable::DBTableWalkRef
WalkReqList
 
typedef boost::shared_ptr
< WalkRequestInfo
WalkRequestInfoPtr
 
typedef std::list
< WalkRequestInfoPtr
WalkRequestInfoList
 
typedef std::set
< WalkRequestInfo
*, WalkRequestCompare
WalkRequestInfoSet
 

Private Member Functions

DBTable::DBTableWalkRef AllocWalker (DBTable *table, DBTable::WalkFn walk_fn, DBTable::WalkCompleteFn walk_complete)
 
void ReleaseWalker (DBTable::DBTableWalkRef &walk)
 
void WalkTable (DBTable::DBTableWalkRef walk)
 
void WalkDone ()
 
void WalkAgain (DBTable::DBTableWalkRef walk)
 
bool ProcessWalkRequestList ()
 
bool ProcessWalkDone ()
 
bool InvokeWalkCb (DBTablePartBase *part, DBEntryBase *entry)
 
 DISALLOW_COPY_AND_ASSIGN (DBTableWalkMgr)
 

Private Attributes

boost::scoped_ptr< TaskTriggerwalk_request_trigger_
 
boost::scoped_ptr< TaskTriggerwalk_done_trigger_
 
tbb::mutex mutex_
 
WalkRequestInfoList walk_request_list_
 
WalkRequestInfoSet walk_request_set_
 
WalkReqList current_table_walk_
 

Friends

class DBTable
 

Detailed Description

Definition at line 104 of file db_table_walk_mgr.h.

Member Typedef Documentation

Definition at line 126 of file db_table_walk_mgr.h.

Definition at line 154 of file db_table_walk_mgr.h.

typedef boost::shared_ptr<WalkRequestInfo> DBTableWalkMgr::WalkRequestInfoPtr
private

Definition at line 153 of file db_table_walk_mgr.h.

Definition at line 155 of file db_table_walk_mgr.h.

Constructor & Destructor Documentation

DBTableWalkMgr::DBTableWalkMgr ( )

Definition at line 20 of file db_table_walk_mgr.cc.

Member Function Documentation

DBTable::DBTableWalkRef DBTableWalkMgr::AllocWalker ( DBTable table,
DBTable::WalkFn  walk_fn,
DBTable::WalkCompleteFn  walk_complete 
)
private

Definition at line 74 of file db_table_walk_mgr.cc.

Here is the call graph for this function:

void DBTableWalkMgr::DisableWalkDoneTrigger ( )
inline

Definition at line 116 of file db_table_walk_mgr.h.

void DBTableWalkMgr::DisableWalkProcessing ( )
inline

Definition at line 108 of file db_table_walk_mgr.h.

DBTableWalkMgr::DISALLOW_COPY_AND_ASSIGN ( DBTableWalkMgr  )
private
void DBTableWalkMgr::EnableWalkDoneTrigger ( )
inline

Definition at line 120 of file db_table_walk_mgr.h.

void DBTableWalkMgr::EnableWalkProcessing ( )
inline

Definition at line 112 of file db_table_walk_mgr.h.

bool DBTableWalkMgr::InvokeWalkCb ( DBTablePartBase part,
DBEntryBase entry 
)
private

Definition at line 120 of file db_table_walk_mgr.cc.

bool DBTableWalkMgr::ProcessWalkDone ( )
private

Definition at line 58 of file db_table_walk_mgr.cc.

bool DBTableWalkMgr::ProcessWalkRequestList ( )
private

Definition at line 29 of file db_table_walk_mgr.cc.

Here is the call graph for this function:

void DBTableWalkMgr::ReleaseWalker ( DBTable::DBTableWalkRef walk)
private

Definition at line 81 of file db_table_walk_mgr.cc.

void DBTableWalkMgr::WalkAgain ( DBTable::DBTableWalkRef  walk)
private

Definition at line 86 of file db_table_walk_mgr.cc.

Here is the call graph for this function:

void DBTableWalkMgr::WalkDone ( )
private

Definition at line 116 of file db_table_walk_mgr.cc.

void DBTableWalkMgr::WalkTable ( DBTable::DBTableWalkRef  walk)
private

Definition at line 90 of file db_table_walk_mgr.cc.

Here is the call graph for this function:

Friends And Related Function Documentation

friend class DBTable
friend

Definition at line 125 of file db_table_walk_mgr.h.

Member Data Documentation

WalkReqList DBTableWalkMgr::current_table_walk_
private

Definition at line 188 of file db_table_walk_mgr.h.

tbb::mutex DBTableWalkMgr::mutex_
private

Definition at line 184 of file db_table_walk_mgr.h.

boost::scoped_ptr<TaskTrigger> DBTableWalkMgr::walk_done_trigger_
private

Definition at line 180 of file db_table_walk_mgr.h.

WalkRequestInfoList DBTableWalkMgr::walk_request_list_
private

Definition at line 185 of file db_table_walk_mgr.h.

WalkRequestInfoSet DBTableWalkMgr::walk_request_set_
private

Definition at line 186 of file db_table_walk_mgr.h.

boost::scoped_ptr<TaskTrigger> DBTableWalkMgr::walk_request_trigger_
private

Definition at line 179 of file db_table_walk_mgr.h.


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