|
xrootd
|
#include <XrdOucCacheReal.hh>


Classes | |
| struct | prTask |
Public Member Functions | |
| XrdOucCacheIO * | Attach (XrdOucCacheIO *ioP, int Options=0) |
| int | isAttached () |
| XrdOucCacheReal (int &rc, Parms &Parms, XrdOucCacheIO::aprParms *aprP=0) | |
| ~XrdOucCacheReal () | |
| void | PreRead () |
Private Member Functions | |
| void | eMsg (const char *Path, const char *What, long long xOff, int xLen, int ec) |
| int | Detach (XrdOucCacheIO *ioP) |
| char * | Get (XrdOucCacheIO *ioP, long long lAddr, int &rGot, int &bIO) |
| int | ioAdd (XrdOucCacheIO *KeyVal, int &iNum) |
| int | ioDel (XrdOucCacheIO *KeyVal, int &iNum) |
| int | ioEnt (XrdOucCacheIO *kVal) |
| int | ioLookup (int &pip, int hip, void *kval) |
| int | Ref (char *Addr, int rAmt, int sFlags=0) |
| void | Trunc (XrdOucCacheIO *ioP, long long lAddr) |
| void | Upd (char *Addr, int wAmt, int wOff) |
| void | PreRead (XrdOucCacheReal::prTask *prReq) |
Private Attributes | |
| XrdOucCacheIO::aprParms | aprDefault |
| XrdSysMutex | CMutex |
| XrdOucCacheSlot * | Slots |
| int * | Slash |
| char * | Base |
| long long | HNum |
| long long | SegCnt |
| long long | SegSize |
| long long | OffMask |
| long long | SegShft |
| int | SegFull |
| int | maxCache |
| int | maxFiles |
| int | Options |
| int * | hTab |
| int | hMax |
| int | sFree |
| int | sBeg |
| int | sEnd |
| char | Dbg |
| char | Lgs |
| XrdSysSemaphore * | AZero |
| int | Attached |
| prTask * | prFirst |
| prTask * | prLast |
| XrdSysMutex | prMutex |
| XrdSysSemaphore | prReady |
| XrdSysSemaphore * | prStop |
| int | prNum |
Static Private Attributes | |
| static const long long | Shift = 48 |
| static const long long | Strip = 0x00000000ffffffffLL |
| static const long long | MaxFO = 0x000007ffffffffffLL |
Friends | |
| class | XrdOucCacheData |
| XrdOucCacheReal::XrdOucCacheReal | ( | int & | rc, |
| XrdOucCache::Parms & | ParmV, | ||
| XrdOucCacheIO::aprParms * | aprP = 0 |
||
| ) |
References XrdOucCache::Parms::Options, XrdOucCache::isServer, Options, XrdOucCache::Debug, Lgs, Dbg, XrdOucCache::logStats, XrdOucCache::Parms::MaxFiles, maxFiles, XrdOucCache::Parms::PageSize, SegSize, SegShft, OffMask, SegCnt, XrdOucCache::Parms::CacheSize, XrdOucCache::Parms::Max2Cache, maxCache, SegFull, Base, Slash, HNum, Slots, XrdOucCacheSlot::Init(), hTab, hMax, sBeg, sFree, sEnd, XrdOucCacheSlot::Own, XrdOucCacheSlot::HLink, XrdOucCache::canPreRead, XrdSysThread::Run(), XrdOucCacheRealPRXeq(), prNum, XrdOucCacheData::setAPR(), and aprDefault.
| XrdOucCacheReal::~XrdOucCacheReal | ( | ) |
References CMutex, XrdSysMutex::Lock(), Attached, AZero, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), prMutex, prNum, prStop, prReady, XrdSysSemaphore::Post(), Slots, Base, SegSize, and SegCnt.
| XrdOucCacheIO * XrdOucCacheReal::Attach | ( | XrdOucCacheIO * | ioP, |
| int | Options = 0 |
||
| ) | [virtual] |
Implements XrdOucCache.
References CMutex, XrdOucCache::optRW, XrdOucCache::optADB, AZero, XrdOucCache::optFIS, XrdOucCache::optFIU, Options, XrdOucCache::isStructured, ioAdd(), Slots, XrdOucCacheSlot::Status, SegCnt, Shift, XrdOucCacheData, Attached, Dbg, and XrdOucCacheIO::Path().
| int XrdOucCacheReal::Detach | ( | XrdOucCacheIO * | ioP | ) | [private] |
References CMutex, ioDel(), Slots, XrdOucCacheSlot::Own, XrdOucCacheSlot::Owner(), XrdOucCacheSlot::Contents, XrdOucCacheSlot::Status, XrdOucCacheSlot::Hide(), Slash, HNum, XrdOucCacheSlot::Pull(), XrdOucCacheSlot::unRef(), Attached, AZero, XrdSysSemaphore::Post(), Dbg, and XrdOucCacheIO::Path().
Referenced by XrdOucCacheData::Detach().
| void XrdOucCacheReal::eMsg | ( | const char * | Path, |
| const char * | What, | ||
| long long | xOff, | ||
| int | xLen, | ||
| int | ec | ||
| ) | [private] |
| char * XrdOucCacheReal::Get | ( | XrdOucCacheIO * | ioP, |
| long long | lAddr, | ||
| int & | rGot, | ||
| int & | bIO | ||
| ) | [private] |
References CMutex, HNum, Slash, XrdOucCacheSlot::Find(), Slots, XrdOucCacheSlot::Count, XrdOucCacheSlot::inTrans, XrdOucCacheSlot::Status, Dbg, XrdSysMutex::UnLock(), XrdSysSemaphore::Wait(), XrdSysMutex::Lock(), XrdOucCacheSlot::Contents, XrdOucCacheSlot::Pull(), SegSize, XrdOucCacheSlot::isNew, Base, XrdOucCacheSlot::Own, XrdOucCacheSlot::Owner(), XrdOucCacheSlot::Hide(), XrdOucCacheIO::Read(), Strip, SegShft, XrdOucCacheSlot::HLink, Shift, SegCnt, SegFull, eMsg(), XrdOucCacheIO::Path(), and XrdOucCacheSlot::unRef().
Referenced by XrdOucCacheData::Preread(), XrdOucCacheData::Read(), and XrdOucCacheData::Write().
| int XrdOucCacheReal::ioAdd | ( | XrdOucCacheIO * | KeyVal, |
| int & | iNum | ||
| ) | [private] |
References ioEnt(), hTab, ioLookup(), Slots, XrdOucCacheSlot::Count, sFree, XrdOucCacheSlot::HLink, and XrdOucCacheSlot::File().
Referenced by Attach().
| int XrdOucCacheReal::ioDel | ( | XrdOucCacheIO * | KeyVal, |
| int & | iNum | ||
| ) | [private] |
References ioEnt(), hTab, ioLookup(), Slots, XrdOucCacheSlot::Count, XrdOucCacheSlot::HLink, and sFree.
Referenced by Detach().
| int XrdOucCacheReal::ioEnt | ( | XrdOucCacheIO * | kVal | ) | [inline, private] |
| int XrdOucCacheReal::ioLookup | ( | int & | pip, |
| int | hip, | ||
| void * | kval | ||
| ) | [inline, private] |
References Slots, and XrdOucCacheSlot::HLink.
| int XrdOucCacheReal::isAttached | ( | ) | [inline, virtual] |
Reimplemented from XrdOucCache.
References CMutex, XrdSysMutex::Lock(), Attached, and XrdSysMutex::UnLock().
| void XrdOucCacheReal::PreRead | ( | ) |
References Dbg, prNum, prReady, XrdSysSemaphore::Wait(), prMutex, XrdSysMutex::Lock(), prStop, prFirst, XrdOucCacheReal::prTask::Next, prLast, XrdSysMutex::UnLock(), XrdOucCacheReal::prTask::Data, XrdOucCacheData::Preread(), and XrdSysSemaphore::Post().
Referenced by XrdOucCacheData::Preread(), XrdOucCacheData::QueuePR(), and XrdOucCacheRealPRXeq().
| void XrdOucCacheReal::PreRead | ( | XrdOucCacheReal::prTask * | prReq | ) | [private] |
References prMutex, XrdSysMutex::Lock(), prLast, XrdOucCacheReal::prTask::Next, prFirst, prReady, XrdSysSemaphore::Post(), and XrdSysMutex::UnLock().
| int XrdOucCacheReal::Ref | ( | char * | Addr, |
| int | rAmt, | ||
| int | sFlags = 0 |
||
| ) | [private] |
References Slots, Base, SegShft, CMutex, XrdSysMutex::Lock(), XrdOucCacheSlot::Contents, XrdOucCacheSlot::Count, XrdOucCacheSlot::Status, XrdOucCacheSlot::reRef(), XrdOucCacheSlot::isSUSE, XrdOucCacheSlot::unRef(), SegSize, Dbg, and XrdSysMutex::UnLock().
Referenced by XrdOucCacheData::Preread(), and XrdOucCacheData::Read().
| void XrdOucCacheReal::Trunc | ( | XrdOucCacheIO * | ioP, |
| long long | lAddr | ||
| ) | [private] |
References CMutex, Shift, SegCnt, Slots, XrdOucCacheSlot::Own, XrdOucCacheSlot::Contents, XrdOucCacheSlot::Owner(), XrdOucCacheSlot::Hide(), Slash, HNum, XrdOucCacheSlot::Pull(), XrdOucCacheSlot::unRef(), Dbg, and XrdOucCacheIO::Path().
Referenced by XrdOucCacheData::Trunc().
| void XrdOucCacheReal::Upd | ( | char * | Addr, |
| int | wAmt, | ||
| int | wOff | ||
| ) | [private] |
References Slots, Base, SegShft, CMutex, XrdSysMutex::Lock(), XrdOucCacheSlot::Count, XrdOucCacheSlot::isShort, XrdOucCacheSlot::Status, XrdOucCacheSlot::reRef(), Dbg, XrdOucCacheSlot::Contents, and XrdSysMutex::UnLock().
Referenced by XrdOucCacheData::Write().
friend class XrdOucCacheData [friend] |
Referenced by Attach().
Referenced by XrdOucCacheData::XrdOucCacheData(), and XrdOucCacheReal().
int XrdOucCacheReal::Attached [private] |
Referenced by ~XrdOucCacheReal(), Attach(), Detach(), and isAttached().
XrdSysSemaphore* XrdOucCacheReal::AZero [private] |
Referenced by ~XrdOucCacheReal(), Attach(), and Detach().
char* XrdOucCacheReal::Base [private] |
Referenced by XrdOucCacheReal(), ~XrdOucCacheReal(), Get(), Ref(), and Upd().
XrdSysMutex XrdOucCacheReal::CMutex [private] |
Referenced by ~XrdOucCacheReal(), Attach(), Detach(), Get(), Ref(), Trunc(), Upd(), and isAttached().
char XrdOucCacheReal::Dbg [private] |
Referenced by XrdOucCacheData::XrdOucCacheData(), XrdOucCacheReal(), Attach(), Detach(), eMsg(), Get(), PreRead(), Ref(), Trunc(), and Upd().
int XrdOucCacheReal::hMax [private] |
Referenced by XrdOucCacheReal(), and ioEnt().
long long XrdOucCacheReal::HNum [private] |
Referenced by XrdOucCacheReal(), Detach(), Get(), and Trunc().
int* XrdOucCacheReal::hTab [private] |
Referenced by XrdOucCacheReal(), ioAdd(), and ioDel().
char XrdOucCacheReal::Lgs [private] |
Referenced by XrdOucCacheData::Detach(), and XrdOucCacheReal().
int XrdOucCacheReal::maxCache [private] |
Referenced by XrdOucCacheData::XrdOucCacheData(), and XrdOucCacheReal().
int XrdOucCacheReal::maxFiles [private] |
Referenced by XrdOucCacheReal().
const long long XrdOucCacheReal::MaxFO = 0x000007ffffffffffLL [static, private] |
Referenced by XrdOucCacheData::Preread(), XrdOucCacheData::Read(), XrdOucCacheData::Trunc(), and XrdOucCacheData::Write().
long long XrdOucCacheReal::OffMask [private] |
Referenced by XrdOucCacheData::XrdOucCacheData(), and XrdOucCacheReal().
int XrdOucCacheReal::Options [private] |
Referenced by XrdOucCacheData::XrdOucCacheData(), XrdOucCacheReal(), and Attach().
prTask* XrdOucCacheReal::prFirst [private] |
Referenced by PreRead().
prTask* XrdOucCacheReal::prLast [private] |
Referenced by PreRead().
XrdSysMutex XrdOucCacheReal::prMutex [private] |
Referenced by ~XrdOucCacheReal(), and PreRead().
int XrdOucCacheReal::prNum [private] |
Referenced by XrdOucCacheData::XrdOucCacheData(), XrdOucCacheReal(), ~XrdOucCacheReal(), and PreRead().
XrdSysSemaphore XrdOucCacheReal::prReady [private] |
Referenced by ~XrdOucCacheReal(), and PreRead().
XrdSysSemaphore* XrdOucCacheReal::prStop [private] |
Referenced by ~XrdOucCacheReal(), and PreRead().
int XrdOucCacheReal::sBeg [private] |
Referenced by XrdOucCacheReal().
long long XrdOucCacheReal::SegCnt [private] |
Referenced by XrdOucCacheReal(), ~XrdOucCacheReal(), Attach(), Get(), and Trunc().
int XrdOucCacheReal::SegFull [private] |
Referenced by XrdOucCacheReal(), and Get().
long long XrdOucCacheReal::SegShft [private] |
Referenced by XrdOucCacheData::XrdOucCacheData(), XrdOucCacheReal(), Get(), Ref(), and Upd().
long long XrdOucCacheReal::SegSize [private] |
Referenced by XrdOucCacheData::XrdOucCacheData(), XrdOucCacheReal(), ~XrdOucCacheReal(), Get(), and Ref().
int XrdOucCacheReal::sEnd [private] |
Referenced by XrdOucCacheReal().
int XrdOucCacheReal::sFree [private] |
Referenced by XrdOucCacheReal(), ioAdd(), and ioDel().
const long long XrdOucCacheReal::Shift = 48 [static, private] |
int* XrdOucCacheReal::Slash [private] |
Referenced by XrdOucCacheReal(), Detach(), Get(), and Trunc().
XrdOucCacheSlot* XrdOucCacheReal::Slots [private] |
Referenced by XrdOucCacheReal(), ~XrdOucCacheReal(), Attach(), Detach(), Get(), ioAdd(), ioDel(), Ref(), Trunc(), Upd(), and ioLookup().
const long long XrdOucCacheReal::Strip = 0x00000000ffffffffLL [static, private] |
Referenced by Get().
1.7.5