19 #ifndef __XRD_CL_POST_MASTER_INTERFACES_HH__
20 #define __XRD_CL_POST_MASTER_INTERFACES_HH__
119 uint32_t &bytesRead )
121 (void)msg; (void)socket; (void)bytesRead;
137 (void)event; (void)streamNum; (void)status;
167 (void)msg; (void)streamNum;
175 virtual bool IsRaw()
const {
return false; }
188 uint32_t &bytesRead )
190 (void)socket; (void)bytesRead;
227 uint16_t stream ) = 0;
271 static const uint16_t
Name = 1;
272 static const uint16_t
Auth = 2;
388 uint16_t subStreamId ) = 0;
404 #endif // __XRD_CL_POST_MASTER_INTERFACES_HH__
Definition: XrdClAnyObject.hh:32
const uint16_t stOK
Everything went OK.
Definition: XrdClStatus.hh:31
Definition: XrdClPostMasterInterfaces.hh:65
virtual bool OnChannelEvent(ChannelEvent event, Status status, uint16_t stream)=0
virtual void FinalizeChannel(AnyObject &channelData)=0
Finalize channel.
Take ownership over the message.
Definition: XrdClPostMasterInterfaces.hh:61
Message filter.
Definition: XrdClPostMasterInterfaces.hh:38
Definition: XrdClPostMasterInterfaces.hh:63
virtual ~IncomingMsgHandler()
Event types that the message handler may receive.
Definition: XrdClPostMasterInterfaces.hh:88
Stream has been broken and won't be recovered.
Definition: XrdClPostMasterInterfaces.hh:81
virtual bool IsRaw() const
Definition: XrdClPostMasterInterfaces.hh:175
virtual Status GetHeader(Message *message, int socket)=0
The message representation used throughout the system.
Definition: XrdClMessage.hh:29
time_t startTime
Timestamp of when the handshake started.
Definition: XrdClPostMasterInterfaces.hh:248
virtual Status WriteMessageBody(int socket, uint32_t &bytesRead)
Definition: XrdClPostMasterInterfaces.hh:187
virtual ~ChannelEventHandler()
Destructor.
Definition: XrdClPostMasterInterfaces.hh:214
StreamAction
Stream actions that may be triggered by incoming control messages.
Definition: XrdClPostMasterInterfaces.hh:285
const URL * url
Destination URL.
Definition: XrdClPostMasterInterfaces.hh:245
virtual PathID Multiplex(Message *msg, AnyObject &channelData, PathID *hint=0)=0
Definition: XrdClPostMasterInterfaces.hh:258
const uint16_t suDone
Definition: XrdClStatus.hh:38
uint16_t subStreamId
Sub-stream id.
Definition: XrdClPostMasterInterfaces.hh:247
std::string clientName
Client name (an IPv6 representation)
Definition: XrdClPostMasterInterfaces.hh:250
static const uint16_t Name
Transport name, returns const char *.
Definition: XrdClPostMasterInterfaces.hh:271
Message * in
Message that has been received.
Definition: XrdClPostMasterInterfaces.hh:244
const void * serverAddr
Server address in the form of sockaddr.
Definition: XrdClPostMasterInterfaces.hh:249
StreamEvent
Events that may have occurred to the stream.
Definition: XrdClPostMasterInterfaces.hh:76
uint16_t up
Definition: XrdClPostMasterInterfaces.hh:261
Procedure execution status.
Definition: XrdClStatus.hh:104
virtual uint16_t Examine(Message *msg)=0
uint16_t step
Handshake step.
Definition: XrdClPostMasterInterfaces.hh:242
virtual uint16_t StreamNumber(AnyObject &channelData)=0
Return a number of streams that should be created.
virtual Status Query(uint16_t query, AnyObject &result, AnyObject &channelData)=0
Query the channel.
virtual bool Filter(const Message *msg)=0
uint16_t streamId
Stream number.
Definition: XrdClPostMasterInterfaces.hh:246
Data structure that carries the handshake information.
Definition: XrdClPostMasterInterfaces.hh:233
virtual Status GetBody(Message *message, int socket)=0
Definition: XrdClPostMasterInterfaces.hh:288
virtual ~TransportHandler()
Definition: XrdClPostMasterInterfaces.hh:301
virtual Status HandShake(HandShakeData *handShakeData, AnyObject &channelData)=0
HandHake.
Perform the handshake and the authentication for each physical stream.
Definition: XrdClPostMasterInterfaces.hh:278
Stream has been broken and won't be recovered.
Definition: XrdClPostMasterInterfaces.hh:208
The stream is broken.
Definition: XrdClPostMasterInterfaces.hh:207
The declared timeout has occurred.
Definition: XrdClPostMasterInterfaces.hh:80
Channel event handler.
Definition: XrdClPostMasterInterfaces.hh:198
The stream has become connected.
Definition: XrdClPostMasterInterfaces.hh:206
The stream is broken.
Definition: XrdClPostMasterInterfaces.hh:79
Message handler.
Definition: XrdClPostMasterInterfaces.hh:53
virtual uint8_t OnStreamEvent(StreamEvent event, uint16_t streamNum, Status status)
Definition: XrdClPostMasterInterfaces.hh:133
virtual uint16_t SubStreamNumber(AnyObject &channelData)=0
Return a number of substreams per stream that should be created.
virtual bool IsStreamTTLElapsed(time_t inactiveTime, AnyObject &channelData)=0
Check if the stream should be disconnected.
uint16_t down
Definition: XrdClPostMasterInterfaces.hh:262
Definition: XrdClPostMasterInterfaces.hh:295
Action
Actions to be taken after a message is processed by the handler.
Definition: XrdClPostMasterInterfaces.hh:59
Definition: XrdClPostMasterInterfaces.hh:290
Definition: XrdClPostMasterInterfaces.hh:269
URL representation.
Definition: XrdClURL.hh:30
No action.
Definition: XrdClPostMasterInterfaces.hh:287
virtual ~MessageFilter()
Definition: XrdClPostMasterInterfaces.hh:41
virtual Status ReadMessageBody(Message *msg, int socket, uint32_t &bytesRead)
Definition: XrdClPostMasterInterfaces.hh:117
virtual void InitializeChannel(AnyObject &channelData)=0
Initialize channel.
virtual void Process(Message *msg)
Definition: XrdClPostMasterInterfaces.hh:104
Ignore the message.
Definition: XrdClPostMasterInterfaces.hh:62
virtual void Disconnect(AnyObject &channelData, uint16_t streamId, uint16_t subStreamId)=0
The stream has been disconnected, do the cleanups.
The stream has become connected.
Definition: XrdClPostMasterInterfaces.hh:78
virtual ~OutgoingMsgHandler()
Definition: XrdClPostMasterInterfaces.hh:148
Definition: XrdClPostMasterInterfaces.hh:68
Message status handler.
Definition: XrdClPostMasterInterfaces.hh:145
PathID(uint16_t u=0, uint16_t d=0)
Definition: XrdClPostMasterInterfaces.hh:260
virtual void OnStatusReady(const Message *message, Status status)=0
The requested action has been performed and the status is available.
virtual void OnReadyToSend(Message *msg, uint16_t streamNum)
Definition: XrdClPostMasterInterfaces.hh:165
ChannelEvent
Events that may have occurred to the channel.
Definition: XrdClPostMasterInterfaces.hh:204
Definition: XrdClPostMasterInterfaces.hh:293
HandShakeData(const URL *addr, uint16_t stream, uint16_t subStream)
Constructor.
Definition: XrdClPostMasterInterfaces.hh:238
Message * out
Message to be sent out.
Definition: XrdClPostMasterInterfaces.hh:243
virtual PathID MultiplexSubStream(Message *msg, AnyObject &channelData, PathID *hint=0)=0
Stop sending requests [not yet implemented].
Definition: XrdClPostMasterInterfaces.hh:297
std::string streamName
Name of the stream.
Definition: XrdClPostMasterInterfaces.hh:251
static const uint16_t Auth
Transport name, returns std::string *.
Definition: XrdClPostMasterInterfaces.hh:272