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;
Definition: XrdLink.hh:52
Definition: XrdSysPthread.hh:300
Definition: XrdSysPthread.hh:165
Definition: XrdSysRAtomic.hh:255
Definition: XrdXrootdAioBuff.hh:41
Definition: XrdXrootdAioFob.hh:38
Definition: XrdXrootdAioTask.hh:47
XrdXrootdAioTask * nextTask
Definition: XrdXrootdAioTask.hh:93
virtual void Read(long long offs, int dlen)=0
int dataLen
Definition: XrdXrootdAioTask.hh:104
XrdXrootdAioBuff * pendWrite
Definition: XrdXrootdAioTask.hh:100
XrdSysCondVar2 aioReady
Definition: XrdXrootdAioTask.hh:86
XrdXrootdAioBuff * finalRead
Definition: XrdXrootdAioTask.hh:99
static const char * TraceID
Definition: XrdXrootdAioTask.hh:84
virtual void Recycle(bool release)=0
XrdLink * dataLink
Definition: XrdXrootdAioTask.hh:97
RAtomic_bool isDone
Definition: XrdXrootdAioTask.hh:108
XrdXrootdFile * dataFile
Definition: XrdXrootdAioTask.hh:98
XrdXrootdAioBuff * getBuff(bool wait)
virtual ~XrdXrootdAioTask()
Definition: XrdXrootdAioTask.hh:71
char Status
Definition: XrdXrootdAioTask.hh:109
bool Validate(XrdXrootdAioBuff *aioP)
XrdSysMutex aioMutex
Definition: XrdXrootdAioTask.hh:87
virtual int Write(long long offs, int dlen)=0
XrdXrootdPgrwAio * nextPgrw
Definition: XrdXrootdAioTask.hh:92
XrdXrootdProtocol * urProtocol()
Definition: XrdXrootdAioTask.hh:63
XrdXrootdAioBuff * pendQ
Definition: XrdXrootdAioTask.hh:88
bool Wait4Buff(int maxWait=0)
char aioState
Definition: XrdXrootdAioTask.hh:106
void SendError(int rc, const char *eText)
void Completed(XrdXrootdAioBuff *aioP)
XrdXrootdResponse Response
Definition: XrdXrootdAioTask.hh:111
void Init(XrdXrootdProtocol *protP, XrdXrootdResponse &resp, XrdXrootdFile *fP)
virtual bool CopyL2F(XrdXrootdAioBuff *aioP)=0
XrdXrootdAioBuff * pendQEnd
Definition: XrdXrootdAioTask.hh:89
off_t highOffset
Definition: XrdXrootdAioTask.hh:102
XrdXrootdAioTask(const char *what="aio request")
Definition: XrdXrootdAioTask.hh:69
off_t dataOffset
Definition: XrdXrootdAioTask.hh:103
XrdXrootdNormAio * nextNorm
Definition: XrdXrootdAioTask.hh:91
RAtomic_uchar inFlight
Definition: XrdXrootdAioTask.hh:107
XrdXrootdProtocol * Protocol
Definition: XrdXrootdAioTask.hh:96
Definition: XrdXrootdFile.hh:101
Definition: XrdXrootdNormAio.hh:39
Definition: XrdXrootdPgrwAio.hh:39
Definition: XrdXrootdProtocol.hh:155
Definition: XrdXrootdResponse.hh:49
gdCallBack()
Definition: XrdXrootdProtocol.hh:123
ProtocolImpl< false > Protocol
Definition: XrdClFileSystemOperations.hh:698
Definition: XrdClPollerBuiltIn.hh:28