![]() |
XRootD
|
#include <XrdXrootdAioTask.hh>
Public Member Functions | |
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 |
Protected Member Functions | |
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) |
Protected Attributes | |
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 Protected Attributes | |
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 |
Friends | |
class | XrdXrootdAioFob |
Additional Inherited Members | |
![]() | |
const char * | Comment |
XrdJob * | NextJob |
Definition at line 46 of file XrdXrootdAioTask.hh.
|
inlineprotected |
Definition at line 69 of file XrdXrootdAioTask.hh.
|
inlineprotectedvirtual |
Definition at line 71 of file XrdXrootdAioTask.hh.
void XrdXrootdAioTask::Completed | ( | XrdXrootdAioBuff * | aioP | ) |
Definition at line 73 of file XrdXrootdAioTask.cc.
References XrdXrootdAioBuff::next, XrdXrootdAioBuff::Recycle(), XrdXrootd::Sched, and XrdScheduler::Schedule().
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protected |
Definition at line 113 of file XrdXrootdAioTask.cc.
References XrdXrootd::eLog, XrdSysError::Emsg(), XrdXrootdAioBuff::next, and XrdXrootdAioBuff::Recycle().
|
overrideprotected |
Definition at line 157 of file XrdXrootdAioTask.cc.
References DEBUG, XrdXrootdProtocol::getDump(), and TRACEP.
|
overrideprotected |
Definition at line 198 of file XrdXrootdAioTask.cc.
References DEBUG, XrdXrootd::eLog, XrdSysError::Emsg(), and TRACEP.
|
protected |
Definition at line 232 of file XrdXrootdAioTask.cc.
References XrdXrootdAioBuff::next.
const char * XrdXrootdAioTask::ID | ( | void | ) |
Definition at line 269 of file XrdXrootdAioTask.cc.
void XrdXrootdAioTask::Init | ( | XrdXrootdProtocol * | protP, |
XrdXrootdResponse & | resp, | ||
XrdXrootdFile * | fP | ||
) |
Definition at line 275 of file XrdXrootdAioTask.cc.
References XrdXrootdResponse::theLink().
Referenced by XrdXrootdNormAio::Alloc(), and XrdXrootdPgrwAio::Alloc().
|
pure virtual |
Implemented in XrdXrootdPgrwAio, and XrdXrootdNormAio.
|
pure virtual |
Implemented in XrdXrootdPgrwAio, and XrdXrootdNormAio.
Referenced by XrdXrootdAioFob::Reset().
|
protected |
Definition at line 298 of file XrdXrootdAioTask.cc.
References XrdXrootd::eLog, XrdSysError::Emsg(), XProtocol::mapError(), and XrdSysE2T().
|
protected |
Definition at line 328 of file XrdXrootdAioTask.cc.
References XrdXrootd::eLog, XrdSysError::Emsg(), eMsg, XrdOucErrInfo::extData(), XrdOucErrInfo::getErrText(), XProtocol::mapError(), XrdOucErrInfo::Reset(), and SFS_ERROR.
|
inline |
Definition at line 63 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdAioBuff::Alloc(), XrdXrootdAioPgrw::Alloc(), and XrdXrootdAioPgrw::Recycle().
|
protected |
Definition at line 366 of file XrdXrootdAioTask.cc.
References aiocb::aio_nbytes, aiocb::aio_offset, XrdSfsAio::Result, and XrdSfsAio::sfsAio.
|
pure virtual |
Implemented in XrdXrootdPgrwAio, and XrdXrootdNormAio.
|
friend |
Definition at line 49 of file XrdXrootdAioTask.hh.
union { ... } |
union { ... } |
|
staticprotected |
Definition at line 115 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 116 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 86 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 117 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 118 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 87 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 119 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 106 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 98 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 104 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 97 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 103 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 102 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 107 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 108 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 123 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 88 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 89 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 96 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdAioFob::Schedule().
|
protected |
Definition at line 111 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 124 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 109 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 84 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 125 of file XrdXrootdAioTask.hh.