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::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

Stages of reading out a response from the socket.

Enumerator
WriteStart 
WriteSign 
WriteRequest 
WriteRawData 
WriteDone 

Constructor & Destructor Documentation

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

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.

XRootDStatus XrdCl::AsyncMsgWriter::Write ( )
inline

Member Data Documentation

AnyObject& XrdCl::AsyncMsgWriter::chdata
private

Referenced by Write().

MsgHandler* XrdCl::AsyncMsgWriter::outhandler
private

Referenced by Reset(), and Write().

Message* XrdCl::AsyncMsgWriter::outmsg
private

Referenced by Reset(), and Write().

uint32_t XrdCl::AsyncMsgWriter::outmsgsize
private

Referenced by Reset(), and Write().

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

Referenced by Reset(), and Write().

Socket& XrdCl::AsyncMsgWriter::socket
private

Referenced by Write().

Stream& XrdCl::AsyncMsgWriter::strm
private

Referenced by Write().

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

Referenced by Write().

uint16_t XrdCl::AsyncMsgWriter::substrmnb
private

Referenced by Write().

Stage XrdCl::AsyncMsgWriter::writestage
private

Referenced by Reset(), and Write().

TransportHandler& XrdCl::AsyncMsgWriter::xrdTransport
private

Referenced by Write().


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