xrootd
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::XrdXrootdAioReq ( )
inline

◆ ~XrdXrootdAioReq()

XrdXrootdAioReq::~XrdXrootdAioReq ( )
inline

Member Function Documentation

◆ addBlock()

static XrdXrootdAioReq* XrdXrootdAioReq::addBlock ( )
staticprivate

◆ Alloc()

static XrdXrootdAioReq* XrdXrootdAioReq::Alloc ( XrdXrootdProtocol p,
char  iot,
int  numaio = 0 
)
static

◆ Clear()

void XrdXrootdAioReq::Clear ( XrdLink lnkp)
private

◆ DoIt()

void XrdXrootdAioReq::DoIt ( )
inlinevirtual

Implements XrdJob.

References aioType, endRead(), and endWrite().

◆ endRead()

void XrdXrootdAioReq::endRead ( )
private

Referenced by DoIt().

◆ endWrite()

void XrdXrootdAioReq::endWrite ( )
private

Referenced by DoIt().

◆ getAio()

XrdXrootdAio* XrdXrootdAioReq::getAio ( )

◆ Init()

static void XrdXrootdAioReq::Init ( int  iosize,
int  maxaiopr,
int  maxaio = -80 
)
static

◆ Lock()

void XrdXrootdAioReq::Lock ( )
inlineprivate

◆ Pop()

XrdXrootdAio* XrdXrootdAioReq::Pop ( )
inline

References aioDone, and XrdXrootdAio::Next.

◆ Push()

void XrdXrootdAioReq::Push ( XrdXrootdAio newp)
inline

References aioDone, and XrdXrootdAio::Next.

◆ Read()

int XrdXrootdAioReq::Read ( )

◆ Recycle()

void XrdXrootdAioReq::Recycle ( int  deref = 1,
XrdXrootdAio aiop = 0 
)

◆ Scuttle()

void XrdXrootdAioReq::Scuttle ( const char *  opname)
private

◆ sendError()

void XrdXrootdAioReq::sendError ( char *  tident)
private

◆ UnLock()

void XrdXrootdAioReq::UnLock ( )
inlineprivate

◆ Write()

int XrdXrootdAioReq::Write ( XrdXrootdAio aiop)

Friends And Related Function Documentation

◆ XrdXrootdAio

friend class XrdXrootdAio
friend

Member Data Documentation

◆ aioDone

XrdXrootdAio* XrdXrootdAioReq::aioDone
private

Referenced by Pop(), and Push().

◆ aioError

int XrdXrootdAioReq::aioError
private

◆ aioFree

XrdXrootdAio* XrdXrootdAioReq::aioFree
private

◆ aioMutex

XrdSysMutex XrdXrootdAioReq::aioMutex
private

Referenced by Lock(), and UnLock().

◆ aioTotal

int XrdXrootdAioReq::aioTotal
private

◆ aioType

char XrdXrootdAioReq::aioType
private

Referenced by DoIt().

◆ eDest

XrdSysError* XrdXrootdAioReq::eDest
staticprivate

◆ Instance

unsigned int XrdXrootdAioReq::Instance
private

◆ isLocked

char XrdXrootdAioReq::isLocked
private

Referenced by Lock(), and UnLock().

◆ Link

XrdLink* XrdXrootdAioReq::Link
private

◆ maxAioPR

int XrdXrootdAioReq::maxAioPR
staticprivate

◆ maxAioPR2

int XrdXrootdAioReq::maxAioPR2
staticprivate

◆ myFile

XrdXrootdFile* XrdXrootdAioReq::myFile
private

◆ myIOLen

int XrdXrootdAioReq::myIOLen
private

◆ myOffset

off_t XrdXrootdAioReq::myOffset
private

◆ Next

XrdXrootdAioReq* XrdXrootdAioReq::Next
private

◆ numActive

int XrdXrootdAioReq::numActive
private

◆ Quantum

int XrdXrootdAioReq::Quantum
staticprivate

◆ QuantumMax

int XrdXrootdAioReq::QuantumMax
staticprivate

◆ QuantumMin

int XrdXrootdAioReq::QuantumMin
staticprivate

◆ reDrive

char XrdXrootdAioReq::reDrive
private

◆ respDone

char XrdXrootdAioReq::respDone
private

◆ Response

XrdXrootdResponse XrdXrootdAioReq::Response
private

◆ rqFirst

XrdXrootdAioReq* XrdXrootdAioReq::rqFirst
staticprivate

◆ rqMutex

XrdSysMutex XrdXrootdAioReq::rqMutex
staticprivate

◆ TraceID

const char* XrdXrootdAioReq::TraceID
staticprivate

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