xrootd
Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
XrdOucCacheData Class Reference

#include <XrdOucCacheData.hh>

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

Classes

class  MrSw
 

Public Member Functions

XrdOucCacheIOBase ()
 
XrdOucCacheIODetach ()
 
long long FSize ()
 
const char * Path ()
 
void Preread ()
 
void Preread (aprParms &Parms)
 
void Preread (long long Offs, int rLen, int Opts=0)
 
int Read (char *Buffer, long long Offset, int Length)
 
int Sync ()
 
int Trunc (long long Offset)
 
int Write (char *Buffer, long long Offset, int Length)
 
 XrdOucCacheData (XrdOucCacheReal *cP, XrdOucCacheIO *ioP, long long vn, int opts)
 
- Public Member Functions inherited from XrdOucCacheIO
virtual bool Detach (XrdOucCacheIOCD &iocd)=0
 
virtual int Fstat (struct stat &sbuff)
 
virtual const char * Location ()
 
virtual int pgRead (char *buff, long long offs, int rdlen, uint32_t *csvec, uint64_t opts=0)
 
virtual void pgRead (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rdlen, uint32_t *csvec, uint64_t opts=0)
 
virtual int pgWrite (char *buff, long long offs, int rdlen, uint32_t *csvec, uint64_t opts=0)
 
virtual void pgWrite (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wrlen, uint32_t *csvec, uint64_t opts=0)
 
virtual void Read (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rlen)
 
virtual int ReadV (const XrdOucIOVec *readV, int rnum)
 
virtual void ReadV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *readV, int rnum)
 
virtual void Sync (XrdOucCacheIOCB &iocb)
 
virtual void Trunc (XrdOucCacheIOCB &iocb, long long offs)
 
virtual void Update (XrdOucCacheIO &iocp)
 
virtual void Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen)
 
virtual int WriteV (const XrdOucIOVec *writV, int wnum)
 
virtual void WriteV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *writV, int wnum)
 
 XrdOucCacheIO ()
 Construct and Destructor. More...
 

Static Public Member Functions

static int setAPR (aprParms &Dest, aprParms &Src, int pSize)
 

Private Member Functions

 ~XrdOucCacheData ()
 
void QueuePR (long long SegOffs, int rLen, int prHow, int isAuto=0)
 
int Read (XrdOucCacheStats &Now, char *Buffer, long long Offs, int Length)
 

Private Attributes

XrdSysXSLock rwLock
 
XrdSysXSLockpPLock
 
XrdSysXSLockrPLock
 
XrdSysXSLockwPLock
 
XrdSysXS_Type pPLopt
 
XrdSysXS_Type rPLopt
 
XrdSysMutex DMutex
 
XrdOucCacheRealCache
 
XrdOucCacheIOioObj
 
long long VNum
 
long long SegSize
 
long long OffMask
 
long long SegShft
 
int maxCache
 
char isFIS
 
char isRW
 
char isADB
 
char Debug
 
XrdOucCacheReal::prTask prReq
 
XrdSysSemaphoreprStop
 
long long prNSS
 
long long prRR [prRRMax]
 
int prRRNow
 
aprParms Apr
 
long long prCalc
 
long long prBeg [prMax]
 
long long prEnd [prMax]
 
int prNext
 
int prFree
 
int prPerf
 
char prOpt [prMax]
 
char prOK
 
char prActive
 
char prAuto
 

Static Private Attributes

static const int okRW = 1
 
static const int xqRW = 2
 
static const int prRRMax = 5
 
static const int prMax = 8
 
static const int prRun = 1
 
static const int prWait = 2
 
static const int prLRU = 1
 
static const int prSUSE = 2
 
static const int prSKIP = 3
 

Additional Inherited Members

- Static Public Attributes inherited from XrdOucCacheIO
static const int SingleUse = 0x0001
 Mark pages for single use. More...
 
- Protected Member Functions inherited from XrdOucCacheIO
virtual ~XrdOucCacheIO ()
 

Constructor & Destructor Documentation

◆ XrdOucCacheData()

XrdOucCacheData::XrdOucCacheData ( XrdOucCacheReal cP,
XrdOucCacheIO ioP,
long long  vn,
int  opts 
)

◆ ~XrdOucCacheData()

XrdOucCacheData::~XrdOucCacheData ( )
inlineprivate

Member Function Documentation

◆ Base()

XrdOucCacheIO* XrdOucCacheData::Base ( )
inline

References ioObj.

◆ Detach()

XrdOucCacheIO* XrdOucCacheData::Detach ( )

◆ FSize()

long long XrdOucCacheData::FSize ( )
inlinevirtual

Obtain size of the file.

Returns
Size of the file in bytes.

Implements XrdOucCacheIO.

References XrdOucCacheIO::FSize(), and ioObj.

◆ Path()

const char* XrdOucCacheData::Path ( )
inlinevirtual

Get the path associated with this object.

Returns
Pointer to the path.

Implements XrdOucCacheIO.

References ioObj, and XrdOucCacheIO::Path().

◆ Preread() [1/3]

void XrdOucCacheData::Preread ( )

◆ Preread() [2/3]

void XrdOucCacheData::Preread ( aprParms Parms)
virtual

Reimplemented from XrdOucCacheIO.

◆ Preread() [3/3]

void XrdOucCacheData::Preread ( long long  Offs,
int  rLen,
int  Opts = 0 
)
virtual

