|
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().