#include <VMultiPKFile.H>
Public Member Functions | |
VMultiPKFile (const PKPrefix::T &pfx) throw () | |
bool | Get (const FP::Tag &pk, VPKFile *&vpk) throw () |
bool | Put (const FP::Tag &pk, VPKFile *vpk) throw () |
bool | Delete (const FP::Tag &pk, VPKFile *&vpk) throw () |
int | NumVPKFiles () const throw () |
const SMultiPKFile::VPKFileMap & | VPKFileTbl () const throw () |
void | IncEntries () throw () |
bool | IsFull () throw () |
bool | LockForWrite (Basics::mutex &mu, const BitVector *toDelete) throw () |
bool | ChkptForWrite (Basics::mutex &mu, const BitVector *toDelete, SMultiPKFile::VPKFileMap &toFlush, SMultiPKFile::ChkPtTbl &vpkChkptTbl) throw () |
void | ReleaseWriteLock (Basics::mutex &mu) throw () |
void | ToSCache (Basics::mutex &mu, bool mpkFileExists, std::ifstream &ifs, SMultiPKFileRep::Header *hdr, SMultiPKFile::VPKFileMap &toFlush, SMultiPKFile::ChkPtTbl &vpkChkptTbl, const BitVector *toDelete, EmptyPKLog *emptyPKLog, EntryState &state) throw (FS::Failure, FS::EndOfFile, VestaLog::Error) |
void | UpdateEpoch (int currentEpoch) throw () |
bool | IsStale (int latestEpoch) throw () |
const PKPrefix::T & | Prefix () const throw () |
bool | IsUnmodified () const throw () |
bool | FlushRunning () const throw () |
bool | FlushPending () const throw () |
Private Attributes | |
PKPrefix::T | prefix |
SMultiPKFile::VPKFileMap | tbl |
int | freeMPKFileEpoch |
int | numWaiting |
int | numRunning |
Basics::cond | noneRunning |
int | numNewEntries |
bool | autoFlushPending |
|
Definition at line 51 of file VMultiPKFile.H. |
|
Definition at line 78 of file VMultiPKFile.C. References SMultiPKFile::ChkptForRewrite(), Basics::mutex::lock(), mu, and Basics::mutex::unlock(). Referenced by CacheS::VToSCache(). |
|
Definition at line 69 of file VMultiPKFile.H. References Table< K, V >::Default::Delete(), and tbl. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 219 of file VMultiPKFile.H. References autoFlushPending. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 213 of file VMultiPKFile.H. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 57 of file VMultiPKFile.H. References Table< K, V >::Default::Get(), and tbl. |
|
Definition at line 90 of file VMultiPKFile.H. References numNewEntries. Referenced by CacheS::AddEntryToMPKFile(). |
|
Definition at line 37 of file VMultiPKFile.C. References autoFlushPending, Config_MPKFileFlushNum, numNewEntries, and numWaiting. Referenced by CacheS::AddEntryToMPKFile(). |
|
Definition at line 155 of file VMultiPKFile.C. References Config_FlushNewPeriodCnt. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 207 of file VMultiPKFile.H. References freeMPKFileEpoch. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 46 of file VMultiPKFile.C. References mu. Referenced by CacheS::VToSCache(). |
|
Definition at line 77 of file VMultiPKFile.H. References Table< K, V >::Default::Size(), and tbl. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 203 of file VMultiPKFile.H. References prefix. Referenced by CacheS::VToSCache(). |
|
Definition at line 63 of file VMultiPKFile.H. References Table< K, V >::Default::Put(), and tbl. Referenced by CacheS::GetVPKFile(), and CacheS::VToSCache(). |
|
Definition at line 106 of file VMultiPKFile.C. References Basics::mutex::lock(), mu, and Basics::mutex::unlock(). Referenced by CacheS::VToSCache(). |
|
Definition at line 121 of file VMultiPKFile.C. References mu, and SMultiPKFile::Rewrite(). Referenced by CacheS::VToSCache(). |
|
Definition at line 193 of file VMultiPKFile.H. References freeMPKFileEpoch. Referenced by CacheS::AddEntryToMPKFile(). |
|
Definition at line 83 of file VMultiPKFile.H. References tbl. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 237 of file VMultiPKFile.H. Referenced by FlushPending(), and IsFull(). |
|
Definition at line 232 of file VMultiPKFile.H. Referenced by IsUnmodified(), and UpdateEpoch(). |
|
Definition at line 235 of file VMultiPKFile.H. |
|
Definition at line 236 of file VMultiPKFile.H. Referenced by IncEntries(), and IsFull(). |
|
Definition at line 234 of file VMultiPKFile.H. |
|
Definition at line 233 of file VMultiPKFile.H. Referenced by IsFull(). |
|
Definition at line 228 of file VMultiPKFile.H. Referenced by Prefix(). |
|
Definition at line 231 of file VMultiPKFile.H. Referenced by Delete(), Get(), NumVPKFiles(), Put(), and VPKFileTbl(). |