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