xrootd
|
#include <XrdPosixFile.hh>
Public Member Functions | |
long long | addOffset (long long offs, int updtSz=0) |
bool | Close (XrdCl::XRootDStatus &Status) |
bool | Finalize (XrdCl::XRootDStatus *Status) |
long long | FSize () |
int | Fstat (struct stat &buf) |
const char * | Location () |
void | HandleResponse (XrdCl::XRootDStatus *status, XrdCl::AnyObject *response) |
void | isOpen () |
void | updLock () |
void | updUnLock () |
long long | Offset () |
const char * | Origin () |
const char * | Path () |
int | Read (char *Buff, long long Offs, int Len) |
void | Read (XrdOucCacheIOCB &iocb, char *buff, long long offs, int rlen) |
int | ReadV (const XrdOucIOVec *readV, int n) |
void | ReadV (XrdOucCacheIOCB &iocb, const XrdOucIOVec *readV, int n) |
long long | setOffset (long long offs) |
bool | Stat (XrdCl::XRootDStatus &Status, bool force=false) |
int | Sync () |
void | Sync (XrdOucCacheIOCB &iocb) |
int | Trunc (long long Offset) |
void | UpdtSize (size_t newsz) |
bool | Who (XrdPosixFile **fileP) |
int | Write (char *Buff, long long Offs, int Len) |
void | Write (XrdOucCacheIOCB &iocb, char *buff, long long offs, int wlen) |
XrdPosixFile (bool &aOK, const char *path, XrdPosixCallBack *cbP=0, int Opts=0) | |
~XrdPosixFile () | |
virtual bool | Who (XrdPosixDir **dirP) |
virtual bool | Who (XrdPosixFile **fileP) |
![]() | |
bool | AssignFD (bool isStream=false) |
int | FDNum () |
void | Lock (bool wr=true) |
void | Ref () |
int | Refs () |
void | unRef () |
void | UnLock () |
virtual bool | Who (XrdPosixDir **dirP) |
XrdPosixObject () | |
virtual | ~XrdPosixObject () |
![]() | |
virtual void | Update (XrdOucCacheIO2 &iocp) |
virtual | ~XrdOucCacheIO2 () |
virtual int | Read (char *Buffer, long long Offset, int Length)=0 |
virtual int | ReadV (const XrdOucIOVec *readV, int n) |
virtual int | Sync ()=0 |
virtual int | Write (char *Buffer, long long Offset, int Length)=0 |
![]() | |
virtual XrdOucCacheIO * | Base () |
virtual XrdOucCacheIO * | Detach () |
virtual bool | ioActive () |
virtual void | Preread (long long Offset, int Length, int Opts=0) |
virtual void | Preread (aprParms &Parms) |
virtual | ~XrdOucCacheIO () |
![]() | |
virtual | ~ResponseHandler () |
virtual void | HandleResponseWithHosts (XRootDStatus *status, AnyObject *response, HostList *hostList) |
Static Public Member Functions | |
static void * | DelayedDestroy (void *) |
static void | DelayedDestroy (XrdPosixFile *fp) |
![]() | |
static bool | CanStream () |
static XrdPosixDir * | Dir (int fildes, bool glk=false) |
static XrdPosixFile * | File (int fildes, bool glk=false) |
static int | Init (int numfd) |
static void | Release (XrdPosixObject *oP, bool needlk=true) |
static XrdPosixDir * | ReleaseDir (int fildes) |
static XrdPosixFile * | ReleaseFile (int fildes) |
static void | Shutdown () |
static bool | Valid (int fd) |
Public Attributes | |
XrdOucCacheIO2 * | XCio |
XrdPosixPrepIO * | PrepIO |
XrdCl::File | clFile |
size_t | mySize |
time_t | myMtime |
dev_t | myRdev |
ino_t | myInode |
mode_t | myMode |
long long | currOffset |
XrdPosixCallBack * | theCB |
XrdPosixFile * | nextFile |
int | cOpt |
int | numTries |
![]() | |
XrdOucCacheStats | Statistics |
Static Public Attributes | |
static XrdSysSemaphore | ddSem |
static XrdSysMutex | ddMutex |
static XrdPosixFile * | ddList |
static XrdPosixFile * | ddLost |
static char * | sfSFX |
static short | sfSLN |
static bool | ddPosted |
static int | ddNum |
static const int | realFD = 1 |
static const int | isStrm = 2 |
static const int | isUpdt = 4 |
![]() | |
static const int | SingleUse = 0x0001 |
Private Attributes | |
union { | |
long long currOffset | |
XrdPosixCallBack * theCB | |
XrdPosixFile * nextFile | |
}; | |
char * | fPath |
char * | fOpen |
char * | fLoc |
union { | |
int cOpt | |
int numTries | |
}; | |
char | isStream |
Additional Inherited Members | |
![]() | |
XrdSysRecMutex | updMutex |
XrdSysRWLock | objMutex |
int | fdNum |
int | refCnt |
XrdPosixFile::XrdPosixFile | ( | bool & | aOK, |
const char * | path, | ||
XrdPosixCallBack * | cbP = 0 , |
||
int | Opts = 0 |
||
) |
XrdPosixFile::~XrdPosixFile | ( | ) |
|
inline |
References currOffset, XrdSysMutex::Lock(), mySize, XrdSysMutex::UnLock(), and XrdPosixObject::updMutex.
bool XrdPosixFile::Close | ( | XrdCl::XRootDStatus & | Status | ) |
|
static |
|
static |
bool XrdPosixFile::Finalize | ( | XrdCl::XRootDStatus * | Status | ) |
|
inlinevirtual |
Implements XrdOucCacheIO.
References AtomicBeg, AtomicEnd, AtomicGet, mySize, and XrdPosixObject::updMutex.
Referenced by XrdPosixPrepIO::FSize().
|
virtual |
Perform an fstat() operation (defaults to passthrough).
sbuff | reference to the stat buffer to be filled in. Only fields st_size, st_blocks, st_mtime (st_atime and st_ctime may be set to st_mtime), st_ino, and st_mode need to be set. All other fields are preset and should not be changed. |
Reimplemented from XrdOucCacheIO2.
Referenced by XrdPosixPrepIO::Fstat().
|
virtual |
Called when a response to associated request arrives or an error occurs
status | status of the request |
response | an object associated with the response (request dependent) |
Reimplemented from XrdCl::ResponseHandler.
void XrdPosixFile::isOpen | ( | ) |
|
virtual |
Get the file's location (i.e. endpoint hostname and port)
Reimplemented from XrdOucCacheIO2.
|
inline |
References AtomicRet, currOffset, and XrdPosixObject::updMutex.
|
inline |
References fOpen.
|
inlinevirtual |
|
virtual |
Implements XrdOucCacheIO.
Referenced by XrdPosixPrepIO::Read().
|
virtual |
Reimplemented from XrdOucCacheIO2.
|
virtual |
Reimplemented from XrdOucCacheIO.
Referenced by XrdPosixPrepIO::ReadV().
|
virtual |
Reimplemented from XrdOucCacheIO2.
|
inline |
References currOffset, XrdSysMutex::Lock(), XrdSysMutex::UnLock(), and XrdPosixObject::updMutex.
bool XrdPosixFile::Stat | ( | XrdCl::XRootDStatus & | Status, |
bool | force = false |
||
) |
|
virtual |
Implements XrdOucCacheIO.
Referenced by XrdPosixPrepIO::Sync().
|
virtual |
Reimplemented from XrdOucCacheIO2.
|
virtual |
Implements XrdOucCacheIO.
Referenced by XrdPosixPrepIO::Trunc().
|
inline |
References XrdSysMutex::Lock(), and XrdPosixObject::updMutex.
Referenced by XrdPosixObjGuard::Init().
|
inline |
References XrdSysMutex::Lock(), mySize, XrdSysMutex::UnLock(), and XrdPosixObject::updMutex.
|
inline |
References XrdSysMutex::UnLock(), and XrdPosixObject::updMutex.
Referenced by XrdPosixObjGuard::Init(), and XrdPosixObjGuard::Release().
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented from XrdPosixObject.
|
virtual |
Implements XrdOucCacheIO.
Referenced by XrdPosixPrepIO::Write().
|
virtual |
Reimplemented from XrdOucCacheIO2.
union { ... } |
union { ... } |
XrdCl::File XrdPosixFile::clFile |
int XrdPosixFile::cOpt |
long long XrdPosixFile::currOffset |
Referenced by addOffset(), Offset(), and setOffset().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
private |
|
private |
Referenced by Origin().
|
private |
Referenced by Path().
|
private |
|
static |
|
static |
ino_t XrdPosixFile::myInode |
mode_t XrdPosixFile::myMode |
time_t XrdPosixFile::myMtime |
dev_t XrdPosixFile::myRdev |
size_t XrdPosixFile::mySize |
Referenced by addOffset(), FSize(), and UpdtSize().
XrdPosixFile* XrdPosixFile::nextFile |
int XrdPosixFile::numTries |
XrdPosixPrepIO* XrdPosixFile::PrepIO |
|
static |
|
static |
|
static |
XrdPosixCallBack* XrdPosixFile::theCB |
XrdOucCacheIO2* XrdPosixFile::XCio |