XrdSutPFile Class Reference

#include <XrdSutPFile.hh>

List of all members.

Public Member Functions

 XrdSutPFile (const char *n, kXR_int32 openmode=kPFEcreate, kXR_int32 createmode=0600, bool hashtab=1)
 XrdSutPFile (const XrdSutPFile &f)
virtual ~XrdSutPFile ()
bool Init (const char *n, kXR_int32 openmode=kPFEcreate, kXR_int32 createmode=0600, bool hashtab=1)
kXR_int32 Open (kXR_int32 opt, bool *wasopen=0, const char *nam=0, kXR_int32 createmode=0600)
kXR_int32 Close (kXR_int32 d=-1)
const char * Name () const
bool IsValid () const
kXR_int32 LastError () const
const char * LastErrStr () const
kXR_int32 RemoveEntry (const char *name)
kXR_int32 RemoveEntry (kXR_int32 ofs)
kXR_int32 RemoveEntries (const char *name, char opt)
kXR_int32 Trim (const char *fbak=0)
kXR_int32 UpdateHeader (XrdSutPFHeader hd)
kXR_int32 WriteEntry (XrdSutPFEntry ent)
kXR_int32 UpdateCount (const char *nm, int *cnt=0, int step=1, bool reset=0)
kXR_int32 ResetCount (const char *nm)
kXR_int32 ReadCount (const char *nm, int &cnt)
kXR_int32 RetrieveHeader (XrdSutPFHeader &hd)
kXR_int32 ReadEntry (const char *name, XrdSutPFEntry &ent, int opt=0)
kXR_int32 ReadEntry (kXR_int32 ofs, XrdSutPFEntry &ent)
kXR_int32 SearchEntries (const char *name, char opt, kXR_int32 *ofs=0, kXR_int32 nofs=1)
kXR_int32 SearchSpecialEntries (kXR_int32 *ofs=0, kXR_int32 nofs=1)
kXR_int32 Browse (void *out=0)

Private Member Functions

kXR_int32 WriteHeader (XrdSutPFHeader hd)
kXR_int32 ReadHeader (XrdSutPFHeader &hd)
kXR_int32 WriteInd (kXR_int32 ofs, XrdSutPFEntInd ind)
kXR_int32 ReadInd (kXR_int32 ofs, XrdSutPFEntInd &ind)
kXR_int32 WriteEnt (kXR_int32 ofs, XrdSutPFEntry ent)
kXR_int32 ReadEnt (kXR_int32 ofs, XrdSutPFEntry &ent)
kXR_int32 Reset (kXR_int32 ofs, kXR_int32 size)
kXR_int32 UpdateHashTable (bool force=0)
kXR_int32 Err (kXR_int32 code, const char *loc, const char *em1=0, const char *em2=0)

Private Attributes

char * name
bool valid
kXR_int32 fFd
XrdOucHash< kXR_int32 > * fHashTable
kXR_int32 fHTutime
kXR_int32 fError
XrdOucString fErrStr

Friends

class XrdSutCache


Detailed Description

Definition at line 104 of file XrdSutPFile.hh.


Constructor & Destructor Documentation

XrdSutPFile::XrdSutPFile ( const char *  n,
kXR_int32  openmode = kPFEcreate,
kXR_int32  createmode = 0600,
bool  hashtab = 1 
)

Definition at line 162 of file XrdSutPFile.cc.

References fFd, fHashTable, fHTutime, Init(), name, strcpy(), and valid.

XrdSutPFile::XrdSutPFile ( const XrdSutPFile f  ) 

Definition at line 182 of file XrdSutPFile.cc.

References fFd, name, and strcpy().

XrdSutPFile::~XrdSutPFile (  )  [virtual]

Definition at line 196 of file XrdSutPFile.cc.

References Close(), fHashTable, and name.


Member Function Documentation

kXR_int32 XrdSutPFile::WriteHeader ( XrdSutPFHeader  hd  )  [private]

Definition at line 498 of file XrdSutPFile.cc.

References XrdSutPFHeader::ctime, XrdSutPFHeader::entries, Err(), fFd, XrdSutPFHeader::fileID, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, XrdSutPFHeader::jnksiz, kFileIDSize, kPFErrFileNotOpen, kPFErrLenMismatch, kPFErrOutOfMemory, kPFErrSeek, XrdSutPFHeader::Length(), lseek, SEEK_SET, XrdSutPFHeader::version, and write.

