xrootd
|
Utility class encapsulating reading hand-shake response logic. More...
#include <XrdClAsyncHSReader.hh>
Public Member Functions | |
AsyncHSReader (TransportHandler &xrdTransport, Socket &socket, const std::string &strmname, Stream &strm, uint16_t substrmnb) | |
XRootDStatus | Read () |
Read out the response from the socket. | |
std::unique_ptr< Message > | ReleaseMsg () |
Transfer the received message ownership. | |
void | Reset () |
Reset the state of the object (makes it ready to read out next msg) | |
Private Types | |
enum | Stage { ReadStart , ReadHeader , ReadMsgBody , ReadDone } |
Stages of reading out a response from the socket. More... | |
Private Attributes | |
Stage | readstage |
TransportHandler & | xrdTransport |
Socket & | socket |
const std::string & | strmname |
Stream & | strm |
uint16_t | substrmnb |
std::unique_ptr< Message > | inmsg |
Utility class encapsulating reading hand-shake response 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 |
Read out the response from the socket.
References XrdCl::AsyncSockMsg, XrdCl::Status::code, XrdCl::Log::Dump(), XrdCl::TransportHandler::GetBody(), XrdCl::TransportHandler::GetHeader(), XrdCl::DefaultEnv::GetLog(), inmsg, XrdCl::Status::IsOK(), ReadDone, ReadHeader, ReadMsgBody, readstage, ReadStart, socket, strmname, XrdCl::suRetry, and xrdTransport.
|
inline |
|
inline |
|
private |
Referenced by Read(), ReleaseMsg(), and Reset().
|
private |
Referenced by Read(), ReleaseMsg(), and Reset().
|
private |
|
private |
Referenced by Read().
|
private |
|
private |
Referenced by Read().