|
xrootd
|
#include <XrdXrootdAio.hh>


Public Member Functions | |
| virtual void | doneRead () |
| virtual void | doneWrite () |
| virtual void | Recycle () |
| XrdXrootdAio () | |
| ~XrdXrootdAio () | |
Public Attributes | |
| XrdBuffer * | buffp |
Static Private Member Functions | |
| static XrdXrootdAio * | Alloc (XrdXrootdAioReq *arp, int bsize=0) |
| static XrdXrootdAio * | addBlock () |
Private Attributes | |
| XrdXrootdAio * | Next |
| XrdXrootdAioReq * | aioReq |
Static Private Attributes | |
| static const char * | TraceID = "Aio" |
| static XrdBuffManager * | BPool |
| static XrdScheduler * | Sched |
| static XrdXrootdStats * | SI |
| static XrdSysMutex | fqMutex |
| static XrdXrootdAio * | fqFirst = 0 |
| static int | maxAio |
Friends | |
| class | XrdXrootdAioReq |
| XrdXrootdAio::XrdXrootdAio | ( | ) | [inline] |
References Next, aioReq, and buffp.
Referenced by addBlock().
| XrdXrootdAio::~XrdXrootdAio | ( | ) | [inline] |
| XrdXrootdAio * XrdXrootdAio::addBlock | ( | ) | [static, private] |
References XrdXrootdAio(), maxAio, TRACE, DEBUG, Next, and fqFirst.
Referenced by Alloc(), and XrdXrootdAioReq::Init().
| XrdXrootdAio * XrdXrootdAio::Alloc | ( | XrdXrootdAioReq * | arp, |
| int | bsize = 0 |
||
| ) | [static, private] |
References fqMutex, XrdSysMutex::Lock(), fqFirst, Next, maxAio, addBlock(), SI, XrdXrootdStats::AsyncNow, XrdXrootdStats::AsyncMax, XrdSysMutex::UnLock(), buffp, BPool, XrdBuffManager::Obtain(), XrdSfsAio::sfsAio, aiocb::aio_buf, XrdBuffer::buff, aioReq, XrdSfsAio::TIdent, XrdXrootdAioReq::Link, XrdLink::ID, and Recycle().
Referenced by XrdXrootdAioReq::Alloc().
| void XrdXrootdAio::doneRead | ( | ) | [virtual] |
Implements XrdSfsAio.
References aioReq, XrdXrootdAioReq::aioDone, XrdSfsAio::Result, XrdXrootdAioReq::aioTotal, XrdXrootdAioReq::aioError, Sched, and XrdScheduler::Schedule().
| void XrdXrootdAio::doneWrite | ( | ) | [virtual] |
Implements XrdSfsAio.
References aioReq, XrdXrootdAioReq::Lock(), XrdXrootdAioReq::numActive, XrdSfsAio::Result, XrdXrootdAioReq::myIOLen, XrdXrootdAioReq::aioTotal, XrdXrootdAioReq::aioError, XrdXrootdAioReq::reDrive, Sched, XrdScheduler::Schedule(), XrdXrootdAioReq::Link, Next, XrdXrootdAioReq::aioFree, XrdXrootdAioReq::UnLock(), and Recycle().
| void XrdXrootdAio::Recycle | ( | void | ) | [virtual] |
Implements XrdSfsAio.
References buffp, BPool, XrdBuffManager::Release(), fqMutex, XrdSysMutex::Lock(), Next, fqFirst, SI, XrdXrootdStats::AsyncNow, and XrdSysMutex::UnLock().
Referenced by Alloc(), doneWrite(), XrdXrootdAioReq::Init(), and XrdXrootdAioReq::Recycle().
friend class XrdXrootdAioReq [friend] |
XrdXrootdAioReq* XrdXrootdAio::aioReq [private] |
Referenced by Alloc(), doneRead(), doneWrite(), and XrdXrootdAio().
XrdBuffManager * XrdXrootdAio::BPool [static, private] |
Referenced by Alloc(), Recycle(), XrdXrootdAioReq::Read(), XrdXrootdAioReq::endRead(), XrdXrootdAio(), and XrdXrootdProtocol::aio_WriteAll().
XrdXrootdAio * XrdXrootdAio::fqFirst = 0 [static, private] |
Referenced by Alloc(), Recycle(), and addBlock().
XrdSysMutex XrdXrootdAio::fqMutex [static, private] |
int XrdXrootdAio::maxAio [static, private] |
Referenced by Alloc(), addBlock(), and XrdXrootdAioReq::Init().
XrdXrootdAio* XrdXrootdAio::Next [private] |
XrdScheduler * XrdXrootdAio::Sched [static, private] |
Referenced by doneRead(), and doneWrite().
XrdXrootdStats * XrdXrootdAio::SI [static, private] |
const char * XrdXrootdAio::TraceID = "Aio" [static, private] |
1.7.5