19 #ifndef SRC_XRDCL_XRDCLASYNCRAWREADER_HH_
20 #define SRC_XRDCL_XRDCLASYNCRAWREADER_HH_
67 chlen = ( *chunks )[0].length;
87 char *buff =
static_cast<char*
>( ( *chunks )[
chidx].buffer );
111 if( msgbtsrd <
dlen )
137 "response to %s: user supplied buffer is "
138 "too small for the received data.",
176 std::unique_ptr<AnyObject> rsp(
new AnyObject() );
181 response = rsp.release();
199 for(
auto &chunk : *
chunks )
201 int length = uint32_t( btsleft ) >= chunk.length ? chunk.length : btsleft;
202 info->
GetChunks().emplace_back( chunk.offset, length, chunk.buffer );
const uint16_t errInvalidResponse
Definition: XrdClStatus.hh:99
Definition: XrdClAnyObject.hh:32
const std::string & GetDescription() const
Get the description of the message.
Definition: XrdClMessage.hh:95
ChunkList * chunks
Definition: XrdClAsyncRawReaderIntfc.hh:157
The message representation used throughout the system.
Definition: XrdClMessage.hh:29
VectorReadInfo * GetVectorReadInfo()
Definition: XrdClAsyncRawReader.hh:194
const URL & url
Definition: XrdClAsyncRawReaderIntfc.hh:154
size_t chidx
Definition: XrdClAsyncRawReaderIntfc.hh:163
Object for reading out data from the kXR_read response.
Definition: XrdClAsyncRawReader.hh:34
Definition: XrdClAsyncRawReaderIntfc.hh:139
size_t choff
Definition: XrdClAsyncRawReaderIntfc.hh:164
uint16_t code
Error type, or additional hints on what to do.
Definition: XrdClStatus.hh:146
uint32_t msgbtsrd
Definition: XrdClAsyncRawReaderIntfc.hh:160
Stage readstage
Definition: XrdClAsyncRawReaderIntfc.hh:149
Definition: XrdClAsyncRawReaderIntfc.hh:141
Procedure execution status.
Definition: XrdClStatus.hh:113
ChunkList & GetChunks()
Get chunks.
Definition: XrdClXRootDResponses.hh:1078
const uint64_t XRootDMsg
Definition: XrdClConstants.hh:39
static Log * GetLog()
Get default log.
Definition: XrdClAsyncRawReaderIntfc.hh:143
Definition: XrdClAsyncRawReaderIntfc.hh:142
size_t chlen
Definition: XrdClAsyncRawReaderIntfc.hh:165
ChunkInfo * GetChunkInfo()
Definition: XrdClAsyncRawReader.hh:187
XRootDStatus Read(Socket &socket, uint32_t &btsret)
Definition: XrdClAsyncRawReader.hh:55
uint32_t length
offset in the file
Definition: XrdClXRootDResponses.hh:940
Describe a data chunk for vector read.
Definition: XrdClXRootDResponses.hh:907
const uint16_t stError
An error occurred that could potentially be retried.
Definition: XrdClStatus.hh:32
Request status.
Definition: XrdClXRootDResponses.hh:218
std::string GetHostId() const
Get the host part of the URL (user:password@host:port)
Definition: XrdClURL.hh:94
const uint16_t errCorruptedHeader
Definition: XrdClStatus.hh:103
void SetSize(uint32_t size)
Set size.
Definition: XrdClXRootDResponses.hh:1070
Vector read info.
Definition: XrdClXRootDResponses.hh:1051
uint32_t dlen
Definition: XrdClAsyncRawReaderIntfc.hh:159
URL representation.
Definition: XrdClURL.hh:30
void Error(uint64_t topic, const char *format,...)
Report an error.
const Message & request
Definition: XrdClAsyncRawReaderIntfc.hh:155
const uint16_t errInternal
Internal error.
Definition: XrdClStatus.hh:56
const uint16_t suRetry
Definition: XrdClStatus.hh:40
Definition: XProtocol.hh:150
bool IsOK() const
We're fine.
Definition: XrdClStatus.hh:123
uint16_t GetVirtReqID() const
Get virtual request ID for the message.
Definition: XrdClMessage.hh:127
uint32_t rawbtsrd
Definition: XrdClAsyncRawReaderIntfc.hh:161
Base class for any message's body reader.
Definition: XrdClAsyncRawReaderIntfc.hh:34
AsyncRawReader(const URL &url, const Message &request)
Definition: XrdClAsyncRawReader.hh:43
A network socket.
Definition: XrdClSocket.hh:42
XRootDStatus ReadBytesAsync(Socket &socket, char *buffer, uint32_t toBeRead, uint32_t &bytesRead)
Definition: XrdClAsyncRawReaderIntfc.hh:98
bool dataerr
Definition: XrdClAsyncRawReaderIntfc.hh:168
XRootDStatus GetResponse(AnyObject *&response)
Get the response.
Definition: XrdClAsyncRawReader.hh:172