xrootd
Classes | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
XrdCl::AsyncSocketHandler Class Reference

#include <XrdClAsyncSocketHandler.hh>

Inheritance diagram for XrdCl::AsyncSocketHandler:
Inheritance graph
[legend]
Collaboration diagram for XrdCl::AsyncSocketHandler:
Collaboration graph
[legend]

Classes

class  WaitTask
 

Public Member Functions

 AsyncSocketHandler (const URL &url, Poller *poller, TransportHandler *transport, AnyObject *channelData, uint16_t subStreamNum, Stream *strm)
 Constructor. More...
 
 ~AsyncSocketHandler ()
 Destructor. More...
 
void SetAddress (const XrdNetAddr &address)
 Set address. More...
 
const XrdNetAddrGetAddress () const
 Get the address that the socket is connected to. More...
 
XRootDStatus Connect (time_t timeout)
 Connect to the currently set address. More...
 
XRootDStatus Close ()
 Close the connection. More...
 
virtual void Event (uint8_t type, XrdCl::Socket *)
 Handle a socket event. More...
 
XRootDStatus EnableUplink ()
 Enable uplink. More...
 
XRootDStatus DisableUplink ()
 Disable uplink. More...
 
const std::string & GetStreamName ()
 Get stream name. More...
 
time_t GetLastActivity ()
 Get timestamp of last registered socket activity. More...
 
- Public Member Functions inherited from XrdCl::SocketHandler
virtual ~SocketHandler ()
 
virtual void Initialize (Poller *)
 Initializer. More...
 
virtual void Finalize ()
 Finalizer. More...
 

Protected Member Functions

virtual void OnConnectionReturn ()
 
void OnWrite ()
 
void OnWriteWhileHandshaking ()
 
XRootDStatus WriteMessageAndRaw (Message *toWrite, Message *&sign)
 
XRootDStatus WriteCurrentMessage (Message *toWrite)
 
void OnRead ()
 
void OnReadWhileHandshaking ()
 
void HandleHandShake ()
 
void HandShakeNextStep (bool done)
 
XRootDStatus ReadMessage (Message *&toRead)
 
void OnFault (XRootDStatus st)
 
void OnFaultWhileHandshaking (XRootDStatus st)
 
void OnWriteTimeout ()
 
void OnReadTimeout ()
 
void OnTimeoutWhileHandshaking ()
 
void OnHeaderCorruption ()
 
XRootDStatus DoTlsHandShake ()
 
void OnTLSHandShake ()
 
void SendHSMsg ()
 
kXR_int32 HandleWaitRsp (Message *rsp)
 

Static Protected Member Functions

static std::string ToStreamName (Stream *stream, uint16_t strmnb)
 Convert Stream object and sub-stream number to stream name. More...
 

Protected Attributes

PollerpPoller
 
TransportHandlerpTransport
 
AnyObjectpChannelData
 
uint16_t pSubStreamNum
 
StreampStream
 
std::string pStreamName
 
SocketpSocket
 
MessagepIncoming
 
MessagepHSIncoming
 
MessagepOutgoing
 
MessagepSignature
 
XrdNetAddr pSockAddr
 
HandShakeDatapHandShakeData
 
bool pHandShakeDone
 
uint16_t pTimeoutResolution
 
time_t pConnectionStarted
 
time_t pConnectionTimeout
 
bool pHeaderDone
 
std::pair< IncomingMsgHandler *, bool > pIncHandler
 
bool pOutMsgDone
 
OutgoingMsgHandlerpOutHandler
 
uint32_t pIncMsgSize
 
uint32_t pOutMsgSize
 
time_t pLastActivity
 
URL pUrl
 
bool pTlsHandShakeOngoing
 
std::unique_ptr< MsgWriterhswriter
 

Additional Inherited Members

- Public Types inherited from XrdCl::SocketHandler
enum  EventType { ReadyToRead = 0x01, ReadTimeOut = 0x02, ReadyToWrite = 0x04, WriteTimeOut = 0x08 }
 Event type. More...
 
