libdap Updated for version 3.20.10
libdap4 is an implementation of OPeNDAP's DAP protocol.
libdap::HTTPCacheTable::CacheEntry Struct Reference

#include <HTTPCacheTable.h>

Public Member Functions

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

Constructor & Destructor Documentation

◆ CacheEntry() [1/2]

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

Definition at line 242 of file HTTPCacheTable.h.

◆ CacheEntry() [2/2]

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

Definition at line 250 of file HTTPCacheTable.h.

Member Function Documentation

◆ get_cachename()

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

Definition at line 154 of file HTTPCacheTable.h.

◆ get_corrected_initial_age()

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

Definition at line 186 of file HTTPCacheTable.h.

◆ get_etag()

string libdap::HTTPCacheTable::CacheEntry::get_etag ( )
inline

Definition at line 158 of file HTTPCacheTable.h.

◆ get_expires()

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

Definition at line 166 of file HTTPCacheTable.h.

◆ get_freshness_lifetime()

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

Definition at line 178 of file HTTPCacheTable.h.

◆ get_lm()

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

Definition at line 162 of file HTTPCacheTable.h.

◆ get_max_age()

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

Definition at line 170 of file HTTPCacheTable.h.

◆ get_must_revalidate()

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

Definition at line 190 of file HTTPCacheTable.h.

◆ get_response_time()

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

Definition at line 182 of file HTTPCacheTable.h.

◆ is_no_cache()

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

Definition at line 198 of file HTTPCacheTable.h.

◆ lock_read_response()

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

Definition at line 203 of file HTTPCacheTable.h.

◆ lock_write_response()

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

Definition at line 228 of file HTTPCacheTable.h.

◆ set_no_cache()

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

Definition at line 194 of file HTTPCacheTable.h.

◆ set_size()

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

Definition at line 174 of file HTTPCacheTable.h.

◆ unlock_read_response()

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

Definition at line 219 of file HTTPCacheTable.h.

◆ unlock_write_response()

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

Definition at line 235 of file HTTPCacheTable.h.

Friends And Related Symbol Documentation

◆ DeleteByHits

friend class DeleteByHits
friend

Definition at line 150 of file HTTPCacheTable.h.

◆ DeleteBySize

friend class DeleteBySize
friend

Definition at line 151 of file HTTPCacheTable.h.

◆ DeleteCacheEntry

friend class DeleteCacheEntry
friend

Definition at line 147 of file HTTPCacheTable.h.

◆ DeleteExpired

friend class DeleteExpired
friend

Definition at line 149 of file HTTPCacheTable.h.

◆ HTTPCacheTable

friend class HTTPCacheTable
friend

Definition at line 143 of file HTTPCacheTable.h.

◆ HTTPCacheTest

friend class HTTPCacheTest
friend

Definition at line 144 of file HTTPCacheTable.h.

◆ WriteOneCacheEntry

friend class WriteOneCacheEntry
friend

Definition at line 148 of file HTTPCacheTable.h.


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