Referenced by Init(), RemoveEntry(), Trim(), UpdateHeader(), and WriteEntry().

kXR_int32 XrdSutPFile::ReadHeader ( XrdSutPFHeader hd  )  [private]

Definition at line 1407 of file XrdSutPFile.cc.

References XrdSutPFHeader::ctime, XrdSutPFHeader::entries, Err(), fFd, XrdSutPFHeader::fileID, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, XrdSutPFHeader::jnksiz, kFileIDSize, kPFErrFileNotOpen, kPFErrRead, kPFErrSeek, lseek, read, SEEK_SET, and XrdSutPFHeader::version.

Referenced by Browse(), XrdSutCache::Load(), ReadEntry(), RemoveEntry(), RetrieveHeader(), SearchEntries(), SearchSpecialEntries(), Trim(), UpdateCount(), UpdateHashTable(), and WriteEntry().

kXR_int32 XrdSutPFile::WriteInd ( kXR_int32  ofs,
XrdSutPFEntInd  ind 
) [private]

Definition at line 1268 of file XrdSutPFile.cc.

References XrdSutPFEntInd::entofs, XrdSutPFEntInd::entsiz, Err(), fFd, kPFErrFileNotOpen, kPFErrLenMismatch, kPFErrOutOfMemory, kPFErrSeek, XrdSutPFEntInd::Length(), lseek, XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, SEEK_SET, and write.

Referenced by RemoveEntry(), Trim(), and WriteEntry().

kXR_int32 XrdSutPFile::ReadInd ( kXR_int32  ofs,
XrdSutPFEntInd ind 
) [private]

Definition at line 1458 of file XrdSutPFile.cc.

References XrdSutPFEntInd::entofs, XrdSutPFEntInd::entsiz, Err(), fFd, kPFErrFileNotOpen, kPFErrOutOfMemory, kPFErrRead, kPFErrSeek, lseek, XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, read, and SEEK_SET.

Referenced by Browse(), XrdSutCache::Load(), ReadEntry(), RemoveEntry(), SearchEntries(), SearchSpecialEntries(), Trim(), UpdateCount(), UpdateHashTable(), and WriteEntry().

kXR_int32 XrdSutPFile::WriteEnt ( kXR_int32  ofs,
XrdSutPFEntry  ent 
) [private]

Definition at line 1325 of file XrdSutPFile.cc.

References XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutPFEntry::buf3, XrdSutPFEntry::buf4, XrdSutPFEntry::cnt, Err(), fFd, kPFErrFileNotOpen, kPFErrLenMismatch, kPFErrOutOfMemory, kPFErrSeek, XrdSutPFBuf::len, XrdSutPFEntry::Length(), lseek, XrdSutPFEntry::mtime, SEEK_SET, XrdSutPFEntry::status, and write.

Referenced by Trim(), UpdateCount(), and WriteEntry().

kXR_int32 XrdSutPFile::ReadEnt ( kXR_int32  ofs,
XrdSutPFEntry ent 
) [private]

Definition at line 1512 of file XrdSutPFile.cc.

References XrdSutPFBuf::buf, XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutPFEntry::buf3, XrdSutPFEntry::buf4, XrdSutPFEntry::cnt, Err(), fFd, kPFErrFileNotOpen, kPFErrOutOfMemory, kPFErrRead, kPFErrSeek, XrdSutPFBuf::len, lseek, XrdSutPFEntry::mtime, read, SEEK_SET, and XrdSutPFEntry::status.

Referenced by Browse(), XrdSutCache::Load(), ReadEntry(), SearchSpecialEntries(), Trim(), and UpdateCount().

kXR_int32 XrdSutPFile::Reset ( kXR_int32  ofs,
kXR_int32  size 
) [private]

Definition at line 1244 of file XrdSutPFile.cc.

References c, Err(), fFd, kPFErrSeek, lseek, SEEK_SET, and write.

Referenced by RemoveEntry(), and WriteEntry().

kXR_int32 XrdSutPFile::UpdateHashTable ( bool  force = 0  )  [private]

Definition at line 1915 of file XrdSutPFile.cc.

References XrdSutPFHeader::entries, Err(), fFd, fHashTable, fHTutime, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, kPFErrFileNotOpen, kPFErrOutOfMemory, XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, ReadHeader(), and ReadInd().

Referenced by Init(), ReadEntry(), RemoveEntry(), and UpdateCount().

kXR_int32 XrdSutPFile::Err ( kXR_int32  code,
const char *  loc,
const char *  em1 = 0,
const char *  em2 = 0 
) [private]

