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 ()
XrdXrootdAio * getAio ()
XrdXrootdAio * Pop ()
void Push (XrdXrootdAio *newp)
int Read ()
void Recycle (int deref=1, XrdXrootdAio *aiop=0)
int Write (XrdXrootdAio *aiop)
 XrdXrootdAioReq ()
 ~XrdXrootdAioReq ()
- Public Member Functions inherited from XrdJob
 XrdJob (const char *desc="")
virtual ~XrdJob ()

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 = "AioReq"
static XrdSysError * eDest
static XrdSysMutex rqMutex
static XrdXrootdAioReq * rqFirst = 0
static int QuantumMin
static int Quantum
static int QuantumMax
static int maxAioPR = 8
static int maxAioPR2 = 16

Friends

class XrdXrootdAio

Additional Inherited Members

- Public Attributes inherited from XrdJob
XrdJob * NextJob
const char * Comment

Constructor & Destructor Documentation

XrdXrootdAioReq::XrdXrootdAioReq ( )
inline

Referenced by addBlock().

XrdXrootdAioReq::~XrdXrootdAioReq ( )
inline

Member Function Documentation

XrdXrootdAioReq * XrdXrootdAioReq::addBlock ( )
staticprivate

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 ( )
inlinevirtual

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 ( )
inlineprivate
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 ( )
inlineprivate
int XrdXrootdAioReq::Write ( XrdXrootdAio *  aiop)

Friends And Related Function Documentation

friend class XrdXrootdAio
friend

Member Data Documentation

XrdXrootdAio* XrdXrootdAioReq::aioDone
private
int XrdXrootdAioReq::aioError
private
XrdXrootdAio* XrdXrootdAioReq::aioFree
private
XrdSysMutex XrdXrootdAioReq::aioMutex
private

Referenced by Lock(), and UnLock().

int XrdXrootdAioReq::aioTotal
private
char XrdXrootdAioReq::aioType
private

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

XrdSysError * XrdXrootdAioReq::eDest
staticprivate

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().

XrdLink* XrdXrootdAioReq::Link
private
int XrdXrootdAioReq::maxAioPR = 8
staticprivate

Referenced by Alloc(), and Init().

int XrdXrootdAioReq::maxAioPR2 = 16
staticprivate

Referenced by Alloc(), and Init().

XrdXrootdFile* XrdXrootdAioReq::myFile
private
int XrdXrootdAioReq::myIOLen
private
off_t XrdXrootdAioReq::myOffset
private

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

XrdXrootdAioReq* XrdXrootdAioReq::Next
private

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

int XrdXrootdAioReq::numActive
private
int XrdXrootdAioReq::Quantum
staticprivate

Referenced by Alloc(), and Init().

int XrdXrootdAioReq::QuantumMax
staticprivate

Referenced by Alloc(), and Init().

int XrdXrootdAioReq::QuantumMin
staticprivate

Referenced by Alloc(), and Init().

char XrdXrootdAioReq::reDrive
private
char XrdXrootdAioReq::respDone
private

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

XrdXrootdResponse XrdXrootdAioReq::Response
private

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

XrdXrootdAioReq * XrdXrootdAioReq::rqFirst = 0
staticprivate

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

XrdSysMutex XrdXrootdAioReq::rqMutex
staticprivate

Referenced by Alloc(), and Recycle().

const char * XrdXrootdAioReq::TraceID = "AioReq"
staticprivate

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