Go to the documentation of this file.
25 #ifndef __XRD_CL_POST_MASTER_INTERFACES_HH__
26 #define __XRD_CL_POST_MASTER_INTERFACES_HH__
160 uint32_t &bytesRead )
162 (void)msg; (void)socket; (void)bytesRead;
176 (void)event; (void)status;
213 virtual bool IsRaw()
const {
return false; }
226 uint32_t &bytesWritten )
228 (void)socket; (void)bytesWritten;
309 static const uint16_t
Name = 1;
310 static const uint16_t
Auth = 2;
436 uint16_t subStreamId ) = 0;
479 #endif // __XRD_CL_POST_MASTER_INTERFACES_HH__
@ HoldStream
Stop sending requests [not yet implemented].
Definition: XrdClPostMasterInterfaces.hh:335
A network socket.
Definition: XrdClSocket.hh:42
const uint16_t stOK
Everything went OK.
Definition: XrdClStatus.hh:31
Message status handler.
Definition: XrdClPostMasterInterfaces.hh:185
const XrdNetAddr * serverAddr
Server address.
Definition: XrdClPostMasterInterfaces.hh:287
virtual ~TransportHandler()
Definition: XrdClPostMasterInterfaces.hh:340
Definition: XrdClPostMasterInterfaces.hh:308
@ Broken
The stream is broken.
Definition: XrdClPostMasterInterfaces.hh:101
Message * in
Message that has been received.
Definition: XrdClPostMasterInterfaces.hh:282
Definition: XrdClPostMasterInterfaces.hh:297
virtual void OnReadyToSend(Message *msg)
Definition: XrdClPostMasterInterfaces.hh:203
virtual ~IncomingMsgHandler()
Event types that the message handler may receive.
Definition: XrdClPostMasterInterfaces.hh:110
virtual uint16_t GetSid() const =0
virtual Status HandShake(HandShakeData *handShakeData, AnyObject &channelData)=0
HandHake.
std::string clientName
Client name (an IPv6 representation)
Definition: XrdClPostMasterInterfaces.hh:288
@ FatalError
Stream has been broken and won't be recovered.
Definition: XrdClPostMasterInterfaces.hh:246
@ NoProcess
Definition: XrdClPostMasterInterfaces.hh:87
virtual void Disconnect(AnyObject &channelData, uint16_t subStreamId)=0
The stream has been disconnected, do the cleanups.
uint16_t subStreamId
Sub-stream id.
Definition: XrdClPostMasterInterfaces.hh:284
virtual void InitializeChannel(const URL &url, AnyObject &channelData)=0
Initialize channel.
@ RequestClose
Send a close request.
Definition: XrdClPostMasterInterfaces.hh:336
uint16_t up
Definition: XrdClPostMasterInterfaces.hh:299
@ Take
Take ownership over the message.
Definition: XrdClPostMasterInterfaces.hh:80
const uint16_t suDone
Definition: XrdClStatus.hh:38
StreamEvent
Events that may have occurred to the stream.
Definition: XrdClPostMasterInterfaces.hh:99
virtual bool IsRaw() const
Definition: XrdClPostMasterInterfaces.hh:213
virtual bool OnChannelEvent(ChannelEvent event, Status status)=0
static const uint16_t Auth
Transport name, returns std::string *.
Definition: XrdClPostMasterInterfaces.hh:310
The message representation used throughout the system.
Definition: XrdClMessage.hh:30
virtual PathID Multiplex(Message *msg, AnyObject &channelData, PathID *hint=0)=0
virtual ~MessageFilter()
Definition: XrdClPostMasterInterfaces.hh:52
const URL * url
Destination URL.
Definition: XrdClPostMasterInterfaces.hh:283
virtual ~ChannelEventHandler()
Destructor.
Definition: XrdClPostMasterInterfaces.hh:252
virtual bool NeedEncryption(HandShakeData *handShakeData, AnyObject &channelData)=0
virtual XRootDStatus GetHeader(Message *message, Socket *socket)=0
virtual bool IsStreamTTLElapsed(time_t inactiveTime, AnyObject &channelData)=0
Check if the stream should be disconnected.
@ Corrupted
Definition: XrdClPostMasterInterfaces.hh:90
Request status.
Definition: XrdClXRootDResponses.hh:215
virtual void OnStatusReady(const Message *message, XRootDStatus status)=0
The requested action has been performed and the status is available.
virtual ~OutgoingMsgHandler()
Definition: XrdClPostMasterInterfaces.hh:187
Data structure that carries the handshake information.
Definition: XrdClPostMasterInterfaces.hh:272
virtual PathID MultiplexSubStream(Message *msg, AnyObject &channelData, PathID *hint=0)=0
virtual Status WriteMessageBody(Socket *socket, uint32_t &bytesWritten)
Definition: XrdClPostMasterInterfaces.hh:225
@ Raw
Definition: XrdClPostMasterInterfaces.hh:84
@ Ready
The stream has become connected.
Definition: XrdClPostMasterInterfaces.hh:100
Message filter.
Definition: XrdClPostMasterInterfaces.hh:50
ChannelEvent
Events that may have occurred to the channel.
Definition: XrdClPostMasterInterfaces.hh:243
Definition: XrdClOperationTimeout.hh:21
Message handler.
Definition: XrdClPostMasterInterfaces.hh:72
@ AbortStream
Definition: XrdClPostMasterInterfaces.hh:328
virtual XRootDStatus GetBody(Message *message, Socket *socket)=0
uint16_t step
Handshake step.
Definition: XrdClPostMasterInterfaces.hh:280
virtual void FinalizeChannel(AnyObject &channelData)=0
Finalize channel.
static const uint16_t Name
Transport name, returns const char *.
Definition: XrdClPostMasterInterfaces.hh:309
@ StreamBroken
The stream is broken.
Definition: XrdClPostMasterInterfaces.hh:245
@ Ignore
Ignore the message.
Definition: XrdClPostMasterInterfaces.hh:81
virtual void MessageSent(Message *msg, uint16_t subStream, uint32_t bytesSent, AnyObject &channelData)=0
Notify the transport about a message having been sent.
virtual uint16_t InspectStatusRsp(Message *msg)=0
virtual uint8_t OnStreamEvent(StreamEvent event, XRootDStatus status)
Definition: XrdClPostMasterInterfaces.hh:173
virtual uint16_t SubStreamNumber(AnyObject &channelData)=0
Return a number of substreams per stream that should be created.
@ ResumeStream
Definition: XrdClPostMasterInterfaces.hh:333
@ DigestMsg
Definition: XrdClPostMasterInterfaces.hh:326
StreamAction
Stream actions that may be triggered by incoming control messages.
Definition: XrdClPostMasterInterfaces.hh:324
@ NoAction
No action.
Definition: XrdClPostMasterInterfaces.hh:325
PathID(uint16_t u=0, uint16_t d=0)
Definition: XrdClPostMasterInterfaces.hh:298
Definition: XrdClAnyObject.hh:26
@ FatalError
Stream has been broken and won't be recovered.
Definition: XrdClPostMasterInterfaces.hh:103
virtual uint16_t Examine(Message *msg)=0
virtual Status ReadMessageBody(Message *msg, Socket *socket, uint32_t &bytesRead)
Definition: XrdClPostMasterInterfaces.hh:158
virtual bool Filter(const Message *msg)=0
uint16_t down
Definition: XrdClPostMasterInterfaces.hh:300
Procedure execution status.
Definition: XrdClStatus.hh:111
URL representation.
Definition: XrdClURL.hh:31
@ CloseStream
Definition: XrdClPostMasterInterfaces.hh:331
@ RemoveHandler
Definition: XrdClPostMasterInterfaces.hh:82
Message * out
Message to be sent out.
Definition: XrdClPostMasterInterfaces.hh:281
Action
Actions to be taken after a message is processed by the handler.
Definition: XrdClPostMasterInterfaces.hh:78
virtual uint32_t MessageReceived(Message *msg, uint16_t subStream, AnyObject &channelData)=0
Check if the message invokes a stream action.
virtual uint16_t GetSid() const =0
Channel event handler.
Definition: XrdClPostMasterInterfaces.hh:237
Perform the handshake and the authentication for each physical stream.
Definition: XrdClPostMasterInterfaces.hh:317
std::string streamName
Name of the stream.
Definition: XrdClPostMasterInterfaces.hh:289
Definition: XrdNetAddr.hh:42
virtual Status IsStreamBroken(time_t inactiveTime, AnyObject &channelData)=0
Definition: XrdClAnyObject.hh:33
virtual Status Query(uint16_t query, AnyObject &result, AnyObject &channelData)=0
Query the channel.
virtual Status GetSignature(Message *toSign, Message *&sign, AnyObject &channelData)=0
Get signature for given message.
virtual void Process(Message *msg)
Definition: XrdClPostMasterInterfaces.hh:145
HandShakeData(const URL *addr, uint16_t subStream)
Constructor.
Definition: XrdClPostMasterInterfaces.hh:276
virtual void WaitBeforeExit()=0
Wait before exit.
@ StreamReady
The stream has become connected.
Definition: XrdClPostMasterInterfaces.hh:244
virtual bool HandShakeDone(HandShakeData *handShakeData, AnyObject &channelData)=0
none object for initializing empty Optional
Definition: XrdClOptional.hh:35
time_t startTime
Timestamp of when the handshake started.
Definition: XrdClPostMasterInterfaces.hh:285