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
static XrdSysErroreDest
static XrdSysMutex rqMutex
static XrdXrootdAioReqrqFirst
static int QuantumMin
static int Quantum
static int QuantumMax
static int maxAioPR
static int maxAioPR2

Friends

class XrdXrootdAio

Constructor & Destructor Documentation

XrdXrootdAioReq::XrdXrootdAioReq (  )  [inline]
XrdXrootdAioReq::~XrdXrootdAioReq (  )  [inline]

Member Function Documentation

static XrdXrootdAioReq* XrdXrootdAioReq::addBlock (  )  [static, private]
static 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]

Referenced by DoIt().

void XrdXrootdAioReq::endWrite (  )  [private]

Referenced by DoIt().

XrdXrootdAio* XrdXrootdAioReq::getAio (  ) 
static void XrdXrootdAioReq::Init ( int  iosize,
int  maxaiopr,
int  maxaio = -80 
) [static]
void XrdXrootdAioReq::Lock (  )  [inline, private]
XrdXrootdAio* XrdXrootdAioReq::Pop (  )  [inline]

References aioDone, and XrdXrootdAio::Next.

void XrdXrootdAioReq::Push ( XrdXrootdAio newp  )  [inline]

References aioDone, and XrdXrootdAio::Next.

int XrdXrootdAioReq::Read (  ) 
void XrdXrootdAioReq::Recycle ( int  deref = 1,
XrdXrootdAio aiop = 0 
)
void XrdXrootdAioReq::Scuttle ( const char *  opname  )  [private]
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 Pop(), and Push().

Referenced by Lock(), and UnLock().

char XrdXrootdAioReq::aioType [private]

Referenced by DoIt().

XrdSysError* XrdXrootdAioReq::eDest [static, private]
unsigned int XrdXrootdAioReq::Instance [private]
char XrdXrootdAioReq::isLocked [private]

Referenced by Lock(), and UnLock().

int XrdXrootdAioReq::maxAioPR [static, private]
int XrdXrootdAioReq::maxAioPR2 [static, private]
int XrdXrootdAioReq::myIOLen [private]
off_t XrdXrootdAioReq::myOffset [private]
int XrdXrootdAioReq::Quantum [static, private]
int XrdXrootdAioReq::QuantumMax [static, private]
int XrdXrootdAioReq::QuantumMin [static, private]
char XrdXrootdAioReq::reDrive [private]
char XrdXrootdAioReq::respDone [private]
const char* XrdXrootdAioReq::TraceID [static, private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 19 Oct 2019 for xrootd by  doxygen 1.6.1