#include <XrdClAsyncSocketHandler.hh>
Utility class handling asynchronous socket interactions and forwarding events to the parent stream.
XrdCl::AsyncSocketHandler::AsyncSocketHandler | ( | const URL & | url, | |
Poller * | poller, | |||
TransportHandler * | transport, | |||
AnyObject * | channelData, | |||
uint16_t | subStreamNum | |||
) |
Constructor.
XrdCl::AsyncSocketHandler::~AsyncSocketHandler | ( | ) |
Destructor.
XRootDStatus XrdCl::AsyncSocketHandler::Close | ( | ) |
Close the connection.
XRootDStatus XrdCl::AsyncSocketHandler::Connect | ( | time_t | timeout | ) |
Connect to the currently set address.
XRootDStatus XrdCl::AsyncSocketHandler::DisableUplink | ( | ) | [inline] |
Disable uplink.
References XrdCl::Poller::EnableWriteNotification(), XrdCl::errPollerError, pPoller, pSocket, and XrdCl::stFatal.
XRootDStatus XrdCl::AsyncSocketHandler::DoTlsHandShake | ( | ) | [protected] |
XRootDStatus XrdCl::AsyncSocketHandler::EnableUplink | ( | ) | [inline] |
Enable uplink.
References XrdCl::Poller::EnableWriteNotification(), XrdCl::errPollerError, pPoller, pSocket, pTimeoutResolution, and XrdCl::stFatal.
virtual void XrdCl::AsyncSocketHandler::Event | ( | uint8_t | type, | |
XrdCl::Socket * | ||||
) | [virtual] |
Handle a socket event.
Implements XrdCl::SocketHandler.
const XrdNetAddr& XrdCl::AsyncSocketHandler::GetAddress | ( | ) | const [inline] |
Get the address that the socket is connected to.
References pSockAddr.
time_t XrdCl::AsyncSocketHandler::GetLastActivity | ( | ) | [inline] |
Get timestamp of last registered socket activity.
References pLastActivity.
const std::string& XrdCl::AsyncSocketHandler::GetStreamName | ( | ) | [inline] |
Get stream name.
References pStreamName.
void XrdCl::AsyncSocketHandler::HandleHandShake | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::HandShakeNextStep | ( | bool | done | ) | [protected] |
virtual void XrdCl::AsyncSocketHandler::OnConnectionReturn | ( | ) | [protected, virtual] |
void XrdCl::AsyncSocketHandler::OnFault | ( | XRootDStatus | st | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnFaultWhileHandshaking | ( | XRootDStatus | st | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnRead | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnReadTimeout | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnReadWhileHandshaking | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnTimeoutWhileHandshaking | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnTLSHandShake | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnWrite | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnWriteTimeout | ( | ) | [protected] |
void XrdCl::AsyncSocketHandler::OnWriteWhileHandshaking | ( | ) | [protected] |
XRootDStatus XrdCl::AsyncSocketHandler::ReadMessage | ( | Message *& | toRead | ) | [protected] |
void XrdCl::AsyncSocketHandler::RetryHSMsg | ( | Message * | msg | ) | [protected] |
Referenced by XrdCl::AsyncSocketHandler::WaitTask::Run().
void XrdCl::AsyncSocketHandler::SetAddress | ( | const XrdNetAddr & | address | ) | [inline] |
Set address.
References pSockAddr.
void XrdCl::AsyncSocketHandler::SetStream | ( | Stream * | stream | ) |
Set a stream object to be notified about the status of the operations.
XRootDStatus XrdCl::AsyncSocketHandler::WriteCurrentMessage | ( | Message * | toWrite | ) | [protected] |
XRootDStatus XrdCl::AsyncSocketHandler::WriteMessageAndRaw | ( | Message * | toWrite, | |
Message *& | sign | |||
) | [protected] |
AnyObject* XrdCl::AsyncSocketHandler::pChannelData [protected] |
time_t XrdCl::AsyncSocketHandler::pConnectionStarted [protected] |
time_t XrdCl::AsyncSocketHandler::pConnectionTimeout [protected] |
HandShakeData* XrdCl::AsyncSocketHandler::pHandShakeData [protected] |
bool XrdCl::AsyncSocketHandler::pHandShakeDone [protected] |
bool XrdCl::AsyncSocketHandler::pHeaderDone [protected] |
Message* XrdCl::AsyncSocketHandler::pHSIncoming [protected] |
Message* XrdCl::AsyncSocketHandler::pHSOutgoing [protected] |
std::pair<IncomingMsgHandler*, bool> XrdCl::AsyncSocketHandler::pIncHandler [protected] |
uint32_t XrdCl::AsyncSocketHandler::pIncMsgSize [protected] |
Message* XrdCl::AsyncSocketHandler::pIncoming [protected] |
time_t XrdCl::AsyncSocketHandler::pLastActivity [protected] |
Referenced by GetLastActivity().
Message* XrdCl::AsyncSocketHandler::pOutgoing [protected] |
OutgoingMsgHandler* XrdCl::AsyncSocketHandler::pOutHandler [protected] |
bool XrdCl::AsyncSocketHandler::pOutMsgDone [protected] |
uint32_t XrdCl::AsyncSocketHandler::pOutMsgSize [protected] |
Poller* XrdCl::AsyncSocketHandler::pPoller [protected] |
Referenced by DisableUplink(), and EnableUplink().
Message* XrdCl::AsyncSocketHandler::pSignature [protected] |
XrdNetAddr XrdCl::AsyncSocketHandler::pSockAddr [protected] |
Referenced by GetAddress(), and SetAddress().
Socket* XrdCl::AsyncSocketHandler::pSocket [protected] |
Referenced by DisableUplink(), and EnableUplink().
Stream* XrdCl::AsyncSocketHandler::pStream [protected] |
std::string XrdCl::AsyncSocketHandler::pStreamName [protected] |
Referenced by GetStreamName().
uint16_t XrdCl::AsyncSocketHandler::pSubStreamNum [protected] |
uint16_t XrdCl::AsyncSocketHandler::pTimeoutResolution [protected] |
Referenced by EnableUplink().
bool XrdCl::AsyncSocketHandler::pTlsHandShakeOngoing [protected] |
TransportHandler* XrdCl::AsyncSocketHandler::pTransport [protected] |
URL XrdCl::AsyncSocketHandler::pUrl [protected] |