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