Go to the documentation of this file. 1 #ifndef __XRDOUCCACHE_HH__
2 #define __XRDOUCCACHE_HH__
146 virtual int Fstat(
struct stat &sbuff) {(void)sbuff;
return 1;}
212 {iocb.
Done(
pgRead(buff, offs, rdlen, csvec, opts));}
265 {iocb.
Done(
pgWrite(buff, offs, wrlen, csvec, opts));}
277 virtual void Preread(
long long offs,
int rlen,
int opts=0)
278 {(void)offs; (void)rlen; (void)opts;}
314 virtual int Read (
char *buff,
long long offs,
int rlen) = 0;
330 {iocb.
Done(
Read(buff, offs, rlen));}
387 virtual int Trunc(
long long offs) = 0;
431 virtual int Write(
char *buff,
long long offs,
int wlen) = 0;
573 {(void)url; (void)buff; (void)blen; (void)why;
575 if (buff && blen > 0) *buff = 0;
596 virtual int Prepare(
const char *url,
int oflags, mode_t mode)
597 {(void)url; (void)oflags; (void)mode;
return 0;}
609 virtual int Rename(
const char* oldp,
const char* newp)
610 {(void)oldp; (void)newp;
return 0;}
621 virtual int Rmdir(
const char* dirp) {(void)dirp;
return 0;}
637 virtual int Stat(
const char *url,
struct stat &sbuff)
638 {(void)url; (void)sbuff;
return 1;}
651 {(void)path; (void)size;
return 0;}
662 virtual int Unlink(
const char* path) {(void)path;
return 0;}
678 {(void)cmd; (void)arg; (void)arglen;
return -ENOTSUP;}
701 {strncpy(
const_cast<char *
>(
CacheType), ctype,
XeqCmd
Definition: XrdOucCache.hh:675
static const int optNEW
File is new -> optRW (o/w read or write)
Definition: XrdOucCache.hh:517
XrdOucCacheIOCB()
Definition: XrdOucCache.hh:64
virtual int Stat(const char *url, struct stat &sbuff)
Definition: XrdOucCache.hh:637
Definition: XrdOucCache.hh:103
virtual XrdOucCacheIO * Attach(XrdOucCacheIO *ioP, int opts=0)=0
virtual ~XrdOucCacheIO()
Definition: XrdOucCache.hh:481
XrdOucCacheIO()
Construct and Destructor.
Definition: XrdOucCache.hh:479
virtual int Unlink(const char *path)
Definition: XrdOucCache.hh:662
Definition: XrdOucCache.hh:494
virtual void DetachDone()=0
Indicate that the CacheIO object has been detached.
virtual int Read(char *buff, long long offs, int rlen)=0
virtual const char * Path()=0
virtual long long FSize()=0
virtual int Truncate(const char *path, off_t size)
Definition: XrdOucCache.hh:650
virtual int Rename(const char *oldp, const char *newp)
Definition: XrdOucCache.hh:609
virtual bool Detach(XrdOucCacheIOCD &iocd)=0
virtual void Preread(long long offs, int rlen, int opts=0)
Definition: XrdOucCache.hh:277
virtual int pgRead(char *buff, long long offs, int rdlen, uint32_t *csvec, uint64_t opts=0)
virtual int ReadV(const XrdOucIOVec *readV, int rnum)
Definition: XrdOucIOVec.hh:41
int Reserve1
Definition: XrdOucCache.hh:289
@ ForInfo
Definition: XrdOucCache.hh:569
int Trigger
Definition: XrdOucCache.hh:287
@ ForAccess
Definition: XrdOucCache.hh:569
virtual int Trunc(long long offs)=0
virtual void Update(XrdOucCacheIO &iocp)
Definition: XrdOucCache.hh:417
virtual int Rmdir(const char *dirp)
Definition: XrdOucCache.hh:621
static const int SingleUse
Mark pages for single use.
Definition: XrdOucCache.hh:275
virtual int Fstat(struct stat &sbuff)
Definition: XrdOucCache.hh:146
virtual int pgWrite(char *buff, long long offs, int rdlen, uint32_t *csvec, uint64_t opts=0)
Definition: XrdOucEnv.hh:42
virtual void pgRead(XrdOucCacheIOCB &iocb, char *buff, long long offs, int rdlen, uint32_t *csvec, uint64_t opts=0)
Definition: XrdOucCache.hh:206
short minPages
Definition: XrdOucCache.hh:290
XrdOucCacheStats Statistics
Definition: XrdOucCache.hh:685
virtual void Preread(aprParms &Parms)
Definition: XrdOucCache.hh:300
Definition: XrdOucCache.hh:80
LFP_Reason
Definition: XrdOucCache.hh:569
virtual int Write(char *buff, long long offs, int wlen)=0
Definition: XrdSysLogger.hh:53
virtual const char * Location()
Definition: XrdOucCache.hh:155
const char CacheType[8]
A 1-to-7 character cache type identifier (usually pfc or rmc).
Definition: XrdOucCache.hh:691
virtual int LocalFilePath(const char *url, char *buff=0, int blen=0, LFP_Reason why=ForAccess, bool forall=false)
Definition: XrdOucCache.hh:571
XrdOucCacheIOCD()
Definition: XrdOucCache.hh:89
virtual void pgWrite(XrdOucCacheIOCB &iocb, char *buff, long long offs, int wrlen, uint32_t *csvec, uint64_t opts=0)
Definition: XrdOucCache.hh:259
Definition: XrdOucCache.hh:287
Definition: XrdOucCacheStats.hh:44
static const int optFIS
File is structured (e.g. root file)
Definition: XrdOucCache.hh:515
int prRecalc
Definition: XrdOucCache.hh:288
XrdOucCache(const char *ctype)
Definition: XrdOucCache.hh:699
virtual ~XrdOucCache()
Destructor.
Definition: XrdOucCache.hh:710
signed char minPerf
Definition: XrdOucCache.hh:292
virtual void Done(int result)=0
char Reserve2
Definition: XrdOucCache.hh:293
@ xeqNoop
Definition: XrdOucCache.hh:675
virtual void WriteV(XrdOucCacheIOCB &iocb, const XrdOucIOVec *writV, int wnum)
Definition: XrdOucCache.hh:472
Definition: XrdOucCache.hh:51
#define stat(a, b)
Definition: XrdPosix.hh:96
virtual ~XrdOucCacheIOCD()
Definition: XrdOucCache.hh:90
void * Reserve3
Definition: XrdOucCache.hh:294
@ ForPath
Definition: XrdOucCache.hh:569
static const int optWIN
File is new -> optRW use write-in cache.
Definition: XrdOucCache.hh:518
virtual ~XrdOucCacheIOCB()
Definition: XrdOucCache.hh:65
static const int optRW
File is read/write (o/w read/only)
Definition: XrdOucCache.hh:516
virtual int WriteV(const XrdOucIOVec *writV, int wnum)
virtual int Xeq(XeqCmd cmd, char *arg, int arglen)
Definition: XrdOucCache.hh:677
virtual int Prepare(const char *url, int oflags, mode_t mode)
Definition: XrdOucCache.hh:596
aprParms()
Definition: XrdOucCache.hh:296