19#ifndef SRC_XRDCL_XRDCLASYNCMSGWRITER_HH_
20#define SRC_XRDCL_XRDCLASYNCMSGWRITER_HH_
94 std::pair<Message *, MsgHandler *> toBeSent;
108 if( !st.
IsOK() )
return st;
const char * XrdSysE2T(int errcode)
Definition XrdClAnyObject.hh:33
Utility class encapsulating writing request logic.
Definition XrdClAsyncMsgWriter.hh:38
uint16_t substrmnb
Definition XrdClAsyncMsgWriter.hh:227
AnyObject & chdata
Definition XrdClAsyncMsgWriter.hh:228
std::unique_ptr< Message > outsign
Definition XrdClAsyncMsgWriter.hh:236
Stream & strm
Definition XrdClAsyncMsgWriter.hh:226
MsgHandler * outhandler
Definition XrdClAsyncMsgWriter.hh:235
Message * outmsg
Definition XrdClAsyncMsgWriter.hh:233
Stage writestage
Definition XrdClAsyncMsgWriter.hh:218
XRootDStatus Write()
Write the request into the socket.
Definition XrdClAsyncMsgWriter.hh:82
TransportHandler & xrdTransport
Definition XrdClAsyncMsgWriter.hh:223
Socket & socket
Definition XrdClAsyncMsgWriter.hh:224
const std::string & strmname
Definition XrdClAsyncMsgWriter.hh:225
Stage
Stages of reading out a response from the socket.
Definition XrdClAsyncMsgWriter.hh:207
@ WriteStart
Definition XrdClAsyncMsgWriter.hh:208
@ WriteRawData
Definition XrdClAsyncMsgWriter.hh:211
@ WriteSign
Definition XrdClAsyncMsgWriter.hh:209
@ WriteDone
Definition XrdClAsyncMsgWriter.hh:212
@ WriteRequest
Definition XrdClAsyncMsgWriter.hh:210
AsyncMsgWriter(TransportHandler &xrdTransport, Socket &socket, const std::string &strmname, Stream &strm, uint16_t substrmnb, AnyObject &chdata)
Definition XrdClAsyncMsgWriter.hh:49
uint32_t outmsgsize
Definition XrdClAsyncMsgWriter.hh:234
void Reset()
Reset the state of the object (makes it ready to read out next msg)
Definition XrdClAsyncMsgWriter.hh:70
void SetCursor(uint32_t cursor)
Set the cursor.
Definition XrdClBuffer.hh:148
uint32_t GetSize() const
Get the size of the message.
Definition XrdClBuffer.hh:132
static Log * GetLog()
Get default log.
Handle diagnostics.
Definition XrdClLog.hh:101
void Error(uint64_t topic, const char *format,...)
Report an error.
void Dump(uint64_t topic, const char *format,...)
Print a dump message.
The message representation used throughout the system.
Definition XrdClMessage.hh:30
const std::string & GetDescription() const
Get the description of the message.
Definition XrdClMessage.hh:95
Message handler.
Definition XrdClPostMasterInterfaces.hh:51
virtual XRootDStatus WriteMessageBody(Socket *socket, uint32_t &bytesWritten)
Definition XrdClPostMasterInterfaces.hh:196
virtual bool IsRaw() const
Definition XrdClPostMasterInterfaces.hh:184
A network socket.
Definition XrdClSocket.hh:43
virtual XRootDStatus Send(const char *buffer, size_t size, int &bytesWritten)
Stream.
Definition XrdClStream.hh:52
void OnMessageSent(uint16_t subStream, Message *msg, uint32_t bytesSent)
std::pair< Message *, MsgHandler * > OnReadyToWrite(uint16_t subStream)
Perform the handshake and the authentication for each physical stream.
Definition XrdClPostMasterInterfaces.hh:310
virtual Status GetSignature(Message *toSign, Message *&sign, AnyObject &channelData)=0
Get signature for given message.
Request status.
Definition XrdClXRootDResponses.hh:219
Definition XrdClAction.hh:34
const uint16_t suRetry
Definition XrdClStatus.hh:40
const uint16_t stOK
Everything went OK.
Definition XrdClStatus.hh:31
const uint64_t AsyncSockMsg
Definition XrdClConstants.hh:41
const uint16_t suAlreadyDone
Definition XrdClStatus.hh:42
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
uint32_t errNo
Errno, if any.
Definition XrdClStatus.hh:148