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 ()
XrdXrootdAio * getAio ()
XrdXrootdAio * Pop ()
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 XrdXrootdAioReq * Alloc (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 XrdXrootdAioReq * addBlock ()

Private Attributes

XrdSysMutex aioMutex
XrdXrootdAioReq * Next
off_t myOffset
int myIOLen
unsigned int Instance
XrdLink * Link
XrdXrootdFile * myFile
XrdXrootdAio * aioDone
XrdXrootdAio * aioFree
int numActive
int aioTotal
int aioError
char aioType
char respDone
char isLocked
char reDrive
XrdXrootdResponse Response

Static Private Attributes

static const char * TraceID
static XrdSysError * eDest
static XrdSysMutex rqMutex
static XrdXrootdAioReq * rqFirst
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 16 Oct 2020 for xrootd by  doxygen 1.6.1