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