19 #ifndef SRC_XRDCL_XRDCLASYNCVECTORREADER_HH_
20 #define SRC_XRDCL_XRDCLASYNCVECTORREADER_HH_
87 log->
Error(
XRootDMsg,
"[%s] VectorReader: No enough data to read "
88 "another chunk header. Discarding %d bytes.",
98 char *buff =
reinterpret_cast<char*
>( &
rdlst );
119 bool chfound =
false;
120 for(
size_t i = 0; i <
chunks->size(); ++i )
123 ( *chunks )[i].length == uint32_t(
rdlst.
rlen ) )
137 log->
Error(
XRootDMsg,
"[%s] VectorReader: Impossible to find chunk "
138 "buffer corresponding to %d bytes at %ld",
160 log->
Error(
XRootDMsg,
"[%s] VectorReader: Malformed chunk header: "
161 "reading %d bytes from message would cross the message "
162 "boundary, discarding %d bytes.",
url.
GetHostId().c_str(),
173 char *buff =
static_cast<char*
>( ( *chunks )[
chidx].buffer );
184 log->
Dump(
XRootDMsg,
"[%s] VectorReader: read buffer for chunk %d@%ld",
255 for( uint32_t i = 0; i <
chunks->size(); ++i )
259 ptr->GetChunks().emplace_back( ( *
chunks )[i].offset,
264 response->
Set( ptr.release() );
const uint16_t errInvalidResponse
Definition: XrdClStatus.hh:99
kXR_int64 offset
Definition: XProtocol.hh:661
Definition: XrdClAnyObject.hh:32
ChunkList * chunks
Definition: XrdClAsyncRawReaderIntfc.hh:157
Definition: XrdClAsyncRawReaderIntfc.hh:140
Definition: XProtocol.hh:658
The message representation used throughout the system.
Definition: XrdClMessage.hh:29
readahead_list rdlst
Definition: XrdClAsyncVectorReader.hh:271
const URL & url
Definition: XrdClAsyncRawReaderIntfc.hh:154
size_t chidx
Definition: XrdClAsyncRawReaderIntfc.hh:163
kXR_int32 rlen
Definition: XProtocol.hh:660
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
XRootDStatus Read(Socket &socket, uint32_t &btsret)
Definition: XrdClAsyncVectorReader.hh:55
Stage readstage
Definition: XrdClAsyncRawReaderIntfc.hh:149
Definition: XrdClAsyncRawReaderIntfc.hh:141
void Dump(uint64_t topic, const char *format,...)
Print a dump message.
Procedure execution status.
Definition: XrdClStatus.hh:113
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
Object for reading out data from the VectorRead response.
Definition: XrdClAsyncVectorReader.hh:32
const uint16_t stFatal
Fatal error, it's still an error.
Definition: XrdClStatus.hh:33
void Set(Type object, bool own=true)
Definition: XrdClAnyObject.hh:59
const uint16_t stError
An error occurred that could potentially be retried.
Definition: XrdClStatus.hh:32
size_t rdlstlen
Definition: XrdClAsyncVectorReader.hh:272
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
AsyncVectorReader(const URL &url, const Message &request)
Definition: XrdClAsyncVectorReader.hh:40
size_t rdlstoff
Definition: XrdClAsyncVectorReader.hh:270
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
XRootDStatus GetResponse(AnyObject *&response)
Get the response.
Definition: XrdClAsyncVectorReader.hh:249
bool IsOK() const
We're fine.
Definition: XrdClStatus.hh:123
std::vector< ChunkStatus > chstatus
Definition: XrdClAsyncRawReaderIntfc.hh:158
uint32_t rawbtsrd
Definition: XrdClAsyncRawReaderIntfc.hh:161
Base class for any message's body reader.
Definition: XrdClAsyncRawReaderIntfc.hh:34
A network socket.
Definition: XrdClSocket.hh:42
XRootDStatus ReadBytesAsync(Socket &socket, char *buffer, uint32_t toBeRead, uint32_t &bytesRead)
Definition: XrdClAsyncRawReaderIntfc.hh:98
Handle diagnostics.
Definition: XrdClLog.hh:100