1#ifndef __XRDPOSIXFILE_HH__
2#define __XRDPOSIXFILE_HH__
37#include <sys/resource.h>
72 if (updtSz && currOffset > (
long long)
mySize)
74 long long retOffset = currOffset;
88 {(void)cdP;
return true;}
93 const std::string& args, std::string& resp)
override;
106 const char *
Location(
bool refresh=
false)
override;
119 const char *
Path()
override {
return fPath;}
121 int pgRead(
char *buff,
long long offs,
int rdlen,
122 std::vector<uint32_t> &csvec, uint64_t
opts=0,
123 int *csfix=0)
override;
126 char *buff,
long long offs,
int rdlen,
127 std::vector<uint32_t> &csvec, uint64_t
opts=0,
128 int *csfix=0)
override;
130 int pgWrite(
char *buff,
long long offs,
int wrlen,
131 std::vector<uint32_t> &csvec, uint64_t
opts=0,
132 int *csfix=0)
override;
135 char *buff,
long long offs,
int wrlen,
136 std::vector<uint32_t> &csvec, uint64_t
opts=0,
137 int *csfix=0)
override;
139 int Read (
char *Buff,
long long Offs,
int Len)
override;
173 {*fileP =
this;
return true;}
175 int Write(
char *Buff,
long long Offs,
int Len)
override;
208union {
long long currOffset;
216union {
int cOpt;
int numTries;};
#define AtomicRet(mtx, x)
Handle an async response.
XrdOucCacheIO()
Construct and Destructor.
An abstract class to define a callback for Open() call.
XrdPosixFile(bool &aOK, const char *path, XrdPosixCallBack *cbP=0, int Opts=0)
static XrdSysSemaphore ddSem
static XrdSysMutex ddMutex
bool Who(XrdPosixFile **fileP) override
int Write(char *Buff, long long Offs, int Len) override
int Fcntl(XrdOucCacheOp::Code opc, const std::string &args, std::string &resp) override
static XrdPosixFile * ddLost
long long FSize() override
int Read(char *Buff, long long Offs, int Len) override
void UpdtSize(size_t newsz)
long long addOffset(long long offs, int updtSz=0)
int Fstat(struct stat &buf) override
bool Detach(XrdOucCacheIOCD &cdP) override
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
void DetachDone() override
Indicate that the CacheIO object has been detached.
bool Close(XrdCl::XRootDStatus &Status)
const char * Path() override
static XrdPosixFile * ddList
void HandleResponse(XrdCl::XRootDStatus *status, XrdCl::AnyObject *response) override
bool Finalize(XrdCl::XRootDStatus *Status)
int ReadV(const XrdOucIOVec *readV, int n) override
long long setOffset(long long offs)
static void * DelayedDestroy(void *)
int pgWrite(char *buff, long long offs, int wrlen, std::vector< uint32_t > &csvec, uint64_t opts=0, int *csfix=0) override
virtual bool Who(XrdPosixDir **dirP)