/vesta/vestasys.org/vesta/repltools/30/src/Replicator.C File Reference

#include <VestaConfig.H>
#include <VDirSurrogate.H>
#include "Replicator.H"
#include "UniqueId.H"

Include dependency graph for Replicator.C:

Go to the source code of this file.

Classes

struct  FirstLastClosure
struct  DirClosure
struct  ReplicatorDirClosure
struct  ExpansionDirClosure
class  AccumulateMatchHandler

Functions

void copyLatest (VestaSource *svs, VestaSource *dvs, Text svsname, ReplicatorDirClosure *cl)
bool gflCallback (void *closure, VestaSource::typeTag type, Arc arc, unsigned int index, Bit32 pseudoInode, ShortId filesid, bool master)
void getFirstLast (DirClosure *cl)
void getDestFirstLast (DirClosure *cl)
int getExpr (const char *e, const char *end, DirClosure *cl)
bool arcPatternMatch (const char *arc, const char *pat, DirClosure *cl, int bracedepth=0)
void splitHeadTail (const Text &pattern, Text &head, Text &tail)
const Replicator::DirectiveSeq nothingAS (0)
const Replicator::DirectiveSeq everythingAS (&plusEmpty, 1)
void createParent (ReplicatorDirClosure *cl) throw (SRPC::failure, Replicator::Failure)
bool doOneEntry (void *closure, VestaSource::typeTag type, Arc arc, unsigned int index, Bit32 pseudoInode, ShortId filesid, bool master)

Variables

const Replicator::Directive plusEmpty ('+', Text(""))


Function Documentation

bool arcPatternMatch ( const char *  arc,
const char *  pat,
DirClosure cl,
int  bracedepth = 0 
)

Definition at line 320 of file Replicator.C.

References DirClosure::destFirstLastKnown, DirClosure::dfirst, DirClosure::dlast, DirClosure::first, DirClosure::firstLastKnown, getDestFirstLast(), getExpr(), getFirstLast(), and DirClosure::last.

Here is the call graph for this function:

void copyLatest ( VestaSource svs,
VestaSource dvs,
Text  svsname,
ReplicatorDirClosure cl 
)

Definition at line 112 of file Replicator.C.

References Replicator::attrAccess, Text::cchars(), Replicator::dhost, Replicator::dport, Replicator::dwho, ReposUI::errorCodeText(), ReplicatorDirClosure::flags, VestaSource::ghost, VRErrorCode::longIdOverflow, VestaSource::lookup(), VRErrorCode::notFound, VRErrorCode::ok, PathnameSep, VDirSurrogate::replicate(), VDirSurrogate::replicateAttribs(), ReplicatorDirClosure::replicator, Replicator::shost, Replicator::sport, VestaSource::stub, Replicator::swho, Replicator::test, VestaSource::type, and Replicator::verbose.

Referenced by doOneEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

void createParent ( ReplicatorDirClosure cl  )  throw (SRPC::failure, Replicator::Failure)

Definition at line 725 of file Replicator.C.

References VestaSource::appendableDirectory, Text::cchars(), Replicator::dhost, DirClosure::dparent, Replicator::dport, Replicator::droot, Replicator::dwho, ReposUI::errorCodeText(), ReplicatorDirClosure::flags, VestaSource::ghost, VestaSource::immutableDirectory, VRErrorCode::longIdOverflow, VestaSource::master, VRErrorCode::ok, DirClosure::parentArc, DirClosure::parentcl, DirClosure::parentName, PathnameSep, VDirSurrogate::replicate(), ReplicatorDirClosure::replicator, Replicator::revive, Replicator::reviveMA, Replicator::shost, DirClosure::sparent, Replicator::sport, VestaSource::stub, Replicator::swho, Replicator::test, VestaSource::type, and Replicator::verbose.

Referenced by doOneEntry().

Here is the call graph for this function:

Here is the caller graph for this function:

bool doOneEntry ( void *  closure,
VestaSource::typeTag  type,
Arc  arc,
unsigned int  index,
Bit32  pseudoInode,
ShortId  filesid,
bool  master 
)

Definition at line 801 of file Replicator.C.

