![]() |
XRootD
|
XRootD transport handler. More...
#include <XrdClXRootDTransport.hh>
Public Member Functions | |
XRootDTransport () | |
Constructor. | |
~XRootDTransport () | |
Destructor. | |
virtual void | DecFileInstCnt (AnyObject &channelData) |
Decrement file object instance count bound to this channel. | |
virtual void | Disconnect (AnyObject &channelData, uint16_t subStreamId) |
The stream has been disconnected, do the cleanups. | |
virtual void | FinalizeChannel (AnyObject &channelData) |
Finalize channel. | |
virtual URL | GetBindPreference (const URL &url, AnyObject &channelData) |
Get bind preference for the next data stream. | |
virtual XRootDStatus | GetBody (Message &message, Socket *socket) |
virtual XRootDStatus | GetHeader (Message &message, Socket *socket) |
virtual XRootDStatus | GetMore (Message &message, Socket *socket) |
virtual Status | GetSignature (Message *toSign, Message *&sign, AnyObject &channelData) |
Get signature for given message. | |
virtual Status | GetSignature (Message *toSign, Message *&sign, XRootDChannelInfo *info) |
Get signature for given message. | |
virtual XRootDStatus | HandShake (HandShakeData *handShakeData, AnyObject &channelData) |
HandShake. | |
virtual bool | HandShakeDone (HandShakeData *handShakeData, AnyObject &channelData) |
virtual void | InitializeChannel (const URL &url, AnyObject &channelData) |
Initialize channel. | |
virtual Status | IsStreamBroken (time_t inactiveTime, AnyObject &channelData) |
virtual bool | IsStreamTTLElapsed (time_t time, AnyObject &channelData) |
Check if the stream should be disconnected. | |
virtual uint32_t | MessageReceived (Message &msg, uint16_t subStream, AnyObject &channelData) |
Check if the message invokes a stream action. | |
virtual void | MessageSent (Message *msg, uint16_t subStream, uint32_t bytesSent, AnyObject &channelData) |
Notify the transport about a message having been sent. | |
virtual PathID | Multiplex (Message *msg, AnyObject &channelData, PathID *hint=0) |
virtual PathID | MultiplexSubStream (Message *msg, AnyObject &channelData, PathID *hint=0) |
virtual bool | NeedControlConnection () |
virtual bool | NeedEncryption (HandShakeData *handShakeData, AnyObject &channelData) |
virtual Status | Query (uint16_t query, AnyObject &result, AnyObject &channelData) |
Query the channel. | |
virtual uint16_t | SubStreamNumber (AnyObject &channelData) |
Return a number of substreams per stream that should be created. | |
virtual void | WaitBeforeExit () |
Wait until the program can safely exit. | |
![]() | |
virtual | ~TransportHandler () |
Static Public Member Functions | |
static void | GenerateDescription (char *msg, std::ostringstream &o) |
Get the description of a message. | |
static void | LogErrorResponse (const Message &msg) |
Log server error response. | |
static XRootDStatus | MarshallRequest (char *msg) |
Marshal the outgoing message. | |
static XRootDStatus | MarshallRequest (Message *msg) |
Marshal the outgoing message. | |
static uint16_t | NbConnectedStrm (AnyObject &channelData) |
Number of currently connected data streams. | |
static void | SetDescription (Message *msg) |
Get the description of a message. | |
static XRootDStatus | UnMarchalStatusMore (Message &msg) |
Unmarshall the correction-segment of the status response for pgwrite. | |
static XRootDStatus | UnMarshallBody (Message *msg, uint16_t reqType) |
Unmarshall the body of the incoming message. | |
static void | UnMarshallHeader (Message &msg) |
Unmarshall the header incoming message. | |
static XRootDStatus | UnMarshallRequest (Message *msg) |
static XRootDStatus | UnMarshalStatusBody (Message &msg, uint16_t reqType) |
Unmarshall the body of the status response. | |
Friends | |
struct | PluginUnloadHandler |
Additional Inherited Members | |
![]() | |
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... | |
XRootD transport handler.
Definition at line 47 of file XrdClXRootDTransport.hh.
XrdCl::XRootDTransport::XRootDTransport | ( | ) |
Constructor.
Definition at line 291 of file XrdClXRootDTransport.cc.
XrdCl::XRootDTransport::~XRootDTransport | ( | ) |
Destructor.
Definition at line 299 of file XrdClXRootDTransport.cc.
|
virtual |
Decrement file object instance count bound to this channel.
Implements XrdCl::TransportHandler.
Definition at line 1812 of file XrdClXRootDTransport.cc.
References XrdCl::XRootDChannelInfo::finstcnt, and XrdCl::AnyObject::Get().
|
virtual |
The stream has been disconnected, do the cleanups.
Implements XrdCl::TransportHandler.
Definition at line 1544 of file XrdClXRootDTransport.cc.
References XrdCl::XRootDStreamInfo::Disconnected, XrdCl::Log::Error(), XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetLog(), XrdCl::XRootDChannelInfo::mutex, XrdCl::XRootDChannelInfo::openFiles, XrdCl::XRootDChannelInfo::sentCloses, XrdCl::XRootDChannelInfo::sentOpens, XrdCl::XRootDChannelInfo::sidManager, XrdCl::XRootDStreamInfo::status, XrdCl::XRootDChannelInfo::stream, XrdCl::XRootDChannelInfo::waitBarrier, and XrdCl::XRootDTransportMsg.
|
virtual |
Finalize channel.
Implements XrdCl::TransportHandler.
Definition at line 460 of file XrdClXRootDTransport.cc.
|
static |
Get the description of a message.
Definition at line 2975 of file XrdClXRootDTransport.cc.
References ClientMvRequest::arg1len, ClientProtocolRequest::clientpv, ClientRequestHdr::dlen, ClientMvRequest::dlen, ClientPgWriteRequest::dlen, ClientQueryRequest::dlen, ClientStatRequest::dlen, ClientTruncateRequest::dlen, ClientWriteRequest::dlen, XrdCl::Log::ErrorMsg, ClientCloseRequest::fhandle, ClientFattrRequest::fhandle, ClientPgReadRequest::fhandle, ClientPgWriteRequest::fhandle, ClientQueryRequest::fhandle, ClientReadRequest::fhandle, readahead_list::fhandle, ClientStatRequest::fhandle, ClientSyncRequest::fhandle, ClientTruncateRequest::fhandle, ClientWriteRequest::fhandle, XrdProto::write_list::fhandle, GenerateDescription(), XrdCl::Log::GetLevel(), XrdCl::DefaultEnv::GetLog(), ClientQueryRequest::infotype, kXR_4dirlist, kXR_async, kXR_chkpoint, kXR_chmod, kXR_ckpBegin, kXR_ckpCommit, kXR_ckpQuery, kXR_ckpRollback, kXR_ckpXeq, kXR_close, kXR_coloc, kXR_compress, kXR_delete, kXR_dirlist, kXR_fattr, kXR_fattrDel, kXR_fattrGet, kXR_fattrList, kXR_fattrSet, kXR_force, kXR_fresh, kXR_locate, kXR_mkdir, kXR_mkdirpath, kXR_mkpath, kXR_mv, kXR_new, kXR_nowait, kXR_open, kXR_open_apnd, kXR_open_read, kXR_open_updt, kXR_open_wrto, kXR_pgread, kXR_pgwrite, kXR_ping, kXR_posc, kXR_prefname, kXR_prepare, kXR_protocol, kXR_Qckscan, kXR_Qcksum, kXR_Qconfig, kXR_Qopaque, kXR_Qopaquf, kXR_Qopaqug, kXR_QPrep, kXR_Qspace, kXR_QStats, kXR_query, kXR_Qvisa, kXR_Qxattr, kXR_read, kXR_readv, kXR_refresh, kXR_replica, kXR_retstat, kXR_rm, kXR_rmdir, kXR_seqio, kXR_set, kXR_stage, kXR_stat, kXR_sync, kXR_truncate, kXR_vfs, kXR_wmode, kXR_write, kXR_writev, ClientChmodRequest::mode, ClientMkdirRequest::mode, ClientOpenRequest::mode, ClientFattrRequest::numattr, ClientPgReadRequest::offset, ClientPgWriteRequest::offset, ClientReadRequest::offset, readahead_list::offset, ClientTruncateRequest::offset, ClientWriteRequest::offset, ClientChkPointRequest::opcode, ClientFattrRequest::options, ClientLocateRequest::options, ClientMkdirRequest::options, ClientOpenRequest::options, ClientPrepareRequest::options, ClientStatRequest::options, ClientPrepareRequest::prty, ClientRequestHdr::requestid, ClientPgReadRequest::rlen, ClientReadRequest::rlen, readahead_list::rlen, ClientFattrRequest::subcode, and XrdProto::write_list::wlen.
Referenced by GenerateDescription(), and SetDescription().
Get bind preference for the next data stream.
Implements XrdCl::TransportHandler.
Definition at line 1911 of file XrdClXRootDTransport.cc.
References XrdCl::XRootDChannelInfo::bindSelector, and XrdCl::AnyObject::Get().
|
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 |
Implements XrdCl::TransportHandler.
Definition at line 347 of file XrdClXRootDTransport.cc.
References XrdCl::Buffer::AdvanceCursor(), XrdCl::Status::code, ServerResponseHeader::dlen, XrdCl::Buffer::GetBuffer(), XrdCl::Buffer::GetBufferAtCursor(), XrdCl::Buffer::GetCursor(), XrdCl::Buffer::GetSize(), XrdCl::Status::IsOK(), XrdCl::Socket::Read(), XrdCl::Buffer::ReAllocate(), XrdCl::stOK, XrdCl::suDone, and XrdCl::suRetry.
|
virtual |
Read a message header from the socket, the socket is non-blocking, so if there is not enough data the function should return suRetry 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 |
Implements XrdCl::TransportHandler.
Definition at line 307 of file XrdClXRootDTransport.cc.
References XrdCl::Buffer::AdvanceCursor(), XrdCl::Buffer::Allocate(), XrdCl::Status::code, XrdCl::Log::Dump(), XrdCl::errInternal, XrdCl::Buffer::GetBuffer(), XrdCl::Buffer::GetBufferAtCursor(), XrdCl::Buffer::GetCursor(), XrdCl::DefaultEnv::GetLog(), XrdCl::Buffer::GetSize(), XrdCl::Status::IsOK(), XrdCl::Socket::Read(), XrdCl::stError, XrdCl::stOK, XrdCl::suDone, XrdCl::suRetry, UnMarshallHeader(), and XrdCl::XRootDTransportMsg.
|
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 |
Implements XrdCl::TransportHandler.
Definition at line 379 of file XrdClXRootDTransport.cc.
References XrdCl::Buffer::AdvanceCursor(), ServerResponseStatus::bdy, XrdCl::Status::code, ServerResponseHeader::dlen, ServerResponseBody_Status::dlen, XrdCl::errDataError, XrdCl::errInvalidMessage, XrdCl::errInvalidOp, XrdCl::Log::Error(), XrdCl::Buffer::GetBuffer(), XrdCl::Buffer::GetBufferAtCursor(), XrdCl::Buffer::GetCursor(), XrdCl::XRootDStatus::GetErrorMessage(), XrdCl::DefaultEnv::GetLog(), XrdCl::Buffer::GetSize(), XrdCl::Status::IsOK(), kXR_status, XrdCl::Socket::Read(), XrdCl::Buffer::ReAllocate(), ServerResponseHeader::status, XrdCl::stError, XrdCl::stOK, XrdCl::suDone, XrdCl::suRetry, UnMarchalStatusMore(), and XrdCl::XRootDTransportMsg.
|
virtual |
Get signature for given message.
Implements XrdCl::TransportHandler.
Definition at line 1772 of file XrdClXRootDTransport.cc.
References XrdCl::AnyObject::Get(), and GetSignature().
Referenced by GetSignature().
|
virtual |
Get signature for given message.
Definition at line 1782 of file XrdClXRootDTransport.cc.
References XrdCl::errInternal, XrdCl::errInvalidOp, XrdCl::Buffer::GetBuffer(), XrdCl::Buffer::Grab(), XrdCl::PluginUnloadHandler::lock, NEED2SECURE, XrdCl::XRootDChannelInfo::protection, XrdSecProtect::Secure(), XrdCl::stError, and XrdCl::PluginUnloadHandler::unloaded.
|
virtual |
HandShake.
Implements XrdCl::TransportHandler.
Definition at line 467 of file XrdClXRootDTransport.cc.
References XrdCl::errInternal, XrdCl::Log::Error(), XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetLog(), XrdCl::XRootDChannelInfo::mutex, XrdCl::stFatal, XrdCl::XRootDChannelInfo::stream, XrdCl::HandShakeData::streamName, XrdCl::XRootDChannelInfo::streamName, XrdCl::HandShakeData::subStreamId, and XrdCl::XRootDTransportMsg.
|
virtual |
Implements XrdCl::TransportHandler.
Definition at line 746 of file XrdClXRootDTransport.cc.
References XrdCl::XRootDStreamInfo::Connected, XrdCl::Log::Error(), XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetLog(), XrdCl::XRootDStreamInfo::status, XrdCl::XRootDChannelInfo::stream, XrdCl::HandShakeData::streamName, XrdCl::HandShakeData::subStreamId, and XrdCl::XRootDTransportMsg.
Initialize channel.
Implements XrdCl::TransportHandler.
Definition at line 439 of file XrdClXRootDTransport.cc.
References XrdCl::DefaultSubStreamsPerChannel, XrdCl::XRootDChannelInfo::encrypted, XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), XrdCl::URL::GetLoginToken(), XrdCl::URL::IsSecure(), XrdCl::URL::IsTPC(), XrdCl::XRootDChannelInfo::istpc, XrdCl::XRootDChannelInfo::logintoken, XrdCl::XRootDChannelInfo::mutex, XrdCl::AnyObject::Set(), XrdCl::XRootDChannelInfo::stream, and XrdCl::XRootDChannelInfo::strmSelector.
|
virtual |
Check the stream is broken - ie. TCP connection got broken and went undetected by the TCP stack
Implements XrdCl::TransportHandler.
Definition at line 819 of file XrdClXRootDTransport.cc.
References XrdCl::DefaultStreamTimeout, XrdCl::Log::Dump(), XrdCl::Log::Error(), XrdCl::errSocketTimeout, XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), XrdCl::DefaultEnv::GetLog(), XrdCl::XRootDChannelInfo::mutex, XrdCl::XRootDChannelInfo::sidManager, XrdCl::stError, XrdCl::XRootDChannelInfo::streamName, XrdCl::Utils::TimeToString(), XrdCl::XRootDChannelInfo::waitBarrier, and XrdCl::XRootDTransportMsg.
|
virtual |
Check if the stream should be disconnected.
Implements XrdCl::TransportHandler.
Definition at line 766 of file XrdClXRootDTransport.cc.
References XrdCl::DefaultDataServerTTL, XrdCl::DefaultLoadBalancerTTL, XrdCl::Log::Dump(), XrdCl::Log::Error(), XrdCl::XRootDChannelInfo::finstcnt, XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), XrdCl::DefaultEnv::GetLog(), kXR_isServer, XrdCl::XRootDChannelInfo::mutex, XrdCl::XRootDChannelInfo::openFiles, XrdCl::XRootDChannelInfo::serverFlags, XrdCl::XRootDChannelInfo::sidManager, XrdCl::XRootDChannelInfo::streamName, and XrdCl::XRootDTransportMsg.
|
static |
Log server error response.
Definition at line 1507 of file XrdClXRootDTransport.cc.
References ServerResponse::body, ServerResponseHeader::dlen, XrdCl::Log::Error(), XrdCl::Buffer::GetBuffer(), XrdCl::DefaultEnv::GetLog(), ServerResponse::hdr, and XrdCl::XRootDTransportMsg.
|
static |
Marshal the outgoing message.
Definition at line 1103 of file XrdClXRootDTransport.cc.
References ClientMvRequest::arg1len, ClientRequest::chkpoint, ClientRequest::chmod, ClientProtocolRequest::clientpv, ClientRequestHdr::dlen, ClientReadVRequest::dlen, ClientWriteVRequest::dlen, ClientRequest::header, ClientQueryRequest::infotype, kXR_chkpoint, kXR_chmod, kXR_ckpXeq, kXR_locate, kXR_login, kXR_mkdir, kXR_mv, kXR_open, kXR_pgread, kXR_pgwrite, kXR_prepare, kXR_protocol, kXR_query, kXR_read, kXR_readv, kXR_truncate, kXR_write, kXR_writev, ClientRequest::locate, ClientRequest::login, MarshallRequest(), ClientRequest::mkdir, ClientChmodRequest::mode, ClientMkdirRequest::mode, ClientOpenRequest::mode, ClientRequest::mv, ClientPgReadRequest::offset, ClientPgWriteRequest::offset, ClientReadRequest::offset, readahead_list::offset, ClientTruncateRequest::offset, ClientWriteRequest::offset, XrdProto::write_list::offset, ClientChkPointRequest::opcode, ClientRequest::open, ClientLocateRequest::options, ClientOpenRequest::options, ClientPrepareRequest::optionX, ClientRequest::pgread, ClientRequest::pgwrite, ClientLoginRequest::pid, ClientPrepareRequest::port, ClientRequest::prepare, ClientRequest::protocol, ClientRequest::query, ClientRequest::read, ClientRequest::readv, ClientRequestHdr::requestid, ClientPgReadRequest::rlen, ClientReadRequest::rlen, readahead_list::rlen, ClientRequest::truncate, XrdProto::write_list::wlen, ClientRequest::write, and ClientRequest::writev.
|
inlinestatic |
Marshal the outgoing message.
Definition at line 175 of file XrdClXRootDTransport.hh.
References XrdCl::Buffer::GetBuffer(), MarshallRequest(), and XrdCl::Message::SetIsMarshalled().
Referenced by MarshallRequest(), MarshallRequest(), MultiplexSubStream(), XrdCl::MessageUtils::RedirectMessage(), XrdCl::MessageUtils::SendMessage(), and UnMarshallRequest().
|
virtual |
Check if the message invokes a stream action.
Implements XrdCl::TransportHandler.
Definition at line 1630 of file XrdClXRootDTransport.cc.
References ServerResponse::body, XrdCl::TransportHandler::DigestMsg, XrdCl::Log::Dump(), XrdCl::Log::Error(), XrdCl::XRootDChannelInfo::finstcnt, XrdCl::AnyObject::Get(), XrdCl::Buffer::GetBuffer(), XrdCl::DefaultEnv::GetLog(), ServerResponse::hdr, kXR_attn, kXR_ok, kXR_wait, kXR_waitresp, XrdCl::XRootDChannelInfo::mutex, XrdCl::TransportHandler::NoAction, XrdCl::XRootDChannelInfo::openFiles, XrdCl::TransportHandler::RequestClose, XrdCl::XRootDChannelInfo::sentCloses, XrdCl::XRootDChannelInfo::sentOpens, XrdCl::XRootDChannelInfo::sidManager, ServerResponseHeader::status, ServerResponseHeader::streamid, XrdCl::XRootDChannelInfo::streamName, XrdCl::XRootDChannelInfo::strmSelector, XrdCl::XRootDChannelInfo::waitBarrier, XrdCl::XRootDMsg, and XrdCl::XRootDTransportMsg.
|
virtual |
Notify the transport about a message having been sent.
Implements XrdCl::TransportHandler.
Definition at line 1738 of file XrdClXRootDTransport.cc.
References XrdCl::AnyObject::Get(), XrdCl::Buffer::GetBuffer(), ClientRequest::header, kXR_close, kXR_open, XrdCl::XRootDChannelInfo::mutex, ClientRequestHdr::requestid, XrdCl::XRootDChannelInfo::sentCloses, XrdCl::XRootDChannelInfo::sentOpens, and ClientRequestHdr::streamid.
|
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.
Implements XrdCl::TransportHandler.
Definition at line 862 of file XrdClXRootDTransport.cc.
|
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.
Implements XrdCl::TransportHandler.
Definition at line 870 of file XrdClXRootDTransport.cc.
References XrdCl::XRootDStreamInfo::Connected, XrdCl::Log::Debug(), ClientPgReadRequest::dlen, ClientReadRequest::dlen, XrdCl::PathID::down, XrdCl::Log::Error(), XrdCl::AnyObject::Get(), XrdCl::Buffer::GetBuffer(), XrdCl::DefaultEnv::GetLog(), XrdCl::Buffer::GetSize(), kXR_isServer, kXR_pgread, kXR_pgwrite, kXR_read, kXR_readv, kXR_write, kXR_writev, MarshallRequest(), XrdCl::XRootDChannelInfo::mutex, ClientPgReadReqArgs::pathid, read_args::pathid, ClientReadVRequest::pathid, XrdCl::Buffer::ReAllocate(), ClientRequestHdr::requestid, XrdCl::XRootDChannelInfo::serverFlags, XrdCl::XRootDChannelInfo::stream, XrdCl::XRootDChannelInfo::streamName, XrdCl::XRootDChannelInfo::strmSelector, UnMarshallRequest(), XrdCl::PathID::up, and XrdCl::XRootDTransportMsg.
|
static |
Number of currently connected data streams.
Definition at line 1521 of file XrdClXRootDTransport.cc.
References XrdCl::XRootDStreamInfo::Connected, XrdCl::Log::Error(), XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetLog(), XrdCl::XRootDChannelInfo::mutex, XrdCl::XRootDChannelInfo::stream, and XrdCl::XRootDTransportMsg.
Referenced by XrdCl::Channel::NbConnectedStrm().
|
inlinevirtual |
Return the information whether a control connection needs to be valid before establishing other connections
Definition at line 167 of file XrdClXRootDTransport.hh.
|
virtual |
Implements XrdCl::TransportHandler.
Definition at line 1832 of file XrdClXRootDTransport.cc.
References XrdCl::XRootDStreamInfo::BindSent, XrdCl::XRootDStreamInfo::Connected, XrdCl::DefaultNoTlsOK, XrdCl::XRootDChannelInfo::encrypted, XrdCl::XRootDStreamInfo::EndSessionSent, XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), kXR_gotoTLS, kXR_tlsData, kXR_tlsLogin, kXR_tlsSess, XrdCl::XRootDStreamInfo::LoginSent, XrdCl::XRootDChannelInfo::serverFlags, XrdCl::XRootDStreamInfo::status, XrdCl::XRootDChannelInfo::stream, and XrdCl::HandShakeData::subStreamId.
|
virtual |
Query the channel.
Implements XrdCl::TransportHandler.
Definition at line 1578 of file XrdClXRootDTransport.cc.
References XrdCl::TransportQuery::Auth, XrdCl::XRootDChannelInfo::authProtocolName, XrdCl::XRootDChannelInfo::encrypted, XrdCl::errInternal, XrdCl::errQueryNotSupported, XrdCl::AnyObject::Get(), XrdCl::XRootDQuery::IsEncrypted, XrdCl::XRootDChannelInfo::mutex, XrdCl::TransportQuery::Name, XrdCl::XRootDQuery::ProtocolVersion, XrdCl::XRootDChannelInfo::protocolVersion, XrdCl::XRootDQuery::ServerFlags, XrdCl::XRootDChannelInfo::serverFlags, XrdCl::AnyObject::Set(), XrdCl::stError, and XrdCl::stFatal.
|
inlinestatic |
Get the description of a message.
Definition at line 245 of file XrdClXRootDTransport.hh.
References GenerateDescription(), XrdCl::Buffer::GetBuffer(), and XrdCl::Message::SetDescription().
Referenced by XrdCl::FileStateHandler::Checkpoint(), XrdCl::FileStateHandler::ChkptWrt(), XrdCl::FileStateHandler::ChkptWrtV(), XrdCl::FileSystem::ChMod(), XrdCl::FileStateHandler::Close(), XrdCl::FileSystem::DirList(), XrdCl::FileStateHandler::Fcntl(), XrdCl::FileSystem::Locate(), XrdCl::FileSystem::MkDir(), XrdCl::FileSystem::Mv(), XrdCl::FileStateHandler::Open(), XrdCl::FileStateHandler::PgReadImpl(), XrdCl::FileStateHandler::PgWriteImpl(), XrdCl::FileSystem::Ping(), XrdCl::FileSystem::Prepare(), XrdCl::FileSystem::Protocol(), XrdCl::FileSystem::Query(), XrdCl::FileStateHandler::Read(), XrdCl::FileStateHandler::ReadV(), XrdCl::MessageUtils::RewriteCGIAndPath(), XrdCl::FileSystem::Rm(), XrdCl::FileSystem::RmDir(), XrdCl::FileSystem::Stat(), XrdCl::FileStateHandler::Stat(), XrdCl::FileSystem::StatVFS(), XrdCl::FileStateHandler::Sync(), XrdCl::FileSystem::Truncate(), XrdCl::FileStateHandler::Truncate(), XrdCl::FileStateHandler::VectorRead(), XrdCl::FileStateHandler::VectorWrite(), XrdCl::FileStateHandler::Visa(), XrdCl::FileStateHandler::Write(), and XrdCl::FileStateHandler::WriteV().
|
virtual |
Return a number of substreams per stream that should be created.
Implements XrdCl::TransportHandler.
Definition at line 1042 of file XrdClXRootDTransport.cc.
References XrdCl::DefaultTlsNoData, XrdCl::XRootDChannelInfo::encrypted, XrdCl::Log::Error(), XrdCl::AnyObject::Get(), XrdCl::DefaultEnv::GetEnv(), XrdCl::Env::GetInt(), XrdCl::DefaultEnv::GetLog(), XrdCl::XRootDChannelInfo::istpc, kXR_gotoTLS, kXR_isServer, kXR_tlsData, kXR_tlsLogin, kXR_tlsSess, XrdCl::XRootDChannelInfo::mutex, XrdCl::XRootDChannelInfo::serverFlags, XrdCl::XRootDChannelInfo::stream, XrdCl::XRootDChannelInfo::strmSelector, and XrdCl::XRootDTransportMsg.
|
static |
Unmarshall the correction-segment of the status response for pgwrite.
Definition at line 1434 of file XrdClXRootDTransport.cc.
References ServerResponseStatus::bdy, XrdOucCRC::Calc32C(), ServerResponseBody_pgWrCSE::cseCRC, ServerResponseBody_Status::dlen, ServerResponseBody_pgWrCSE::dlFirst, ServerResponseBody_pgWrCSE::dlLast, XrdCl::errDataError, XrdCl::errInvalidMessage, XrdCl::errNotSupported, XrdCl::Buffer::GetBuffer(), kXR_1stRequest, kXR_pgwrite, ServerResponseBody_Status::requestid, ServerResponseV2::status, and XrdCl::stError.
Referenced by GetMore().
|
static |
Unmarshall the body of the incoming message.
Definition at line 1280 of file XrdClXRootDTransport.cc.
References ServerResponse::body, ServerResponseHeader::dlen, XrdCl::errInvalidMessage, XrdCl::Buffer::GetBuffer(), ServerResponse::hdr, kXR_attn, kXR_error, kXR_ok, kXR_protocol, kXR_redirect, kXR_wait, kXR_waitresp, ServerResponseHeader::status, and XrdCl::stError.
Referenced by XrdCl::XRootDMsgHandler::Process().
|
static |
Unmarshall the header incoming message.
Definition at line 1497 of file XrdClXRootDTransport.cc.
References ServerResponseHeader::dlen, XrdCl::Buffer::GetBuffer(), and ServerResponseHeader::status.
Referenced by GetHeader().
|
static |
Unmarshall the request - sometimes the requests need to be rewritten, so we need to unmarshall them
Definition at line 1259 of file XrdClXRootDTransport.cc.
References ClientRequestHdr::dlen, XrdCl::Buffer::GetBuffer(), ClientRequest::header, XrdCl::Message::IsMarshalled(), MarshallRequest(), ClientRequestHdr::requestid, XrdCl::Message::SetIsMarshalled(), XrdCl::stOK, and XrdCl::suAlreadyDone.
Referenced by MultiplexSubStream(), XrdCl::MessageUtils::RedirectMessage(), and XrdCl::MessageUtils::SendMessage().
|
static |
Unmarshall the body of the status response.
Definition at line 1358 of file XrdClXRootDTransport.cc.
References ServerResponseStatus::bdy, XrdOucCRC::Calc32C(), ServerResponseBody_Status::crc32c, ServerResponseHeader::dlen, ServerResponseBody_Status::dlen, XrdCl::errDataError, XrdCl::errInvalidMessage, XrdCl::Buffer::GetBuffer(), XrdCl::Buffer::GetSize(), ServerResponseStatus::hdr, kXR_1stRequest, kXR_pgread, kXR_pgwrite, ServerResponseBody_pgRead::offset, ServerResponseBody_pgWrite::offset, ServerResponseBody_Status::requestid, XrdCl::stError, ServerResponseHeader::streamid, and ServerResponseBody_Status::streamID.
Referenced by XrdCl::XRootDMsgHandler::InspectStatusRsp().
|
virtual |
Wait until the program can safely exit.
Implements XrdCl::TransportHandler.
Definition at line 1823 of file XrdClXRootDTransport.cc.
References XrdCl::PluginUnloadHandler::lock, and XrdCl::PluginUnloadHandler::unloaded.
|
friend |
Definition at line 432 of file XrdClXRootDTransport.hh.