xrootd
Loading...
Searching...
No Matches
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.
 

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).
 
- Static Public Attributes inherited from XrdOucCache
static const int optFIS = 0x0001
 File is structured (e.g. root file)
 
static const int optRW = 0x0004
 File is read/write (o/w read/only)
 
static const int optNEW = 0x0014
 File is new -> optRW (o/w read or write)
 
static const int optWIN = 0x0024
 File is new -> optRW use write-in cache.
 

Constructor & Destructor Documentation

◆ XrdRmcReal()

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

◆ ~XrdRmcReal()

XrdRmcReal::~XrdRmcReal ( )

Member Function Documentation

◆ Attach()

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

Implements XrdOucCache.

◆ Detach()

int XrdRmcReal::Detach ( XrdOucCacheIO ioP)
private

◆ eMsg()

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

◆ Get()

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

◆ ioAdd()

int XrdRmcReal::ioAdd ( XrdOucCacheIO KeyVal,
int &  iNum 
)
private

◆ ioDel()

int XrdRmcReal::ioDel ( XrdOucCacheIO KeyVal,
int &  iNum 
)
private

◆ ioEnt()

int XrdRmcReal::ioEnt ( XrdOucCacheIO kVal)
inlineprivate

References hMax.

◆ ioLookup()

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

References XrdRmcSlot::HLink, and Slots.

◆ PreRead() [1/2]

void XrdRmcReal::PreRead ( )

◆ PreRead() [2/2]

void XrdRmcReal::PreRead ( XrdRmcReal::prTask prReq)
private

◆ Ref()

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

◆ Trunc()

void XrdRmcReal::Trunc ( XrdOucCacheIO ioP,
long long  lAddr 
)
private

◆ Upd()

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

Friends And Related Symbol Documentation

◆ XrdRmcData

friend class XrdRmcData
friend

Member Data Documentation

◆ aprDefault

XrdOucCacheIO::aprParms XrdRmcReal::aprDefault
private

◆ Attached

int XrdRmcReal::Attached
private

◆ AZero

XrdSysSemaphore* XrdRmcReal::AZero
private

◆ Base

char* XrdRmcReal::Base
private

◆ CMutex

XrdSysMutex XrdRmcReal::CMutex
private

◆ Dbg

char XrdRmcReal::Dbg
private

◆ hMax

int XrdRmcReal::hMax
private

Referenced by ioEnt().

◆ HNum

long long XrdRmcReal::HNum
private

◆ hTab

int* XrdRmcReal::hTab
private

◆ Lgs

char XrdRmcReal::Lgs
private

◆ maxCache

int XrdRmcReal::maxCache
private

◆ maxFiles

int XrdRmcReal::maxFiles
private

◆ MaxFO

const long long XrdRmcReal::MaxFO = 0x000007ffffffffffLL
staticprivate

◆ OffMask

long long XrdRmcReal::OffMask
private

◆ Options

int XrdRmcReal::Options
private

◆ prFirst

prTask* XrdRmcReal::prFirst
private

◆ prLast

prTask* XrdRmcReal::prLast
private

◆ prMutex

XrdSysMutex XrdRmcReal::prMutex
private

◆ prNum

int XrdRmcReal::prNum
private

◆ prReady

XrdSysSemaphore XrdRmcReal::prReady
private

◆ prStop

XrdSysSemaphore* XrdRmcReal::prStop
private

◆ sBeg

int XrdRmcReal::sBeg
private

◆ SegCnt

long long XrdRmcReal::SegCnt
private

◆ SegFull

int XrdRmcReal::SegFull
private

◆ SegShft

long long XrdRmcReal::SegShft
private

◆ SegSize

long long XrdRmcReal::SegSize
private

◆ sEnd

int XrdRmcReal::sEnd
private

◆ sFree

int XrdRmcReal::sFree
private

◆ Shift

const long long XrdRmcReal::Shift = 48
staticprivate

◆ Slash

int* XrdRmcReal::Slash
private

◆ Slots

XrdRmcSlot* XrdRmcReal::Slots
private

Referenced by ioLookup().

◆ Strip

const long long XrdRmcReal::Strip = 0x00000000ffffffffLL
staticprivate

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