xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdOucCacheReal Class Reference

#include <XrdOucCacheReal.hh>

Inheritance diagram for XrdOucCacheReal:
Inheritance graph
[legend]
Collaboration diagram for XrdOucCacheReal:
Collaboration graph
[legend]

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 ()
 
- Public Member Functions inherited from XrdOucCacheDram
XrdOucCache * Create (Parms &Params, XrdOucCacheIO::aprParms *aprP=0)
 
 XrdOucCacheDram ()
 
virtual ~XrdOucCacheDram ()
 
- Public Member Functions inherited from XrdOucCache
virtual int LocalFilePath (const char *url, char *buff=0, int blen=0, LFP_Reason why=ForAccess, bool forall=false)
 
virtual int Prepare (const char *url, int oflags, mode_t mode)
 
virtual int Rename (const char *oldp, const char *newp)
 
virtual int Rmdir (const char *dirp)
 
virtual int Stat (const char *url, struct stat &sbuff)
 
virtual int Truncate (const char *path, off_t size)
 
virtual int Unlink (const char *path)
 
virtual int Xeq (XeqCmd cmd, char *arg, int arglen)
 
 XrdOucCache (const char *ctype)
 
virtual ~XrdOucCache ()
 Destructor. More...
 

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
 

Additional Inherited Members

- Public Types inherited from XrdOucCache
enum  LFP_Reason { ForAccess =0, ForInfo, ForPath }
 
enum  XeqCmd { xeqNoop = 0 }
 
- Public Attributes inherited from XrdOucCacheDram
XrdOucCacheStats Stats
 
- Public Attributes inherited from XrdOucCache
XrdOucCacheStats Statistics
 
const char CacheType [8]
 A 1-to-7 character cache type identifier (usually pfc or rmc). More...
 
- Static Public Attributes inherited from XrdOucCache
static const int optFIS = 0x0001
 File is structured (e.g. root file) More...
 
static const int optRW = 0x0004
 File is read/write (o/w read/only) More...
 
static const int optNEW = 0x0014
 File is new -> optRW (o/w read or write) More...
 
static const int optWIN = 0x0024
 File is new -> optRW use write-in cache. More...
 

Constructor & Destructor Documentation

XrdOucCacheReal::XrdOucCacheReal ( int &  rc,
Parms &  Parms,
XrdOucCacheIO::aprParms *  aprP = 0 
)
XrdOucCacheReal::~XrdOucCacheReal ( )

Member Function Documentation

XrdOucCacheIO* XrdOucCacheReal::Attach ( XrdOucCacheIO *  ioP,
int  Options = 0 
)
virtual

Reimplemented from XrdOucCacheDram.

int XrdOucCacheReal::Detach ( XrdOucCacheIO *  ioP)
private
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
int XrdOucCacheReal::ioAdd ( XrdOucCacheIO *  KeyVal,
int &  iNum 
)
private
int XrdOucCacheReal::ioDel ( XrdOucCacheIO *  KeyVal,
int &  iNum 
)
private
int XrdOucCacheReal::ioEnt ( XrdOucCacheIO *  kVal)
inlineprivate

References hMax.

int XrdOucCacheReal::ioLookup ( int &  pip,
int  hip,
void *  kval 
)
inlineprivate

References XrdOucCacheSlot::HLink, and Slots.

int XrdOucCacheReal::isAttached ( )
inlinevirtual
void XrdOucCacheReal::PreRead ( )
void XrdOucCacheReal::PreRead ( XrdOucCacheReal::prTask *  prReq)
private
int XrdOucCacheReal::Ref ( char *  Addr,
int  rAmt,
int  sFlags = 0 
)
private
void XrdOucCacheReal::Trunc ( XrdOucCacheIO *  ioP,
long long  lAddr 
)
private
void XrdOucCacheReal::Upd ( char *  Addr,
int  wAmt,
int  wOff 
)
private

Friends And Related Function Documentation

friend class XrdOucCacheData
friend

Member Data Documentation

XrdOucCacheIO::aprParms XrdOucCacheReal::aprDefault
private
int XrdOucCacheReal::Attached
private

Referenced by isAttached().

XrdSysSemaphore* XrdOucCacheReal::AZero
private
char* XrdOucCacheReal::Base
private
XrdSysMutex XrdOucCacheReal::CMutex
private

Referenced by isAttached().

char XrdOucCacheReal::Dbg
private
int XrdOucCacheReal::hMax
private

Referenced by ioEnt().

long long XrdOucCacheReal::HNum
private
int* XrdOucCacheReal::hTab
private
char XrdOucCacheReal::Lgs
private
int XrdOucCacheReal::maxCache
private
int XrdOucCacheReal::maxFiles
private
const long long XrdOucCacheReal::MaxFO = 0x000007ffffffffffLL
staticprivate
long long XrdOucCacheReal::OffMask
private
int XrdOucCacheReal::Options
private
prTask* XrdOucCacheReal::prFirst
private
prTask* XrdOucCacheReal::prLast
private
XrdSysMutex XrdOucCacheReal::prMutex
private
int XrdOucCacheReal::prNum
private
XrdSysSemaphore XrdOucCacheReal::prReady
private
XrdSysSemaphore* XrdOucCacheReal::prStop
private
int XrdOucCacheReal::sBeg
private
long long XrdOucCacheReal::SegCnt
private
int XrdOucCacheReal::SegFull
private
long long XrdOucCacheReal::SegShft
private
long long XrdOucCacheReal::SegSize
private
int XrdOucCacheReal::sEnd
private
int XrdOucCacheReal::sFree
private
const long long XrdOucCacheReal::Shift = 48
staticprivate
int* XrdOucCacheReal::Slash
private
XrdOucCacheSlot* XrdOucCacheReal::Slots
private

Referenced by ioLookup().

const long long XrdOucCacheReal::Strip = 0x00000000ffffffffLL
staticprivate

The documentation for this class was generated from the following file: