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

VDirEvaluator Class Reference

#include <VDirEvaluator.H>

Inheritance diagram for VDirEvaluator:

VestaSource VestaAttribs VRErrorCode List of all members.

Public Member Functions

VestaSource::errorCode lookup (Arc arc, VestaSource *&result, AccessControl::Identity who=NULL, unsigned int indexOffset=0) throw ()
VestaSource::errorCode lookupIndex (unsigned int index, VestaSource *&result, char *arcbuf=NULL) throw ()
VestaSource::errorCode list (unsigned int firstIndex, VestaSource::listCallback callback, void *closure, AccessControl::Identity who=NULL, bool deltaOnly=false, unsigned int indexOffset=0) throw ()
 VDirEvaluator (VestaSource::typeTag type, const char *hostname, const char *port, Bit64 dirHandle, bool *alive, time_t timestamp=0) throw ()
 VDirEvaluator (VestaSource::typeTag type, Bit8 *rep) throw ()
 VDirEvaluator (VestaSource::typeTag type, EvalDirInfo *edi) throw ()
void mark (bool byName=true, ArcTable *hidden=NULL) throw ()
Bit32 checkpoint (Bit32 &nextSP, std::fstream &ckpt) throw ()
void freeTree () throw ()
bool alive ()
void purge ()
time_t timestamp () throw ()
bool hasName () throw ()
void setHasName (bool newval) throw ()
bool visited () throw ()
void setVisited (bool newval) throw ()

Static Public Member Functions

static void markCallback (void *closure, VMemPool::typeCode type) throw ()
static bool sweepCallback (void *closure, VMemPool::typeCode type, void *addr, Bit32 &size) throw ()
static void rebuildCallback (void *closure, VMemPool::typeCode type, void *addr, Bit32 &size) throw ()

Private Member Functions

EvalDirInforepEDI () throw ()
void setRepEDI (EvalDirInfo *repEDI) throw ()

Private Attributes

EvalDirInfoedi

Constructor & Destructor Documentation

VDirEvaluator::VDirEvaluator VestaSource::typeTag  type,
const char *  hostname,
const char *  port,
Bit64  dirHandle,
bool *  alive,
time_t  timestamp = 0
throw ()
 

Definition at line 120 of file VDirEvaluator.C.

References VMemPool::allocate(), NEW, VMemPool::type(), VDIREV_SIZE, and VMemPool::vDirEvaluator.

VDirEvaluator::VDirEvaluator VestaSource::typeTag  type,
Bit8 rep
throw ()
 

Definition at line 142 of file VDirEvaluator.C.

References VMemPool::type(), and VMemPool::vDirEvaluator.

VDirEvaluator::VDirEvaluator VestaSource::typeTag  type,
EvalDirInfo edi
throw ()
 

Definition at line 150 of file VDirEvaluator.C.

References VMemPool::type(), and VMemPool::vDirEvaluator.


Member Function Documentation

bool VDirEvaluator::alive  ) 
 

Definition at line 837 of file VDirEvaluator.C.

References SRPC::alive(), EvalDirInfo::alive, MultiSRPC::Discard(), edi, MultiSRPC::End(), EvalDirInfo::hostname, EvalDirInfo::port, MultiSRPC::Purge(), and MultiSRPC::Start().

Referenced by GardenerThread().

Bit32 VDirEvaluator::checkpoint Bit32 nextSP,
std::fstream &  ckpt
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 777 of file VDirEvaluator.C.

References VMemPool::alignmentMask, checkpoint(), DBG_ALWAYS, Repos::dprintf(), EntryInfo::edi, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VMemPool::freeByte, Table< K, V >::Iterator::Next(), EntryInfo::type, VMemPool::type(), VDIREV_SIZE, and VMemPool::vDirEvaluator.

Referenced by checkpoint(), and VDirChangeable::checkpoint().

void VDirEvaluator::freeTree  )  throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 815 of file VDirEvaluator.C.

