xrootd
|
Base class for any message's body reader. More...
#include <XrdClAsyncRawReaderIntfc.hh>
Classes | |
struct | ChunkStatus |
Public Member Functions | |
AsyncRawReaderIntfc (const URL &url, const Message &request) | |
virtual | ~AsyncRawReaderIntfc () |
Destructor. | |
void | SetDataLength (int dlen) |
Sets response data length. | |
void | SetChunkList (ChunkList *chunks) |
Sets the chunk list with user buffers. | |
virtual XRootDStatus | Read (Socket &socket, uint32_t &btsret)=0 |
virtual XRootDStatus | GetResponse (AnyObject *&response)=0 |
Get the response. | |
Protected Types | |
enum | Stage { ReadStart , ReadRdLst , ReadRaw , ReadDiscard , ReadDone } |
Stages of reading out a response from the socket. More... | |
using | buffer_t = std::vector< char > |
Protected Member Functions | |
XRootDStatus | ReadBytesAsync (Socket &socket, char *buffer, uint32_t toBeRead, uint32_t &bytesRead) |
Protected Attributes | |
Stage | readstage |
const URL & | url |
const Message & | request |
ChunkList * | chunks |
std::vector< ChunkStatus > | chstatus |
uint32_t | dlen |
uint32_t | msgbtsrd |
uint32_t | rawbtsrd |
size_t | chidx |
size_t | choff |
size_t | chlen |
buffer_t | discardbuff |
bool | dataerr |
Base class for any message's body reader.
|
protected |
|
protected |
|
inlinevirtual |
Destructor.
|
pure virtual |
Get the response.
Implemented in XrdCl::AsyncDiscardReader, XrdCl::AsyncRawReader, and XrdCl::AsyncVectorReader.
|
pure virtual |
Readout raw data from socket
socket | : the socket |
btsret | : number of bytes read |
Implemented in XrdCl::AsyncDiscardReader, XrdCl::AsyncRawReader, and XrdCl::AsyncVectorReader.
|
inlineprotected |
References XrdCl::Status::code, XrdCl::Status::IsOK(), XrdCl::Socket::Read(), XrdCl::stOK, XrdCl::suDone, and XrdCl::suRetry.
Referenced by XrdCl::AsyncRawReader::Read(), and XrdCl::AsyncVectorReader::Read().
|
inline |
|
inline |
|
protected |
Referenced by XrdCl::AsyncRawReader::Read(), and XrdCl::AsyncVectorReader::Read().
|
protected |
Referenced by XrdCl::AsyncRawReader::Read(), and XrdCl::AsyncVectorReader::Read().
|
protected |
Referenced by XrdCl::AsyncRawReader::Read(), and XrdCl::AsyncVectorReader::Read().
|
protected |
Referenced by XrdCl::AsyncVectorReader::GetResponse(), XrdCl::AsyncVectorReader::Read(), and SetChunkList().
|
protected |
|
protected |
Referenced by XrdCl::AsyncRawReader::GetResponse().
|
protected |
|
protected |
Referenced by XrdCl::AsyncRawReader::Read(), XrdCl::AsyncVectorReader::Read(), and SetDataLength().
|
protected |
Referenced by XrdCl::AsyncRawReader::Read(), and XrdCl::AsyncVectorReader::Read().
|
protected |
|
protected |
Referenced by XrdCl::AsyncRawReader::Read(), XrdCl::AsyncVectorReader::Read(), and SetDataLength().
|
protected |
|
protected |