- Static Public Member Functions inherited from XrdCl::SocketHandler
static std::string EventTypeToString (uint8_t event)
 Translate the event type to a string. More...
 

Detailed Description

Utility class handling asynchronous socket interactions and forwarding events to the parent stream.

Constructor & Destructor Documentation

◆ AsyncSocketHandler()

XrdCl::AsyncSocketHandler::AsyncSocketHandler ( const URL url,
Poller poller,
TransportHandler transport,
AnyObject channelData,
uint16_t  subStreamNum,
Stream strm 
)

Constructor.

◆ ~AsyncSocketHandler()

XrdCl::AsyncSocketHandler::~AsyncSocketHandler ( )

Destructor.

Member Function Documentation

◆ Close()

XRootDStatus XrdCl::AsyncSocketHandler::Close ( )

Close the connection.

◆ Connect()

XRootDStatus XrdCl::AsyncSocketHandler::Connect ( time_t  timeout)

Connect to the currently set address.

◆ DisableUplink()

XRootDStatus XrdCl::AsyncSocketHandler::DisableUplink ( )
inline

◆ DoTlsHandShake()

XRootDStatus XrdCl::AsyncSocketHandler::DoTlsHandShake ( )
protected

◆ EnableUplink()

XRootDStatus XrdCl::AsyncSocketHandler::EnableUplink ( )
inline

◆ Event()

virtual void XrdCl::AsyncSocketHandler::Event ( uint8_t  type,
XrdCl::Socket  
)
virtual

Handle a socket event.

Implements XrdCl::SocketHandler.

◆ GetAddress()

const XrdNetAddr& XrdCl::AsyncSocketHandler::GetAddress ( ) const
inline

Get the address that the socket is connected to.

References pSockAddr.

◆ GetLastActivity()

time_t XrdCl::AsyncSocketHandler::GetLastActivity ( )
inline

Get timestamp of last registered socket activity.

References pLastActivity.

◆ GetStreamName()

const std::string& XrdCl::AsyncSocketHandler::GetStreamName ( )
inline

Get stream name.

References pStreamName.

◆ HandleHandShake()

void XrdCl::AsyncSocketHandler::HandleHandShake ( )
protected

◆ HandleWaitRsp()

kXR_int32 XrdCl::AsyncSocketHandler::HandleWaitRsp ( Message rsp)
inlineprotected

◆ HandShakeNextStep()

void XrdCl::AsyncSocketHandler::HandShakeNextStep ( bool  done)
protected

◆ OnConnectionReturn()

virtual void XrdCl::AsyncSocketHandler::OnConnectionReturn ( )
protectedvirtual

◆ OnFault()

void XrdCl::AsyncSocketHandler::OnFault ( XRootDStatus  st)
protected

◆ OnFaultWhileHandshaking()

void XrdCl::AsyncSocketHandler::OnFaultWhileHandshaking ( XRootDStatus  st)
protected

◆ OnHeaderCorruption()

void XrdCl::AsyncSocketHandler::OnHeaderCorruption ( )
protected

◆ OnRead()

void XrdCl::AsyncSocketHandler::OnRead ( )
protected

◆ OnReadTimeout()

void XrdCl::AsyncSocketHandler::OnReadTimeout ( )
protected

◆ OnReadWhileHandshaking()

void XrdCl::AsyncSocketHandler::OnReadWhileHandshaking ( )
protected

◆ OnTimeoutWhileHandshaking()

void XrdCl::AsyncSocketHandler::OnTimeoutWhileHandshaking ( )
protected

◆ OnTLSHandShake()

void XrdCl::AsyncSocketHandler::OnTLSHandShake ( )
protected

◆ OnWrite()

void XrdCl::AsyncSocketHandler::OnWrite ( )
protected

◆ OnWriteTimeout()

void XrdCl::AsyncSocketHandler::OnWriteTimeout ( )
protected

◆ OnWriteWhileHandshaking()

void XrdCl::AsyncSocketHandler::OnWriteWhileHandshaking ( )
protected

◆ ReadMessage()

XRootDStatus XrdCl::AsyncSocketHandler::ReadMessage ( Message *&  toRead)
protected