References VestaSource::appendableDirectory, Replicator::attrInner, Replicator::attrNew, Replicator::attrOld, Text::cchars(), Replicator::copyAttribs(), copyLatest(), createParent(), DirClosure::destFirstLastKnown, DirClosure::dfirst, Replicator::dhost, ReplicatorDirClosure::directives, DirClosure::dlast, Replicator::dontCopyNew, DirClosure::dparent, Replicator::dport, Replicator::droot, DirClosure::dwho, Replicator::dwho, ReposUI::errorCodeText(), DirClosure::first, DirClosure::firstLastKnown, ReplicatorDirClosure::flags, VestaSource::ghost, VestaSource::immutableDirectory, VestaSource::immutableFile, VestaAttribs::inAttribs(), Replicator::inclGhosts, Replicator::inclStubs, DirClosure::last, Replicator::latest, VestaSource::list(), VRErrorCode::longIdOverflow, VestaSource::lookup(), VestaSource::lookupIndex(), VestaSource::master, ReplicatorDirClosure::matchcount, VRErrorCode::notFound, VRErrorCode::ok, DirClosure::parentArc, DirClosure::parentcl, DirClosure::parentName, PathnameSep, VDirSurrogate::replicate(), ReplicatorDirClosure::replicator, Replicator::revive, Replicator::reviveMA, Replicator::shost, Sequence< Elem, elem_ptrfree >::size(), DirClosure::sparent, Replicator::sport, VestaSource::stub, DirClosure::swho, Replicator::swho, Replicator::test, VestaSource::type, and Replicator::verbose.

Referenced by Replicator::replicate().

Here is the call graph for this function:

Here is the caller graph for this function:

const Replicator::DirectiveSeq everythingAS ( plusEmpty,
 
)

void getDestFirstLast ( DirClosure cl  ) 

Definition at line 234 of file Replicator.C.

References VestaSource::appendableDirectory, DirClosure::destFirstLastKnown, DirClosure::dfirst, DirClosure::dlast, DirClosure::dparent, DirClosure::dwho, FirstLastClosure::first, gflCallback(), FirstLastClosure::last, VestaSource::list(), VRErrorCode::ok, DirClosure::parentName, and VestaSource::type.

Referenced by arcPatternMatch(), and getExpr().

Here is the call graph for this function:

Here is the caller graph for this function:

int getExpr ( const char *  e,
const char *  end,
DirClosure cl 
)

Definition at line 263 of file Replicator.C.

References DirClosure::destFirstLastKnown, DirClosure::dfirst, DirClosure::dlast, DirClosure::first, DirClosure::firstLastKnown, getDestFirstLast(), getFirstLast(), and DirClosure::last.

Referenced by arcPatternMatch().

Here is the call graph for this function:

Here is the caller graph for this function:

void getFirstLast ( DirClosure cl  ) 

Definition at line 214 of file Replicator.C.

References VestaSource::appendableDirectory, DirClosure::dfirst, DirClosure::dlast, FirstLastClosure::first, DirClosure::first, DirClosure::firstLastKnown, gflCallback(), FirstLastClosure::last, DirClosure::last, VestaSource::list(), VRErrorCode::ok, DirClosure::parentName, DirClosure::sparent, DirClosure::swho, and VestaSource::type.

Referenced by arcPatternMatch(), and getExpr().

Here is the call graph for this function:

Here is the caller graph for this function:

bool gflCallback ( void *  closure,
VestaSource::typeTag  type,
Arc  arc,
unsigned int  index,
Bit32  pseudoInode,
ShortId  filesid,
bool  master 
)

Definition at line 190 of file Replicator.C.

References VestaSource::appendableDirectory, FirstLastClosure::first, VestaSource::immutableDirectory, and FirstLastClosure::last.

Referenced by getDestFirstLast(), and getFirstLast().

Here is the caller graph for this function:

const Replicator::DirectiveSeq nothingAS (  ) 

void splitHeadTail ( const Text pattern,
Text head,
Text tail 
)

Definition at line 595 of file Replicator.C.

References Text::FindChar(), and Text::Sub().

Here is the call graph for this function:


Variable Documentation

const Replicator::Directive plusEmpty('+', Text(""))


Generated on Fri May 25 00:17:53 2007 for Vesta by  doxygen 1.5.1