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:

- HTTPCacheTable.h