References EvalDirInfo::atab, EntryInfo::edi, edi, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, VMemPool::free(), freeTree(), EvalDirInfo::hostname, EntryInfo::name, Table< K, V >::Iterator::Next(), EvalDirInfo::port, EntryInfo::type, VMemPool::type(), VDIREV_SIZE, and VMemPool::vDirEvaluator.

Referenced by VDirVolatileRoot::deleteIndex(), freeTree(), and GardenerThread().

bool VDirEvaluator::hasName  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 108 of file VDirEvaluator.H.

References VDIREV_FLAGS.

Referenced by VDirChangeable::mark().

VestaSource::errorCode VDirEvaluator::list unsigned int  firstIndex,
VestaSource::listCallback  callback,
void *  closure,
AccessControl::Identity  who = NULL,
bool  deltaOnly = false,
unsigned int  indexOffset = 0
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 594 of file VDirEvaluator.C.

References Sequence< Elem, elem_ptrfree >::addhi(), ListResultItem::arc, DBG_ALWAYS, VestaSource::device, Repos::dprintf(), ed_device, ed_directory, ed_file, ed_list, ed_none, SRPC::enable_read_timeout(), MultiSRPC::End(), EVALUATOR_DIR_SRPC_VERSION, VestaSource::evaluatorROEDirectory, ListResultItem::filesid, VestaSource::immutableFile, ListResultItem::index, ListResultItem::master, VRErrorCode::ok, Repos::pr_nfs_fh(), ListResultItem::pseudoInode, RECORD_TIME_POINT, SRPC::recv_chars_here(), SRPC::recv_end(), SRPC::recv_int(), SRPC::recv_seq_end(), SRPC::recv_seq_start(), Sequence< Elem, elem_ptrfree >::remlo(), VRErrorCode::rpcFailure, SRPC::send_bytes(), SRPC::send_end(), SRPC::send_int(), Sequence< Elem, elem_ptrfree >::size(), MultiSRPC::Start(), SRPC::start_call(), ListResultItem::type, VMemPool::type(), and VMemPool::vDirEvaluator.

VestaSource::errorCode VDirEvaluator::lookup Arc  arc,
VestaSource *&  result,
AccessControl::Identity  who = NULL,
unsigned int  indexOffset = 0
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 160 of file VDirEvaluator.C.

References LongId::append(), Text::cchars(), DBG_ALWAYS, DBG_VDIREVAL, VestaSource::deleted, VestaSource::device, EvalDirInfo::dirhandle, Repos::dprintf(), ed_device, ed_directory, ed_file, ed_lookup, ed_none, EntryInfo::edi, SRPC::enable_read_timeout(), MultiSRPC::End(), EVALUATOR_DIR_SRPC_VERSION, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, EntryInfo::fptag, LongId::fromShortId(), VestaSource::immutableFile, EntryInfo::index, VRErrorCode::longIdOverflow, SRPC::failure::msg, EntryInfo::name, NEW, NEW_CONSTR, VRErrorCode::notFound, nullFPTag, NullLongId, NullShortId, VRErrorCode::ok, Repos::pr_nfs_fh(), SRPC::failure::r, RECORD_TIME_POINT, FP::Tag::Recv(), SRPC::recv_bytes_here(), SRPC::recv_end(), SRPC::recv_int(), VRErrorCode::rpcFailure, SRPC::send_bytes(), SRPC::send_chars(), SRPC::send_end(), EntryInfo::sid, MultiSRPC::Start(), SRPC::start_call(), VestaSource::type, EntryInfo::type, VMemPool::type(), and VMemPool::vDirEvaluator.

VestaSource::errorCode VDirEvaluator::lookupIndex unsigned int  index,
VestaSource *&  result,
char *  arcbuf = NULL
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 482 of file VDirEvaluator.C.

