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