libdap::HTTPCacheTable::CacheEntry Struct Reference

#include <HTTPCacheTable.h>

Collaboration diagram for libdap::HTTPCacheTable::CacheEntry:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CacheEntry (const string &u)
 CacheEntry ()
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 221 of file HTTPCacheTable.h.

References INIT.

libdap::HTTPCacheTable::CacheEntry::CacheEntry ( const string &  u  )  [inline]

Definition at line 233 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 163 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 157 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 166 of file HTTPCacheTable.h.

Referenced by libdap::HTTPCache::is_url_valid().

time_t libdap::HTTPCacheTable::CacheEntry::get_response_time (  )  [inline]

Definition at line 160 of file HTTPCacheTable.h.

Referenced by libdap::HTTPCache::is_url_valid().

bool libdap::HTTPCacheTable::CacheEntry::is_no_cache (  )  [inline]

Definition at line 172 of file HTTPCacheTable.h.

Referenced by libdap::HTTPCache::cache_response().

void libdap::HTTPCacheTable::CacheEntry::lock_read_response (  )  [inline]

Definition at line 186 of file HTTPCacheTable.h.

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

void libdap::HTTPCacheTable::CacheEntry::lock_write_response (  )  [inline]

void libdap::HTTPCacheTable::CacheEntry::set_no_cache ( bool  state  )  [inline]

Definition at line 169 of file HTTPCacheTable.h.

void libdap::HTTPCacheTable::CacheEntry::set_size ( unsigned long  sz  )  [inline]

Definition at line 154 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]


Friends And Related Function Documentation

friend class DeleteByHits [friend]

Definition at line 135 of file HTTPCacheTable.h.

friend class DeleteBySize [friend]

Definition at line 136 of file HTTPCacheTable.h.

friend class DeleteCacheEntry [friend]

Definition at line 132 of file HTTPCacheTable.h.

friend class DeleteExpired [friend]

Definition at line 134 of file HTTPCacheTable.h.

friend class HTTPCacheTable [friend]

Definition at line 128 of file HTTPCacheTable.h.

friend class HTTPCacheTest [friend]

Definition at line 129 of file HTTPCacheTable.h.

friend class WriteOneCacheEntry [friend]

Definition at line 133 of file HTTPCacheTable.h.


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

Generated on Wed Sep 10 13:19:05 2008 for libdap++ by  doxygen 1.5.6