19#ifndef __XRD_CL_ASYNC_SOCKET_HANDLER_HH__
20#define __XRD_CL_ASYNC_SOCKET_HANDLER_HH__
53 uint16_t subStreamNum,
int kXR_int32
Definition XPtypes.hh:89
#define XRD_WARN_UNUSED_RESULT
Definition XrdOucCompiler.hh:31
Definition XrdClAnyObject.hh:33
Utility class encapsulating reading hand-shake response logic.
Definition XrdClAsyncHSReader.hh:37
Utility class encapsulating writing hand-shake request logic.
Definition XrdClAsyncHSWriter.hh:39
Utility class encapsulating reading response message logic.
Definition XrdClAsyncMsgReader.hh:37
Utility class encapsulating writing request logic.
Definition XrdClAsyncMsgWriter.hh:38
Definition XrdClAsyncSocketHandler.hh:44
virtual void Event(uint8_t type, XrdCl::Socket *)
Handle a socket event.
XrdNetAddr pSockAddr
Definition XrdClAsyncSocketHandler.hh:275
~AsyncSocketHandler()
Destructor.
time_t GetLastActivity()
Get timestamp of last registered socket activity.
Definition XrdClAsyncSocketHandler.hh:123
bool OnReadTimeout() XRD_WARN_UNUSED_RESULT
Poller * pPoller
Definition XrdClAsyncSocketHandler.hh:268
std::unique_ptr< AsyncHSWriter > hswriter
Definition XrdClAsyncSocketHandler.hh:287
bool OnWriteTimeout() XRD_WARN_UNUSED_RESULT
TransportHandler * pTransport
Definition XrdClAsyncSocketHandler.hh:269
bool OnWrite() XRD_WARN_UNUSED_RESULT
bool OnTimeoutWhileHandshaking() XRD_WARN_UNUSED_RESULT
uint16_t pTimeoutResolution
Definition XrdClAsyncSocketHandler.hh:278
bool CheckHSWait() XRD_WARN_UNUSED_RESULT
bool EventRead(uint8_t type) XRD_WARN_UNUSED_RESULT
std::unique_ptr< AsyncHSReader > hsreader
Definition XrdClAsyncSocketHandler.hh:289
XRootDStatus DoTlsHandShake()
void OnFault(XRootDStatus st)
bool pHandShakeDone
Definition XrdClAsyncSocketHandler.hh:277
bool HandleHandShake(std::unique_ptr< Message > msg) XRD_WARN_UNUSED_RESULT
bool OnWriteWhileHandshaking() XRD_WARN_UNUSED_RESULT
Stream * pStream
Definition XrdClAsyncSocketHandler.hh:272
Socket * pSocket
Definition XrdClAsyncSocketHandler.hh:274
static std::string ToStreamName(const URL &url, uint16_t strmnb)
Convert Stream object and sub-stream number to stream name.
XRootDStatus Close()
Close the connection.
time_t pConnectionTimeout
Definition XrdClAsyncSocketHandler.hh:280
time_t pHSWaitStarted
Definition XrdClAsyncSocketHandler.hh:282
time_t pHSWaitSeconds
Definition XrdClAsyncSocketHandler.hh:283
void OnFaultWhileHandshaking(XRootDStatus st)
virtual bool OnConnectionReturn() XRD_WARN_UNUSED_RESULT
const XrdNetAddr & GetAddress() const
Get the address that the socket is connected to.
Definition XrdClAsyncSocketHandler.hh:72
kXR_int32 HandleWaitRsp(Message *rsp)
bool HandShakeNextStep(bool done) XRD_WARN_UNUSED_RESULT
URL pUrl
Definition XrdClAsyncSocketHandler.hh:284
bool OnReadWhileHandshaking() XRD_WARN_UNUSED_RESULT
std::unique_ptr< AsyncMsgWriter > reqwriter
Definition XrdClAsyncSocketHandler.hh:290
XRootDStatus EnableUplink()
Enable uplink.
Definition XrdClAsyncSocketHandler.hh:95
time_t pLastActivity
Definition XrdClAsyncSocketHandler.hh:281
std::string GetIpStack() const
Get the IP stack.
bool EventWrite(uint8_t type) XRD_WARN_UNUSED_RESULT
const std::string & GetStreamName()
Get stream name.
Definition XrdClAsyncSocketHandler.hh:115
std::string GetHostName()
Get hostname.
std::unique_ptr< AsyncMsgReader > rspreader
Definition XrdClAsyncSocketHandler.hh:288
XRootDStatus DisableUplink()
Disable uplink.
Definition XrdClAsyncSocketHandler.hh:105
std::unique_ptr< HandShakeData > pHandShakeData
Definition XrdClAsyncSocketHandler.hh:276
std::string pStreamName
Definition XrdClAsyncSocketHandler.hh:273
bool OnRead() XRD_WARN_UNUSED_RESULT
XRootDStatus Connect(time_t timeout)
Connect to the currently set address.
bool pTlsHandShakeOngoing
Definition XrdClAsyncSocketHandler.hh:285
AsyncSocketHandler(const URL &url, Poller *poller, TransportHandler *transport, AnyObject *channelData, uint16_t subStreamNum, Stream *strm)
Constructor.
bool OnTLSHandShake() XRD_WARN_UNUSED_RESULT
uint16_t pSubStreamNum
Definition XrdClAsyncSocketHandler.hh:271
time_t pConnectionStarted
Definition XrdClAsyncSocketHandler.hh:279
void SetAddress(const XrdNetAddr &address)
Set address.
Definition XrdClAsyncSocketHandler.hh:64
bool SendHSMsg() XRD_WARN_UNUSED_RESULT
AnyObject * pChannelData
Definition XrdClAsyncSocketHandler.hh:270
std::string GetIpAddr()
Get IP address.
void OnHeaderCorruption()
The message representation used throughout the system.
Definition XrdClMessage.hh:30
Interface for socket pollers.
Definition XrdClPoller.hh:87
virtual bool EnableWriteNotification(Socket *socket, bool notify, uint16_t timeout=60)=0
Interface.
Definition XrdClPoller.hh:34
A network socket.
Definition XrdClSocket.hh:43
Stream.
Definition XrdClStream.hh:52
Perform the handshake and the authentication for each physical stream.
Definition XrdClPostMasterInterfaces.hh:310
URL representation.
Definition XrdClURL.hh:31
Request status.
Definition XrdClXRootDResponses.hh:219
Definition XrdNetAddr.hh:42
Definition XrdClAction.hh:34
const uint16_t stFatal
Fatal error, it's still an error.
Definition XrdClStatus.hh:33
const uint16_t errPollerError
Definition XrdClStatus.hh:75
Definition XrdOucJson.hh:4517
Data structure that carries the handshake information.
Definition XrdClPostMasterInterfaces.hh:244