![]() |
XRootD
|
#include <XrdXrootdNormAio.hh>
Public Member Functions | |
void | DoIt () override |
void | Read (long long offs, int dlen) override |
void | Recycle (bool release) override |
int | Write (long long offs, int dlen) override |
![]() | |
void | Completed (XrdXrootdAioBuff *aioP) |
const char * | ID () |
void | Init (XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP) |
virtual void | Read (long long offs, int dlen)=0 |
virtual void | Recycle (bool release)=0 |
XrdXrootdProtocol * | urProtocol () |
virtual int | Write (long long offs, int dlen)=0 |
![]() | |
XrdJob (const char *desc="") | |
virtual | ~XrdJob () |
virtual void | DoIt ()=0 |
Static Public Member Functions | |
static XrdXrootdNormAio * | Alloc (XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP) |
Additional Inherited Members | ||
![]() | ||
const char * | Comment | |
XrdJob * | NextJob | |
![]() | ||
XrdXrootdAioTask (const char *what="aio request") | ||
virtual | ~XrdXrootdAioTask () | |
virtual void | CopyF2L ()=0 | |
virtual int | CopyL2F ()=0 | |
virtual bool | CopyL2F (XrdXrootdAioBuff *aioP)=0 | |
bool | Drain () | |
int | gdDone () override | |
void | gdFail () override | |
XrdXrootdAioBuff * | getBuff (bool wait) | |
void | SendError (int rc, const char *eText) | |
void | SendFSError (int rc) | |
bool | Validate (XrdXrootdAioBuff *aioP) | |
![]() | ||
union { | ||
XrdXrootdNormAio * | nextNorm | |
XrdXrootdPgrwAio * | nextPgrw | |
XrdXrootdAioTask * | nextTask | |
}; | ||
union { | ||
XrdXrootdAioBuff * | finalRead | |
XrdXrootdAioBuff * | pendWrite | |
}; | ||
XrdSysMutex | aioMutex | |
XrdSysCondVar2 | aioReady | |
char | aioState | |
XrdXrootdFile * | dataFile | |
int | dataLen | |
XrdLink * | dataLink | |
off_t | dataOffset | |
off_t | highOffset | |
RAtomic_uchar | inFlight | |
RAtomic_bool | isDone | |
XrdXrootdAioBuff * | pendQ | |
XrdXrootdAioBuff * | pendQEnd | |
XrdXrootdProtocol * | Protocol | |
XrdXrootdResponse | Response | |
char | Status | |
![]() | ||
static const int | aioDead = 0x01 | |
static const int | aioHeld = 0x02 | |
static const int | aioPage = 0x04 | |
static const int | aioRead = 0x08 | |
static const int | aioSchd = 0x10 | |
static const int | Offline = 0 | |
static const int | Running = 1 | |
static const char * | TraceID = "AioTask" | |
static const int | Waiting = 2 | |
Definition at line 38 of file XrdXrootdNormAio.hh.
|
static |
Definition at line 84 of file XrdXrootdNormAio.cc.
References XrdXrootdAioTask::Init().
|
overridevirtual |
Implements XrdJob.
Definition at line 375 of file XrdXrootdNormAio.cc.
References XrdXrootdAioTask::aioRead, and XrdXrootdAioTask::aioState.
|
overridevirtual |
Implements XrdXrootdAioTask.
Definition at line 386 of file XrdXrootdNormAio.cc.
References XrdXrootdFile::aioFob, XrdXrootdAioTask::aioRead, XrdXrootdAioTask::aioState, XrdXrootdProtocol::aioUpdReq(), XrdXrootdAioTask::dataFile, XrdXrootdAioTask::dataLen, XrdXrootdAioTask::dataLink, XrdXrootdAioTask::dataOffset, XrdXrootdAioTask::highOffset, XrdXrootdAioTask::Protocol, XrdXrootdFile::Ref(), XrdXrootdAioFob::Schedule(), and XrdLink::setRef().
|
overridevirtual |
Implements XrdXrootdAioTask.
Definition at line 413 of file XrdXrootdNormAio.cc.
References XrdXrootdAioTask::aioHeld, XrdXrootdAioTask::aioRead, XrdXrootdAioTask::aioState, XrdXrootdProtocol::aioUpdReq(), XrdXrootdAioTask::dataFile, XrdXrootdAioTask::dataLink, XrdXrootdAioTask::isDone, XrdXrootdAioTask::Protocol, XrdXrootdFile::Ref(), XrdLink::setRef(), XrdXrootdAioTask::Status, and TRACEP.
|
overridevirtual |
Implements XrdXrootdAioTask.
Definition at line 479 of file XrdXrootdNormAio.cc.
References XrdXrootdAioTask::aioState, XrdXrootdProtocol::aioUpdReq(), XrdXrootdAioTask::dataLen, XrdXrootdAioTask::dataOffset, XrdXrootdAioTask::gdDone(), XrdXrootdAioTask::highOffset, and XrdXrootdAioTask::Protocol.