xrootd
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends

XrdXrootdAioReq Class Reference

#include <XrdXrootdAio.hh>

Inheritance diagram for XrdXrootdAioReq:
Inheritance graph
[legend]
Collaboration diagram for XrdXrootdAioReq:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void DoIt ()
XrdXrootdAiogetAio ()
XrdXrootdAioPop ()
void Push (XrdXrootdAio *newp)
int Read ()
void Recycle (int deref=1, XrdXrootdAio *aiop=0)
int Write (XrdXrootdAio *aiop)
 XrdXrootdAioReq ()
 ~XrdXrootdAioReq ()

Static Public Member Functions

static XrdXrootdAioReqAlloc (XrdXrootdProtocol *p, char iot, int numaio=0)
static void Init (int iosize, int maxaiopr, int maxaio=-80)

Private Member Functions

void Clear (XrdLink *lnkp)
void endRead ()
void endWrite ()
void Lock ()
void Scuttle (const char *opname)
void sendError (char *tident)
void UnLock ()

Static Private Member Functions

static XrdXrootdAioReqaddBlock ()

Private Attributes

XrdSysMutex aioMutex
XrdXrootdAioReqNext
off_t myOffset
int myIOLen
unsigned int Instance
XrdLinkLink
XrdXrootdFilemyFile
XrdXrootdAioaioDone
XrdXrootdAioaioFree
int numActive
int aioTotal
int aioError
char aioType
char respDone
char isLocked
char reDrive
XrdXrootdResponse Response

Static Private Attributes

static const char * TraceID = "AioReq"
static XrdSysErroreDest
static XrdSysMutex rqMutex
static XrdXrootdAioReqrqFirst = 0
static int QuantumMin
static int Quantum
static int QuantumMax
static int maxAioPR = 8
static int maxAioPR2 = 16

Friends

class XrdXrootdAio

Constructor & Destructor Documentation

XrdXrootdAioReq::XrdXrootdAioReq ( ) [inline]

Referenced by addBlock().

XrdXrootdAioReq::~XrdXrootdAioReq ( ) [inline]

Member Function Documentation

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

References DEBUG, Next, rqFirst, TRACE, and XrdXrootdAioReq().

Referenced by Alloc(), and Init().

XrdXrootdAioReq * XrdXrootdAioReq::Alloc ( XrdXrootdProtocol p,
char  iot,
int  numaio = 0 
) [static]
void XrdXrootdAioReq::Clear ( XrdLink lnkp) [private]
void XrdXrootdAioReq::DoIt ( ) [inline, virtual]

Implements XrdJob.

References aioType, endRead(), and endWrite().

void XrdXrootdAioReq::endRead ( ) [private]
void XrdXrootdAioReq::endWrite ( ) [private]
XrdXrootdAio * XrdXrootdAioReq::getAio ( )
void XrdXrootdAioReq::Init ( int  iosize,
int  maxaiopr,
int  maxaio = -80 
) [static]
void XrdXrootdAioReq::Lock ( ) [inline, private]
XrdXrootdAio* XrdXrootdAioReq::Pop ( ) [inline]
void XrdXrootdAioReq::Push ( XrdXrootdAio newp) [inline]
int XrdXrootdAioReq::Read ( )
void XrdXrootdAioReq::Recycle ( int  deref = 1,
XrdXrootdAio aiop = 0 
)
void XrdXrootdAioReq::Scuttle ( const char *  opname) [private]

References eDest, XrdSysError::Emsg(), XrdLink::ID, Link, and Recycle().

Referenced by endRead(), and endWrite().

void XrdXrootdAioReq::sendError ( char *  tident) [private]
void XrdXrootdAioReq::UnLock ( ) [inline, private]
int XrdXrootdAioReq::Write ( XrdXrootdAio aiop)

Friends And Related Function Documentation

friend class XrdXrootdAio [friend]

Member Data Documentation

Referenced by Lock(), and UnLock().

char XrdXrootdAioReq::aioType [private]

Referenced by Alloc(), Clear(), DoIt(), Recycle(), and sendError().

XrdSysError * XrdXrootdAioReq::eDest [static, private]

Referenced by Init(), Scuttle(), and sendError().

unsigned int XrdXrootdAioReq::Instance [private]

Referenced by Alloc(), Clear(), endRead(), and endWrite().

char XrdXrootdAioReq::isLocked [private]

Referenced by Clear(), Lock(), Recycle(), and UnLock().

int XrdXrootdAioReq::maxAioPR = 8 [static, private]

Referenced by Alloc(), and Init().

int XrdXrootdAioReq::maxAioPR2 = 16 [static, private]

Referenced by Alloc(), and Init().

int XrdXrootdAioReq::myIOLen [private]
off_t XrdXrootdAioReq::myOffset [private]

Referenced by Alloc(), Clear(), and Read().

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

int XrdXrootdAioReq::Quantum [static, private]

Referenced by Alloc(), and Init().

int XrdXrootdAioReq::QuantumMax [static, private]

Referenced by Alloc(), and Init().

int XrdXrootdAioReq::QuantumMin [static, private]

Referenced by Alloc(), and Init().

char XrdXrootdAioReq::reDrive [private]
char XrdXrootdAioReq::respDone [private]

Referenced by Clear(), endRead(), Recycle(), and sendError().

Referenced by Alloc(), endRead(), endWrite(), and sendError().

XrdXrootdAioReq * XrdXrootdAioReq::rqFirst = 0 [static, private]

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

Referenced by Alloc(), and Recycle().

const char * XrdXrootdAioReq::TraceID = "AioReq" [static, private]

The documentation for this class was generated from the following files: