Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

EmptyPKLog Class Reference

#include <EmptyPKLog.H>

List of all members.

Public Types

typedef Table< FP::Tag, PKFile::Epoch
>::Default 
PKEpochTbl
typedef Table< FP::Tag, PKFile::Epoch
>::Default 
PKEpochIter

Public Member Functions

 EmptyPKLog (Basics::mutex *mu, CacheIntf::DebugLevel, bool readonly=false) throw (VestaLog::Error)
 ~EmptyPKLog () throw ()
bool EndOfFile () throw (VestaLog::Error)
bool NextLog () throw (VestaLog::Error)
void Read (FP::Tag &pk, PKFile::Epoch &pkEpoch) throw (VestaLog::Error, VestaLog::Eof)
void EndRecovery () throw (VestaLog::Error)
void CheckpointBegin () throw (FS::Failure, VestaLog::Error)
void CheckpointEnd () throw (VestaLog::Error)
void Write (const FP::Tag &pk, PKFile::Epoch pkEpoch) throw (VestaLog::Error)
bool GetEpoch0 (const FP::Tag &pk, PKFile::Epoch &pkEpoch) throw ()
bool GetEpoch (const FP::Tag &pk, PKFile::Epoch &pkEpoch) throw ()

Private Attributes

CacheIntf::DebugLevel debug
Basics::mutexmu
VestaLoglog
RecoveryReaderrd
PKEpochTbloldEmptyPKTbl
PKEpochTblemptyPKTbl


Member Typedef Documentation

typedef Table<FP::Tag,PKFile::Epoch>::Default EmptyPKLog::PKEpochIter
 

Definition at line 78 of file EmptyPKLog.H.

typedef Table<FP::Tag,PKFile::Epoch>::Default EmptyPKLog::PKEpochTbl
 

Definition at line 77 of file EmptyPKLog.H.


Constructor & Destructor Documentation

EmptyPKLog::EmptyPKLog Basics::mutex mu,
CacheIntf::DebugLevel  ,
bool  readonly = false
throw (VestaLog::Error)
 

Definition at line 42 of file EmptyPKLog.C.

References Text::chars(), Config_EmptyPKLogPath, mu, NEW, and NEW_CONSTR.

EmptyPKLog::~EmptyPKLog  )  throw () [inline]
 

Definition at line 88 of file EmptyPKLog.H.

References VestaLog::close(), and log.


Member Function Documentation

void EmptyPKLog::CheckpointBegin  )  throw (FS::Failure, VestaLog::Error)
 

Definition at line 72 of file EmptyPKLog.C.

References VestaLog::checkpointBegin(), FS::Close(), emptyPKTbl, Basics::mutex::lock(), log, mu, NEW, oldEmptyPKTbl, and Basics::mutex::unlock().

void EmptyPKLog::CheckpointEnd  )  throw (VestaLog::Error)
 

Definition at line 87 of file EmptyPKLog.C.

References VestaLog::checkpointEnd(), Basics::mutex::lock(), log, mu, oldEmptyPKTbl, VestaLog::prune(), and Basics::mutex::unlock().

bool EmptyPKLog::EndOfFile  )  throw (VestaLog::Error) [inline]
 

Definition at line 97 of file EmptyPKLog.H.

References RecoveryReader::eof(), and rd.

void EmptyPKLog::EndRecovery  )  throw (VestaLog::Error) [inline]
 

Definition at line 112 of file EmptyPKLog.H.

References log, VestaLog::loggingBegin(), and rd.

Referenced by CacheS::RecoverCacheLog().

bool EmptyPKLog::GetEpoch const FP::Tag pk,
PKFile::Epoch pkEpoch
throw ()
 

Definition at line 142 of file EmptyPKLog.C.

References Basics::mutex::lock(), mu, and Basics::mutex::unlock().

bool EmptyPKLog::GetEpoch0 const FP::Tag pk,
PKFile::Epoch pkEpoch
throw ()
 

Definition at line 133 of file EmptyPKLog.C.

bool EmptyPKLog::NextLog  )  throw (VestaLog::Error) [inline]
 

Definition at line 101 of file EmptyPKLog.H.

References log, and VestaLog::nextLog().

Referenced by PrintEmptyPKLog().

void EmptyPKLog::Read FP::Tag pk,
PKFile::Epoch pkEpoch
throw (VestaLog::Error, VestaLog::Eof)
 

Definition at line 55 of file EmptyPKLog.C.

void EmptyPKLog::Write const FP::Tag pk,
PKFile::Epoch  pkEpoch
throw (VestaLog::Error)
 

Definition at line 100 of file EmptyPKLog.C.

References Debug::Lock(), Basics::mutex::lock(), CacheIntf::LogFlush, mu, Debug::Timestamp(), Basics::mutex::unlock(), and Debug::Unlock().


Member Data Documentation

CacheIntf::DebugLevel EmptyPKLog::debug [private]
 

Definition at line 158 of file EmptyPKLog.H.

PKEpochTbl* EmptyPKLog::emptyPKTbl [private]
 

Definition at line 165 of file EmptyPKLog.H.

Referenced by CheckpointBegin().

VestaLog* EmptyPKLog::log [private]
 

Definition at line 162 of file EmptyPKLog.H.

Referenced by CheckpointBegin(), CheckpointEnd(), EndRecovery(), NextLog(), and ~EmptyPKLog().

Basics::mutex* EmptyPKLog::mu [private]
 

Definition at line 161 of file EmptyPKLog.H.

Referenced by CheckpointBegin(), and CheckpointEnd().

PKEpochTbl* EmptyPKLog::oldEmptyPKTbl [private]
 

Definition at line 164 of file EmptyPKLog.H.

Referenced by CheckpointBegin(), and CheckpointEnd().

RecoveryReader* EmptyPKLog::rd [private]
 

Definition at line 163 of file EmptyPKLog.H.

Referenced by EndOfFile(), and EndRecovery().


The documentation for this class was generated from the following files:
Generated on Mon May 8 00:49:09 2006 for Vesta by  doxygen 1.4.2