|
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 83 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.