xrootd
Loading...
Searching...
No Matches
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)
 
XRootDStatus Write ()
 Write the request into the socket.
 

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: