xrootd
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::XrdOucCacheReal ( int &  rc,
Parms &  Parms,
XrdOucCacheIO::aprParms *  aprP = 0 
)

◆ ~XrdOucCacheReal()

XrdOucCacheReal::~XrdOucCacheReal ( )

Member Function Documentation

◆ Attach()

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

Reimplemented from XrdOucCacheDram.

◆ Detach()

int XrdOucCacheReal::Detach ( XrdOucCacheIO *  ioP)
private

◆ eMsg()

void XrdOucCacheReal::eMsg ( const char *  Path,
const char *  What,
long long  xOff,
int  xLen,
int  ec 
)
private

◆ Get()

char* XrdOucCacheReal::Get ( XrdOucCacheIO *  ioP,
long long  lAddr,
int &  rGot,
int &  bIO 
)
private

◆ ioAdd()

int XrdOucCacheReal::ioAdd ( XrdOucCacheIO *  KeyVal,
int &  iNum 
)
private

◆ ioDel()

int XrdOucCacheReal::ioDel ( XrdOucCacheIO *  KeyVal,
int &  iNum 
)
private

◆ ioEnt()

int XrdOucCacheReal::ioEnt ( XrdOucCacheIO *  kVal)
inlineprivate

References hMax.

◆ ioLookup()

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

References XrdOucCacheSlot::HLink, and Slots.

◆ isAttached()

int XrdOucCacheReal::isAttached ( )
inlinevirtual

◆ PreRead() [1/2]

void XrdOucCacheReal::PreRead ( )

◆ PreRead() [2/2]

void XrdOucCacheReal::PreRead ( XrdOucCacheReal::prTask *  prReq)
private

◆ Ref()

int XrdOucCacheReal::Ref ( char *  Addr,
int  rAmt,
int  sFlags = 0 
)
private

◆ Trunc()

void XrdOucCacheReal::Trunc ( XrdOucCacheIO *  ioP,
long long  lAddr 
)
private

◆ Upd()

void XrdOucCacheReal::Upd ( char *  Addr,
int  wAmt,
int  wOff 
)
private

Friends And Related Function Documentation

◆ XrdOucCacheData

friend class XrdOucCacheData
friend

Member Data Documentation

◆ aprDefault

XrdOucCacheIO::aprParms XrdOucCacheReal::aprDefault
private

◆ Attached

int XrdOucCacheReal::Attached
private

Referenced by isAttached().

◆ AZero

XrdSysSemaphore* XrdOucCacheReal::AZero
private

◆ Base

char* XrdOucCacheReal::Base
private

◆ CMutex

XrdSysMutex XrdOucCacheReal::CMutex
private

Referenced by isAttached().

◆ Dbg

char XrdOucCacheReal::Dbg
private

◆ hMax

int XrdOucCacheReal::hMax
private

Referenced by ioEnt().

◆ HNum

long long XrdOucCacheReal::HNum
private

◆ hTab

int* XrdOucCacheReal::hTab
private

◆ Lgs

char XrdOucCacheReal::Lgs
private

◆ maxCache

int XrdOucCacheReal::maxCache
private

◆ maxFiles

int XrdOucCacheReal::maxFiles
private

◆ MaxFO

const long long XrdOucCacheReal::MaxFO = 0x000007ffffffffffLL
staticprivate

◆ OffMask

long long XrdOucCacheReal::OffMask
private

◆ Options

int XrdOucCacheReal::Options
private

◆ prFirst

prTask* XrdOucCacheReal::prFirst
private

◆ prLast

prTask* XrdOucCacheReal::prLast
private

◆ prMutex

XrdSysMutex XrdOucCacheReal::prMutex
private

◆ prNum

int XrdOucCacheReal::prNum
private

◆ prReady

XrdSysSemaphore XrdOucCacheReal::prReady
private

◆ prStop

XrdSysSemaphore* XrdOucCacheReal::prStop
private

◆ sBeg

int XrdOucCacheReal::sBeg
private

◆ SegCnt

long long XrdOucCacheReal::SegCnt
private

◆ SegFull

int XrdOucCacheReal::SegFull
private

◆ SegShft

long long XrdOucCacheReal::SegShft
private

◆ SegSize

long long XrdOucCacheReal::SegSize
private

◆ sEnd

int XrdOucCacheReal::sEnd
private

◆ sFree

int XrdOucCacheReal::sFree
private

◆ Shift

const long long XrdOucCacheReal::Shift = 48
staticprivate

◆ Slash

int* XrdOucCacheReal::Slash
private

◆ Slots

XrdOucCacheSlot* XrdOucCacheReal::Slots
private

Referenced by ioLookup().

◆ Strip

const long long XrdOucCacheReal::Strip = 0x00000000ffffffffLL
staticprivate

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