![]() |
XRootD
|
Perform the handshake and the authentication for each physical stream. More...
#include <XrdClPostMasterInterfaces.hh>
Public Types | |
enum | StreamAction { NoAction = 0x0000 , DigestMsg = 0x0001 , AbortStream = 0x0002 , CloseStream = 0x0004 , ResumeStream = 0x0008 , HoldStream = 0x0010 , RequestClose = 0x0020 } |
Stream actions that may be triggered by incoming control messages. More... | |
Public Member Functions | |
virtual | ~TransportHandler () |
virtual void | DecFileInstCnt (AnyObject &channelData)=0 |
Decrement file object instance count bound to this channel. More... | |
virtual void | Disconnect (AnyObject &channelData, uint16_t subStreamId)=0 |
The stream has been disconnected, do the cleanups. More... | |
virtual void | FinalizeChannel (AnyObject &channelData)=0 |
Finalize channel. More... | |
virtual URL | GetBindPreference (const URL &url, AnyObject &channelData)=0 |
Get bind preference for the next data stream. More... | |
virtual XRootDStatus | GetBody (Message &message, Socket *socket)=0 |
virtual XRootDStatus | GetHeader (Message &message, Socket *socket)=0 |
virtual XRootDStatus | GetMore (Message &message, Socket *socket)=0 |
virtual Status | GetSignature (Message *toSign, Message *&sign, AnyObject &channelData)=0 |
Get signature for given message. More... | |
virtual XRootDStatus | HandShake (HandShakeData *handShakeData, AnyObject &channelData)=0 |
HandHake. More... | |
virtual bool | HandShakeDone (HandShakeData *handShakeData, AnyObject &channelData)=0 |
virtual void | InitializeChannel (const URL &url, AnyObject &channelData)=0 |
Initialize channel. More... | |
virtual Status | IsStreamBroken (time_t inactiveTime, AnyObject &channelData)=0 |
virtual bool | IsStreamTTLElapsed (time_t inactiveTime, AnyObject &channelData)=0 |
Check if the stream should be disconnected. More... | |
virtual uint32_t | MessageReceived (Message &msg, uint16_t subStream, AnyObject &channelData)=0 |
Check if the message invokes a stream action. More... | |
virtual void | MessageSent (Message *msg, uint16_t subStream, uint32_t bytesSent, AnyObject &channelData)=0 |
Notify the transport about a message having been sent. More... | |
virtual PathID | Multiplex (Message *msg, AnyObject &channelData, PathID *hint=0)=0 |
virtual PathID | MultiplexSubStream (Message *msg, AnyObject &channelData, PathID *hint=0)=0 |
virtual bool | NeedEncryption (HandShakeData *handShakeData, AnyObject &channelData)=0 |
virtual Status | Query (uint16_t query, AnyObject &result, AnyObject &channelData)=0 |
Query the channel. More... | |
virtual uint16_t | SubStreamNumber (AnyObject &channelData)=0 |
Return a number of substreams per stream that should be created. More... | |
virtual void | WaitBeforeExit ()=0 |
Wait before exit. More... | |
Perform the handshake and the authentication for each physical stream.
Definition at line 309 of file XrdClPostMasterInterfaces.hh.
Stream actions that may be triggered by incoming control messages.
Definition at line 316 of file XrdClPostMasterInterfaces.hh.
|
inlinevirtual |
Definition at line 333 of file XrdClPostMasterInterfaces.hh.
|
pure virtual |
Decrement file object instance count bound to this channel.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Channel::DecFileInstCnt().
|
pure virtual |
The stream has been disconnected, do the cleanups.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncSocketHandler::Close().
|
pure virtual |
Finalize channel.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Channel::~Channel().
|
pure virtual |
Get bind preference for the next data stream.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::OnConnect().
|
pure virtual |
Read the message body from the socket, the socket is non-blocking, the method may be called multiple times - see GetHeader for details
message | the message buffer containing the header |
socket | the socket |
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncHSReader::Read(), and XrdCl::AsyncMsgReader::Read().
|
pure virtual |
Read a message header from the socket, the socket is non-blocking, so if there is not enough data the function should return errRetry in which case it will be called again when more data arrives, with the data previously read stored in the message buffer
message | the message buffer |
socket | the socket |
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncHSReader::Read(), and XrdCl::AsyncMsgReader::Read().
|
pure virtual |
Read more of the message body from the socket, the socket is non-blocking the method may be called multiple times - see GetHeader for details
message | the message buffer containing the header |
socket | the socket |
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncMsgReader::Read().
|
pure virtual |
Get signature for given message.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncMsgWriter::Write().
|
pure virtual |
HandHake.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncSocketHandler::HandleHandShake(), and XrdCl::AsyncSocketHandler::OnConnectionReturn().
|
pure virtual |
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncSocketHandler::OnTLSHandShake().
|
pure virtual |
Initialize channel.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Channel::Channel().
|
pure virtual |
Check the stream is broken - ie. TCP connection got broken and went undetected by the TCP stack
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::OnReadTimeout().
|
pure virtual |
Check if the stream should be disconnected.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::OnReadTimeout().
|
pure virtual |
Check if the message invokes a stream action.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::OnIncoming().
|
pure virtual |
Notify the transport about a message having been sent.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::OnMessageSent().
|
pure virtual |
Return the ID for the up stream this message should be sent by and the down stream which the answer should be expected at. Modify the message itself if necessary. If hint is non-zero then the message should be modified such that the answer will be returned via the hinted stream.
Implemented in XrdCl::XRootDTransport.
|
pure virtual |
Return the ID for the up substream this message should be sent by and the down substream which the answer should be expected at. Modify the message itself if necessary. If hint is non-zero then the message should be modified such that the answer will be returned via the hinted stream.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::Send().
|
pure virtual |
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::AsyncSocketHandler::HandleHandShake().
|
pure virtual |
Query the channel.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::OnConnect(), and XrdCl::Channel::QueryTransport().
|
pure virtual |
Return a number of substreams per stream that should be created.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::Stream::OnConnect().
|
pure virtual |
Wait before exit.
Implemented in XrdCl::XRootDTransport.
Referenced by XrdCl::PluginUnloadHandler::UnloadHandler().