libdap++ Updated for version 3.8.2
|
#include <HTTPCacheTable.h>
Public Member Functions | |
CacheEntry () | |
CacheEntry (const string &u) | |
string | get_cachename () |
time_t | get_corrected_initial_age () |
string | get_etag () |
time_t | get_expires () |
time_t | get_freshness_lifetime () |
time_t | get_lm () |
time_t | get_max_age () |
bool | get_must_revalidate () |
time_t | get_response_time () |
bool | is_no_cache () |
void | lock_read_response () |
void | lock_write_response () |
void | set_no_cache (bool state) |
void | set_size (unsigned long sz) |
void | unlock_read_response () |
void | unlock_write_response () |
Friends | |
class | DeleteByHits |
class | DeleteBySize |
class | DeleteCacheEntry |
class | DeleteExpired |
class | HTTPCacheTable |
class | HTTPCacheTest |
class | WriteOneCacheEntry |
A struct used to store information about responses in the cache's volatile memory.
About entry locking: An entry is locked using both a mutex and a counter. The counter keeps track of how many clients are accessing a given entry while the mutex provides a guarantee that updates to the counter are MT-safe. In addition, the HTTPCacheTable object maintains a map which binds the FILE* returned to a client with a given entry. This way the client can tell the HTTPCacheTable object that it is done with FILE *response
and the class can arrange to update the lock counter and mutex.
Definition at line 94 of file HTTPCacheTable.h.
libdap::HTTPCacheTable::CacheEntry::CacheEntry | ( | ) | [inline] |
Definition at line 205 of file HTTPCacheTable.h.
References INIT.
libdap::HTTPCacheTable::CacheEntry::CacheEntry | ( | const string & | u | ) | [inline] |
Definition at line 214 of file HTTPCacheTable.h.
References libdap::get_hash(), and INIT.
string libdap::HTTPCacheTable::CacheEntry::get_cachename | ( | ) | [inline] |
Definition at line 135 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::cache_response(), libdap::HTTPCache::get_cached_response(), and libdap::HTTPCache::update_response().
time_t libdap::HTTPCacheTable::CacheEntry::get_corrected_initial_age | ( | ) | [inline] |
Definition at line 159 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::is_url_valid().
string libdap::HTTPCacheTable::CacheEntry::get_etag | ( | ) | [inline] |
Definition at line 138 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::get_conditional_request_headers().
time_t libdap::HTTPCacheTable::CacheEntry::get_expires | ( | ) | [inline] |
Definition at line 144 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::get_conditional_request_headers().
time_t libdap::HTTPCacheTable::CacheEntry::get_freshness_lifetime | ( | ) | [inline] |
Definition at line 153 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::is_url_valid().
time_t libdap::HTTPCacheTable::CacheEntry::get_lm | ( | ) | [inline] |
Definition at line 141 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::get_conditional_request_headers().
time_t libdap::HTTPCacheTable::CacheEntry::get_max_age | ( | ) | [inline] |
Definition at line 147 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::get_conditional_request_headers().
bool libdap::HTTPCacheTable::CacheEntry::get_must_revalidate | ( | ) | [inline] |
Definition at line 162 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::is_url_valid().
time_t libdap::HTTPCacheTable::CacheEntry::get_response_time | ( | ) | [inline] |
Definition at line 156 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::is_url_valid().
bool libdap::HTTPCacheTable::CacheEntry::is_no_cache | ( | ) | [inline] |
Definition at line 168 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::cache_response().
void libdap::HTTPCacheTable::CacheEntry::lock_read_response | ( | ) | [inline] |
void libdap::HTTPCacheTable::CacheEntry::lock_write_response | ( | ) | [inline] |
Definition at line 191 of file HTTPCacheTable.h.
References DBG, DBGN, and LOCK.
Referenced by libdap::HTTPCache::cache_response().
void libdap::HTTPCacheTable::CacheEntry::set_no_cache | ( | bool | state | ) | [inline] |
Definition at line 165 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCacheTable::parse_headers().
void libdap::HTTPCacheTable::CacheEntry::set_size | ( | unsigned long | sz | ) | [inline] |
Definition at line 150 of file HTTPCacheTable.h.
Referenced by libdap::HTTPCache::cache_response().
void libdap::HTTPCacheTable::CacheEntry::unlock_read_response | ( | ) | [inline] |
Definition at line 182 of file HTTPCacheTable.h.
References DBG, DBGN, and UNLOCK.
Referenced by libdap::HTTPCache::get_conditional_request_headers(), libdap::HTTPCache::is_url_valid(), libdap::HTTPCacheTable::uncouple_entry_from_data(), and libdap::HTTPCache::update_response().
void libdap::HTTPCacheTable::CacheEntry::unlock_write_response | ( | ) | [inline] |
Definition at line 198 of file HTTPCacheTable.h.
References DBG, DBGN, and UNLOCK.
Referenced by libdap::HTTPCache::cache_response(), and libdap::HTTPCache::update_response().
friend class DeleteByHits [friend] |
Definition at line 131 of file HTTPCacheTable.h.
friend class DeleteBySize [friend] |
Definition at line 132 of file HTTPCacheTable.h.
friend class DeleteCacheEntry [friend] |
Definition at line 128 of file HTTPCacheTable.h.
friend class DeleteExpired [friend] |
Definition at line 130 of file HTTPCacheTable.h.
friend class HTTPCacheTable [friend] |
Definition at line 124 of file HTTPCacheTable.h.
friend class HTTPCacheTest [friend] |
Definition at line 125 of file HTTPCacheTable.h.
friend class WriteOneCacheEntry [friend] |
Definition at line 129 of file HTTPCacheTable.h.