25 #ifndef __XRD_CL_POST_MASTER_INTERFACES_HH__ 26 #define __XRD_CL_POST_MASTER_INTERFACES_HH__ 71 RemoveHandler = 0x0004,
105 virtual uint16_t Examine(
Message *msg ) = 0;
127 uint32_t &bytesRead )
129 (void)msg; (void)socket; (void)bytesRead;
145 (void)event; (void)streamNum; (void)status;
161 virtual void OnStatusReady(
const Message *message,
175 (void)msg; (void)streamNum;
183 virtual bool IsRaw()
const {
return false; }
196 uint32_t &bytesRead )
198 (void)socket; (void)bytesRead;
235 uint16_t stream ) = 0;
248 step(0), out(0), in(0), url(addr), streamId(stream),
249 subStreamId( subStream ), startTime( time(0) ), serverAddr(0)
270 PathID( uint16_t u = 0, uint16_t d = 0 ): up(u), down(d) {}
281 static const uint16_t Name = 1;
282 static const uint16_t Auth = 2;
299 AbortStream = 0x0002,
301 CloseStream = 0x0004,
304 ResumeStream = 0x0008,
325 virtual Status GetHeader(
Message *message,
int socket ) = 0;
342 virtual void InitializeChannel(
AnyObject &channelData ) = 0;
347 virtual void FinalizeChannel(
AnyObject &channelData ) = 0;
358 virtual bool IsStreamTTLElapsed( time_t inactiveTime,
366 virtual Status IsStreamBroken( time_t inactiveTime,
396 virtual uint16_t StreamNumber(
AnyObject &channelData ) = 0;
401 virtual uint16_t SubStreamNumber(
AnyObject &channelData ) = 0;
406 virtual void Disconnect(
AnyObject &channelData,
408 uint16_t subStreamId ) = 0;
413 virtual Status Query( uint16_t query,
420 virtual uint32_t MessageReceived(
Message *msg,
428 virtual void MessageSent(
Message *msg,
436 #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:96
virtual bool IsRaw() const
Definition: XrdClPostMasterInterfaces.hh:183
The message representation used throughout the system.
Definition: XrdClMessage.hh:29
const XrdNetAddr * serverAddr
Server address.
Definition: XrdClPostMasterInterfaces.hh:259
time_t startTime
Timestamp of when the handshake started.
Definition: XrdClPostMasterInterfaces.hh:257
virtual Status WriteMessageBody(int socket, uint32_t &bytesRead)
Definition: XrdClPostMasterInterfaces.hh:195
virtual ~ChannelEventHandler()
Destructor.
Definition: XrdClPostMasterInterfaces.hh:222
StreamAction
Stream actions that may be triggered by incoming control messages.
Definition: XrdClPostMasterInterfaces.hh:295
const URL * url
Destination URL.
Definition: XrdClPostMasterInterfaces.hh:254
Definition: XrdClPostMasterInterfaces.hh:268
const uint16_t suDone
Definition: XrdClStatus.hh:38
uint16_t subStreamId
Sub-stream id.
Definition: XrdClPostMasterInterfaces.hh:256
std::string clientName
Client name (an IPv6 representation)
Definition: XrdClPostMasterInterfaces.hh:260
Message * in
Message that has been received.
Definition: XrdClPostMasterInterfaces.hh:253
StreamEvent
Events that may have occurred to the stream.
Definition: XrdClPostMasterInterfaces.hh:84
uint16_t up
Definition: XrdClPostMasterInterfaces.hh:271
Procedure execution status.
Definition: XrdClStatus.hh:106
uint16_t step
Handshake step.
Definition: XrdClPostMasterInterfaces.hh:251
virtual bool Filter(const Message *msg)=0
uint16_t streamId
Stream number.
Definition: XrdClPostMasterInterfaces.hh:255
Data structure that carries the handshake information.
Definition: XrdClPostMasterInterfaces.hh:242
virtual ~TransportHandler()
Definition: XrdClPostMasterInterfaces.hh:311
Perform the handshake and the authentication for each physical stream.
Definition: XrdClPostMasterInterfaces.hh:288
Definition: XrdClEnv.hh:28
Channel event handler.
Definition: XrdClPostMasterInterfaces.hh:206
Message handler.
Definition: XrdClPostMasterInterfaces.hh:61
virtual uint8_t OnStreamEvent(StreamEvent event, uint16_t streamNum, Status status)
Definition: XrdClPostMasterInterfaces.hh:141
uint16_t down
Definition: XrdClPostMasterInterfaces.hh:272
Action
Actions to be taken after a message is processed by the handler.
Definition: XrdClPostMasterInterfaces.hh:67
Definition: XrdClPostMasterInterfaces.hh:279
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:125
virtual void Process(Message *msg)
Definition: XrdClPostMasterInterfaces.hh:112
virtual ~OutgoingMsgHandler()
Definition: XrdClPostMasterInterfaces.hh:156
Message status handler.
Definition: XrdClPostMasterInterfaces.hh:153
PathID(uint16_t u=0, uint16_t d=0)
Definition: XrdClPostMasterInterfaces.hh:270
virtual void OnReadyToSend(Message *msg, uint16_t streamNum)
Definition: XrdClPostMasterInterfaces.hh:173
ChannelEvent
Events that may have occurred to the channel.
Definition: XrdClPostMasterInterfaces.hh:212
HandShakeData(const URL *addr, uint16_t stream, uint16_t subStream)
Constructor.
Definition: XrdClPostMasterInterfaces.hh:247
Message * out
Message to be sent out.
Definition: XrdClPostMasterInterfaces.hh:252
std::string streamName
Name of the stream.
Definition: XrdClPostMasterInterfaces.hh:261