libdap++  Updated for version 3.8.2
libdap::HTTPCacheTable::CacheEntry Struct Reference

#include <HTTPCacheTable.h>

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 113 of file HTTPCacheTable.h.


Constructor & Destructor Documentation

Definition at line 241 of file HTTPCacheTable.h.

References INIT.

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

Definition at line 249 of file HTTPCacheTable.h.

References libdap::get_hash(), and INIT.

Here is the call graph for this function:


Member Function Documentation

Definition at line 202 of file HTTPCacheTable.h.

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

Definition at line 225 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 193 of file HTTPCacheTable.h.

Referenced by libdap::HTTPCacheTable::parse_headers().

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

Definition at line 173 of file HTTPCacheTable.h.

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


Friends And Related Function Documentation

friend class DeleteByHits [friend]

Definition at line 149 of file HTTPCacheTable.h.

friend class DeleteBySize [friend]

Definition at line 150 of file HTTPCacheTable.h.

friend class DeleteCacheEntry [friend]

Definition at line 146 of file HTTPCacheTable.h.

friend class DeleteExpired [friend]

Definition at line 148 of file HTTPCacheTable.h.

friend class HTTPCacheTable [friend]

Definition at line 142 of file HTTPCacheTable.h.

friend class HTTPCacheTest [friend]

Definition at line 143 of file HTTPCacheTable.h.

friend class WriteOneCacheEntry [friend]

Definition at line 147 of file HTTPCacheTable.h.


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