#include <XrdXrootdAio.hh>
| XrdXrootdAioReq::XrdXrootdAioReq |
( |
| ) |
|
|
inline |
| XrdXrootdAioReq::~XrdXrootdAioReq |
( |
| ) |
|
|
inline |
References addBlock(), aioFree, aioType, XrdXrootdAio::Alloc(), Clear(), XrdLink::Inst(), Instance, XrdXrootdProtocol::Link, XrdSysMutex::Lock(), maxAioPR, maxAioPR2, myFile, XrdXrootdProtocol::myFile, myIOLen, XrdXrootdProtocol::myIOLen, myOffset, XrdXrootdProtocol::myOffset, XrdXrootdAio::Next, Next, Quantum, QuantumMax, QuantumMin, Recycle(), Response, XrdXrootdProtocol::Response, rqFirst, rqMutex, XrdLink::setRef(), and XrdSysMutex::UnLock().
Referenced by XrdXrootdProtocol::aio_Read(), and XrdXrootdProtocol::aio_Write().
| void XrdXrootdAioReq::Clear |
( |
XrdLink * |
lnkp | ) |
|
|
private |
References aioDone, aioError, aioFree, aioTotal, aioType, Instance, isLocked, Link, myFile, myIOLen, myOffset, Next, numActive, reDrive, and respDone.
Referenced by Alloc(), and Init().
| void XrdXrootdAioReq::DoIt |
( |
| ) |
|
|
inlinevirtual |
| void XrdXrootdAioReq::endRead |
( |
| ) |
|
|
private |
References aioDone, aioError, aioFree, aioTotal, XrdBuffer::bsize, XrdBuffer::buff, XrdXrootdAio::buffp, Instance, XrdLink::isInstance(), kXR_oksofar, Link, Lock(), myFile, myIOLen, XrdXrootdAio::Next, numActive, XrdXrootdFileStats::rdOps(), Read(), Recycle(), respDone, Response, XrdSfsAio::Result, Scuttle(), XrdXrootdResponse::Send(), sendError(), XrdXrootdFile::Stats, XrdSfsAio::TIdent, and UnLock().
Referenced by DoIt().
| void XrdXrootdAioReq::endWrite |
( |
| ) |
|
|
private |
References aioError, aioTotal, XrdLink::ID, Instance, XrdLink::isInstance(), Link, myFile, Recycle(), Response, Scuttle(), XrdXrootdResponse::Send(), sendError(), XrdXrootdFile::Stats, and XrdXrootdFileStats::wrOps().
Referenced by DoIt().
| void XrdXrootdAioReq::Init |
( |
int |
iosize, |
|
|
int |
maxaiopr, |
|
|
int |
maxaio = -80 |
|
) |
| |
|
static |
References XrdXrootdAio::addBlock(), addBlock(), XrdXrootdProtocol::BPool, Clear(), DEBUG, eDest, XrdXrootdProtocol::eDest, XrdXrootdAio::maxAio, maxAioPR, maxAioPR2, XrdXrootdProtocol::maxBuffsz, Quantum, QuantumMax, QuantumMin, XrdXrootdAio::Recycle(), Recycle(), XrdXrootdProtocol::Sched, XrdXrootdProtocol::SI, and TRACE.
Referenced by XrdXrootdProtocol::Configure().
| void XrdXrootdAioReq::Lock |
( |
| ) |
|
|
inlineprivate |
| int XrdXrootdAioReq::Read |
( |
| ) |
|
References aiocb::aio_nbytes, aiocb::aio_offset, aioFree, XrdBuffer::bsize, XrdXrootdAio::buffp, myFile, myIOLen, myOffset, XrdXrootdAio::Next, numActive, XrdSfsFile::read(), Recycle(), XrdSfsAio::sfsAio, and XrdXrootdFile::XrdSfsp.
Referenced by XrdXrootdProtocol::aio_Read(), and endRead().
| void XrdXrootdAioReq::Recycle |
( |
int |
deref = 1, |
|
|
XrdXrootdAio * |
aiop = 0 |
|
) |
| |
References aioDone, aioError, aioFree, aioType, isLocked, Link, Lock(), XrdSysMutex::Lock(), XrdXrootdAio::Next, Next, numActive, XrdXrootdAio::Recycle(), respDone, rqFirst, rqMutex, XrdLink::setRef(), UnLock(), and XrdSysMutex::UnLock().
Referenced by XrdXrootdProtocol::aio_WriteAll(), Alloc(), endRead(), endWrite(), Init(), XrdXrootdProtocol::Process(), Read(), Scuttle(), and Write().
| void XrdXrootdAioReq::Scuttle |
( |
const char * |
opname | ) |
|
|
private |
| void XrdXrootdAioReq::sendError |
( |
char * |
tident | ) |
|
|
private |
References aioError, aioType, XrdSysError::ec2text(), eDest, XrdSysError::Emsg(), XrdSfsFile::FName(), XProtocol::mapError(), myFile, respDone, Response, XrdXrootdResponse::Send(), and XrdXrootdFile::XrdSfsp.
Referenced by endRead(), and endWrite().
| void XrdXrootdAioReq::UnLock |
( |
| ) |
|
|
inlineprivate |
| int XrdXrootdAioReq::aioError |
|
private |
| int XrdXrootdAioReq::aioTotal |
|
private |
| char XrdXrootdAioReq::aioType |
|
private |
| unsigned int XrdXrootdAioReq::Instance |
|
private |
| char XrdXrootdAioReq::isLocked |
|
private |
| int XrdXrootdAioReq::maxAioPR = 8 |
|
staticprivate |
| int XrdXrootdAioReq::maxAioPR2 =16 |
|
staticprivate |
| int XrdXrootdAioReq::myIOLen |
|
private |
| off_t XrdXrootdAioReq::myOffset |
|
private |
| int XrdXrootdAioReq::numActive |
|
private |
| int XrdXrootdAioReq::Quantum |
|
staticprivate |
| int XrdXrootdAioReq::QuantumMax |
|
staticprivate |
| int XrdXrootdAioReq::QuantumMin |
|
staticprivate |
| char XrdXrootdAioReq::reDrive |
|
private |
| char XrdXrootdAioReq::respDone |
|
private |
| const char * XrdXrootdAioReq::TraceID = "AioReq" |
|
staticprivate |
The documentation for this class was generated from the following files: