xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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 Preread (aprParms &Parms)
 
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 ( XrdOucCacheReal cP,
XrdOucCacheIO ioP,
long long  vn,
int  opts 
)
XrdOucCacheData::~XrdOucCacheData ( )
inlineprivate

Member Function Documentation

XrdOucCacheIO* XrdOucCacheData::Base ( )
inline

References ioObj.

XrdOucCacheIO* XrdOucCacheData::Detach ( )
long long XrdOucCacheData::FSize ( )
inlinevirtual

Obtain size of the file.

Returns
Size of the file in bytes.

Implements XrdOucCacheIO.

References XrdOucCacheIO::FSize(), and ioObj.

const char* XrdOucCacheData::Path ( )
inlinevirtual

Get the path associated with this object.

Returns
Pointer to the path.

Implements XrdOucCacheIO.

References ioObj, and XrdOucCacheIO::Path().

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

Reimplemented from XrdOucCacheIO.

void XrdOucCacheData::QueuePR ( long long  SegOffs,
int  rLen,
int  prHow,
int  isAuto = 0 
)
private
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.

int XrdOucCacheData::Read ( XrdOucCacheStats Now,
char *  Buffer,
long long  Offs,
int  Length 
)
private
static int XrdOucCacheData::setAPR ( aprParms &  Dest,
aprParms &  Src,
int  pSize 
)
static
int XrdOucCacheData::Sync ( )
inlinevirtual

Perform an synchronous sync() operation.

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

Implements XrdOucCacheIO.

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.

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

aprParms XrdOucCacheData::Apr
private
XrdOucCacheReal* XrdOucCacheData::Cache
private
char XrdOucCacheData::Debug
private
XrdSysMutex XrdOucCacheData::DMutex
private
XrdOucCacheIO* XrdOucCacheData::ioObj
private

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

char XrdOucCacheData::isADB
private
char XrdOucCacheData::isFIS
private
char XrdOucCacheData::isRW
private
int XrdOucCacheData::maxCache
private
long long XrdOucCacheData::OffMask
private
const int XrdOucCacheData::okRW = 1
staticprivate
XrdSysXSLock* XrdOucCacheData::pPLock
private
XrdSysXS_Type XrdOucCacheData::pPLopt
private
char XrdOucCacheData::prActive
private
char XrdOucCacheData::prAuto
private
long long XrdOucCacheData::prBeg[prMax]
private
long long XrdOucCacheData::prCalc
private
long long XrdOucCacheData::prEnd[prMax]
private
int XrdOucCacheData::prFree
private
const int XrdOucCacheData::prLRU = 1
staticprivate
const int XrdOucCacheData::prMax = 8
staticprivate
int XrdOucCacheData::prNext
private
long long XrdOucCacheData::prNSS
private
char XrdOucCacheData::prOK
private
char XrdOucCacheData::prOpt[prMax]
private
int XrdOucCacheData::prPerf
private
XrdOucCacheReal::prTask XrdOucCacheData::prReq
private
long long XrdOucCacheData::prRR[prRRMax]
private
const int XrdOucCacheData::prRRMax = 5
staticprivate
int XrdOucCacheData::prRRNow
private
const int XrdOucCacheData::prRun = 1
staticprivate
const int XrdOucCacheData::prSKIP = 3
staticprivate
XrdSysSemaphore* XrdOucCacheData::prStop
private
const int XrdOucCacheData::prSUSE = 2
staticprivate
const int XrdOucCacheData::prWait = 2
staticprivate
XrdSysXSLock* XrdOucCacheData::rPLock
private
XrdSysXS_Type XrdOucCacheData::rPLopt
private
XrdSysXSLock XrdOucCacheData::rwLock
private
long long XrdOucCacheData::SegShft
private
long long XrdOucCacheData::SegSize
private
long long XrdOucCacheData::VNum
private
XrdSysXSLock* XrdOucCacheData::wPLock
private
const int XrdOucCacheData::xqRW = 2
staticprivate

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