xrootd
|
Object for discarding data. More...
#include <XrdClAsyncDiscardReader.hh>
Public Member Functions | |
AsyncDiscardReader (const URL &url, const Message &request) | |
XRootDStatus | Read (Socket &socket, uint32_t &btsret) |
XRootDStatus | GetResponse (AnyObject *&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. | |
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 discarding data.
Constructor
url | : channel URL |
request | : client request |
|
inlinevirtual |
Get the response, since we received some unexpected data we always return an error to the end user.
Implements XrdCl::AsyncRawReaderIntfc.
References XrdCl::errInvalidResponse, and XrdCl::stError.
|
inlinevirtual |
Readout raw data from socket
socket | : the socket |
btsret | : number of bytes read |
Implements XrdCl::AsyncRawReaderIntfc.
References XrdCl::errCorruptedHeader, XrdCl::Log::Error(), XrdCl::Message::GetDescription(), XrdCl::URL::GetHostId(), XrdCl::DefaultEnv::GetLog(), XrdCl::AsyncRawReaderIntfc::request, XrdCl::stError, XrdCl::AsyncRawReaderIntfc::url, and XrdCl::XRootDMsg.