Definition at line 2157 of file XrdSutPFile.cc.

References buf, DEBUG, EPNAME, fError, fErrStr, kPFErrBadInputs, kPFErrBadOp, kPFErrFileAlreadyOpen, kPFErrFileLocked, kPFErrFileNotOpen, kPFErrFileOpen, kPFErrFileRename, kPFErrLenMismatch, kPFErrLocking, kPFErrNoFile, kPFErrOutOfMemory, kPFErrRead, kPFErrSeek, kPFErrStat, kPFErrUnlocking, snprintf, strerror(), and XrdSutMAXBUF.

Referenced by Close(), Init(), Open(), ReadEnt(), ReadEntry(), ReadHeader(), ReadInd(), RemoveEntry(), Reset(), SearchEntries(), Trim(), UpdateCount(), UpdateHashTable(), WriteEnt(), WriteEntry(), WriteHeader(), and WriteInd().

bool XrdSutPFile::Init ( const char *  n,
kXR_int32  openmode = kPFEcreate,
kXR_int32  createmode = 0600,
bool  hashtab = 1 
)

Definition at line 211 of file XrdSutPFile.cc.

References Close(), Err(), fFd, fHashTable, fHTutime, kDefFileID, kPFEcreate, kPFEopen, kPFErrNoFile, kXrdIFVersion, name, Open(), stat, strcpy(), UpdateHashTable(), valid, and WriteHeader().

Referenced by XrdSecProtocolpwd::Init(), and XrdSutPFile().

kXR_int32 XrdSutPFile::Open ( kXR_int32  opt,
bool *  wasopen = 0,
const char *  nam = 0,
kXR_int32  createmode = 0600 
)

Definition at line 275 of file XrdSutPFile.cc.

References XrdOucString::c_str(), close, Err(), F_GETFL, fcntl(), fFd, kMaxLockTries, kPFErrBadInputs, kPFErrBadOp, kPFErrFileAlreadyOpen, kPFErrFileLocked, kPFErrFileOpen, kPFErrLocking, kPFErrNoFile, kPFErrStat, name, open, SEEK_SET, stat, timespec::tv_nsec, and timespec::tv_sec.

Referenced by Browse(), Init(), ReadEntry(), RemoveEntry(), RetrieveHeader(), SearchEntries(), SearchSpecialEntries(), Trim(), UpdateCount(), UpdateHeader(), and WriteEntry().

kXR_int32 XrdSutPFile::Close ( kXR_int32  d = -1  ) 

Definition at line 424 of file XrdSutPFile.cc.

References close, Err(), fcntl(), fFd, kPFErrUnlocking, and SEEK_SET.

Referenced by Browse(), XrdSutCache::Flush(), Init(), XrdSutCache::Load(), ReadEntry(), RemoveEntry(), RetrieveHeader(), SearchEntries(), SearchSpecialEntries(), Trim(), UpdateCount(), UpdateHeader(), WriteEntry(), and ~XrdSutPFile().

const char* XrdSutPFile::Name (  )  const [inline]

Definition at line 151 of file XrdSutPFile.hh.

References name.

Referenced by GetEntry(), RemoveEntries(), and XrdSecProtocolpwd::XrdSecProtocolpwd().

bool XrdSutPFile::IsValid (  )  const [inline]

Definition at line 153 of file XrdSutPFile.hh.

References valid.

Referenced by XrdSutCache::Flush(), XrdSecProtocolpwd::Init(), XrdSutCache::Load(), XrdSecProtocolpwd::ParseClientInput(), XrdSecProtocolpwd::QueryCreds(), and XrdSecProtocolpwd::QueryUser().

kXR_int32 XrdSutPFile::LastError (  )  const [inline]

Definition at line 155 of file XrdSutPFile.hh.

References fError.

const char* XrdSutPFile::LastErrStr (  )  const [inline]

Definition at line 156 of file XrdSutPFile.hh.

References XrdOucString::c_str(), and fErrStr.

Referenced by XrdSutCache::Flush(), and XrdSutCache::Load().

kXR_int32 XrdSutPFile::RemoveEntry ( const char *  name  ) 

Definition at line 1055 of file XrdSutPFile.cc.

