25 #ifndef __XRD_CL_POST_MASTER_INTERFACES_HH__ 26 #define __XRD_CL_POST_MASTER_INTERFACES_HH__ 62 virtual uint16_t
GetSid()
const = 0;
78 RemoveHandler = 0x0004,
112 virtual uint16_t Examine(
Message *msg ) = 0;
119 virtual uint16_t
GetSid()
const = 0;
141 uint32_t &bytesRead )
143 (void)msg; (void)socket; (void)bytesRead;
159 (void)event; (void)streamNum; (void)status;
175 virtual void OnStatusReady(
const Message *message,
189 (void)msg; (void)streamNum;
197 virtual bool IsRaw()
const {
return false; }
210 uint32_t &bytesRead )
212 (void)socket; (void)bytesRead;
249 uint16_t stream ) = 0;
262 step(0), out(0), in(0), url(addr), streamId(stream),
263 subStreamId( subStream ), startTime( time(0) ), serverAddr(0)
284 PathID( uint16_t u = 0, uint16_t d = 0 ): up(u), down(d) {}
295 static const uint16_t Name = 1;
296 static const uint16_t Auth = 2;
313 AbortStream = 0x0002,
315 CloseStream = 0x0004,
318 ResumeStream = 0x0008,
322 RequestClose = 0x0020
340 virtual Status GetHeader(
Message *message,
int socket ) = 0;
357 virtual void InitializeChannel(
AnyObject &channelData ) = 0;
362 virtual void FinalizeChannel(
AnyObject &channelData ) = 0;
373 virtual bool IsStreamTTLElapsed( time_t inactiveTime,
381 virtual Status IsStreamBroken( time_t inactiveTime,
411 virtual uint16_t StreamNumber(
AnyObject &channelData ) = 0;
416 virtual uint16_t SubStreamNumber(
AnyObject &channelData ) = 0;
421 virtual void Disconnect(
AnyObject &channelData,
423 uint16_t subStreamId ) = 0;
428 virtual Status Query( uint16_t query,
435 virtual uint32_t MessageReceived(
Message *msg,
443 virtual void MessageSent(
Message *msg,
451 #endif // __XRD_CL_POST_MASTER_INTERFACES_HH__ Definition: XrdClAnyObject.hh:32
const uint16_t stOK
Everything went OK.
Definition: XrdClStatus.hh:31
Message filter.
Definition: XrdClPostMasterInterfaces.hh:46
virtual ~IncomingMsgHandler()
Event types that the message handler may receive.
Definition: XrdClPostMasterInterfaces.hh:103
The message representation used throughout the system.
Definition: XrdClMessage.hh:29
const XrdNetAddr * serverAddr
Server address.
Definition: XrdClPostMasterInterfaces.hh:273
time_t startTime
Timestamp of when the handshake started.
Definition: XrdClPostMasterInterfaces.hh:271
virtual Status WriteMessageBody(int socket, uint32_t &bytesRead)
Definition: XrdClPostMasterInterfaces.hh:209
virtual ~ChannelEventHandler()
Destructor.
Definition: XrdClPostMasterInterfaces.hh:236
StreamAction
Stream actions that may be triggered by incoming control messages.
Definition: XrdClPostMasterInterfaces.hh:309
const URL * url
Destination URL.
Definition: XrdClPostMasterInterfaces.hh:268
Definition: XrdClPostMasterInterfaces.hh:282
const uint16_t suDone
Definition: XrdClStatus.hh:38
uint16_t subStreamId
Sub-stream id.
Definition: XrdClPostMasterInterfaces.hh:270
std::string clientName
Client name (an IPv6 representation)
Definition: XrdClPostMasterInterfaces.hh:274
Message * in
Message that has been received.
Definition: XrdClPostMasterInterfaces.hh:267
StreamEvent
Events that may have occurred to the stream.
Definition: XrdClPostMasterInterfaces.hh:91
uint16_t up
Definition: XrdClPostMasterInterfaces.hh:285
Procedure execution status.
Definition: XrdClStatus.hh:107
uint16_t step
Handshake step.
Definition: XrdClPostMasterInterfaces.hh:265
virtual bool Filter(const Message *msg)=0
uint16_t streamId
Stream number.
Definition: XrdClPostMasterInterfaces.hh:269
Data structure that carries the handshake information.
Definition: XrdClPostMasterInterfaces.hh:256
virtual ~TransportHandler()
Definition: XrdClPostMasterInterfaces.hh:326
Perform the handshake and the authentication for each physical stream.
Definition: XrdClPostMasterInterfaces.hh:302
Definition: XrdClEnv.hh:28
Channel event handler.
Definition: XrdClPostMasterInterfaces.hh:220
Message handler.
Definition: XrdClPostMasterInterfaces.hh:68
virtual uint8_t OnStreamEvent(StreamEvent event, uint16_t streamNum, Status status)
Definition: XrdClPostMasterInterfaces.hh:155
uint16_t down
Definition: XrdClPostMasterInterfaces.hh:286
Action
Actions to be taken after a message is processed by the handler.
Definition: XrdClPostMasterInterfaces.hh:74
Definition: XrdClPostMasterInterfaces.hh:293
URL representation.
Definition: XrdClURL.hh:30
virtual ~MessageFilter()
Definition: XrdClPostMasterInterfaces.hh:49
virtual Status ReadMessageBody(Message *msg, int socket, uint32_t &bytesRead)
Definition: XrdClPostMasterInterfaces.hh:139
virtual void Process(Message *msg)
Definition: XrdClPostMasterInterfaces.hh:126
virtual ~OutgoingMsgHandler()
Definition: XrdClPostMasterInterfaces.hh:170
virtual uint16_t GetSid() const =0
Message status handler.
Definition: XrdClPostMasterInterfaces.hh:167
PathID(uint16_t u=0, uint16_t d=0)
Definition: XrdClPostMasterInterfaces.hh:284
virtual void OnReadyToSend(Message *msg, uint16_t streamNum)
Definition: XrdClPostMasterInterfaces.hh:187
ChannelEvent
Events that may have occurred to the channel.
Definition: XrdClPostMasterInterfaces.hh:226
virtual bool IsRaw() const
Definition: XrdClPostMasterInterfaces.hh:197
HandShakeData(const URL *addr, uint16_t stream, uint16_t subStream)
Constructor.
Definition: XrdClPostMasterInterfaces.hh:261
Message * out
Message to be sent out.
Definition: XrdClPostMasterInterfaces.hh:266
std::string streamName
Name of the stream.
Definition: XrdClPostMasterInterfaces.hh:275