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

#include <XrdRmcReal.hh>

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

Classes

struct  prTask
 

Public Member Functions

XrdOucCacheIOAttach (XrdOucCacheIO *ioP, int Options=0)
 
 XrdRmcReal (int &rc, XrdRmc::Parms &Parms, XrdOucCacheIO::aprParms *aprP=0)
 
 ~XrdRmcReal ()
 
void PreRead ()
 
- 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 (XrdRmcReal::prTask *prReq)
 

Private Attributes

XrdOucCacheIO::aprParms aprDefault
 
XrdSysMutex CMutex
 
XrdRmcSlotSlots
 
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 XrdRmcData
 

Additional Inherited Members

- Public Types inherited from XrdOucCache
enum  LFP_Reason { ForAccess =0, ForInfo, ForPath }
 
enum  XeqCmd { xeqNoop = 0 }
 
- 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

XrdRmcReal::XrdRmcReal ( int &  rc,
XrdRmc::Parms Parms,
XrdOucCacheIO::aprParms aprP = 0 
)
XrdRmcReal::~XrdRmcReal ( )

Member Function Documentation

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

Implements XrdOucCache.

int XrdRmcReal::Detach ( XrdOucCacheIO ioP)
private
void XrdRmcReal::eMsg ( const char *  Path,
const char *  What,
long long  xOff,
int  xLen,
int  ec 
)
private
char* XrdRmcReal::Get ( XrdOucCacheIO ioP,
long long  lAddr,
int &  rGot,
int &  bIO 
)
private
int XrdRmcReal::ioAdd ( XrdOucCacheIO KeyVal,
int &  iNum 
)
private
int XrdRmcReal::ioDel ( XrdOucCacheIO KeyVal,
int &  iNum 
)
private
int XrdRmcReal::ioEnt ( XrdOucCacheIO kVal)
inlineprivate

References hMax.

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

References XrdRmcSlot::HLink, and Slots.

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

Friends And Related Function Documentation

friend class XrdRmcData
friend

Member Data Documentation

XrdOucCacheIO::aprParms XrdRmcReal::aprDefault
private
int XrdRmcReal::Attached
private
XrdSysSemaphore* XrdRmcReal::AZero
private
char* XrdRmcReal::Base
private
XrdSysMutex XrdRmcReal::CMutex
private
char XrdRmcReal::Dbg
private
int XrdRmcReal::hMax
private

Referenced by ioEnt().

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

Referenced by ioLookup().

const long long XrdRmcReal::Strip = 0x00000000ffffffffLL
staticprivate

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