◆ SendHSMsg()

void XrdCl::AsyncSocketHandler::SendHSMsg ( )
protected

◆ SetAddress()

void XrdCl::AsyncSocketHandler::SetAddress ( const XrdNetAddr address)
inline

Set address.

References pSockAddr.

◆ ToStreamName()

static std::string XrdCl::AsyncSocketHandler::ToStreamName ( Stream stream,
uint16_t  strmnb 
)
staticprotected

Convert Stream object and sub-stream number to stream name.

◆ WriteCurrentMessage()

XRootDStatus XrdCl::AsyncSocketHandler::WriteCurrentMessage ( Message toWrite)
protected

◆ WriteMessageAndRaw()

XRootDStatus XrdCl::AsyncSocketHandler::WriteMessageAndRaw ( Message toWrite,
Message *&  sign 
)
protected

Member Data Documentation

◆ hswriter

std::unique_ptr<MsgWriter> XrdCl::AsyncSocketHandler::hswriter
protected

◆ pChannelData

AnyObject* XrdCl::AsyncSocketHandler::pChannelData
protected

◆ pConnectionStarted

time_t XrdCl::AsyncSocketHandler::pConnectionStarted
protected

◆ pConnectionTimeout

time_t XrdCl::AsyncSocketHandler::pConnectionTimeout
protected

◆ pHandShakeData

HandShakeData* XrdCl::AsyncSocketHandler::pHandShakeData
protected

◆ pHandShakeDone

bool XrdCl::AsyncSocketHandler::pHandShakeDone
protected

◆ pHeaderDone

bool XrdCl::AsyncSocketHandler::pHeaderDone
protected

◆ pHSIncoming

Message* XrdCl::AsyncSocketHandler::pHSIncoming
protected

◆ pIncHandler

std::pair<IncomingMsgHandler*, bool> XrdCl::AsyncSocketHandler::pIncHandler
protected

◆ pIncMsgSize

uint32_t XrdCl::AsyncSocketHandler::pIncMsgSize
protected

◆ pIncoming

Message* XrdCl::AsyncSocketHandler::pIncoming
protected

◆ pLastActivity

time_t XrdCl::AsyncSocketHandler::pLastActivity
protected

Referenced by GetLastActivity().

◆ pOutgoing

Message* XrdCl::AsyncSocketHandler::pOutgoing
protected

◆ pOutHandler

OutgoingMsgHandler* XrdCl::AsyncSocketHandler::pOutHandler
protected

◆ pOutMsgDone

bool XrdCl::AsyncSocketHandler::pOutMsgDone
protected

◆ pOutMsgSize

uint32_t XrdCl::AsyncSocketHandler::pOutMsgSize
protected

◆ pPoller

Poller* XrdCl::AsyncSocketHandler::pPoller
protected

Referenced by DisableUplink(), and EnableUplink().

◆ pSignature

Message* XrdCl::AsyncSocketHandler::pSignature
protected

◆ pSockAddr

XrdNetAddr XrdCl::AsyncSocketHandler::pSockAddr
protected

Referenced by GetAddress(), and SetAddress().

◆ pSocket

Socket* XrdCl::AsyncSocketHandler::pSocket
protected

Referenced by DisableUplink(), and EnableUplink().

◆ pStream

Stream* XrdCl::AsyncSocketHandler::pStream
protected

◆ pStreamName

std::string XrdCl::AsyncSocketHandler::pStreamName
protected

Referenced by GetStreamName().

◆ pSubStreamNum

uint16_t XrdCl::AsyncSocketHandler::pSubStreamNum
protected

◆ pTimeoutResolution

uint16_t XrdCl::AsyncSocketHandler::pTimeoutResolution
protected

Referenced by EnableUplink().

◆ pTlsHandShakeOngoing

bool XrdCl::AsyncSocketHandler::pTlsHandShakeOngoing
protected

◆ pTransport

TransportHandler* XrdCl::AsyncSocketHandler::pTransport
protected

◆ pUrl

URL XrdCl::AsyncSocketHandler::pUrl
protected

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