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


Constructor & Destructor Documentation

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

Definition at line 170 of file HTTPCacheTable.h.

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

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


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: