xrootd
|
Object for reading out data from the VectorRead response. More...
#include <XrdClAsyncVectorReader.hh>
Classes | |
struct | ChunkStatus |
Public Member Functions | |
AsyncVectorReader (const URL &url) | |
virtual | ~AsyncVectorReader () |
Destructor. More... | |
void | SetDataLength (int dlen) |
Sets response data length. More... | |
void | SetChunkList (ChunkList *chunks) |
Sets the chunk list with user buffers. More... | |
XRootDStatus | Read (Socket &socket, uint32_t &btsret) |
Status | GetVectorReadInfo (VectorReadInfo *&info) |
Private Types | |
enum | Stage { ReadStart , ReadRdLst , ReadChunk , ReadDiscard , ReadDone } |
Stages of reading out a response from the socket. More... | |
using | buffer_t = std::vector< char > |
Private Member Functions | |
Status | ReadBytesAsync (Socket &socket, char *buffer, uint32_t toBeRead, uint32_t &bytesRead) |
Private Attributes | |
Stage | readstage |
const URL & | url |
ChunkList * | chunks |
std::vector< ChunkStatus > | chstatus |
uint32_t | dlen |
uint32_t | totalbtsrd |
size_t | chidx |
size_t | choff |
size_t | chlen |
size_t | rdlstoff |
readahead_list | rdlst |
size_t | rdlstlen |
buffer_t | discardbuff |
Object for reading out data from the VectorRead response.
|
private |
|
private |
|
inline |
|
inlinevirtual |
Destructor.
|
inline |
References chstatus, chunks, XrdCl::errInvalidResponse, and XrdCl::stFatal.
|
inline |
Readout raw data from socket
socket | : the socket |
btsret | : number of bytes read |
References chidx, chlen, choff, chstatus, chunks, XrdCl::Status::code, discardbuff, dlen, XrdCl::Log::Dump(), XrdCl::Log::Error(), XrdCl::URL::GetHostId(), XrdCl::DefaultEnv::GetLog(), XrdCl::Status::IsOK(), readahead_list::offset, rdlst, rdlstlen, rdlstoff, ReadBytesAsync(), ReadChunk, ReadDiscard, ReadDone, ReadRdLst, readstage, ReadStart, readahead_list::rlen, XrdCl::suRetry, totalbtsrd, url, XrdCl::Log::Warning(), and XrdCl::XRootDMsg.
|
inlineprivate |
References XrdCl::Status::code, XrdCl::Status::IsOK(), XrdCl::Socket::Read(), XrdCl::stOK, XrdCl::suDone, and XrdCl::suRetry.
Referenced by Read().
|
inline |
|
inline |
Sets response data length.
References dlen, readstage, ReadStart, and totalbtsrd.
|
private |
Referenced by Read().
|
private |
Referenced by Read().
|
private |
Referenced by Read().
|
private |
Referenced by GetVectorReadInfo(), Read(), and SetChunkList().
|
private |
Referenced by GetVectorReadInfo(), Read(), and SetChunkList().
|
private |
Referenced by Read(), and SetDataLength().
|
private |
Referenced by AsyncVectorReader(), and Read().
|
private |
Referenced by Read().
|
private |
Referenced by Read().
|
private |
Referenced by Read(), and SetDataLength().
|
private |
Referenced by Read(), and SetDataLength().