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

#include <XrdXrootdPgrwAio.hh>

Inheritance diagram for XrdXrootdPgrwAio:
Inheritance graph
[legend]
Collaboration diagram for XrdXrootdPgrwAio:
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 XrdXrootdPgrwAioAlloc (XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP, XrdXrootdPgwBadCS *bcsP=0)
 

Static Public Attributes

static const int aioSZ = 64*1024
 

Private Member Functions

 XrdXrootdPgrwAio ()
 
virtual ~XrdXrootdPgrwAio ()
 
bool CopyF2L_Add2Q (XrdXrootdAioPgrw *aioP=0)
 
void CopyF2L () override
 
int CopyL2F () override
 
bool CopyL2F (XrdXrootdAioBuff *bP) override
 
bool SendData (XrdXrootdAioBuff *bP, bool final=false)
 
int SendDone ()
 
bool VerCks (XrdXrootdAioPgrw *aioP)
 

Private Attributes

XrdXrootdPgwBadCSbadCSP
 

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

XrdXrootdPgrwAio::XrdXrootdPgrwAio ( )
inlineprivate
virtual XrdXrootdPgrwAio::~XrdXrootdPgrwAio ( )
inlineprivatevirtual

Member Function Documentation

static XrdXrootdPgrwAio* XrdXrootdPgrwAio::Alloc ( XrdXrootdProtocol protP,
XrdXrootdResponse resp,
XrdXrootdFile fP,
XrdXrootdPgwBadCS bcsP = 0 
)
static
void XrdXrootdPgrwAio::CopyF2L ( )
overrideprivatevirtual

Implements XrdXrootdAioTask.

bool XrdXrootdPgrwAio::CopyF2L_Add2Q ( XrdXrootdAioPgrw aioP = 0)
private
int XrdXrootdPgrwAio::CopyL2F ( )
overrideprivatevirtual

Implements XrdXrootdAioTask.

bool XrdXrootdPgrwAio::CopyL2F ( XrdXrootdAioBuff bP)
overrideprivatevirtual

Implements XrdXrootdAioTask.

void XrdXrootdPgrwAio::DoIt ( )
overridevirtual

Implements XrdJob.

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

Implements XrdXrootdAioTask.

void XrdXrootdPgrwAio::Recycle ( bool  release)
overridevirtual

Implements XrdXrootdAioTask.

bool XrdXrootdPgrwAio::SendData ( XrdXrootdAioBuff bP,
bool  final = false 
)
private
int XrdXrootdPgrwAio::SendDone ( )
private
bool XrdXrootdPgrwAio::VerCks ( XrdXrootdAioPgrw aioP)
private
int XrdXrootdPgrwAio::Write ( long long  offs,
int  dlen 
)
overridevirtual

Implements XrdXrootdAioTask.

Member Data Documentation

const int XrdXrootdPgrwAio::aioSZ = 64*1024
static
XrdXrootdPgwBadCS* XrdXrootdPgrwAio::badCSP
private
const char* XrdXrootdPgrwAio::TraceID
staticprivate

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