#include <P_CacheDir.h>
Inherits Continuation.
Public Member Functions | |
int | open_write (CacheVC *c, int allow_if_writers, int max_writers) |
int | close_write (CacheVC *c) |
OpenDirEntry * | open_read (CryptoHash *key) |
int | signal_readers (int event, Event *e) |
OpenDir () | |
Data Fields | |
Queue< CacheVC, Link_CacheVC_opendir_link > | delayed_readers |
DLL< OpenDirEntry > | bucket [OPEN_DIR_BUCKETS] |
Definition at line 285 of file P_CacheDir.h.
OpenDir::OpenDir | ( | ) |
Definition at line 56 of file CacheDir.cc.
References SET_HANDLER, and signal_readers().
int OpenDir::close_write | ( | CacheVC * | c | ) |
Definition at line 130 of file CacheDir.cc.
References Queue< C, L >::append(), bucket, delayed_readers, CacheVC::first_key, ink_assert, Continuation::mutex, CacheVC::od, openDirEntryAllocator, DLL< C, L >::remove(), signal_readers(), ats::CryptoHash::slice32(), this_ethread(), THREAD_FREE, and CacheVC::vol.
Referenced by Vol::close_write().
OpenDirEntry* OpenDir::open_read | ( | CryptoHash * | key | ) |
Referenced by Vol::open_read().
int OpenDir::open_write | ( | CacheVC * | c, | |
int | allow_if_writers, | |||
int | max_writers | |||
) |
Definition at line 69 of file CacheDir.cc.
References bucket, dir_clear, CacheVC::first_key, ink_assert, Continuation::mutex, DLL< C, L >::next(), CacheVC::od, openDirEntryAllocator, DLL< C, L >::push(), ats::CryptoHash::slice32(), this_ethread(), THREAD_ALLOC, CacheVC::vol, and CacheVC::write_vector.
Referenced by Vol::open_write().
int OpenDir::signal_readers | ( | int | event, | |
Event * | e | |||
) |
Definition at line 105 of file CacheDir.cc.
References cache_config_mutex_retry_delay, CACHE_TRY_LOCK, delayed_readers, Queue< C, L >::dequeue(), EVENT_IMMEDIATE, CacheVC::f, Continuation::handleEvent(), DLL< C, L >::head, HRTIME_MSECONDS, Continuation::mutex, Queue< C, L >::push(), and EThread::schedule_in().
Referenced by close_write(), and OpenDir().
DLL<OpenDirEntry> OpenDir::bucket[OPEN_DIR_BUCKETS] |
Definition at line 288 of file P_CacheDir.h.
Referenced by close_write(), and open_write().
Queue<CacheVC, Link_CacheVC_opendir_link> OpenDir::delayed_readers |
Definition at line 287 of file P_CacheDir.h.
Referenced by close_write(), and signal_readers().