xrootd
|
Object for reading out data from the kXR_read response. More...
#include <XrdClAsyncRawReader.hh>
Public Member Functions | |
AsyncRawReader (const URL &url, const Message &request) | |
XRootDStatus | Read (Socket &socket, uint32_t &btsret) |
XRootDStatus | GetResponse (AnyObject *&response) |
Get the response. | |
Public Member Functions inherited from XrdCl::AsyncRawReaderIntfc | |
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. | |
Private Member Functions | |
ChunkInfo * | GetChunkInfo () |
VectorReadInfo * | GetVectorReadInfo () |
Additional Inherited Members | |
Protected Types inherited from XrdCl::AsyncRawReaderIntfc | |
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 inherited from XrdCl::AsyncRawReaderIntfc | |
XRootDStatus | ReadBytesAsync (Socket &socket, char *buffer, uint32_t toBeRead, uint32_t &bytesRead) |
Protected Attributes inherited from XrdCl::AsyncRawReaderIntfc | |
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 |
Object for reading out data from the kXR_read response.
Constructor
url | : channel URL |
request | : client request |
|
inlineprivate |
References XrdCl::AsyncRawReaderIntfc::chunks, XrdCl::ChunkInfo::length, and XrdCl::AsyncRawReaderIntfc::rawbtsrd.
Referenced by GetResponse().
|
inlinevirtual |
Get the response.
Implements XrdCl::AsyncRawReaderIntfc.
References XrdCl::AsyncRawReaderIntfc::dataerr, XrdCl::errInvalidResponse, GetChunkInfo(), GetVectorReadInfo(), XrdCl::Message::GetVirtReqID(), kXR_virtReadv, XrdCl::AsyncRawReaderIntfc::request, and XrdCl::stError.
|
inlineprivate |
References XrdCl::AsyncRawReaderIntfc::chunks, XrdCl::VectorReadInfo::GetChunks(), XrdCl::AsyncRawReaderIntfc::rawbtsrd, and XrdCl::VectorReadInfo::SetSize().
Referenced by GetResponse().
|
inlinevirtual |
Readout raw data from socket
socket | : the socket |
btsret | : number of bytes read |
Implements XrdCl::AsyncRawReaderIntfc.
References XrdCl::AsyncRawReaderIntfc::chidx, XrdCl::AsyncRawReaderIntfc::chlen, XrdCl::AsyncRawReaderIntfc::choff, XrdCl::AsyncRawReaderIntfc::chunks, XrdCl::Status::code, XrdCl::AsyncRawReaderIntfc::dlen, XrdCl::errCorruptedHeader, XrdCl::errInternal, XrdCl::Log::Error(), XrdCl::Message::GetDescription(), XrdCl::URL::GetHostId(), XrdCl::DefaultEnv::GetLog(), XrdCl::Status::IsOK(), XrdCl::AsyncRawReaderIntfc::msgbtsrd, XrdCl::AsyncRawReaderIntfc::rawbtsrd, XrdCl::AsyncRawReaderIntfc::ReadBytesAsync(), XrdCl::AsyncRawReaderIntfc::ReadDiscard, XrdCl::AsyncRawReaderIntfc::ReadDone, XrdCl::AsyncRawReaderIntfc::ReadRaw, XrdCl::AsyncRawReaderIntfc::readstage, XrdCl::AsyncRawReaderIntfc::ReadStart, XrdCl::AsyncRawReaderIntfc::request, XrdCl::stError, XrdCl::suRetry, XrdCl::AsyncRawReaderIntfc::url, and XrdCl::XRootDMsg.