xrootd
|
#include <XrdSutCache.hh>
Public Member Functions | |
XrdSutCache () | |
virtual | ~XrdSutCache () |
int | Entries () const |
bool | Empty () const |
int | Init (int capacity=100) |
int | Reset (int newsz=-1) |
int | Load (const char *pfname) |
int | Flush (const char *pfname=0) |
int | Refresh () |
int | Rehash (bool force=0, bool lock=1) |
void | SetLifetime (int lifet=300) |
XrdSutPFEntry * | Get (int i) const |
XrdSutPFEntry * | Get (const char *ID, bool *wild=0) |
XrdSutPFEntry * | Add (const char *ID, bool force=0) |
bool | Remove (const char *ID, int opt=1) |
int | Trim (int lifet=0) |
void | Dump (const char *msg=0) |
Private Attributes | |
XrdSysRWLock | rwlock |
int | cachesz |
int | cachemx |
XrdSutPFEntry ** | cachent |
kXR_int32 | utime |
int | lifetime |
XrdOucHash< kXR_int32 > | hashtable |
kXR_int32 | htmtime |
XrdOucString | pfile |
XrdSutCache::XrdSutCache | ( | ) | [inline] |
XrdSutCache::~XrdSutCache | ( | ) | [virtual] |
References cachemx, cachent, rwlock, XrdSysRWLock::UnLock(), and XrdSysRWLock::WriteLock().
XrdSutPFEntry * XrdSutCache::Add | ( | const char * | ID, |
bool | force = 0 |
||
) |
References cachemx, cachent, cachesz, DEBUG, EPNAME, Get(), Rehash(), rwlock, and utime.
Referenced by XrdSecProtocolgsi::GetCA(), XrdSecProtocolgsi::Init(), XrdCryptosslX509Crl::LoadCache(), XrdSecProtocolgsi::LoadCADir(), XrdSecProtocolgsi::LoadGMAP(), XrdSecProtocolpwd::ParseClientInput(), XrdSecProtocolpwd::QueryCreds(), XrdSecProtocolgsi::QueryGMAP(), XrdSecProtocolgsi::QueryProxy(), XrdSecProtocolpwd::QueryUser(), and XrdSecProtocolpwd::SaveCreds().
void XrdSutCache::Dump | ( | const char * | msg = 0 | ) |
References XrdSutPFEntry::buf1, XrdSutPFEntry::buf2, XrdSutPFEntry::buf3, XrdSutPFEntry::buf4, cachemx, cachent, cachesz, XrdSutPFEntry::cnt, EPNAME, XrdSutPFBuf::len, XrdSutPFEntry::mtime, XrdSutPFEntry::name, PRINT, rwlock, XrdSutPFEntry::status, and XrdSutTimeString().
Referenced by Get(), XrdSecProtocolpwd::Init(), XrdSecProtocolgsi::Init(), and Rehash().
bool XrdSutCache::Empty | ( | ) | const [inline] |
References cachemx.
Referenced by XrdSecProtocolgsi::Init(), and XrdSecProtocolgsi::LoadGMAP().
int XrdSutCache::Entries | ( | ) | const [inline] |
References cachemx.
int XrdSutCache::Flush | ( | const char * | pfname = 0 | ) |
References XrdOucString::c_str(), cachemx, cachent, XrdSutPFile::Close(), DEBUG, EPNAME, XrdSutPFile::IsValid(), kPFEcreate, kPFEopen, XrdSutPFile::LastErrStr(), XrdOucString::length(), XrdSutPFEntry::mtime, XrdSutPFEntry::name, pfile, XrdSutPFile::ReadEntry(), rwlock, utime, and XrdSutPFile::WriteEntry().
Referenced by XrdSecProtocolpwd::Authenticate(), XrdSecProtocolpwd::ParseClientInput(), XrdSecProtocolpwd::SaveCreds(), and XrdSecProtocolpwd::UpdateAlog().
XrdSutPFEntry* XrdSutCache::Get | ( | int | i | ) | const [inline] |
References cachemx, and cachent.
Referenced by Add(), XrdSecProtocolgsi::GetCA(), XrdSecProtocolpwd::Init(), XrdCryptosslX509Crl::IsRevoked(), XrdSecProtocolpwd::ParseClientInput(), XrdSecProtocolpwd::QueryCreds(), XrdSecProtocolgsi::QueryGMAP(), XrdSecProtocolgsi::QueryProxy(), XrdSecProtocolpwd::QueryUser(), and XrdSecProtocolgsi::ServerDoCertreq().
XrdSutPFEntry * XrdSutCache::Get | ( | const char * | ID, |
bool * | wild = 0 |
||
) |
int XrdSutCache::Init | ( | int | capacity = 100 | ) |
References cachent, cachesz, DEBUG, EPNAME, Rehash(), rwlock, and utime.
Referenced by XrdSecProtocolpwd::Init(), XrdSecProtocolgsi::Init(), Load(), XrdCryptosslX509Crl::LoadCache(), XrdSecProtocolgsi::LoadCADir(), XrdSecProtocolgsi::LoadGMAP(), and Reset().
int XrdSutCache::Load | ( | const char * | pfname | ) |
References cachemx, cachent, XrdSutPFile::Close(), DEBUG, XrdSutPFEntInd::entofs, XrdSutPFHeader::entries, EPNAME, XrdSutPFHeader::indofs, Init(), XrdSutPFile::IsValid(), kPFEopen, XrdSutPFile::LastErrStr(), XrdSutPFEntInd::name, XrdSutPFEntInd::nxtofs, pfile, XrdSutPFile::ReadEnt(), XrdSutPFile::ReadHeader(), XrdSutPFile::ReadInd(), Rehash(), Reset(), rwlock, XrdSutPFEntry::SetName(), stat(), and utime.
Referenced by XrdSecProtocolpwd::Init(), and Refresh().
int XrdSutCache::Refresh | ( | ) |
References XrdOucString::c_str(), DEBUG, EPNAME, XrdOucString::length(), Load(), pfile, rwlock, stat(), and utime.
Referenced by XrdSecProtocolpwd::QueryCreds(), and XrdSecProtocolpwd::QueryUser().
int XrdSutCache::Rehash | ( | bool | force = 0 , |
bool | lock = 1 |
||
) |
References XrdOucHash< T >::Add(), cachemx, cachent, DEBUG, Dump(), EPNAME, hashtable, htmtime, XrdOucHash< T >::Purge(), rwlock, TRACE, XrdSysRWLock::UnLock(), utime, and XrdSysRWLock::WriteLock().
Referenced by Add(), Get(), XrdSecProtocolgsi::GetCA(), Init(), XrdSecProtocolgsi::Init(), Load(), XrdCryptosslX509Crl::LoadCache(), XrdSecProtocolgsi::LoadCADir(), XrdSecProtocolgsi::LoadGMAP(), XrdSecProtocolgsi::QueryGMAP(), XrdSecProtocolgsi::QueryProxy(), and Remove().
bool XrdSutCache::Remove | ( | const char * | ID, |
int | opt = 1 |
||
) |
int XrdSutCache::Reset | ( | int | newsz = -1 | ) |
References cachemx, cachent, cachesz, Init(), and rwlock.
Referenced by XrdSecProtocolgsi::Init(), Load(), and XrdSecProtocolgsi::LoadGMAP().
void XrdSutCache::SetLifetime | ( | int | lifet = 300 | ) | [inline] |
References lifetime.
int XrdSutCache::cachemx [private] |
XrdSutPFEntry** XrdSutCache::cachent [private] |
int XrdSutCache::cachesz [private] |
XrdOucHash<kXR_int32> XrdSutCache::hashtable [private] |
kXR_int32 XrdSutCache::htmtime [private] |
Referenced by Rehash(), and XrdSutCache().
int XrdSutCache::lifetime [private] |
Referenced by SetLifetime(), Trim(), and XrdSutCache().
XrdOucString XrdSutCache::pfile [private] |
Referenced by Flush(), Load(), Refresh(), and XrdSutCache().
XrdSysRWLock XrdSutCache::rwlock [private] |
kXR_int32 XrdSutCache::utime [private] |