1#ifndef __XRDRMCDATA_HH__
2#define __XRDRMCDATA_HH__
49long long FSize() {
return (ioObj ? ioObj->FSize() : 0);}
51const char *
Path() {
return ioObj->Path();}
57void Preread(
long long Offs,
int rLen,
int Opts=0);
59int Read (
char *Buffer,
long long Offset,
int Length);
61static int setAPR(aprParms &Dest, aprParms &Src,
int pSize);
65int Trunc(
long long Offset);
67int Write(
char *Buffer,
long long Offset,
int Length);
70 long long vn,
int opts);
74void QueuePR(
long long SegOffs,
int rLen,
int prHow,
int isAuto=0);
75int Read (XrdOucCacheStats &Now,
76 char *Buffer,
long long Offs,
int Length);
85inline void UnLock() {
if (myLock) {myLock->UnLock(myUsage); myLock = 0;}}
89 ~MrSw() {
if (myLock) myLock->UnLock(myUsage);}
98XrdOucCacheStats Statistics;
121static const int okRW = 1;
122static const int xqRW = 2;
126XrdRmcReal::prTask prReq;
127XrdSysSemaphore *prStop;
131static const int prRRMax= 5;
132long long prRR[prRRMax];
135static const int prMax = 8;
136static const int prRun = 1;
137static const int prWait = 2;
139static const int prLRU = 1;
140static const int prSUSE = 2;
141static const int prSKIP = 3;
145long long prBeg[prMax];
146long long prEnd[prMax];
virtual int Read(char *buff, long long offs, int rlen)=0
virtual void Preread(long long offs, int rlen, int opts=0)
XrdOucCacheIO()
Construct and Destructor.
int Read(char *Buffer, long long Offset, int Length)
int Trunc(long long Offset)
XrdRmcData(XrdRmcReal *cP, XrdOucCacheIO *ioP, long long vn, int opts)
int Write(char *Buffer, long long Offset, int Length)
bool Detach(XrdOucCacheIOCD &iocd)
static int setAPR(aprParms &Dest, aprParms &Src, int pSize)
void Lock(const XrdSysXS_Type usage)