xrootd
Public Member Functions | Private Types | Private Attributes | List of all members
XrdCl::AsyncMsgWriter Class Reference

Utility class encapsulating writing request logic. More...

#include <XrdClAsyncMsgWriter.hh>

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

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
 
TransportHandlerxrdTransport
 
Socketsocket
 
const std::string & strmname
 
Streamstrm
 
uint16_t substrmnb
 
AnyObjectchdata
 
Messageoutmsg
 
uint32_t outmsgsize
 
MsgHandlerouthandler
 
std::unique_ptr< Messageoutsign
 

Detailed Description

Utility class encapsulating writing request logic.

Member Enumeration Documentation

◆ Stage

Stages of reading out a response from the socket.

Enumerator
WriteStart 
WriteSign 
WriteRequest 
WriteRawData 
WriteDone 

Constructor & Destructor Documentation

◆ AsyncMsgWriter()

XrdCl::AsyncMsgWriter::AsyncMsgWriter ( TransportHandler xrdTransport,
Socket socket,
const std::string &  strmname,
Stream strm,
uint16_t  substrmnb,
AnyObject chdata 
)
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

Member Function Documentation

◆ Reset()

void XrdCl::AsyncMsgWriter::Reset ( )
inline

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

References outhandler, outmsg, outmsgsize, outsign, writestage, and WriteStart.

◆ Write()

XRootDStatus XrdCl::AsyncMsgWriter::Write ( )
inline

Member Data Documentation

◆ chdata

AnyObject& XrdCl::AsyncMsgWriter::chdata
private

Referenced by Write().

◆ outhandler

MsgHandler* XrdCl::AsyncMsgWriter::outhandler
private

Referenced by Reset(), and Write().

◆ outmsg

Message* XrdCl::AsyncMsgWriter::outmsg
private

Referenced by Reset(), and Write().

◆ outmsgsize

uint32_t XrdCl::AsyncMsgWriter::outmsgsize
private

Referenced by Reset(), and Write().

◆ outsign

std::unique_ptr<Message> XrdCl::AsyncMsgWriter::outsign
private

Referenced by Reset(), and Write().

◆ socket

Socket& XrdCl::AsyncMsgWriter::socket
private

Referenced by Write().

◆ strm

Stream& XrdCl::AsyncMsgWriter::strm
private

Referenced by Write().

◆ strmname

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

Referenced by Write().

◆ substrmnb

uint16_t XrdCl::AsyncMsgWriter::substrmnb
private

Referenced by Write().

◆ writestage

Stage XrdCl::AsyncMsgWriter::writestage
private

Referenced by Reset(), and Write().

◆ xrdTransport

TransportHandler& XrdCl::AsyncMsgWriter::xrdTransport
private

Referenced by Write().


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