References Close(), XrdSutPFHeader::ctime, XrdSutPFEntInd::entofs, XrdSutPFHeader::entries, XrdSutPFEntInd::entsiz, Err(), fFd, fHashTable, fHTutime, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, XrdSutPFHeader::jnksiz, kPFE_inactive, kPFErrBadInputs, kPFErrSeek, lseek, XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, Open(), ReadHeader(), ReadInd(), Reset(), SEEK_SET, UpdateHashTable(), write, WriteHeader(), and WriteInd().

Referenced by RemoveEntries().

kXR_int32 XrdSutPFile::RemoveEntry ( kXR_int32  ofs  ) 

Definition at line 1168 of file XrdSutPFile.cc.

References Close(), XrdSutPFHeader::ctime, XrdSutPFEntInd::entofs, XrdSutPFHeader::entries, XrdSutPFEntInd::entsiz, Err(), fFd, fHTutime, XrdSutPFHeader::itime, XrdSutPFHeader::jnksiz, kPFE_inactive, kPFErrBadInputs, kPFErrSeek, lseek, Open(), ReadHeader(), ReadInd(), Reset(), SEEK_SET, UpdateHashTable(), write, WriteHeader(), and WriteInd().

kXR_int32 XrdSutPFile::RemoveEntries ( const char *  name,
char  opt 
)

Definition at line 1968 of file XrdSutPFile.cc.

References DEBUG, EPNAME, i, Name(), RemoveEntry(), and SearchEntries().

kXR_int32 XrdSutPFile::Trim ( const char *  fbak = 0  ) 

Definition at line 1749 of file XrdSutPFile.cc.

References Close(), XrdSutPFHeader::ctime, DEBUG, XrdSutPFEntInd::entofs, EPNAME, Err(), fFd, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, XrdSutPFHeader::jnksiz, kPFErrFileRename, kPFErrOutOfMemory, kPFErrSeek, lseek, name, XrdSutPFEntInd::nxtofs, Open(), ReadEnt(), ReadHeader(), ReadInd(), rename, RetrieveHeader(), SEEK_CUR, sprintf(), WriteEnt(), WriteHeader(), and WriteInd().

kXR_int32 XrdSutPFile::UpdateHeader ( XrdSutPFHeader  hd  ) 

Definition at line 459 of file XrdSutPFile.cc.

References Close(), Open(), and WriteHeader().

kXR_int32 XrdSutPFile::WriteEntry ( XrdSutPFEntry  ent  ) 

Definition at line 560 of file XrdSutPFile.cc.

References Close(), XrdSutPFHeader::ctime, XrdSutPFEntInd::entofs, XrdSutPFHeader::entries, XrdSutPFEntInd::entsiz, Err(), fFd, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, XrdSutPFHeader::jnksiz, kOfsCtime, kOfsItime, kOfsJnkSiz, kPFE_inactive, kPFErrBadInputs, kPFErrSeek, XrdSutPFEntry::Length(), lseek, XrdSutPFEntInd::name, XrdSutPFEntry::name, XrdSutPFEntInd::nxtofs, Open(), ReadHeader(), ReadInd(), Reset(), SEEK_CUR, SEEK_END, SEEK_SET, XrdSutPFEntInd::SetName(), write, WriteEnt(), WriteHeader(), and WriteInd().

Referenced by XrdSutCache::Flush().

kXR_int32 XrdSutPFile::UpdateCount ( const char *  nm,
int *  cnt = 0,
int  step = 1,
bool  reset = 0 
)

Definition at line 770 of file XrdSutPFile.cc.

References Close(), XrdSutPFEntry::cnt, XrdSutPFEntInd::entofs, Err(), fHashTable, fHTutime, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, kPFErrBadInputs, XrdSutPFEntry::mtime, XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, Open(), ReadEnt(), ReadHeader(), ReadInd(), UpdateHashTable(), and WriteEnt().

Referenced by ReadCount(), and ResetCount().

kXR_int32 XrdSutPFile::ResetCount ( const char *  nm  )  [inline]

Definition at line 166 of file XrdSutPFile.hh.

References UpdateCount().

kXR_int32 XrdSutPFile::ReadCount ( const char *  nm,
int &  cnt 
) [inline]

Definition at line 167 of file XrdSutPFile.hh.

References UpdateCount().

kXR_int32 XrdSutPFile::RetrieveHeader ( XrdSutPFHeader hd  ) 

Definition at line 478 of file XrdSutPFile.cc.

References Close(), Open(), and ReadHeader().

Referenced by Trim().

kXR_int32 XrdSutPFile::ReadEntry ( const char *  name,
XrdSutPFEntry ent,
int  opt = 0 
)

Definition at line 884 of file XrdSutPFile.cc.

