libdap++ Updated for version 3.8.2

libdap::HTTPCacheTable::CacheEntry Struct Reference

#include <HTTPCacheTable.h>

Collaboration diagram for libdap::HTTPCacheTable::CacheEntry:

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

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.

Here is the call graph for this function:


Member Function Documentation

string libdap::HTTPCacheTable::CacheEntry::get_cachename ( ) [inline]
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]
time_t libdap::HTTPCacheTable::CacheEntry::get_expires ( ) [inline]
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]
time_t libdap::HTTPCacheTable::CacheEntry::get_max_age ( ) [inline]
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]

Definition at line 170 of file HTTPCacheTable.h.

References DBG, DBGN, LOCK, TRYLOCK, and UNLOCK.

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]
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().


Friends And Related Function Documentation

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.


The documentation for this struct was generated from the following file: