XrdXrootdAio Class Reference

#include <XrdXrootdAio.hh>

Inheritance diagram for XrdXrootdAio:

XrdSfsAio List of all members.

Public Member Functions

virtual void doneRead ()
virtual void doneWrite ()
virtual void Recycle ()
 XrdXrootdAio ()
 ~XrdXrootdAio ()

Public Attributes

XrdBufferbuffp

Static Private Member Functions

static XrdXrootdAioAlloc (XrdXrootdAioReq *arp, int bsize=0)
static XrdXrootdAioaddBlock ()

Private Attributes

XrdXrootdAioNext
XrdXrootdAioReqaioReq

Static Private Attributes

static const char * TraceID
static XrdBuffManagerBPool
static XrdSchedulerSched
static XrdXrootdStatsSI
static XrdSysMutex fqMutex
static XrdXrootdAiofqFirst
static int maxAio

Friends

class XrdXrootdAioReq

Detailed Description

Definition at line 35 of file XrdXrootdAio.hh.


Constructor & Destructor Documentation

XrdXrootdAio::XrdXrootdAio (  )  [inline]

Definition at line 48 of file XrdXrootdAio.hh.

References aioReq, buffp, and Next.

XrdXrootdAio::~XrdXrootdAio (  )  [inline]

Definition at line 49 of file XrdXrootdAio.hh.


Member Function Documentation

void XrdXrootdAio::doneRead (  )  [virtual]

Implements XrdSfsAio.

Definition at line 100 of file XrdXrootdAio.cc.

References XrdXrootdAioReq::aioDone, XrdXrootdAioReq::aioError, aioReq, XrdXrootdAioReq::aioTotal, XrdSfsAio::Result, Sched, and XrdScheduler::Schedule().

void XrdXrootdAio::doneWrite (  )  [virtual]

Implements XrdSfsAio.

Definition at line 125 of file XrdXrootdAio.cc.

References XrdXrootdAioReq::aioError, XrdXrootdAioReq::aioFree, aioReq, XrdXrootdAioReq::aioTotal, XrdXrootdAioReq::Link, XrdXrootdAioReq::Lock(), XrdXrootdAioReq::myIOLen, Next, XrdXrootdAioReq::numActive, Recycle(), XrdXrootdAioReq::reDrive, XrdSfsAio::Result, Sched, XrdScheduler::Schedule(), and XrdXrootdAioReq::UnLock().

void XrdXrootdAio::Recycle (  )  [virtual]

Implements XrdSfsAio.

Definition at line 170 of file XrdXrootdAio.cc.

References XrdXrootdStats::AsyncNow, BPool, buffp, fqFirst, fqMutex, XrdSysMutex::Lock(), Next, XrdBuffManager::Release(), SI, and XrdSysMutex::UnLock().

Referenced by XrdXrootdAioReq::Alloc(), Alloc(), doneWrite(), XrdXrootdAioReq::Init(), and XrdXrootdAioReq::Recycle().

XrdXrootdAio * XrdXrootdAio::Alloc ( XrdXrootdAioReq arp,
int  bsize = 0 
) [static, private]

Definition at line 59 of file XrdXrootdAio.cc.

References addBlock(), aiocb::aio_buf, aioReq, XrdXrootdStats::AsyncMax, XrdXrootdStats::AsyncNow, BPool, XrdBuffer::buff, buffp, fqFirst, fqMutex, XrdLink::ID, XrdXrootdAioReq::Link, XrdSysMutex::Lock(), maxAio, Next, XrdBuffManager::Obtain(), Recycle(), XrdSfsAio::sfsAio, SI, XrdSfsAio::TIdent, and XrdSysMutex::UnLock().

Referenced by XrdXrootdAioReq::Alloc().

XrdXrootdAio * XrdXrootdAio::addBlock (  )  [static, private]

Definition at line 193 of file XrdXrootdAio.cc.

References DEBUG, fqFirst, i, maxAio, Next, and TRACE.

Referenced by Alloc(), and XrdXrootdAioReq::Init().


Friends And Related Function Documentation

friend class XrdXrootdAioReq [friend]

Definition at line 37 of file XrdXrootdAio.hh.


Member Data Documentation

XrdBuffer* XrdXrootdAio::buffp

Definition at line 39 of file XrdXrootdAio.hh.

Referenced by XrdXrootdProtocol::aio_WriteAll(), Alloc(), XrdXrootdAioReq::endRead(), XrdXrootdAioReq::Read(), Recycle(), and XrdXrootdAio().

const char * XrdXrootdAio::TraceID [static, private]

Definition at line 56 of file XrdXrootdAio.hh.

XrdBuffManager * XrdXrootdAio::BPool [static, private]

Definition at line 57 of file XrdXrootdAio.hh.

Referenced by Alloc(), XrdXrootdAioReq::Init(), and Recycle().

XrdScheduler * XrdXrootdAio::Sched [static, private]

Definition at line 58 of file XrdXrootdAio.hh.

Referenced by doneRead(), doneWrite(), and XrdXrootdAioReq::Init().

XrdXrootdStats * XrdXrootdAio::SI [static, private]

Definition at line 59 of file XrdXrootdAio.hh.

Referenced by Alloc(), XrdXrootdAioReq::Init(), and Recycle().

XrdSysMutex XrdXrootdAio::fqMutex [static, private]

Definition at line 60 of file XrdXrootdAio.hh.

Referenced by Alloc(), and Recycle().

XrdXrootdAio * XrdXrootdAio::fqFirst [static, private]

Definition at line 61 of file XrdXrootdAio.hh.

Referenced by addBlock(), Alloc(), and Recycle().

int XrdXrootdAio::maxAio [static, private]

Definition at line 62 of file XrdXrootdAio.hh.

Referenced by addBlock(), Alloc(), and XrdXrootdAioReq::Init().

XrdXrootdAio* XrdXrootdAio::Next [private]

Definition at line 64 of file XrdXrootdAio.hh.

Referenced by addBlock(), XrdXrootdAioReq::Alloc(), Alloc(), doneWrite(), XrdXrootdAioReq::endRead(), XrdXrootdAioReq::getAio(), XrdXrootdAioReq::Pop(), XrdXrootdAioReq::Push(), XrdXrootdAioReq::Read(), Recycle(), XrdXrootdAioReq::Recycle(), and XrdXrootdAio().

XrdXrootdAioReq* XrdXrootdAio::aioReq [private]

Definition at line 65 of file XrdXrootdAio.hh.

Referenced by Alloc(), doneRead(), doneWrite(), and XrdXrootdAio().


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:50:47 2011 for ROOT_528-00b_version by  doxygen 1.5.1