Reimplemented from XrdOucCacheIO.

◆ QueuePR()

void XrdOucCacheData::QueuePR ( long long  SegOffs,
int  rLen,
int  prHow,
int  isAuto = 0 
)
private

◆ Read() [1/2]

int XrdOucCacheData::Read ( char *  buff,
long long  offs,
int  rlen 
)
virtual

Perform an synchronous read.

Parameters
buffpointer to the buffer to receive the results. The buffer must remain valid until the callback is invoked.
offsthe offset into the file.
rlenthe number of bytes to read.
Returns
< 0 - Read failed, value is -errno. >=0 - Read succeeded, value is number of bytes read.

Implements XrdOucCacheIO.

◆ Read() [2/2]

int XrdOucCacheData::Read ( XrdOucCacheStats Now,
char *  Buffer,
long long  Offs,
int  Length 
)
private

◆ setAPR()

static int XrdOucCacheData::setAPR ( aprParms Dest,
aprParms Src,
int  pSize 
)
static

◆ Sync()

int XrdOucCacheData::Sync ( )
inlinevirtual

Perform an synchronous sync() operation.

Returns
<0 - Sync failed, value is -errno. =0 - Sync succeeded.

Implements XrdOucCacheIO.

◆ Trunc()

int XrdOucCacheData::Trunc ( long long  offs)
virtual

Perform an synchronous trunc() operation.

Parameters
offsthe size the file is have.
Returns
<0 - Trunc failed, value is -errno. =0 - Trunc succeeded.

Implements XrdOucCacheIO.

◆ Write()

int XrdOucCacheData::Write ( char *  buff,
long long  offs,
int  wlen 
)
virtual

Perform an synchronous write.

Parameters
buffpointer to the buffer holding the contents. The buffer must remain valid until the callback is invoked.
offsthe offset into the file.
wlenthe number of bytes to write
Returns
< 0 - Write failed, value is -errno. >=0 - Write succeeded, value is number of bytes written.

Implements XrdOucCacheIO.

Member Data Documentation

◆ Apr

aprParms XrdOucCacheData::Apr
private

◆ Cache

XrdOucCacheReal* XrdOucCacheData::Cache
private

◆ Debug

char XrdOucCacheData::Debug
private

◆ DMutex

XrdSysMutex XrdOucCacheData::DMutex
private

◆ ioObj

XrdOucCacheIO* XrdOucCacheData::ioObj
private

Referenced by Base(), FSize(), and Path().

◆ isADB

char XrdOucCacheData::isADB
private

◆ isFIS

char XrdOucCacheData::isFIS
private

◆ isRW

char XrdOucCacheData::isRW
private

◆ maxCache

int XrdOucCacheData::maxCache
private

◆ OffMask

long long XrdOucCacheData::OffMask
private

◆ okRW

const int XrdOucCacheData::okRW = 1
staticprivate

◆ pPLock

XrdSysXSLock* XrdOucCacheData::pPLock
private

◆ pPLopt

XrdSysXS_Type XrdOucCacheData::pPLopt
private

◆ prActive

char XrdOucCacheData::prActive
private

◆ prAuto

char XrdOucCacheData::prAuto
private

◆ prBeg

long long XrdOucCacheData::prBeg[prMax]
private

◆ prCalc

long long XrdOucCacheData::prCalc
private

◆ prEnd

long long XrdOucCacheData::prEnd[prMax]
private

◆ prFree

int XrdOucCacheData::prFree
private

◆ prLRU

const int XrdOucCacheData::prLRU = 1
staticprivate

◆ prMax

const int XrdOucCacheData::prMax = 8
staticprivate

◆ prNext

int XrdOucCacheData::prNext
private

◆ prNSS

long long XrdOucCacheData::prNSS
private

◆ prOK

char XrdOucCacheData::prOK
private

◆ prOpt

char XrdOucCacheData::prOpt[prMax]
private

◆ prPerf

int XrdOucCacheData::prPerf
private

◆ prReq

XrdOucCacheReal::prTask XrdOucCacheData::prReq
private

◆ prRR

long long XrdOucCacheData::prRR[prRRMax]
private

◆ prRRMax

const int XrdOucCacheData::prRRMax = 5
staticprivate

◆ prRRNow

int XrdOucCacheData::prRRNow
private

◆ prRun

const int XrdOucCacheData::prRun = 1
staticprivate

◆ prSKIP

const int XrdOucCacheData::prSKIP = 3
staticprivate

◆ prStop

XrdSysSemaphore* XrdOucCacheData::prStop
private

◆ prSUSE

const int XrdOucCacheData::prSUSE = 2
staticprivate

◆ prWait

const int XrdOucCacheData::prWait = 2
staticprivate

◆ rPLock

XrdSysXSLock* XrdOucCacheData::rPLock
private

◆ rPLopt

XrdSysXS_Type XrdOucCacheData::rPLopt
private

◆ rwLock

XrdSysXSLock XrdOucCacheData::rwLock
private

◆ SegShft

long long XrdOucCacheData::SegShft
private

◆ SegSize

long long XrdOucCacheData::SegSize
private

◆ VNum

long long XrdOucCacheData::VNum
private

◆ wPLock

XrdSysXSLock* XrdOucCacheData::wPLock
private

◆ xqRW

const int XrdOucCacheData::xqRW = 2
staticprivate

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