5 #ifndef ctrlplane_db_table_walk_mgr_h
6 #define ctrlplane_db_table_walk_mgr_h
11 #include <boost/assign.hpp>
12 #include <boost/function.hpp>
13 #include <boost/scoped_ptr.hpp>
14 #include <boost/shared_ptr.hpp>
16 #include <tbb/mutex.h>
void DisableWalkProcessing()
WalkRequestInfo(DBTable *table)
void EnableWalkProcessing()
bool ProcessWalkRequestList()
void EnableWalkDoneTrigger()
WalkRequestInfoSet walk_request_set_
DBTable::DBTableWalkRef AllocWalker(DBTable *table, DBTable::WalkFn walk_fn, DBTable::WalkCompleteFn walk_complete)
void WalkTable(DBTable::DBTableWalkRef walk)
boost::function< void(DBTableWalkRef, DBTableBase *)> WalkCompleteFn
void AppendWalkReq(DBTable::DBTableWalkRef ref)
void ReleaseWalker(DBTable::DBTableWalkRef &walk)
std::set< WalkRequestInfo *, WalkRequestCompare > WalkRequestInfoSet
DISALLOW_COPY_AND_ASSIGN(DBTableWalkMgr)
boost::scoped_ptr< TaskTrigger > walk_done_trigger_
void WalkAgain(DBTable::DBTableWalkRef walk)
void DeleteWalkReq(DBTable::DBTableWalkRef ref)
WalkRequestInfoList walk_request_list_
boost::shared_ptr< WalkRequestInfo > WalkRequestInfoPtr
boost::function< bool(DBTablePartBase *, DBEntryBase *)> WalkFn
bool InvokeWalkCb(DBTablePartBase *part, DBEntryBase *entry)
std::list< WalkRequestInfoPtr > WalkRequestInfoList
boost::scoped_ptr< TaskTrigger > walk_request_trigger_
WalkReqList pending_requests
boost::intrusive_ptr< DBTableWalk > DBTableWalkRef
bool operator()(const WalkRequestInfo *lhs, const WalkRequestInfo *rhs) const
void DisableWalkDoneTrigger()
std::set< DBTable::DBTableWalkRef > WalkReqList
WalkReqList current_table_walk_