|
xrootd
|
#include <XrdSutCache.hh>

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