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

#include <HTTPCacheTable.h>

Collaboration diagram for libdap::HTTPCacheTable::CacheEntry:
Collaboration graph

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

libdap::HTTPCacheTable::CacheEntry::CacheEntry ( )
inline

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

string libdap::HTTPCacheTable::CacheEntry::get_cachename ( )
inline
time_t libdap::HTTPCacheTable::CacheEntry::get_corrected_initial_age ( )
inline

Definition at line 185 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 177 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 189 of file HTTPCacheTable.h.

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

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

Definition at line 181 of file HTTPCacheTable.h.

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

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

Definition at line 197 of file HTTPCacheTable.h.

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

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

Definition at line 202 of file HTTPCacheTable.h.

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

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

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

void libdap::HTTPCacheTable::CacheEntry::unlock_read_response ( )
inline
void libdap::HTTPCacheTable::CacheEntry::unlock_write_response ( )
inline

Definition at line 233 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 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: