Go to the documentation of this file. 1 #ifndef __XRDOUCCACHEREAL_HH__
2 #define __XRDOUCCACHEREAL_HH__
61 void eMsg(
const char *
Path,
const char *What,
long long xOff,
73 return ((Key.sV[0]^Key.sV[1]^Key.sV[2]^Key.sV[3])&0x7fff)%
hMax;
78 while(hip && kval !=
Slots[hip].Key)
83 int Ref(
char *Addr,
int rAmt,
int sFlags=0);
85 void Upd(
char *Addr,
int wAmt,
int wOff);
87 static const long long Shift = 48;
88 static const long long Strip = 0x00000000ffffffffLL;
89 static const long long MaxFO = 0x000007ffffffffffLL;
Definition: XrdOucCacheData.hh:47
static const long long Strip
Definition: XrdOucCacheReal.hh:88
Definition: XrdOucCache.hh:128
XrdOucCacheIO::aprParms aprDefault
Definition: XrdOucCacheReal.hh:91
int maxFiles
Definition: XrdOucCacheReal.hh:104
int hMax
Definition: XrdOucCacheReal.hh:110
long long HNum
Definition: XrdOucCacheReal.hh:97
Definition: XrdSysPthread.hh:166
int isAttached()
Definition: XrdOucCacheReal.hh:46
prTask * prLast
Definition: XrdOucCacheReal.hh:133
XrdSysSemaphore prReady
Definition: XrdOucCacheReal.hh:135
static const long long Shift
Definition: XrdOucCacheReal.hh:87
static const long long MaxFO
Definition: XrdOucCacheReal.hh:89
char Dbg
Definition: XrdOucCacheReal.hh:117
int sBeg
Definition: XrdOucCacheReal.hh:112
int ioLookup(int &pip, int hip, void *kval)
Definition: XrdOucCacheReal.hh:76
char Lgs
Definition: XrdOucCacheReal.hh:118
long long OffMask
Definition: XrdOucCacheReal.hh:100
int ioEnt(XrdOucCacheIO *kVal)
Definition: XrdOucCacheReal.hh:70
Definition: XrdOucCacheDram.hh:94
const char * Path()
Definition: XrdOucCacheData.hh:56
int SegFull
Definition: XrdOucCacheReal.hh:102
prTask * prFirst
Definition: XrdOucCacheReal.hh:132
XrdOucCacheIO * Attach(XrdOucCacheIO *ioP, int Options=0)
XrdSysMutex CMutex
Definition: XrdOucCacheReal.hh:93
int Ref(char *Addr, int rAmt, int sFlags=0)
prTask * Next
Definition: XrdOucCacheReal.hh:128
Definition: XrdOucCacheReal.hh:128
char * Get(XrdOucCacheIO *ioP, long long lAddr, int &rGot, int &bIO)
void PreRead(XrdOucCacheReal::prTask *prReq)
Definition: XrdSysPthread.hh:404
Definition: XrdOucCacheReal.hh:40
int prNum
Definition: XrdOucCacheReal.hh:137
int Detach(XrdOucCacheIO *ioP)
int Options
Definition: XrdOucCacheReal.hh:105
XrdOucCacheReal(int &rc, Parms &Parms, XrdOucCacheIO::aprParms *aprP=0)
XrdOucCacheData * Data
Definition: XrdOucCacheReal.hh:129
long long SegSize
Definition: XrdOucCacheReal.hh:99
XrdSysSemaphore * AZero
Definition: XrdOucCacheReal.hh:122
void Trunc(XrdOucCacheIO *ioP, long long lAddr)
int maxCache
Definition: XrdOucCacheReal.hh:103
long long SegShft
Definition: XrdOucCacheReal.hh:101
XrdOucCacheSlot * Slots
Definition: XrdOucCacheReal.hh:94
Definition: XrdOucCache.hh:248
int HLink
Definition: XrdOucCacheSlot.hh:141
void Upd(char *Addr, int wAmt, int wOff)
int * Slash
Definition: XrdOucCacheReal.hh:95
int sFree
Definition: XrdOucCacheReal.hh:111
XrdSysSemaphore * prStop
Definition: XrdOucCacheReal.hh:136
Definition: XrdOucCacheSlot.hh:42
void UnLock()
Definition: XrdSysPthread.hh:222
void Lock()
Definition: XrdSysPthread.hh:220
Definition: XrdOucCache.hh:321
int sEnd
Definition: XrdOucCacheReal.hh:113
void eMsg(const char *Path, const char *What, long long xOff, int xLen, int ec)
char * Base
Definition: XrdOucCacheReal.hh:96
XrdSysMutex prMutex
Definition: XrdOucCacheReal.hh:134
int * hTab
Definition: XrdOucCacheReal.hh:109
int ioAdd(XrdOucCacheIO *KeyVal, int &iNum)
long long SegCnt
Definition: XrdOucCacheReal.hh:98
int Attached
Definition: XrdOucCacheReal.hh:123
int ioDel(XrdOucCacheIO *KeyVal, int &iNum)