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

XrdOucCacheIOAttach (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
XrdOucCacheCreate (Parms &Params, XrdOucCacheIO::aprParms *aprP=0)
 
 XrdOucCacheDram ()
 
virtual ~XrdOucCacheDram ()
 
- Public Member Functions inherited from XrdOucCache
virtual int Unlink (const char *)
 
virtual int Rmdir (const char *)
 
virtual int Rename (const char *, const char *)
 
virtual int Truncate (const char *, off_t)
 
 XrdOucCache ()
 
virtual ~XrdOucCache ()
 

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
 
XrdOucCacheSlotSlots
 
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
 
XrdSysSemaphoreAZero
 
int Attached
 
prTaskprFirst
 
prTaskprLast
 
XrdSysMutex prMutex
 
XrdSysSemaphore prReady
 
XrdSysSemaphoreprStop
 
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 Attributes inherited from XrdOucCacheDram
XrdOucCacheStats Stats
 
- Public Attributes inherited from XrdOucCache
XrdOucCacheStats Stats
 
- Static Public Attributes inherited from XrdOucCache
static const int optADB = 0x1000
 
static const int optFIS = 0x0001
 
static const int optFIU = 0x0002
 
static const int optRW = 0x0004
 
static const int optNEW = 0x0014
 
static const int optWIN = 0x0024
 
static const int isServer = 0x0010
 
static const int isStructured = 0x0020
 
static const int canPreRead = 0x0040
 
static const int logStats = 0x0080
 
static const int Serialized = 0x0004
 
static const int ioMTSafe = 0x0008
 
static const int Debug = 0x0003
 

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: