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 ()
 
XrdXrootdAiogetAio ()
 
XrdXrootdAioPop ()
 
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 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
 

Additional Inherited Members

- Public Attributes inherited from XrdJob
XrdJobNextJob
 
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: