xrootd
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

◆ Stage

Stages of reading out a response from the socket.

Enumerator
ReadStart 
ReadHeader 
ReadMsgBody 
ReadRawData 
ReadDone 

Constructor & Destructor Documentation

◆ AsyncMsgReader()

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

◆ ~AsyncMsgReader()

virtual XrdCl::AsyncMsgReader::~AsyncMsgReader ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ Read()

XRootDStatus XrdCl::AsyncMsgReader::Read ( )
inline

◆ Reset()

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

◆ inhandler

MsgHandler* XrdCl::AsyncMsgReader::inhandler
private

Referenced by Read(), and Reset().

◆ inmsg

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

Referenced by Read(), and Reset().

◆ inmsgsize

uint32_t XrdCl::AsyncMsgReader::inmsgsize
private

Referenced by Read(), and Reset().

◆ readstage

Stage XrdCl::AsyncMsgReader::readstage
private

Referenced by Read(), and Reset().

◆ socket

Socket& XrdCl::AsyncMsgReader::socket
private

Referenced by Read().

◆ strm

Stream& XrdCl::AsyncMsgReader::strm
private

Referenced by Read().

◆ strmname

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

Referenced by Read().

◆ substrmnb

uint16_t XrdCl::AsyncMsgReader::substrmnb
private

Referenced by Read().

◆ xrdTransport

TransportHandler& XrdCl::AsyncMsgReader::xrdTransport
private

Referenced by Read().


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