Data Structures | |
struct | Entry |
Public Types | |
enum | { MAX_TABLE_ENTRIES = 256, SCAN_INTERVAL = 10 } |
Public Member Functions | |
ClusterVConnectionCache () | |
void | init () |
int | MD5ToIndex (INK_MD5 *p) |
int | insert (INK_MD5 *, ClusterVConnection *) |
ClusterVConnection * | lookup (INK_MD5 *) |
Data Fields | |
Queue< Entry > | hash_table [MAX_TABLE_ENTRIES] |
Ptr< ProxyMutex > | hash_lock [MAX_TABLE_ENTRIES] |
Event * | hash_event [MAX_TABLE_ENTRIES] |
Definition at line 165 of file ClusterCache.cc.
anonymous enum |
Definition at line 193 of file ClusterCache.cc.
ClusterVConnectionCache::ClusterVConnectionCache | ( | ) | [inline] |
Definition at line 168 of file ClusterCache.cc.
References hash_event.
void ClusterVConnectionCache::init | ( | ) |
Definition at line 227 of file ClusterCache.cc.
References ET_CACHE_CONT_SM, eventProcessor, hash_event, hash_lock, HRTIME_SECONDS, new_ProxyMutex(), SCAN_INTERVAL, and EventProcessor::schedule_in().
Referenced by CacheContinuation::init().
int ClusterVConnectionCache::insert | ( | INK_MD5 * | key, | |
ClusterVConnection * | vc | |||
) |
Definition at line 255 of file ClusterCache.cc.
References CLUSTER_INCREMENT_DYN_STAT, CLUSTER_VC_CACHE_INSERT_LOCK_MISSES_STAT, CLUSTER_VC_CACHE_INSERTS_STAT, ClusterVCCacheEntryAlloc, Queue< C, L >::enqueue(), hash_lock, hash_table, ClusterVConnectionCache::Entry::key, MD5ToIndex(), Thread::mutex, MUTEX_TRY_LOCK, this_ethread(), and ClusterVConnectionCache::Entry::vc.
Referenced by CacheContinuation::insert_cache_callback_user(), CacheContinuation::insertCallbackEvent(), and CacheContinuation::remoteOpEvent().
ClusterVConnection * ClusterVConnectionCache::lookup | ( | INK_MD5 * | key | ) |
Definition at line 280 of file ClusterCache.cc.
References CLUSTER_INCREMENT_DYN_STAT, CLUSTER_VC_CACHE_LOOKUP_HITS_STAT, CLUSTER_VC_CACHE_LOOKUP_LOCK_MISSES_STAT, CLUSTER_VC_CACHE_LOOKUP_MISSES_STAT, ClusterVCCacheEntryAlloc, hash_lock, hash_table, DLL< C, L >::head, ClusterVConnectionCache::Entry::key, MD5ToIndex(), Thread::mutex, MUTEX_TRY_LOCK, Queue< C, L >::remove(), this_ethread(), and ClusterVConnectionCache::Entry::vc.
Referenced by CacheContinuation::lookupOpenWriteVC().
int ClusterVConnectionCache::MD5ToIndex | ( | INK_MD5 * | p | ) | [inline] |
Definition at line 244 of file ClusterCache.cc.
References ats::CryptoHash::fold(), and MAX_TABLE_ENTRIES.
Event* ClusterVConnectionCache::hash_event[MAX_TABLE_ENTRIES] |
Definition at line 199 of file ClusterCache.cc.
Referenced by ClusterVConnectionCache(), and init().
Ptr<ProxyMutex> ClusterVConnectionCache::hash_lock[MAX_TABLE_ENTRIES] |
Definition at line 198 of file ClusterCache.cc.
Referenced by ClusterVConnectionCacheEvent::eventHandler(), init(), insert(), and lookup().
Queue<Entry> ClusterVConnectionCache::hash_table[MAX_TABLE_ENTRIES] |
Definition at line 197 of file ClusterCache.cc.
Referenced by ClusterVConnectionCacheEvent::eventHandler(), insert(), and lookup().