References LongId::append(), DBG_VDIREVAL, VestaSource::device, EvalDirInfo::dirhandle, Repos::dprintf(), EntryInfo::edi, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, EntryInfo::fptag, LongId::fromShortId(), VestaSource::immutableFile, EntryInfo::index, VRErrorCode::longIdOverflow, EntryInfo::name, NEW_CONSTR, VRErrorCode::notFound, NullLongId, VRErrorCode::ok, VRErrorCode::rpcFailure, EntryInfo::sid, VestaSource::type, EntryInfo::type, VMemPool::type(), and VMemPool::vDirEvaluator.

void VDirEvaluator::mark bool  byName = true,
ArcTable hidden = NULL
throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 715 of file VDirEvaluator.C.

References EntryInfo::edi, VestaSource::evaluatorDirectory, VestaSource::evaluatorROEDirectory, mark(), Table< K, V >::Iterator::Next(), EntryInfo::type, VMemPool::type(), and VMemPool::vDirEvaluator.

Referenced by mark(), and VDirChangeable::mark().

void VDirEvaluator::markCallback void *  closure,
VMemPool::typeCode  type
throw () [static]
 

Definition at line 733 of file VDirEvaluator.C.

Referenced by InitVRWeed().

void VDirEvaluator::purge  ) 
 

Definition at line 858 of file VDirEvaluator.C.

References DBG_ALWAYS, Repos::dprintf(), edi, EvalDirInfo::hostname, EvalDirInfo::port, and MultiSRPC::Purge().

Referenced by GardenerThread().

void VDirEvaluator::rebuildCallback void *  closure,
VMemPool::typeCode  type,
void *  addr,
Bit32 size
throw () [static]
 

Definition at line 763 of file VDirEvaluator.C.

References edi, VestaSource::evaluatorDirectory, VestaSource::rep, EvalDirInfo::rep, and VDIREV_SIZE.

Referenced by InitVRWeed().

EvalDirInfo* VDirEvaluator::repEDI  )  throw () [inline, private]
 

Definition at line 117 of file VDirEvaluator.H.

References VDIREV_EDI.

Referenced by setRepEDI().

void VDirEvaluator::setHasName bool  newval  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 110 of file VDirEvaluator.H.

References VDIREV_FLAGS.

Referenced by VDirChangeable::mark(), and sweepCallback().

void VDirEvaluator::setRepEDI EvalDirInfo repEDI  )  throw () [inline, private]
 

Definition at line 120 of file VDirEvaluator.H.

References repEDI(), and VDIREV_EDI.

void VDirEvaluator::setVisited bool  newval  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 114 of file VDirEvaluator.H.

References VDIREV_FLAGS.

Referenced by VDirChangeable::mark(), and sweepCallback().

bool VDirEvaluator::sweepCallback void *  closure,
VMemPool::typeCode  type,
void *  addr,
Bit32 size
throw () [static]
 

Definition at line 739 of file VDirEvaluator.C.

References EvalDirInfo::atab, edi, VestaSource::evaluatorDirectory, EvalDirInfo::hostname, EntryInfo::name, Table< K, V >::Iterator::Next(), EvalDirInfo::port, setHasName(), setVisited(), VDIREV_SIZE, and visited().

Referenced by InitVRWeed().

time_t VDirEvaluator::timestamp  )  throw () [virtual]
 

Reimplemented from VestaSource.

Definition at line 875 of file VDirEvaluator.C.

References edi, and EvalDirInfo::timestamp.

bool VDirEvaluator::visited  )  throw () [inline, virtual]
 

Reimplemented from VestaSource.

Definition at line 112 of file VDirEvaluator.H.

References VDIREV_FLAGS.

Referenced by VDirChangeable::mark(), and sweepCallback().


Member Data Documentation

EvalDirInfo* VDirEvaluator::edi [private]
 

Definition at line 55 of file VDirEvaluator.H.

Referenced by alive(), freeTree(), purge(), rebuildCallback(), sweepCallback(), and timestamp().


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