libdap::HTTPCache::CacheEntry Struct Reference

#include <HTTPCache.h>

Collaboration diagram for libdap::HTTPCache::CacheEntry:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CacheEntry ()

Public Attributes

time_t age
string cachename
time_t corrected_initial_age
time_t date
string etag
time_t expires
time_t freshness_lifetime
int hash
int hits
time_t lm
pthread_mutex_t lock
int locked
time_t max_age
bool must_revalidate
bool no_cache
bool range
time_t response_time
unsigned long size
string url


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 HTTPCache object maintains a map which binds the FILE* returned to a client with a given entry. This way the client can tell the HTTPCache object that it is done with FILE *response and the class can arrange to update the lock counter and mutex.

Definition at line 143 of file HTTPCache.h.


Constructor & Destructor Documentation

libdap::HTTPCache::CacheEntry::CacheEntry (  )  [inline]

Definition at line 172 of file HTTPCache.h.


Member Data Documentation

time_t libdap::HTTPCache::CacheEntry::age

Definition at line 155 of file HTTPCache.h.

string libdap::HTTPCache::CacheEntry::cachename

Definition at line 149 of file HTTPCache.h.

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

time_t libdap::HTTPCache::CacheEntry::corrected_initial_age

Definition at line 164 of file HTTPCache.h.

time_t libdap::HTTPCache::CacheEntry::date

Definition at line 154 of file HTTPCache.h.

string libdap::HTTPCache::CacheEntry::etag

Definition at line 151 of file HTTPCache.h.

time_t libdap::HTTPCache::CacheEntry::expires

Definition at line 153 of file HTTPCache.h.

time_t libdap::HTTPCache::CacheEntry::freshness_lifetime

Definition at line 162 of file HTTPCache.h.

int libdap::HTTPCache::CacheEntry::hash

Definition at line 146 of file HTTPCache.h.

int libdap::HTTPCache::CacheEntry::hits

Definition at line 147 of file HTTPCache.h.

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

time_t libdap::HTTPCache::CacheEntry::lm

Definition at line 152 of file HTTPCache.h.

pthread_mutex_t libdap::HTTPCache::CacheEntry::lock

Definition at line 170 of file HTTPCache.h.

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

int libdap::HTTPCache::CacheEntry::locked

Definition at line 169 of file HTTPCache.h.

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

time_t libdap::HTTPCache::CacheEntry::max_age

Definition at line 156 of file HTTPCache.h.

bool libdap::HTTPCache::CacheEntry::must_revalidate

Definition at line 166 of file HTTPCache.h.

bool libdap::HTTPCache::CacheEntry::no_cache

Definition at line 167 of file HTTPCache.h.

bool libdap::HTTPCache::CacheEntry::range

Definition at line 159 of file HTTPCache.h.

time_t libdap::HTTPCache::CacheEntry::response_time

Definition at line 163 of file HTTPCache.h.

unsigned long libdap::HTTPCache::CacheEntry::size

Definition at line 158 of file HTTPCache.h.

string libdap::HTTPCache::CacheEntry::url

Definition at line 145 of file HTTPCache.h.


The documentation for this struct was generated from the following file:
Generated on Wed Mar 5 15:29:29 2008 for libdap++ by  doxygen 1.5.4