1 #ifndef __XRDPOSIXFILE_HH__
2 #define __XRDPOSIXFILE_HH__
36 #include <sys/param.h>
37 #include <sys/resource.h>
87 {(
void)cdP;
return true;}
102 const char *
Location(
bool refresh=
false)
override;
117 int pgRead(
char *buff,
long long offs,
int rdlen,
118 std::vector<uint32_t> &csvec, uint64_t opts=0,
119 int *csfix=0)
override;
122 char *buff,
long long offs,
int rdlen,
123 std::vector<uint32_t> &csvec, uint64_t opts=0,
124 int *csfix=0)
override;
126 int pgWrite(
char *buff,
long long offs,
int wrlen,
127 std::vector<uint32_t> &csvec, uint64_t opts=0,
128 int *csfix=0)
override;
131 char *buff,
long long offs,
int wrlen,
132 std::vector<uint32_t> &csvec, uint64_t opts=0,
133 int *csfix=0)
override;
135 int Read (
char *Buff,
long long Offs,
int Len)
override;
169 {*fileP =
this;
return true;}
171 int Write(
char *Buff,
long long Offs,
int Len)
override;
bool Stat(XrdCl::XRootDStatus &Status, bool force=false)
XrdSysRecMutex updMutex
Definition: XrdPosixObject.hh:94
Definition: XrdClAnyObject.hh:32
#define AtomicGet(x)
Definition: XrdSysAtomics.hh:71
virtual bool Who(XrdPosixDir **dirP)
Definition: XrdPosixObject.hh:86
static short sfSLN
Definition: XrdPosixFile.hh:190
char * fLoc
Definition: XrdPosixFile.hh:211
Definition: XrdPosixFile.hh:57
long long currOffset
Definition: XrdPosixFile.hh:204
long long Offset()
Definition: XrdPosixFile.hh:111
time_t myMtime
Definition: XrdPosixFile.hh:179
XrdCl::File clFile
Definition: XrdPosixFile.hh:66
Definition: XrdOucCache.hh:104
int Write(char *Buff, long long Offs, int Len) override
mode_t myMode
Definition: XrdPosixFile.hh:182
int pgRead(char *buff, long long offs, int rdlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0) override
long long addOffset(long long offs, int updtSz=0)
Definition: XrdPosixFile.hh:68
int pgWrite(char *buff, long long offs, int wrlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0) override
XrdPosixFile(bool &aOK, const char *path, XrdPosixCallBack *cbP=0, int Opts=0)
int Trunc(long long Offset) override
Definition: XrdPosixObject.hh:41
char isStream
Definition: XrdPosixFile.hh:213
void updLock()
Definition: XrdPosixFile.hh:107
static void * DelayedDestroy(void *)
static const int isStrm
Definition: XrdPosixFile.hh:195
long long FSize() override
Definition: XrdPosixFile.hh:93
void HandleResponse(XrdCl::XRootDStatus *status, XrdCl::AnyObject *response) override
int ReadV(const XrdOucIOVec *readV, int n) override
#define AtomicBeg(Mtx)
Definition: XrdSysAtomics.hh:63
Definition: XrdOucCache.hh:81
const char * Origin()
Definition: XrdPosixFile.hh:113
char * fOpen
Definition: XrdPosixFile.hh:210
Definition: XrdSysPthread.hh:164
void UpdtSize(size_t newsz)
Definition: XrdPosixFile.hh:160
A file.
Definition: XrdClFile.hh:45
XrdPosixFile * nextFile
Definition: XrdPosixFile.hh:206
#define AtomicEnd(Mtx)
Definition: XrdSysAtomics.hh:64
long long setOffset(long long offs)
Definition: XrdPosixFile.hh:145
XrdPosixPrepIO * PrepIO
Definition: XrdPosixFile.hh:65
const char * Path() override
Definition: XrdPosixFile.hh:115
static XrdSysMutex ddMutex
Definition: XrdPosixFile.hh:186
static XrdPosixFile * ddLost
Definition: XrdPosixFile.hh:188
Definition: XrdSysPthread.hh:493
#define AtomicRet(mtx, x)
Definition: XrdSysAtomics.hh:76
bool Who(XrdPosixFile **fileP)
Definition: XrdPosixFile.hh:168
Request status.
Definition: XrdClXRootDResponses.hh:218
An abstract class to define a callback for Open() call.
Definition: XrdPosixCallBack.hh:51
Definition: XrdOucIOVec.hh:40
j template void())
Definition: XrdOucJson.hh:4121
bool Detach(XrdOucCacheIOCD &cdP) override
Definition: XrdPosixFile.hh:86
int Read(char *Buff, long long Offs, int Len) override
static bool ddPosted
Definition: XrdPosixFile.hh:191
Definition: XrdPosixPrepIO.hh:38
size_t mySize
Definition: XrdPosixFile.hh:176
Definition: XrdOucCache.hh:52
time_t myAtime
Definition: XrdPosixFile.hh:177
static XrdPosixFile * ddList
Definition: XrdPosixFile.hh:187
Handle an async response.
Definition: XrdClXRootDResponses.hh:1116
#define stat(a, b)
Definition: XrdPosix.hh:96
void Lock()
Definition: XrdSysPthread.hh:222
ino_t myInode
Definition: XrdPosixFile.hh:181
XrdOucCacheIO * XCio
Definition: XrdPosixFile.hh:64
const char * Location(bool refresh=false) override
dev_t myRdev
Definition: XrdPosixFile.hh:180
static XrdSysSemaphore ddSem
Definition: XrdPosixFile.hh:185
void DetachDone() override
Indicate that the CacheIO object has been detached.
Definition: XrdPosixFile.hh:89
char * fPath
Definition: XrdPosixFile.hh:209
static const int isUpdt
Definition: XrdPosixFile.hh:196
bool Close(XrdCl::XRootDStatus &Status)
bool Finalize(XrdCl::XRootDStatus *Status)
static const int realFD
Definition: XrdPosixFile.hh:194
static int ddNum
Definition: XrdPosixFile.hh:192
void updUnLock()
Definition: XrdPosixFile.hh:109
XrdPosixCallBack * theCB
Definition: XrdPosixFile.hh:205
void UnLock()
Definition: XrdSysPthread.hh:224
static char * sfSFX
Definition: XrdPosixFile.hh:189
int cOpt
Definition: XrdPosixFile.hh:212
int numTries
Definition: XrdPosixFile.hh:212
time_t myCtime
Definition: XrdPosixFile.hh:178
void unRef()
Definition: XrdPosixObject.hh:67
int Fstat(struct stat &buf) override