xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdXrootdAioReq Class Reference

#include <XrdXrootdAio.hh>

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

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
 
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
 

Additional Inherited Members

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

Constructor & Destructor Documentation

XrdXrootdAioReq::XrdXrootdAioReq ( )
inline
XrdXrootdAioReq::~XrdXrootdAioReq ( )
inline

Member Function Documentation

static XrdXrootdAioReq* XrdXrootdAioReq::addBlock ( )
staticprivate
static 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

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

Friends And Related Function Documentation

friend class XrdXrootdAio
friend

Member Data Documentation

XrdXrootdAio* XrdXrootdAioReq::aioDone
private

Referenced by Pop(), and Push().

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

XrdSysError* XrdXrootdAioReq::eDest
staticprivate
unsigned int XrdXrootdAioReq::Instance
private
char XrdXrootdAioReq::isLocked
private

Referenced by Lock(), and UnLock().

XrdLink* XrdXrootdAioReq::Link
private
int XrdXrootdAioReq::maxAioPR
staticprivate
int XrdXrootdAioReq::maxAioPR2
staticprivate
XrdXrootdFile* XrdXrootdAioReq::myFile
private
int XrdXrootdAioReq::myIOLen
private
off_t XrdXrootdAioReq::myOffset
private
XrdXrootdAioReq* XrdXrootdAioReq::Next
private
int XrdXrootdAioReq::numActive
private
int XrdXrootdAioReq::Quantum
staticprivate
int XrdXrootdAioReq::QuantumMax
staticprivate
int XrdXrootdAioReq::QuantumMin
staticprivate
char XrdXrootdAioReq::reDrive
private
char XrdXrootdAioReq::respDone
private
XrdXrootdResponse XrdXrootdAioReq::Response
private
XrdXrootdAioReq* XrdXrootdAioReq::rqFirst
staticprivate
XrdSysMutex XrdXrootdAioReq::rqMutex
staticprivate
const char* XrdXrootdAioReq::TraceID
staticprivate

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