References Close(), XrdSutPFEntInd::entofs, Err(), fHashTable, fHTutime, XrdSutPFHeader::indofs, XrdSutPFHeader::itime, kPFErrBadInputs, match(), XrdOucString::matches(), XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, Open(), ReadEnt(), ReadHeader(), ReadInd(), XrdSutPFEntry::Reset(), XrdSutPFEntry::SetName(), and UpdateHashTable().

Referenced by XrdSutCache::Flush(), GetEntry(), and XrdSecProtocolpwd::Init().

kXR_int32 XrdSutPFile::ReadEntry ( kXR_int32  ofs,
XrdSutPFEntry ent 
)

Definition at line 1017 of file XrdSutPFile.cc.

References Close(), XrdSutPFEntInd::entofs, Err(), kPFErrBadInputs, XrdSutPFEntInd::name, Open(), ReadEnt(), ReadInd(), and XrdSutPFEntry::SetName().

kXR_int32 XrdSutPFile::SearchEntries ( const char *  name,
char  opt,
kXR_int32 ofs = 0,
kXR_int32  nofs = 1 
)

Definition at line 2006 of file XrdSutPFile.cc.

References XrdOucString::assign(), Close(), XrdSutPFEntInd::entofs, Err(), XrdSutPFHeader::indofs, kPFErrBadInputs, match(), XrdOucString::matches(), XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, Open(), ReadHeader(), and ReadInd().

Referenced by RemoveEntries().

kXR_int32 XrdSutPFile::SearchSpecialEntries ( kXR_int32 ofs = 0,
kXR_int32  nofs = 1 
)

Definition at line 2088 of file XrdSutPFile.cc.

References Close(), XrdSutPFEntInd::entofs, XrdSutPFHeader::indofs, kPFE_special, XrdSutPFEntInd::nxtofs, Open(), ReadEnt(), ReadHeader(), ReadInd(), and XrdSutPFEntry::status.

Referenced by Browse().

kXR_int32 XrdSutPFile::Browse ( void *  out = 0  ) 

Definition at line 1598 of file XrdSutPFile.cc.

References asctime_r, buf, Close(), XrdSutPFHeader::ctime, XrdSutPFHeader::entries, XrdSutPFHeader::fileID, fprintf(), i, if(), XrdSutPFHeader::itime, XrdSutPFHeader::jnksiz, localtime_r, name, Open(), out, ReadEnt(), ReadHeader(), ReadInd(), SearchSpecialEntries(), sprintf(), XrdSutPFHeader::version, and XrdSutTimeString().


Friends And Related Function Documentation

friend class XrdSutCache [friend]

Definition at line 106 of file XrdSutPFile.hh.


Member Data Documentation

char* XrdSutPFile::name [private]

Definition at line 109 of file XrdSutPFile.hh.

Referenced by Browse(), Init(), Name(), Open(), Trim(), XrdSutPFile(), and ~XrdSutPFile().

bool XrdSutPFile::valid [private]

Definition at line 110 of file XrdSutPFile.hh.

Referenced by Init(), IsValid(), and XrdSutPFile().

kXR_int32 XrdSutPFile::fFd [private]

Definition at line 111 of file XrdSutPFile.hh.

Referenced by Close(), Init(), Open(), ReadEnt(), ReadHeader(), ReadInd(), RemoveEntry(), Reset(), Trim(), UpdateHashTable(), WriteEnt(), WriteEntry(), WriteHeader(), WriteInd(), and XrdSutPFile().

XrdOucHash<kXR_int32>* XrdSutPFile::fHashTable [private]

Definition at line 112 of file XrdSutPFile.hh.

Referenced by Init(), ReadEntry(), RemoveEntry(), UpdateCount(), UpdateHashTable(), XrdSutPFile(), and ~XrdSutPFile().

kXR_int32 XrdSutPFile::fHTutime [private]

Definition at line 113 of file XrdSutPFile.hh.

Referenced by Init(), ReadEntry(), RemoveEntry(), UpdateCount(), UpdateHashTable(), and XrdSutPFile().

kXR_int32 XrdSutPFile::fError [private]

Definition at line 114 of file XrdSutPFile.hh.

Referenced by Err(), and LastError().

XrdOucString XrdSutPFile::fErrStr [private]

Definition at line 115 of file XrdSutPFile.hh.

Referenced by Err(), and LastErrStr().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:47 2011 for ROOT_528-00b_version by  doxygen 1.5.1