libdap  Updated for version 3.20.6
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.


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