#include <VPKFile.H>
Inheritance diagram for VPKFile:
Public Member Functions | |
VPKFile (const FP::Tag &pk, PKFile::Epoch newPKEpoch=0, FV::Epoch newNamesEpoch=0) throw (FS::Failure) | |
bool | IsEmpty () throw () |
bool | IsStableEmpty () const throw () |
bool | HasNewEntries () const throw () |
void | SendAllNames (SRPC *srpc, bool debug) throw (SRPC::failure, PrefixTbl::Overflow) |
CacheIntf::LookupRes | Lookup (FV::Epoch id, const FP::List &fps, CacheEntry::Index &ci, const VestaVal::T *&value, CacheIntf::LookupOutcome &outcome) throw (FS::Failure) |
CE::T * | NewEntry (CacheEntry::Index ci, FV::List *names, FP::List *fps, VestaVal::T *value, Model::T model, CacheEntry::Indices *kids, FP::Tag *&commonFP) throw (DuplicateNames) |
void | AddEntry (const Text *sourceFunc, CE::T *ce, FP::Tag *commonFP, PKFile::Epoch newPKEpoch=-1) throw () |
FP::Tag * | CommonFP (const CE::T &entry) throw () |
VPKFileChkPt * | CheckPoint () throw () |
void | DecrPKEpoch () throw () |
void | Update (const SPKFile &pf, const VPKFileChkPt &chkpt, const BitVector *toDelete, const BitVector *exCommonNames, const BitVector *exUncommonNames, BitVector *packMask, IntIntTblLR *reMap, bool becameEmpty, EntryState &state) throw () |
void | UpdateFreeEpoch (int currentEpoch) throw () |
int | GetFreeEpoch () throw () |
void | DeleteOldEntries (int sizeHint, EntryState &state) throw () |
void | Evict () throw () |
bool | Evicted () const throw () |
bool | ReadyForPurgeWarm (int latestEpoch) const throw () |
bool | ReadyForEviction (int latestEpoch) const throw () |
Public Attributes | |
Basics::mutex | mu |
Private Types | |
typedef Table< FV::T, int >::Default | NameMap |
typedef Table< FV::T, int >::Iterator | NameMapIter |
Private Member Functions | |
void | ReadPKFHeaderTail (const FP::Tag &pk) throw (FS::Failure, SMultiPKFileRep::NotFound) |
bool | IsCommon (const BitVector &nms) throw () |
void | PutCommonEntry (CFPEntryMap &tbl, const FP::Tag &commonFP, CE::T *ce) throw () |
CE::T * | LookupInList (const CE::List *entries, const FP::List &fps) throw () |
void | DeleteCheckpointedEntries (const VPKFileChkPt &chkpt, EntryState &state) throw () |
void | MoveCommonToUncommon (const BitVector &oldCommon) throw () |
void | MoveCommonListToUncommon (CE::List *head, const BitVector &oldCommon) throw () |
void | UpdateUncommonList (const Text *sourceFunc, BitVector *packMask, IntIntTblLR *reMap, bool unlazyTag) throw () |
void | RecordCIsFromList (const CE::List *ents, IntIntTbl &keep) const throw () |
void | RecordCIsFromTbl (const CFPEntryMap &tbl, IntIntTbl &keep) const throw () |
void | CopyByCIs (const CFPEntryMap &source, IntIntTbl &cis, EntryState &state) throw () |
void | CycleDeletedNamesInList (CE::List *curr, BitVector &packMask, IntIntTblLR &reMap) throw () |
VPKFile (const VPKFile &) | |
Private Attributes | |
NameMap | nameMap |
CE::List * | newUncommon |
CFPEntryMap | newCommon |
bool | isEmpty |
int | freePKFileEpoch |
bool | evicted |
|
|
|
|
|
|
|
|
|
Definition at line 339 of file VPKFile.C. References NEW_CONSTR. Referenced by CacheS::AddEntry(), and CacheS::RecoverCacheLogEntries(). |
|
!const Reimplemented from SPKFile. Definition at line 390 of file VPKFile.C. References SPKFile::CheckPoint(), HasNewEntries(), VPKFileChkPt::hasNewEntries, Basics::mutex::lock(), mu, newCommon, VPKFileChkPt::newCommon, VPKFileChkPt::newCommonHeads, newUncommon, VPKFileChkPt::newUncommon, VPKFileChkPt::newUncommonHead, SPKFile::pkEpoch, and Basics::mutex::unlock(). Referenced by SMultiPKFile::ChkptForRewrite(). |
|
Definition at line 173 of file VPKFile.H. References SPKFile::commonNames. |
|
Definition at line 800 of file VPKFile.C. References CE::T::CI(), CE::List::Head(), CE::List::Tail(), and CE::T::Value(). |
|
Definition at line 828 of file VPKFile.C. References CE::T::CycleNames(), IntIntTblLR::Get(), CE::List::Head(), BitVector::IsEmpty(), BVIter::Next(), IntIntTblLR::Put(), CE::List::Tail(), and CE::T::UncommonNames(). |
|
Definition at line 186 of file VPKFile.H. References SPKFile::pkEpoch. Referenced by SMultiPKFile::Rewrite(). |
|
|
|
Definition at line 691 of file VPKFile.C. References CE::List::Head(), and CE::List::Tail(). Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 214 of file VPKFile.H. References evicted. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 222 of file VPKFile.H. References evicted. Referenced by CacheS::AddEntry(), CacheS::Lookup(), and SMultiPKFile::Rewrite(). |
|
Definition at line 205 of file VPKFile.H. References freePKFileEpoch. |
|
Definition at line 101 of file VPKFile.H. References newCommon, and newUncommon. Referenced by CheckPoint(), SMultiPKFile::ChkptForRewrite(), and SMultiPKFile::Rewrite(). |
|
Definition at line 281 of file VPKFile.H. References SPKFile::commonNames. |
|
Definition at line 115 of file VPKFile.C. References Basics::mutex::lock(), mu, newCommon, newUncommon, SPKFile::oldEntries, and Basics::mutex::unlock(). |
|
Definition at line 95 of file VPKFile.H. References isEmpty. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 170 of file VPKFile.C. References CacheIntf::AllMisses, CacheIntf::BadLookupArgs, CE::T::CI(), FS::Close(), CacheIntf::DiskHits, CacheIntf::FVMismatch, CacheIntf::Hit, SPKFile::Lookup(), CacheIntf::Miss, CacheIntf::NewHits, CacheIntf::NoOutcome, SMultiPKFile::OpenRead(), SMultiPKFile::SeekToPKFile(), CE::T::Value(), VestaSourceSRPC::version, and CacheIntf::WarmHits. Referenced by CacheS::Lookup(). |
|
Definition at line 259 of file VPKFile.C. References CE::T::FPMatch(). |
|
Definition at line 724 of file VPKFile.C. References CE::List::Head(), CE::List::SetTail(), CE::List::Tail(), and CE::T::XorUncommonNames(). |
|
Definition at line 709 of file VPKFile.C. References Table< K, V >::Iterator::Next(). |
|
Definition at line 272 of file VPKFile.C. References NEW_CONSTR, NEW_PTRFREE_CONSTR, IntIntTblLR::Put(), and BitVector::Set(). Referenced by CacheS::AddEntry(), and CacheS::RecoverCacheLogEntries(). |
|
|
|
Definition at line 87 of file VPKFile.C. References FS::Close(), SMultiPKFile::OpenRead(), VestaSourceSRPC::Read, SMultiPKFile::SeekToPKFile(), and VestaSourceSRPC::version. |
|
Definition at line 890 of file VPKFile.C. References Config_EvictPeriodCnt. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 873 of file VPKFile.C. References Config_PurgeWarmPeriodCnt. Referenced by CacheS_DoFreeMPKFiles(). |
|
Definition at line 778 of file VPKFile.C. References CE::List::Head(), and CE::List::Tail(). |
|
|
|
Definition at line 133 of file VPKFile.C. References BoolName, Debug::Lock(), Basics::mutex::lock(), mu, Debug::Timestamp(), Basics::mutex::unlock(), and Debug::Unlock(). Referenced by ExpCache::FreeVars(). |
|
STEP 1 STEP 2 STEP 3 STEP 4 STEP 5 Definition at line 415 of file VPKFile.C. References Config_KeepNewOnFlush, Config_KeepOldOnFlush, BitVector::IsEmpty(), max(), and Table< K, V >::Default::Size(). Referenced by SMultiPKFile::Rewrite(). |
|
Definition at line 201 of file VPKFile.H. References freePKFileEpoch. Referenced by CacheS::AddEntry(), CacheS::Lookup(), and CacheS::RecoverCacheLogEntries(). |
|
Definition at line 740 of file VPKFile.C. References AddEntry(), CE::List::Head(), CE::T::Pack(), CE::List::Tail(), CE::T::UncommonNames(), CE::T::UnlazyUncommonFP(), and CE::T::XorUncommonNames(). |
|
|
|
Definition at line 267 of file VPKFile.H. Referenced by GetFreeEpoch(), and UpdateFreeEpoch(). |
|
Definition at line 265 of file VPKFile.H. Referenced by IsStableEmpty(). |
|
Definition at line 73 of file VPKFile.H. Referenced by CacheS::AddEntry(), CacheS_DoFreeMPKFiles(), CheckPoint(), SMultiPKFile::ChkptForRewrite(), IsEmpty(), CacheS::Lookup(), CacheS::RecoverCacheLogEntries(), and SMultiPKFile::Rewrite(). |
|
|
|
Definition at line 243 of file VPKFile.H. Referenced by CheckPoint(), HasNewEntries(), and IsEmpty(). |
|
Definition at line 242 of file VPKFile.H. Referenced by CheckPoint(), HasNewEntries(), and IsEmpty(). |