19#ifndef SRC_XRDCL_XRDCLASYNCMSGREADER_HH_
20#define SRC_XRDCL_XRDCLASYNCMSGREADER_HH_
96 inmsg = std::make_shared<Message>();
120 inmsg->ReAllocate( 16 );
194 uint32_t bytesRead = 0;
287 size_t btsleft = 8 - (
inmsg->GetCursor() - 8 );
295 inmsg->AdvanceCursor( btsrd );
@ kXR_asynresp
Definition XProtocol.hh:936
@ kXR_status
Definition XProtocol.hh:905
@ kXR_attn
Definition XProtocol.hh:899
Utility class encapsulating reading response message logic.
Definition XrdClAsyncMsgReader.hh:37
void Reset()
Reset the state of the object (makes it ready to read out next msg)
Definition XrdClAsyncMsgReader.hh:71
Socket & socket
Definition XrdClAsyncMsgReader.hh:342
TransportHandler & xrdTransport
Definition XrdClAsyncMsgReader.hh:341
const std::string & strmname
Definition XrdClAsyncMsgReader.hh:343
std::shared_ptr< Message > inmsg
Definition XrdClAsyncMsgReader.hh:351
uint32_t inmsgsize
Definition XrdClAsyncMsgReader.hh:352
Stage readstage
Definition XrdClAsyncMsgReader.hh:336
Stage
Stages of reading out a response from the socket.
Definition XrdClAsyncMsgReader.hh:323
@ ReadMore
Definition XrdClAsyncMsgReader.hh:327
@ ReadAttn
Definition XrdClAsyncMsgReader.hh:326
@ ReadRawData
Definition XrdClAsyncMsgReader.hh:329
@ ReadMsgBody
Definition XrdClAsyncMsgReader.hh:328
@ ReadHeader
Definition XrdClAsyncMsgReader.hh:325
@ ReadStart
Definition XrdClAsyncMsgReader.hh:324
@ ReadDone
Definition XrdClAsyncMsgReader.hh:330
bool HasEmbeddedRsp()
Definition XrdClAsyncMsgReader.hh:313
uint16_t substrmnb
Definition XrdClAsyncMsgReader.hh:345
XRootDStatus Read()
Read out the response from the socket.
Definition XrdClAsyncMsgReader.hh:82
bool IsStatusRsp()
Definition XrdClAsyncMsgReader.hh:307
virtual ~AsyncMsgReader()
Destructor.
Definition XrdClAsyncMsgReader.hh:66
MsgHandler * inhandler
Definition XrdClAsyncMsgReader.hh:353
XRootDStatus ReadAttnActnum()
Definition XrdClAsyncMsgReader.hh:281
AsyncMsgReader(TransportHandler &xrdTransport, Socket &socket, const std::string &strmname, Stream &strm, uint16_t substrmnb)
Definition XrdClAsyncMsgReader.hh:48
Stream & strm
Definition XrdClAsyncMsgReader.hh:344
static Log * GetLog()
Get default log.
Handle diagnostics.
Definition XrdClLog.hh:101
void Dump(uint64_t topic, const char *format,...)
Print a dump message.
Message handler.
Definition XrdClPostMasterInterfaces.hh:51
virtual XRootDStatus ReadMessageBody(Message *msg, Socket *socket, uint32_t &bytesRead)
Definition XrdClPostMasterInterfaces.hh:138
@ Raw
Definition XrdClPostMasterInterfaces.hh:63
@ More
there are more (non-raw) data to be read
Definition XrdClPostMasterInterfaces.hh:72
@ Corrupted
Definition XrdClPostMasterInterfaces.hh:69
A network socket.
Definition XrdClSocket.hh:43
virtual XRootDStatus Read(char *buffer, size_t size, int &bytesRead)
Stream.
Definition XrdClStream.hh:52
MsgHandler * InstallIncHandler(std::shared_ptr< Message > &msg, uint16_t stream)
void OnIncoming(uint16_t subStream, std::shared_ptr< Message > msg, uint32_t bytesReceived)
Call back when a message has been reconstructed.
uint16_t InspectStatusRsp(uint16_t stream, MsgHandler *&incHandler)
Perform the handshake and the authentication for each physical stream.
Definition XrdClPostMasterInterfaces.hh:310
virtual XRootDStatus GetBody(Message &message, Socket *socket)=0
virtual XRootDStatus GetHeader(Message &message, Socket *socket)=0
virtual XRootDStatus GetMore(Message &message, Socket *socket)=0
Request status.
Definition XrdClXRootDResponses.hh:219
Definition XrdClAction.hh:34
const uint16_t suRetry
Definition XrdClStatus.hh:40
const uint16_t stError
An error occurred that could potentially be retried.
Definition XrdClStatus.hh:32
const uint64_t AsyncSockMsg
Definition XrdClConstants.hh:41
const uint16_t errCorruptedHeader
Definition XrdClStatus.hh:103
Definition XProtocol.hh:939
kXR_int32 actnum
Definition XProtocol.hh:940
Definition XProtocol.hh:1282
ServerResponseHeader hdr
Definition XProtocol.hh:1283
uint16_t code
Error type, or additional hints on what to do.
Definition XrdClStatus.hh:147
bool IsOK() const
We're fine.
Definition XrdClStatus.hh:124