Go to the documentation of this file.
25 #ifndef __XRD_CL_XROOTD_TRANSPORT_HH__
26 #define __XRD_CL_XROOTD_TRANSPORT_HH__
38 struct XRootDChannelInfo;
39 struct PluginUnloadHandler;
202 uint16_t subStreamId );
267 XRootDChannelInfo *info );
274 XRootDChannelInfo *info );
280 XRootDChannelInfo *info );
286 XRootDChannelInfo *info );
292 XRootDChannelInfo *info );
298 XRootDChannelInfo *info );
304 XRootDChannelInfo *info );
310 XRootDChannelInfo *info );
316 XRootDChannelInfo *info );
323 XRootDChannelInfo *info );
344 XRootDChannelInfo *info );
350 XRootDChannelInfo *info );
367 #endif // __XRD_CL_XROOTD_TRANSPORT_HANDLER_HH__
virtual void MessageSent(Message *msg, uint16_t streamId, uint16_t subStream, uint32_t bytesSent, AnyObject &channelData)
Notify the transport about a message having been sent.
static void LogErrorResponse(const Message &msg)
Log server error response.
XrdSecProtocol *(* XrdSecGetProt_t)(const char *, XrdNetAddrInfo &, XrdSecParameters &, XrdOucErrInfo *)
Typedef to simplify the encoding of methods returning XrdSecProtocol.
Definition: XrdSecInterface.hh:465
virtual uint32_t MessageReceived(Message *msg, uint16_t streamId, uint16_t subStream, AnyObject &channelData)
Check if the message invokes a stream action.
Status ProcessLogInResp(HandShakeData *hsData, XRootDChannelInfo *info)
Status CleanUpAuthentication(XRootDChannelInfo *info)
XRootD transport handler.
Definition: XrdClXRootDTransport.hh:54
Definition: XrdClPostMasterInterfaces.hh:283
static void SetDescription(Message *msg)
Get the description of a message.
~XRootDTransport()
Destructor.
virtual void FinalizeChannel(AnyObject &channelData)
Finalize channel.
static Status MarshallRequest(Message *msg)
Marshal the outgoing message.
static uint16_t NbConnectedStrm(AnyObject &channelData)
Number of currently connected data streams.
friend struct PluginUnloadHandler
Definition: XrdClXRootDTransport.hh:362
XRootD related protocol queries.
Definition: XrdClXRootDTransport.hh:45
Status GetSignature(Message *toSign, Message *&sign, XRootDChannelInfo *info)
Get signature for given message.
Status CleanUpProtection(XRootDChannelInfo *info)
Status DoAuthentication(HandShakeData *hsData, XRootDChannelInfo *info)
virtual bool NeedControlConnection()
Definition: XrdClXRootDTransport.hh:161
Status GetCredentials(XrdSecCredentials *&credentials, HandShakeData *hsData, XRootDChannelInfo *info)
The message representation used throughout the system.
Definition: XrdClMessage.hh:30
virtual uint16_t StreamNumber(AnyObject &channelData)
Return a number of streams that should be created.
PluginUnloadHandler * pSecUnloadHandler
Definition: XrdClXRootDTransport.hh:363
virtual PathID MultiplexSubStream(Message *msg, uint16_t streamId, AnyObject &channelData, PathID *hint=0)
virtual Status GetHeader(Message *message, int socket)
static const uint16_t ServerFlags
returns server flags
Definition: XrdClXRootDTransport.hh:46
Status HandShakeParallel(HandShakeData *handShakeData, AnyObject &channelData)
virtual Status Query(uint16_t query, AnyObject &result, AnyObject &channelData)
Query the channel.
Data structure that carries the handshake information.
Definition: XrdClPostMasterInterfaces.hh:257
Status ProcessEndSessionResp(HandShakeData *hsData, XRootDChannelInfo *info)
virtual void InitializeChannel(const URL &url, AnyObject &channelData)
static void UnMarshallHeader(Message *msg)
Unmarshall the header incoming message.
Message * GenerateBind(HandShakeData *hsData, XRootDChannelInfo *info)
Definition: XrdSysPlugin.hh:53
Message * GenerateInitialHSProtocol(HandShakeData *hsData, XRootDChannelInfo *info)
virtual uint16_t SubStreamNumber(AnyObject &channelData)
Return a number of substreams per stream that should be created.
Generic structure to pass security information back and forth.
Definition: XrdSecInterface.hh:51
Definition: XrdSecProtect.hh:56
virtual Status IsStreamBroken(time_t inactiveTime, uint16_t streamId, AnyObject &channelData)
Status ProcessServerHS(HandShakeData *hsData, XRootDChannelInfo *info)
Definition: XrdClAnyObject.hh:26
XRootDTransport()
Constructor.
static std::string FileHandleToStr(const unsigned char handle[4])
virtual void Disconnect(AnyObject &channelData, uint16_t streamId, uint16_t subStreamId)
The stream has been disconnected, do the cleanups.
Message * GenerateLogIn(HandShakeData *hsData, XRootDChannelInfo *info)
static Status UnMarshallBody(Message *msg, uint16_t reqType)
Unmarshall the body of the incoming message.
Status ProcessBindResp(HandShakeData *hsData, XRootDChannelInfo *info)
static std::string ServerFlagsToStr(uint32_t flags)
virtual PathID Multiplex(Message *msg, AnyObject &channelData, PathID *hint=0)
Status HandShakeMain(HandShakeData *handShakeData, AnyObject &channelData)
static const uint16_t ProtocolVersion
returns the protocol version
Definition: XrdClXRootDTransport.hh:47
virtual void InitializeChannel(AnyObject &channelData)
Initialize channel.
virtual Status GetBody(Message *message, int socket)
Procedure execution status.
Definition: XrdClStatus.hh:110
URL representation.
Definition: XrdClURL.hh:31
virtual bool IsStreamTTLElapsed(time_t time, uint16_t streamId, AnyObject &channelData)
Check if the stream should be disconnected.
Status ProcessProtocolResp(HandShakeData *hsData, XRootDChannelInfo *info)
XrdSecGetProt_t GetAuthHandler()
static Status UnMarshallRequest(Message *msg)
virtual Status HandShake(HandShakeData *handShakeData, AnyObject &channelData)
HandShake.
Message * GenerateEndSession(HandShakeData *hsData, XRootDChannelInfo *info)
Perform the handshake and the authentication for each physical stream.
Definition: XrdClPostMasterInterfaces.hh:303
Message * GenerateInitialHS(HandShakeData *hsData, XRootDChannelInfo *info)
virtual Status GetSignature(Message *toSign, Message *&sign, AnyObject &channelData)
Get signature for given message.
Definition: XrdClAnyObject.hh:33
Status ClassifyErrno(int error)
Classify errno while reading/writing.