1#ifndef __XRDPOSIXFILE_HH__
2#define __XRDPOSIXFILE_HH__
37#include <sys/resource.h>
88 {(void)cdP;
return true;}
118 int pgRead(
char *buff,
long long offs,
int rdlen,
119 std::vector<uint32_t> &csvec, uint64_t opts=0,
120 int *csfix=0)
override;
123 char *buff,
long long offs,
int rdlen,
124 std::vector<uint32_t> &csvec, uint64_t opts=0,
125 int *csfix=0)
override;
127 int pgWrite(
char *buff,
long long offs,
int wrlen,
128 std::vector<uint32_t> &csvec, uint64_t opts=0,
129 int *csfix=0)
override;
132 char *buff,
long long offs,
int wrlen,
133 std::vector<uint32_t> &csvec, uint64_t opts=0,
134 int *csfix=0)
override;
136 int Read (
char *Buff,
long long Offs,
int Len)
override;
170 {*fileP =
this;
return true;}
172 int Write(
char *Buff,
long long Offs,
int Len)
override;
#define stat(a, b)
Definition XrdPosix.hh:96
#define AtomicBeg(Mtx)
Definition XrdSysAtomics.hh:63
#define AtomicGet(x)
Definition XrdSysAtomics.hh:71
#define AtomicEnd(Mtx)
Definition XrdSysAtomics.hh:64
#define AtomicRet(mtx, x)
Definition XrdSysAtomics.hh:76
Definition XrdClAnyObject.hh:33
A file.
Definition XrdClFile.hh:46
Handle an async response.
Definition XrdClXRootDResponses.hh:1126
Request status.
Definition XrdClXRootDResponses.hh:219
Definition XrdOucCache.hh:53
Definition XrdOucCache.hh:82
Definition XrdOucCache.hh:105
An abstract class to define a callback for Open() call.
Definition XrdPosixCallBack.hh:52
Definition XrdPosixFile.hh:62
XrdPosixFile(bool &aOK, const char *path, XrdPosixCallBack *cbP=0, int Opts=0)
static XrdSysSemaphore ddSem
Definition XrdPosixFile.hh:186
void Read(XrdOucCacheIOCB &iocb, char *buff, long long offs, int rlen) override
static XrdSysMutex ddMutex
Definition XrdPosixFile.hh:187
time_t myCtime
Definition XrdPosixFile.hh:179
XrdPosixFile * nextFile
Definition XrdPosixFile.hh:207
void pgRead(XrdOucCacheIOCB &iocb, char *buff, long long offs, int rdlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0) override
time_t myMtime
Definition XrdPosixFile.hh:180
void pgWrite(XrdOucCacheIOCB &iocb, char *buff, long long offs, int wrlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0) override
void ReadV(XrdOucCacheIOCB &iocb, const XrdOucIOVec *readV, int n) override
static XrdPosixFile * ddLost
Definition XrdPosixFile.hh:189
void Write(XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen) override
bool Who(XrdPosixFile **fileP) override
Definition XrdPosixFile.hh:169
static char * sfSFX
Definition XrdPosixFile.hh:190
const char * Origin()
Definition XrdPosixFile.hh:114
int Write(char *Buff, long long Offs, int Len) override
void Sync(XrdOucCacheIOCB &iocb) override
char * fPath
Definition XrdPosixFile.hh:210
XrdPosixCallBack * theCB
Definition XrdPosixFile.hh:206
static const int isUpdt
Definition XrdPosixFile.hh:197
static XrdPosixFile * ddList
Definition XrdPosixFile.hh:188
static void DelayedDestroy(XrdPosixFile *fp)
static const int isStrm
Definition XrdPosixFile.hh:196
int cOpt
Definition XrdPosixFile.hh:213
XrdPosixPrepIO * PrepIO
Definition XrdPosixFile.hh:66
long long FSize() override
Definition XrdPosixFile.hh:94
int Read(char *Buff, long long Offs, int Len) override
static bool ddPosted
Definition XrdPosixFile.hh:192
void UpdtSize(size_t newsz)
Definition XrdPosixFile.hh:161
long long addOffset(long long offs, int updtSz=0)
Definition XrdPosixFile.hh:69
dev_t myRdev
Definition XrdPosixFile.hh:181
int Fstat(struct stat &buf) override
static int ddNum
Definition XrdPosixFile.hh:193
char isStream
Definition XrdPosixFile.hh:214
char * fOpen
Definition XrdPosixFile.hh:211
size_t mySize
Definition XrdPosixFile.hh:177
bool Detach(XrdOucCacheIOCD &cdP) override
Definition XrdPosixFile.hh:87
void updLock()
Definition XrdPosixFile.hh:108
int pgRead(char *buff, long long offs, int rdlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0) override
int Trunc(long long Offset) override
const char * Location(bool refresh=false) override
mode_t myMode
Definition XrdPosixFile.hh:183
bool Stat(XrdCl::XRootDStatus &Status, bool force=false)
void DetachDone() override
Indicate that the CacheIO object has been detached.
Definition XrdPosixFile.hh:90
long long currOffset
Definition XrdPosixFile.hh:205
void updUnLock()
Definition XrdPosixFile.hh:110
char * fLoc
Definition XrdPosixFile.hh:212
bool Close(XrdCl::XRootDStatus &Status)
static void * DelayedDestroy(void *)
static short sfSLN
Definition XrdPosixFile.hh:191
XrdCl::File clFile
Definition XrdPosixFile.hh:67
XrdOucCacheIO * XCio
Definition XrdPosixFile.hh:65
const char * Path() override
Definition XrdPosixFile.hh:116
ino_t myInode
Definition XrdPosixFile.hh:182
time_t myAtime
Definition XrdPosixFile.hh:178
long long Offset()
Definition XrdPosixFile.hh:112
void HandleResponse(XrdCl::XRootDStatus *status, XrdCl::AnyObject *response) override
int numTries
Definition XrdPosixFile.hh:213
static const int realFD
Definition XrdPosixFile.hh:195
bool Finalize(XrdCl::XRootDStatus *Status)
int ReadV(const XrdOucIOVec *readV, int n) override
long long setOffset(long long offs)
Definition XrdPosixFile.hh:146
int pgWrite(char *buff, long long offs, int wrlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0) override
Definition XrdPosixObject.hh:42
void unRef()
Definition XrdPosixObject.hh:67
XrdSysRecMutex updMutex
Definition XrdPosixObject.hh:94
virtual bool Who(XrdPosixDir **dirP)
Definition XrdPosixObject.hh:86
Definition XrdPosixPrepIO.hh:39
Definition XrdSysPthread.hh:165
void Lock()
Definition XrdSysPthread.hh:222
void UnLock()
Definition XrdSysPthread.hh:224
Definition XrdSysPthread.hh:494
Definition XrdOucIOVec.hh:41