OpenSDN source code
|
#include <flowtable_ksync.h>
Public Types | |
typedef boost::intrusive::member_hook < FlowTableKSyncEntry, boost::intrusive::list_member_hook <>,&FlowTableKSyncEntry::free_list_node_ > | Node |
typedef boost::intrusive::list < FlowTableKSyncEntry, Node > | FreeList |
Public Member Functions | |
KSyncFlowEntryFreeList (FlowTableKSyncObject *object) | |
KSyncFlowEntryFreeList (FlowTableKSyncObject *object, FlowEntry *flow, uint32_t hash_id) | |
virtual | ~KSyncFlowEntryFreeList () |
void | Reset () |
void | Reset (FlowEntryPtr fe, uint32_t hash_id) |
FlowTableKSyncEntry * | Allocate (const KSyncEntry *key) |
void | Free (FlowTableKSyncEntry *flow) |
void | Grow () |
uint32_t | max_count () const |
uint32_t | free_count () const |
uint32_t | alloc_count () const |
uint32_t | total_alloc () const |
uint32_t | total_free () const |
Static Public Attributes | |
static const uint32_t | kInitCount = (25 * 1000) |
static const uint32_t | kTestInitCount = (5 * 1000) |
static const uint32_t | kGrowSize = (1 * 1000) |
static const uint32_t | kMinThreshold = (4 * 1000) |
static const uint32_t | kMaxThreshold = (100 * 1000) |
Private Member Functions | |
DISALLOW_COPY_AND_ASSIGN (KSyncFlowEntryFreeList) | |
Private Attributes | |
FlowTableKSyncObject * | object_ |
uint32_t | max_count_ |
bool | grow_pending_ |
uint64_t | total_alloc_ |
uint64_t | total_free_ |
FreeList | free_list_ |
Definition at line 172 of file flowtable_ksync.h.
typedef boost::intrusive::list<FlowTableKSyncEntry, Node> KSyncFlowEntryFreeList::FreeList |
Definition at line 183 of file flowtable_ksync.h.
typedef boost::intrusive::member_hook<FlowTableKSyncEntry, boost::intrusive::list_member_hook<>, &FlowTableKSyncEntry::free_list_node_> KSyncFlowEntryFreeList::Node |
Definition at line 182 of file flowtable_ksync.h.
KSyncFlowEntryFreeList::KSyncFlowEntryFreeList | ( | FlowTableKSyncObject * | object | ) |
KSyncFlowEntryFreeList::KSyncFlowEntryFreeList | ( | FlowTableKSyncObject * | object, |
FlowEntry * | flow, | ||
uint32_t | hash_id | ||
) |
|
virtual |
Definition at line 746 of file flowtable_ksync.cc.
|
inline |
Definition at line 198 of file flowtable_ksync.h.
FlowTableKSyncEntry * KSyncFlowEntryFreeList::Allocate | ( | const KSyncEntry * | key | ) |
|
private |
void KSyncFlowEntryFreeList::Free | ( | FlowTableKSyncEntry * | flow | ) |
|
inline |
Definition at line 197 of file flowtable_ksync.h.
void KSyncFlowEntryFreeList::Grow | ( | ) |
Definition at line 756 of file flowtable_ksync.cc.
|
inline |
Definition at line 196 of file flowtable_ksync.h.
void KSyncFlowEntryFreeList::Reset | ( | ) |
void KSyncFlowEntryFreeList::Reset | ( | FlowEntryPtr | fe, |
uint32_t | hash_id | ||
) |
|
inline |
Definition at line 199 of file flowtable_ksync.h.
|
inline |
Definition at line 200 of file flowtable_ksync.h.
|
private |
Definition at line 208 of file flowtable_ksync.h.
|
private |
Definition at line 205 of file flowtable_ksync.h.
|
static |
Definition at line 176 of file flowtable_ksync.h.
|
static |
Definition at line 174 of file flowtable_ksync.h.
|
static |
Definition at line 178 of file flowtable_ksync.h.
|
static |
Definition at line 177 of file flowtable_ksync.h.
|
static |
Definition at line 175 of file flowtable_ksync.h.
|
private |
Definition at line 204 of file flowtable_ksync.h.
|
private |
Definition at line 203 of file flowtable_ksync.h.
|
private |
Definition at line 206 of file flowtable_ksync.h.
|
private |
Definition at line 207 of file flowtable_ksync.h.