19#ifndef __XRD_CL_ASYNC_SOCKET_HANDLER_HH__
20#define __XRD_CL_ASYNC_SOCKET_HANDLER_HH__
30#include <sys/socket.h>
53 o <<
"WaitTask for: 0x" << msg;
57 virtual time_t
Run( time_t now )
75 uint16_t subStreamNum );
187 uint32_t *asyncOffset );
248 const uint32_t *offset,
int kXR_int32
Definition: XPtypes.hh:89
Definition: XrdClAnyObject.hh:33
Definition: XrdClAsyncSocketHandler.hh:47
WaitTask(XrdCl::AsyncSocketHandler *handler, XrdCl::Message *msg)
Definition: XrdClAsyncSocketHandler.hh:49
virtual time_t Run(time_t now)
Definition: XrdClAsyncSocketHandler.hh:57
XrdCl::Message * pMsg
Definition: XrdClAsyncSocketHandler.hh:65
XrdCl::AsyncSocketHandler * pHandler
Definition: XrdClAsyncSocketHandler.hh:64
Definition: XrdClAsyncSocketHandler.hh:41
virtual void Event(uint8_t type, XrdCl::Socket *)
Handle a socket event.
XrdNetAddr pSockAddr
Definition: XrdClAsyncSocketHandler.hh:296
~AsyncSocketHandler()
Destructor.
uint32_t ToIov(ChunkList *chunks, const uint32_t *offset, iovec *iov)
time_t GetLastActivity()
Get timestamp of last registered socket activity.
Definition: XrdClAsyncSocketHandler.hh:149
bool pHeaderDone
Definition: XrdClAsyncSocketHandler.hh:302
Poller * pPoller
Definition: XrdClAsyncSocketHandler.hh:284
void OnConnectionReturn()
Status WriteVMessage(Message *toWrite, Message *&sign, ChunkList *chunks, uint32_t *asyncOffset)
Status Connect(time_t timeout)
Connect to the currently set address.
Message * pSignature
Definition: XrdClAsyncSocketHandler.hh:294
TransportHandler * pTransport
Definition: XrdClAsyncSocketHandler.hh:285
Status ClassifyErrno(int error)
Message * pOutgoing
Definition: XrdClAsyncSocketHandler.hh:293
uint16_t pTimeoutResolution
Definition: XrdClAsyncSocketHandler.hh:299
void RetryHSMsg(Message *msg)
Status GetSignature(Message *toSign, Message *&sign)
void OnFaultWhileHandshaking(Status st)
bool pHandShakeDone
Definition: XrdClAsyncSocketHandler.hh:298
Stream * pStream
Definition: XrdClAsyncSocketHandler.hh:288
Socket * pSocket
Definition: XrdClAsyncSocketHandler.hh:290
OutgoingMsgHandler * pOutHandler
Definition: XrdClAsyncSocketHandler.hh:306
time_t pConnectionTimeout
Definition: XrdClAsyncSocketHandler.hh:301
Status Close()
Close the connection.
const XrdNetAddr & GetAddress() const
Get the address that the socket is connected to.
Definition: XrdClAsyncSocketHandler.hh:93
kXR_int32 HandleWaitRsp(Message *rsp)
Message * pHSIncoming
Definition: XrdClAsyncSocketHandler.hh:292
time_t pLastActivity
Definition: XrdClAsyncSocketHandler.hh:309
void UpdateAfterWrite(Message &msg, iovec &iov, int &bytesRead)
Status DisableUplink()
Disable uplink.
Definition: XrdClAsyncSocketHandler.hh:131
const std::string & GetStreamName()
Get stream name.
Definition: XrdClAsyncSocketHandler.hh:141
void OnTimeoutWhileHandshaking()
Status ReadMessage(Message *&toRead)
std::string pStreamName
Definition: XrdClAsyncSocketHandler.hh:289
Message * pHSOutgoing
Definition: XrdClAsyncSocketHandler.hh:295
Message * pIncoming
Definition: XrdClAsyncSocketHandler.hh:291
Status EnableUplink()
Enable uplink.
Definition: XrdClAsyncSocketHandler.hh:121
std::pair< IncomingMsgHandler *, bool > pIncHandler
Definition: XrdClAsyncSocketHandler.hh:304
Status WriteMessageAndRaw(Message *toWrite, Message *&sign)
void UpdateAfterWrite(ChunkList *chunks, uint32_t *offset, iovec *iov, int &bytesWritten)
AsyncSocketHandler(Poller *poller, TransportHandler *transport, AnyObject *channelData, uint16_t subStreamNum)
Constructor.
uint32_t pIncMsgSize
Definition: XrdClAsyncSocketHandler.hh:307
uint16_t pSubStreamNum
Definition: XrdClAsyncSocketHandler.hh:287
void ToIov(Message &msg, iovec &iov)
void OnWriteWhileHandshaking()
time_t pConnectionStarted
Definition: XrdClAsyncSocketHandler.hh:300
void SetAddress(const XrdNetAddr &address)
Set address.
Definition: XrdClAsyncSocketHandler.hh:85
AnyObject * pChannelData
Definition: XrdClAsyncSocketHandler.hh:286
uint32_t pOutMsgSize
Definition: XrdClAsyncSocketHandler.hh:308
Status WriteSeparately(Message *toWrite, Message *&sign)
Status WriteCurrentMessage(Message *toWrite)
bool pOutMsgDone
Definition: XrdClAsyncSocketHandler.hh:305
void SetStream(Stream *stream)
Set a stream object to be notified about the status of the operations.
HandShakeData * pHandShakeData
Definition: XrdClAsyncSocketHandler.hh:297
void OnReadWhileHandshaking()
The message representation used throughout the system.
Definition: XrdClMessage.hh:30
Message status handler.
Definition: XrdClPostMasterInterfaces.hh:168
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:37
Stream.
Definition: XrdClStream.hh:49
Interface for a task to be run by the TaskManager.
Definition: XrdClTaskManager.hh:36
void SetName(const std::string &name)
Set name of the task.
Definition: XrdClTaskManager.hh:60
Perform the handshake and the authentication for each physical stream.
Definition: XrdClPostMasterInterfaces.hh:303
Definition: XrdNetAddr.hh:42
Definition: XrdClAnyObject.hh:26
const uint16_t stFatal
Fatal error, it's still an error.
Definition: XrdClStatus.hh:33
const uint16_t errPollerError
Definition: XrdClStatus.hh:74
std::vector< ChunkInfo > ChunkList
List of chunks.
Definition: XrdClXRootDResponses.hh:784
Data structure that carries the handshake information.
Definition: XrdClPostMasterInterfaces.hh:257
Procedure execution status.
Definition: XrdClStatus.hh:110