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

#include <XrdXrootdNormAio.hh>

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

Public Member Functions

void DoIt () override
 
void Read (long long offs, int dlen) override
 
void Recycle (bool release) override
 
int Write (long long offs, int dlen) override
 
- Public Member Functions inherited from XrdXrootdAioTask
void Completed (XrdXrootdAioBuff *aioP)
 
const char * ID ()
 
void Init (XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP)
 
XrdXrootdProtocolurProtocol ()
 
- Public Member Functions inherited from XrdJob
 XrdJob (const char *desc="")
 
virtual ~XrdJob ()
 

Static Public Member Functions

static XrdXrootdNormAioAlloc (XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP)
 

Private Member Functions

 XrdXrootdNormAio ()
 
virtual ~XrdXrootdNormAio ()
 
bool CopyF2L_Add2Q (XrdXrootdAioBuff *aioP=0)
 
void CopyF2L () override
 
int CopyL2F () override
 
bool CopyL2F (XrdXrootdAioBuff *aioP) override
 
bool Send (XrdXrootdAioBuff *aioP, bool final=false)
 

Private Attributes

XrdXrootdAioBuffsendQ
 
off_t sendOffset
 
int reorders
 
bool didSched
 

Static Private Attributes

static const char * TraceID
 

Additional Inherited Members

- Public Attributes inherited from XrdJob
XrdJobNextJob
 
const char * Comment
 
- Protected Member Functions inherited from XrdXrootdAioTask
 XrdXrootdAioTask (const char *what="aio request")
 
virtual ~XrdXrootdAioTask ()
 
bool Drain ()
 
int gdDone () override
 
void gdFail () override
 
XrdXrootdAioBuffgetBuff (bool wait)
 
void SendError (int rc, const char *eText)
 
void SendFSError (int rc)
 
bool Validate (XrdXrootdAioBuff *aioP)
 
- Protected Attributes inherited from XrdXrootdAioTask
XrdSysMutex aioMutex
 
XrdSysCondVar2 aioReady
 
XrdXrootdAioBuffpendQ
 
XrdXrootdAioBuffpendQEnd
 
union {
   XrdXrootdNormAio *   nextNorm
 
   XrdXrootdPgrwAio *   nextPgrw
 
   XrdXrootdAioTask *   nextTask
 
}; 
 
XrdXrootdProtocolProtocol
 
XrdLinkdataLink
 
XrdXrootdFiledataFile
 
union {
   XrdXrootdAioBuff *   finalRead
 
   XrdXrootdAioBuff *   pendWrite
 
}; 
 
off_t highOffset
 
off_t dataOffset
 
int dataLen
 
char aioState
 
RAtomic_uchar inFlight
 
RAtomic_bool isDone
 
char Status
 
XrdXrootdResponse Response
 
- Static Protected Attributes inherited from XrdXrootdAioTask
static const char * TraceID
 
static const int aioDead = 0x01
 
static const int aioHeld = 0x02
 
static const int aioPage = 0x04
 
static const int aioRead = 0x08
 
static const int aioSchd = 0x10
 
static const int Offline = 0
 
static const int Running = 1
 
static const int Waiting = 2
 

Constructor & Destructor Documentation

XrdXrootdNormAio::XrdXrootdNormAio ( )
inlineprivate
virtual XrdXrootdNormAio::~XrdXrootdNormAio ( )
inlineprivatevirtual

Member Function Documentation

static XrdXrootdNormAio* XrdXrootdNormAio::Alloc ( XrdXrootdProtocol protP,
XrdXrootdResponse resp,
XrdXrootdFile fP 
)
static
void XrdXrootdNormAio::CopyF2L ( )
overrideprivatevirtual

Implements XrdXrootdAioTask.

bool XrdXrootdNormAio::CopyF2L_Add2Q ( XrdXrootdAioBuff aioP = 0)
private
int XrdXrootdNormAio::CopyL2F ( )
overrideprivatevirtual

Implements XrdXrootdAioTask.

bool XrdXrootdNormAio::CopyL2F ( XrdXrootdAioBuff aioP)
overrideprivatevirtual

Implements XrdXrootdAioTask.

void XrdXrootdNormAio::DoIt ( )
overridevirtual

Implements XrdJob.

void XrdXrootdNormAio::Read ( long long  offs,
int  dlen 
)
overridevirtual

Implements XrdXrootdAioTask.

void XrdXrootdNormAio::Recycle ( bool  release)
overridevirtual

Implements XrdXrootdAioTask.

bool XrdXrootdNormAio::Send ( XrdXrootdAioBuff aioP,
bool  final = false 
)
private
int XrdXrootdNormAio::Write ( long long  offs,
int  dlen 
)
overridevirtual

Implements XrdXrootdAioTask.

Member Data Documentation

bool XrdXrootdNormAio::didSched
private
int XrdXrootdNormAio::reorders
private
off_t XrdXrootdNormAio::sendOffset
private
XrdXrootdAioBuff* XrdXrootdNormAio::sendQ
private
const char* XrdXrootdNormAio::TraceID
staticprivate

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