|
xrootd
|
Utility class encapsulating writing request logic. More...
#include <XrdClAsyncMsgWriter.hh>

Public Member Functions | |
| AsyncMsgWriter (TransportHandler &xrdTransport, Socket &socket, const std::string &strmname, Stream &strm, uint16_t substrmnb, AnyObject &chdata) | |
| void | Reset () |
| Reset the state of the object (makes it ready to read out next msg) More... | |
| XRootDStatus | Write () |
| Write the request into the socket. More... | |
Private Types | |
| enum | Stage { WriteStart, WriteSign, WriteRequest, WriteRawData, WriteDone } |
| Stages of reading out a response from the socket. More... | |
Private Attributes | |
| Stage | writestage |
| TransportHandler & | xrdTransport |
| Socket & | socket |
| const std::string & | strmname |
| Stream & | strm |
| uint16_t | substrmnb |
| AnyObject & | chdata |
| Message * | outmsg |
| uint32_t | outmsgsize |
| MsgHandler * | outhandler |
| std::unique_ptr< Message > | outsign |
Utility class encapsulating writing request logic.
|
private |
|
inline |
Constructor
| xrdTransport | : the (xrootd) transport layer |
| socket | : the socket with the message to be read out |
| strmname | : stream name |
| strm | : the stream encapsulating the connection |
| substrmnb | : the substream number |
|
inline |
Reset the state of the object (makes it ready to read out next msg)
References outhandler, outmsg, outmsgsize, outsign, writestage, and WriteStart.
|
inline |
Write the request into the socket.
References XrdCl::AsyncSockMsg, chdata, XrdCl::Status::code, XrdCl::Log::Dump(), XrdCl::Status::errNo, XrdCl::Log::Error(), XrdCl::Socket::Flash(), XrdCl::Message::GetDescription(), XrdCl::DefaultEnv::GetLog(), XrdCl::TransportHandler::GetSignature(), XrdCl::Buffer::GetSize(), XrdCl::Status::IsOK(), XrdCl::MsgHandler::IsRaw(), XrdCl::Stream::OnMessageSent(), XrdCl::Stream::OnReadyToWrite(), outhandler, outmsg, outmsgsize, outsign, XrdCl::Socket::Send(), XrdCl::Buffer::SetCursor(), socket, XrdCl::stOK, strm, strmname, XrdCl::suAlreadyDone, substrmnb, XrdCl::suRetry, WriteDone, XrdCl::MsgHandler::WriteMessageBody(), WriteRawData, WriteRequest, WriteSign, writestage, WriteStart, XrdSysE2T(), and xrdTransport.
|
private |
|
private |
Referenced by Write().
|
private |
Referenced by Write().
|
private |
Referenced by Write().
1.8.5