xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Types | Private Attributes | List of all members
XrdCl::AsyncMsgReader Class Reference

Utility class encapsulating reading response message logic. More...

#include <XrdClAsyncMsgReader.hh>

Collaboration diagram for XrdCl::AsyncMsgReader:
Collaboration graph
[legend]

Public Member Functions

 AsyncMsgReader (TransportHandler &xrdTransport, Socket &socket, const std::string &strmname, Stream &strm, uint16_t substrmnb)
 
virtual ~AsyncMsgReader ()
 Destructor. More...
 
void Reset ()
 Reset the state of the object (makes it ready to read out next msg) More...
 
XRootDStatus Read ()
 Read out the response from the socket. More...
 

Private Types

enum  Stage {
  ReadStart, ReadHeader, ReadMsgBody, ReadRawData,
  ReadDone
}
 Stages of reading out a response from the socket. More...
 

Private Attributes

Stage readstage
 
TransportHandlerxrdTransport
 
Socketsocket
 
const std::string & strmname
 
Streamstrm
 
uint16_t substrmnb
 
std::shared_ptr< Messageinmsg
 
uint32_t inmsgsize
 
MsgHandlerinhandler
 

Detailed Description

Utility class encapsulating reading response message logic.

Member Enumeration Documentation

Stages of reading out a response from the socket.

Enumerator
ReadStart 
ReadHeader 
ReadMsgBody 
ReadRawData 
ReadDone 

Constructor & Destructor Documentation

XrdCl::AsyncMsgReader::AsyncMsgReader ( TransportHandler xrdTransport,
Socket socket,
const std::string &  strmname,
Stream strm,
uint16_t  substrmnb 
)
inline

Constructor

Parameters
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
virtual XrdCl::AsyncMsgReader::~AsyncMsgReader ( )
inlinevirtual

Destructor.

Member Function Documentation

XRootDStatus XrdCl::AsyncMsgReader::Read ( )
inline
void XrdCl::AsyncMsgReader::Reset ( )
inline

Reset the state of the object (makes it ready to read out next msg)

References inhandler, inmsg, inmsgsize, readstage, and ReadStart.

Member Data Documentation

MsgHandler* XrdCl::AsyncMsgReader::inhandler
private

Referenced by Read(), and Reset().

std::shared_ptr<Message> XrdCl::AsyncMsgReader::inmsg
private

Referenced by Read(), and Reset().

uint32_t XrdCl::AsyncMsgReader::inmsgsize
private

Referenced by Read(), and Reset().

Stage XrdCl::AsyncMsgReader::readstage
private

Referenced by Read(), and Reset().

Socket& XrdCl::AsyncMsgReader::socket
private

Referenced by Read().

Stream& XrdCl::AsyncMsgReader::strm
private

Referenced by Read().

const std::string& XrdCl::AsyncMsgReader::strmname
private

Referenced by Read().

uint16_t XrdCl::AsyncMsgReader::substrmnb
private

Referenced by Read().

TransportHandler& XrdCl::AsyncMsgReader::xrdTransport
private

Referenced by Read().


The documentation for this class was generated from the following file: