1 #ifndef __XRDXROOTDAIOTASK_H__
2 #define __XRDXROOTDAIOTASK_H__
58 virtual void Read(
long long offs,
int dlen) = 0;
60 virtual void Recycle(
bool release) = 0;
64 virtual int Write(
long long offs,
int dlen) = 0;
79 void SendError(
int rc,
const char *eText);
bool Wait4Buff(int maxWait=0)
XrdXrootdPgrwAio * nextPgrw
Definition: XrdXrootdAioTask.hh:91
XrdXrootdAioBuff * getBuff(bool wait)
void Completed(XrdXrootdAioBuff *aioP)
XrdXrootdProtocol * Protocol
Definition: XrdXrootdAioTask.hh:95
int dataLen
Definition: XrdXrootdAioTask.hh:103
Definition: XrdXrootdAioBuff.hh:40
static const int aioSchd
Definition: XrdXrootdAioTask.hh:118
virtual ~XrdXrootdAioTask()
Definition: XrdXrootdAioTask.hh:70
std::atomic_bool isDone
Definition: XrdXrootdAioTask.hh:107
XrdLink * dataLink
Definition: XrdXrootdAioTask.hh:96
virtual int Write(long long offs, int dlen)=0
XrdXrootdResponse Response
Definition: XrdXrootdAioTask.hh:110
off_t highOffset
Definition: XrdXrootdAioTask.hh:101
static const int aioRead
Definition: XrdXrootdAioTask.hh:117
Definition: XrdXrootdProtocol.hh:154
std::atomic_uchar inFlight
Definition: XrdXrootdAioTask.hh:106
Definition: XrdXrootdFile.hh:100
Definition: XrdSysPthread.hh:164
XrdSysMutex aioMutex
Definition: XrdXrootdAioTask.hh:86
XrdXrootdNormAio * nextNorm
Definition: XrdXrootdAioTask.hh:90
bool Validate(XrdXrootdAioBuff *aioP)
Definition: XrdXrootdPgrwAio.hh:38
XrdXrootdFile * dataFile
Definition: XrdXrootdAioTask.hh:97
Definition: XrdLink.hh:51
XrdXrootdAioBuff * pendWrite
Definition: XrdXrootdAioTask.hh:99
XrdXrootdAioTask(const char *what="aio request")
Definition: XrdXrootdAioTask.hh:68
static const int Waiting
Definition: XrdXrootdAioTask.hh:124
Definition: XrdSysPthread.hh:299
XrdXrootdAioBuff * finalRead
Definition: XrdXrootdAioTask.hh:98
Definition: XrdXrootdAioTask.hh:45
static const int aioHeld
Definition: XrdXrootdAioTask.hh:115
static const int Offline
Definition: XrdXrootdAioTask.hh:122
XrdXrootdAioBuff * pendQ
Definition: XrdXrootdAioTask.hh:87
Definition: XrdXrootdResponse.hh:48
virtual void Read(long long offs, int dlen)=0
char aioState
Definition: XrdXrootdAioTask.hh:105
Definition: XrdXrootdNormAio.hh:38
void Init(XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP)
char Status
Definition: XrdXrootdAioTask.hh:108
Definition: XrdXrootdAioFob.hh:37
static const int aioPage
Definition: XrdXrootdAioTask.hh:116
static const int Running
Definition: XrdXrootdAioTask.hh:123
XrdXrootdAioTask * nextTask
Definition: XrdXrootdAioTask.hh:92
static const char * TraceID
Definition: XrdXrootdAioTask.hh:83
gdCallBack()
Definition: XrdXrootdProtocol.hh:124
XrdSysCondVar2 aioReady
Definition: XrdXrootdAioTask.hh:85
virtual void Recycle(bool release)=0
XrdXrootdProtocol * urProtocol()
Definition: XrdXrootdAioTask.hh:62
static const int aioDead
Definition: XrdXrootdAioTask.hh:114
off_t dataOffset
Definition: XrdXrootdAioTask.hh:102
void SendError(int rc, const char *eText)
XrdXrootdAioBuff * pendQEnd
Definition: XrdXrootdAioTask.hh:88