OpenSDN source code
|
#include <db_table_walker.h>
Classes | |
class | Walker |
class | Worker |
Public Types | |
typedef boost::function< bool(DBTablePartBase *, DBEntryBase *)> | WalkFn |
typedef boost::function< void(DBTableBase *)> | WalkCompleteFn |
typedef int | WalkId |
Public Member Functions | |
DBTableWalker (int task_id=-1) | |
WalkId | WalkTable (DBTable *table, const DBRequestKey *key_start, WalkFn walker, WalkCompleteFn walk_complete, bool postpone_walk=false) |
void | WalkCancel (WalkId id) |
void | WalkResume (WalkId id) |
int | task_id () const |
Static Public Member Functions | |
static void | SetIterationToYield (int count) |
Static Public Attributes | |
static const int | kIterationToYield = 1024 |
static const WalkId | kInvalidWalkerId = -1 |
Private Types | |
typedef std::vector< Walker * > | WalkerList |
typedef boost::dynamic_bitset | WalkerMap |
Private Member Functions | |
void | PurgeWalker (WalkId id) |
Static Private Member Functions | |
static int | GetIterationToYield () |
Private Attributes | |
int | task_id_ |
tbb::mutex | walkers_mutex_ |
WalkerList | walkers_ |
WalkerMap | walker_map_ |
Static Private Attributes | |
static int | max_iteration_to_yield_ = kIterationToYield |
Definition at line 18 of file db_table_walker.h.
typedef boost::function<void(DBTableBase *)> DBTableWalker::WalkCompleteFn |
Definition at line 29 of file db_table_walker.h.
|
private |
Definition at line 81 of file db_table_walker.h.
|
private |
Definition at line 84 of file db_table_walker.h.
typedef boost::function<bool(DBTablePartBase *, DBEntryBase *)> DBTableWalker::WalkFn |
Definition at line 26 of file db_table_walker.h.
typedef int DBTableWalker::WalkId |
Definition at line 31 of file db_table_walker.h.
DBTableWalker::DBTableWalker | ( | int | task_id = -1 | ) |
|
inlinestaticprivate |
Definition at line 59 of file db_table_walker.h.
|
private |
|
inlinestatic |
Definition at line 52 of file db_table_walker.h.
|
inline |
Definition at line 50 of file db_table_walker.h.
void DBTableWalker::WalkCancel | ( | WalkId | id | ) |
Definition at line 234 of file db_table_walker.cc.
void DBTableWalker::WalkResume | ( | WalkId | id | ) |
Definition at line 240 of file db_table_walker.cc.
DBTableWalker::WalkId DBTableWalker::WalkTable | ( | DBTable * | table, |
const DBRequestKey * | key_start, | ||
WalkFn | walker, | ||
WalkCompleteFn | walk_complete, | ||
bool | postpone_walk = false |
||
) |
|
static |
Definition at line 34 of file db_table_walker.h.
|
static |
Definition at line 33 of file db_table_walker.h.
|
staticprivate |
Definition at line 57 of file db_table_walker.h.
|
private |
Definition at line 90 of file db_table_walker.h.
|
private |
Definition at line 93 of file db_table_walker.h.
|
private |
Definition at line 92 of file db_table_walker.h.
|
private |
Definition at line 91 of file db_table_walker.h.