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