Go to the documentation of this file. 1 #ifndef __XRDXROOTDAIOTASK_H__
2 #define __XRDXROOTDAIOTASK_H__
59 virtual void Read(
long long offs,
int dlen) = 0;
65 virtual int Write(
long long offs,
int dlen) = 0;
70 :
XrdJob(what), aioReady(aioMutex) {}
115 static const int aioDead = 0x01;
116 static const int aioHeld = 0x02;
117 static const int aioPage = 0x04;
118 static const int aioRead = 0x08;
119 static const int aioSchd = 0x10;
123 static const int Offline = 0;
124 static const int Running = 1;
125 static const int Waiting = 2;
XrdXrootdProtocol * urProtocol()
Definition: XrdXrootdAioTask.hh:63
void SendError(int rc, const char *eText)
XrdXrootdAioTask * nextTask
Definition: XrdXrootdAioTask.hh:93
XrdXrootdNormAio * nextNorm
Definition: XrdXrootdAioTask.hh:91
RAtomic_bool isDone
Definition: XrdXrootdAioTask.hh:108
Definition: XrdSysPthread.hh:165
XrdSysMutex aioMutex
Definition: XrdXrootdAioTask.hh:87
int dataLen
Definition: XrdXrootdAioTask.hh:104
Definition: XrdXrootdResponse.hh:49
virtual ~XrdXrootdAioTask()
Definition: XrdXrootdAioTask.hh:71
virtual int Write(long long offs, int dlen)=0
Definition: XrdSysPthread.hh:300
Definition: XrdClPollerBuiltIn.hh:28
Definition: XrdXrootdPgrwAio.hh:39
RAtomic_uchar inFlight
Definition: XrdXrootdAioTask.hh:107
Definition: XrdSysRAtomic.hh:255
XrdXrootdAioBuff * getBuff(bool wait)
void Init(XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP)
XrdXrootdAioBuff * pendQ
Definition: XrdXrootdAioTask.hh:88
Definition: XrdXrootdAioBuff.hh:41
bool Validate(XrdXrootdAioBuff *aioP)
XrdXrootdAioBuff * pendQEnd
Definition: XrdXrootdAioTask.hh:89
off_t highOffset
Definition: XrdXrootdAioTask.hh:102
Definition: XrdXrootdAioTask.hh:47
XrdXrootdPgrwAio * nextPgrw
Definition: XrdXrootdAioTask.hh:92
XrdXrootdAioBuff * pendWrite
Definition: XrdXrootdAioTask.hh:100
virtual bool CopyL2F(XrdXrootdAioBuff *aioP)=0
off_t dataOffset
Definition: XrdXrootdAioTask.hh:103
static const char * TraceID
Definition: XrdXrootdAioTask.hh:84
XrdXrootdAioBuff * finalRead
Definition: XrdXrootdAioTask.hh:99
Definition: XrdLink.hh:52
XrdXrootdFile * dataFile
Definition: XrdXrootdAioTask.hh:98
Definition: XrdXrootdNormAio.hh:39
void Completed(XrdXrootdAioBuff *aioP)
XrdXrootdResponse Response
Definition: XrdXrootdAioTask.hh:111
XrdSysCondVar2 aioReady
Definition: XrdXrootdAioTask.hh:86
virtual void Recycle(bool release)=0
Definition: XrdXrootdFile.hh:101
ProtocolImpl< false > Protocol
Definition: XrdClFileSystemOperations.hh:698
XrdXrootdProtocol * Protocol
Definition: XrdXrootdAioTask.hh:96
XrdXrootdAioTask(const char *what="aio request")
Definition: XrdXrootdAioTask.hh:69
char aioState
Definition: XrdXrootdAioTask.hh:106
Definition: XrdXrootdAioFob.hh:38
XrdLink * dataLink
Definition: XrdXrootdAioTask.hh:97
Definition: XrdXrootdProtocol.hh:155
char Status
Definition: XrdXrootdAioTask.hh:109
virtual void Read(long long offs, int dlen)=0
gdCallBack()
Definition: XrdXrootdProtocol.hh:123
bool Wait4Buff(int maxWait=0)