|
XRootD
|
#include <XrdXrootdAioTask.hh>
Inheritance diagram for XrdXrootdAioTask:
Collaboration diagram for XrdXrootdAioTask: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 |
Public Member Functions inherited from XrdJob | |
| 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 | |
Public Attributes inherited from XrdJob | |
| 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 aioMutex, aioReady, inFlight, isDone, XrdSysMutex::Lock(), XrdXrootdAioBuff::next, Offline, pendQ, pendQEnd, XrdXrootdAioBuff::Recycle(), Recycle(), Running, XrdXrootd::Sched, XrdScheduler::Schedule(), XrdSysCondVar2::Signal(), Status, XrdSysMutex::UnLock(), and Waiting.
Referenced by XrdXrootdAioBuff::doneRead(), and XrdXrootdAioBuff::doneWrite().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protected |
Definition at line 113 of file XrdXrootdAioTask.cc.
References aioMutex, aioRead, aioState, dataFile, dataLink, XrdXrootd::eLog, XrdSysError::Emsg(), XrdXrootdFile::FileKey, XrdLink::ID, inFlight, isDone, XrdSysMutex::Lock(), XrdXrootdAioBuff::next, Offline, pendQ, pendQEnd, XrdXrootdAioBuff::Recycle(), Status, and XrdSysMutex::UnLock().
Referenced by gdDone(), and gdFail().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overrideprotected |
Definition at line 157 of file XrdXrootdAioTask.cc.
References XrdJob::Comment, CopyL2F(), dataLen, DEBUG, Drain(), XrdXrootdProtocol::getDump(), inFlight, isDone, Protocol, Recycle(), and TRACEP.
Referenced by XrdXrootdNormAio::Write(), and XrdXrootdPgrwAio::Write().
Here is the call graph for this function:
Here is the caller graph for this function:
|
overrideprotected |
Definition at line 198 of file XrdXrootdAioTask.cc.
References aioDead, XrdXrootdFile::aioFob, aioRead, aioState, XrdJob::Comment, dataFile, dataLen, dataLink, DEBUG, Drain(), XrdXrootd::eLog, XrdSysError::Emsg(), XrdXrootdFile::FileKey, XrdLink::ID, inFlight, isDone, Protocol, Recycle(), XrdXrootdAioFob::Reset(), and TRACEP.
Here is the call graph for this function:
|
protected |
Definition at line 232 of file XrdXrootdAioTask.cc.
References aioMutex, aioRead, aioState, inFlight, XrdSysMutex::Lock(), XrdXrootdAioBuff::next, pendQ, pendQEnd, SendError(), and XrdSysMutex::UnLock().
Here is the call graph for this function:| const char * XrdXrootdAioTask::ID | ( | ) |
Definition at line 269 of file XrdXrootdAioTask.cc.
References dataLink, and XrdLink::ID.
| void XrdXrootdAioTask::Init | ( | XrdXrootdProtocol * | protP, |
| XrdXrootdResponse & | resp, | ||
| XrdXrootdFile * | fP | ||
| ) |
Definition at line 275 of file XrdXrootdAioTask.cc.
References aioState, dataFile, dataLink, inFlight, isDone, pendQ, pendQEnd, Protocol, Response, Running, Status, and XrdXrootdResponse::theLink().
Referenced by XrdXrootdNormAio::Alloc(), and XrdXrootdPgrwAio::Alloc().
Here is the call graph for this function:
Here is the caller graph for this function:
|
pure virtual |
Implemented in XrdXrootdNormAio, and XrdXrootdPgrwAio.
|
pure virtual |
Implemented in XrdXrootdNormAio, and XrdXrootdPgrwAio.
Referenced by Completed(), gdDone(), gdFail(), XrdXrootdAioFob::Reset(), and XrdXrootdAioFob::Reset().
Here is the caller graph for this function:
|
protected |
Definition at line 298 of file XrdXrootdAioTask.cc.
References aioDead, aioRead, aioState, dataFile, dataLen, dataLink, XrdXrootd::eLog, XrdSysError::Emsg(), XrdXrootdFile::FileKey, XrdLink::ID, isDone, XProtocol::mapError(), Response, XrdXrootdResponse::Send(), and XrdSysE2T().
Referenced by getBuff(), SendFSError(), and Validate().
Here is the call graph for this function:
Here is the caller graph for this function:
|
protected |
Definition at line 328 of file XrdXrootdAioTask.cc.
References aioDead, aioRead, aioState, dataFile, dataLen, dataLink, XrdXrootd::eLog, XrdSysError::Emsg(), eMsg, XrdSfsFile::error, XrdOucErrInfo::extData(), XrdXrootdFile::FileKey, XrdOucErrInfo::getErrText(), XrdLink::ID, isDone, XProtocol::mapError(), XrdOucErrInfo::Reset(), Response, XrdXrootdResponse::Send(), SendError(), SFS_ERROR, and XrdXrootdFile::XrdSfsp.
Here is the call graph for this function:
|
inline |
Definition at line 63 of file XrdXrootdAioTask.hh.
References Protocol.
Referenced by XrdXrootdAioBuff::Alloc(), XrdXrootdAioPgrw::Alloc(), XrdXrootdAioBuff::Recycle(), and XrdXrootdAioPgrw::Recycle().
Here is the caller graph for this function:
|
protected |
Definition at line 366 of file XrdXrootdAioTask.cc.
References aiocb::aio_nbytes, aiocb::aio_offset, dataLen, highOffset, isDone, XrdSfsAio::Result, SendError(), and XrdSfsAio::sfsAio.
Here is the call graph for this function:
|
pure virtual |
Implemented in XrdXrootdNormAio, and XrdXrootdPgrwAio.
|
friend |
Definition at line 49 of file XrdXrootdAioTask.hh.
| union { ... } XrdXrootdAioTask |
| union { ... } XrdXrootdAioTask |
|
staticprotected |
Definition at line 115 of file XrdXrootdAioTask.hh.
Referenced by gdFail(), SendError(), and SendFSError().
|
staticprotected |
Definition at line 116 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdNormAio::Recycle(), and XrdXrootdPgrwAio::Recycle().
|
protected |
Definition at line 86 of file XrdXrootdAioTask.hh.
Referenced by Completed(), Drain(), and getBuff().
|
staticprotected |
Definition at line 117 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdPgrwAio::Read().
|
staticprotected |
Definition at line 118 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdNormAio::DoIt(), XrdXrootdPgrwAio::DoIt(), Drain(), gdFail(), getBuff(), XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), XrdXrootdNormAio::Recycle(), XrdXrootdPgrwAio::Recycle(), SendError(), and SendFSError().
|
protected |
Definition at line 87 of file XrdXrootdAioTask.hh.
Referenced by Completed().
|
staticprotected |
Definition at line 119 of file XrdXrootdAioTask.hh.
|
protected |
Definition at line 106 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdNormAio::DoIt(), XrdXrootdPgrwAio::DoIt(), Drain(), gdFail(), getBuff(), Init(), XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), XrdXrootdNormAio::Recycle(), XrdXrootdPgrwAio::Recycle(), SendError(), SendFSError(), XrdXrootdNormAio::Write(), and XrdXrootdPgrwAio::Write().
|
protected |
Definition at line 98 of file XrdXrootdAioTask.hh.
Referenced by Drain(), gdFail(), Init(), XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), XrdXrootdNormAio::Recycle(), XrdXrootdPgrwAio::Recycle(), SendError(), and SendFSError().
|
protected |
Definition at line 104 of file XrdXrootdAioTask.hh.
Referenced by gdDone(), gdFail(), XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), SendError(), SendFSError(), Validate(), XrdXrootdNormAio::Write(), and XrdXrootdPgrwAio::Write().
|
protected |
Definition at line 97 of file XrdXrootdAioTask.hh.
Referenced by Drain(), gdFail(), ID(), Init(), XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), XrdXrootdNormAio::Recycle(), XrdXrootdPgrwAio::Recycle(), SendError(), and SendFSError().
|
protected |
Definition at line 103 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), XrdXrootdNormAio::Write(), and XrdXrootdPgrwAio::Write().
|
protected |
Definition at line 102 of file XrdXrootdAioTask.hh.
Referenced by XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), Validate(), XrdXrootdNormAio::Write(), and XrdXrootdPgrwAio::Write().
|
protected |
Definition at line 107 of file XrdXrootdAioTask.hh.
Referenced by Completed(), Drain(), gdDone(), gdFail(), getBuff(), and Init().
|
protected |
Definition at line 108 of file XrdXrootdAioTask.hh.
Referenced by Completed(), Drain(), gdDone(), gdFail(), Init(), XrdXrootdNormAio::Recycle(), XrdXrootdPgrwAio::Recycle(), SendError(), SendFSError(), and Validate().
|
staticprotected |
Definition at line 123 of file XrdXrootdAioTask.hh.
Referenced by Completed(), and Drain().
|
protected |
Definition at line 88 of file XrdXrootdAioTask.hh.
Referenced by Completed(), Drain(), getBuff(), and Init().
|
protected |
Definition at line 89 of file XrdXrootdAioTask.hh.
Referenced by Completed(), Drain(), getBuff(), and Init().
|
protected |
Definition at line 96 of file XrdXrootdAioTask.hh.
Referenced by gdDone(), gdFail(), Init(), XrdXrootdNormAio::Read(), XrdXrootdPgrwAio::Read(), XrdXrootdNormAio::Recycle(), XrdXrootdPgrwAio::Recycle(), XrdXrootdAioFob::Schedule(), urProtocol(), XrdXrootdNormAio::Write(), and XrdXrootdPgrwAio::Write().
|
protected |
Definition at line 111 of file XrdXrootdAioTask.hh.
Referenced by Init(), SendError(), and SendFSError().
|
staticprotected |
Definition at line 124 of file XrdXrootdAioTask.hh.
Referenced by Completed(), and Init().
|
protected |
Definition at line 109 of file XrdXrootdAioTask.hh.
Referenced by Completed(), Drain(), Init(), XrdXrootdNormAio::Recycle(), and XrdXrootdPgrwAio::Recycle().
|
staticprotected |
Definition at line 84 of file XrdXrootdAioTask.hh.
|
staticprotected |
Definition at line 125 of file XrdXrootdAioTask.hh.
Referenced by Completed().