#include <CongestionDB.h>
Inherits MTHashTable< uint64_t, CongestionEntry * >.

| Public Member Functions | |
| CongestionDB (int tablesize) | |
| ~CongestionDB () | |
| bool | congested (uint64_t key) | 
| void | addRecord (uint64_t key, CongestionEntry *pEntry) | 
| void | removeRecord (uint64_t key) | 
| void | removeAllRecords (void) | 
| void | RunTodoList (int buckId) | 
| void | process (int buckId, CongestRequestParam *param) | 
| void | revalidateBucket (int buckId) | 
| Data Fields | |
| InkAtomicList * | todo_lists | 
Definition at line 95 of file CongestionDB.h.
| CongestionDB::CongestionDB | ( | int | tablesize | ) | 
Definition at line 154 of file CongestionDB.cc.
References ink_assert, ink_atomiclist_init(), and todo_lists.
| CongestionDB::~CongestionDB | ( | ) | 
Definition at line 168 of file CongestionDB.cc.
References todo_lists.
| void CongestionDB::addRecord | ( | uint64_t | key, | |
| CongestionEntry * | pEntry | |||
| ) | 
Definition at line 174 of file CongestionDB.cc.
References CongestRequestParamAllocator, CongestionEntry::get(), ink_assert, ink_atomiclist_push(), MTHashTable< key_t, data_t >::insert_entry(), MTHashTable< key_t, data_t >::lock_for_key(), CongestRequestParam::m_key, CongestionEntry::m_key, CongestRequestParam::m_op, CongestRequestParam::m_pEntry, MUTEX_TRY_LOCK, MTHashTable< key_t, data_t >::part_num(), CongestionEntry::put(), RunTodoList(), this_ethread(), and todo_lists.
Referenced by CCCongestionDBTestCont::mainEvent().
| bool CongestionDB::congested | ( | uint64_t | key | ) | 
| void CongestionDB::process | ( | int | buckId, | |
| CongestRequestParam * | param | |||
| ) | 
Definition at line 240 of file CongestionDB.cc.
References CongestRequestParam::ADD_RECORD, MTHashTable< key_t, data_t >::cur_entry(), MTHashTable< key_t, data_t >::first_entry(), ink_assert, MTHashTable< key_t, data_t >::insert_entry(), CongestRequestParam::m_key, CongestRequestParam::m_op, CongestRequestParam::m_pEntry, CongestionEntry::put(), CongestRequestParam::REMOVE_ALL_RECORDS, MTHashTable< key_t, data_t >::remove_entry(), CongestRequestParam::REMOVE_RECORD, CongestRequestParam::REVALIDATE_BUCKET, and revalidateBucket().
Referenced by RunTodoList().
| void CongestionDB::removeAllRecords | ( | void | ) | 
Definition at line 195 of file CongestionDB.cc.
References CongestRequestParamAllocator, MTHashTable< key_t, data_t >::cur_entry(), MTHashTable< key_t, data_t >::first_entry(), ink_atomiclist_push(), MTHashTable< key_t, data_t >::lock_for_key(), CongestRequestParam::m_key, CongestRequestParam::m_op, MUTEX_TRY_LOCK, CongestionEntry::put(), MTHashTable< key_t, data_t >::remove_entry(), RunTodoList(), this_ethread(), and todo_lists.
Referenced by CCCongestionDBTestCont::init(), CCCongestionDBTestCont::mainEvent(), remove_all_congested_entry(), and CCCongestionDBTestCont::~CCCongestionDBTestCont().
| void CongestionDB::removeRecord | ( | uint64_t | key | ) | 
Definition at line 220 of file CongestionDB.cc.
References CongestRequestParamAllocator, ink_atomiclist_push(), MTHashTable< key_t, data_t >::lock_for_key(), CongestRequestParam::m_key, CongestRequestParam::m_op, MUTEX_TRY_LOCK, MTHashTable< key_t, data_t >::part_num(), CongestionEntry::put(), MTHashTable< key_t, data_t >::remove_entry(), RunTodoList(), this_ethread(), and todo_lists.
Referenced by remove_congested_entry().
| void CongestionDB::revalidateBucket | ( | int | buckId | ) | 
Definition at line 297 of file CongestionDB.cc.
References MTHashTable< key_t, data_t >::cur_entry(), MTHashTable< key_t, data_t >::first_entry(), MTHashTable< key_t, data_t >::next_entry(), CongestionEntry::put(), MTHashTable< key_t, data_t >::remove_entry(), and CongestionEntry::validate().
Referenced by process(), and revalidateCongestionDB().
| void CongestionDB::RunTodoList | ( | int | buckId | ) | 
Definition at line 276 of file CongestionDB.cc.
References Free_CongestRequestParam(), ink_atomiclist_popall(), process(), and todo_lists.
Referenced by addRecord(), CongestionDBCont::GC(), get_congest_entry(), CongestionDBCont::get_congest_entry(), CCCongestionDBTestCont::get_congest_list(), get_congest_list(), CongestionDBCont::get_congest_list(), removeAllRecords(), removeRecord(), and revalidateCongestionDB().
Definition at line 107 of file CongestionDB.h.
Referenced by addRecord(), CongestionDB(), removeAllRecords(), removeRecord(), revalidateCongestionDB(), RunTodoList(), and ~CongestionDB().
 1.7.1
 1.7.1