xrootd
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
XrdCl::XRootDMsgHandler Class Reference

Handle/Process/Forward XRootD messages. More...

#include <XrdClXRootDMsgHandler.hh>

Inheritance diagram for XrdCl::XRootDMsgHandler:
Inheritance graph
[legend]
Collaboration diagram for XrdCl::XRootDMsgHandler:
Collaboration graph
[legend]

Classes

struct  ChunkStatus
 

Public Member Functions

 XRootDMsgHandler (Message *msg, ResponseHandler *respHandler, const URL *url, std::shared_ptr< SIDManager > sidMgr, LocalFileHandler *lFileHandler)
 
 ~XRootDMsgHandler ()
 Destructor.
 
virtual uint16_t Examine (std::shared_ptr< Message > &msg)
 
virtual uint16_t InspectStatusRsp ()
 
virtual uint16_t GetSid () const
 
virtual void Process ()
 
virtual XRootDStatus ReadMessageBody (Message *msg, Socket *socket, uint32_t &bytesRead)
 
virtual uint8_t OnStreamEvent (StreamEvent event, XRootDStatus status)
 
virtual void OnStatusReady (const Message *message, XRootDStatus status)
 The requested action has been performed and the status is available.
 
virtual bool IsRaw () const
 Are we a raw writer or not?
 
XRootDStatus WriteMessageBody (Socket *socket, uint32_t &bytesWritten)
 
void WaitDone (time_t now)
 
void SetExpiration (time_t expiration)
 Set a timestamp after which we give up.
 
time_t GetExpiration ()
 Get a timestamp after which we give up.
 
void SetRedirectAsAnswer (bool redirectAsAnswer)
 
void SetOksofarAsAnswer (bool oksofarAsAnswer)
 
const MessageGetRequest () const
 Get the request pointer.
 
void SetLoadBalancer (const HostInfo &loadBalancer)
 Set the load balancer.
 
void SetHostList (HostList *hostList)
 Set host list.
 
void SetChunkList (ChunkList *chunkList)
 Set the chunk list.
 
void SetCrc32cDigests (std::vector< uint32_t > &&crc32cDigests)
 
void SetKernelBuffer (XrdSys::KernelBuffer *kbuff)
 Set the kernel buffer.
 
void SetRedirectCounter (uint16_t redirectCounter)
 Set the redirect counter.
 
void SetFollowMetalink (bool followMetalink)
 
void SetStateful (bool stateful)
 
void PartialReceived ()
 
- Public Member Functions inherited from XrdCl::MsgHandler
virtual ~MsgHandler ()
 Event types that the message handler may receive.
 
virtual void OnReadyToSend (Message *msg)
 

Private Types

typedef std::list< std::unique_ptr< RedirectEntry > > RedirectTraceBack
 

Private Member Functions

void HandleError (XRootDStatus status)
 Recover error.
 
Status RetryAtServer (const URL &url, RedirectEntry::Type entryType)
 Retry the request at another server.
 
void HandleResponse ()
 Unpack the message and call the response handler.
 
XRootDStatusProcessStatus ()
 Extract the status information from the stuff that we got.
 
Status ParseResponse (AnyObject *&response)
 
Status ParseXAttrResponse (char *data, size_t len, AnyObject *&response)
 
Status RewriteRequestRedirect (const URL &newUrl)
 
Status RewriteRequestWait ()
 Some requests need to be rewritten also after getting kXR_wait - sigh.
 
void UpdateTriedCGI (uint32_t errNo=0)
 Update the "tried=" part of the CGI of the current message.
 
void SwitchOnRefreshFlag ()
 Switch on the refresh flag for some requests.
 
void HandleRspOrQueue ()
 
void HandleLocalRedirect (URL *url)
 Handle a redirect to a local file.
 
bool IsRetriable ()
 
bool OmitWait (Message &request, const URL &url)
 
bool RetriableErrorResponse (const Status &status)
 
void DumpRedirectTraceBack ()
 Dump the redirect-trace-back into the log file.
 
template<typename T >
Status ReadFromBuffer (char *&buffer, size_t &buflen, T &result)
 
Status ReadFromBuffer (char *&buffer, size_t &buflen, std::string &result)
 
Status ReadFromBuffer (char *&buffer, size_t &buflen, size_t size, std::string &result)
 

Static Private Member Functions

static size_t NbPgPerRsp (uint64_t offset, uint32_t dlen)
 

Private Attributes

MessagepRequest
 
std::shared_ptr< MessagepResponse
 
std::vector< std::shared_ptr< Message > > pPartialResps
 
ResponseHandlerpResponseHandler
 
URL pUrl
 
URLpEffectiveDataServerUrl
 
PostMasterpPostMaster
 
std::shared_ptr< SIDManagerpSidMgr
 
LocalFileHandlerpLFileHandler
 
XRootDStatus pStatus
 
Status pLastError
 
time_t pExpiration
 
bool pRedirectAsAnswer
 
bool pOksofarAsAnswer
 
std::unique_ptr< HostListpHosts
 
bool pHasLoadBalancer
 
HostInfo pLoadBalancer
 
bool pHasSessionId
 
std::string pRedirectUrl
 
ChunkListpChunkList
 
std::vector< uint32_t > pCrc32cDigests
 
XrdSys::KernelBufferpKBuff
 
std::vector< ChunkStatuspChunkStatus
 
uint16_t pRedirectCounter
 
uint16_t pNotAuthorizedCounter
 
uint32_t pAsyncOffset
 
uint32_t pAsyncChunkIndex
 
std::unique_ptr< AsyncPageReaderpPageReader
 
std::unique_ptr< AsyncRawReaderIntfcpBodyReader
 
Buffer pPgWrtCksumBuff
 
uint32_t pPgWrtCurrentPageOffset
 
uint32_t pPgWrtCurrentPageNb
 
bool pOtherRawStarted
 
bool pFollowMetalink
 
bool pStateful
 
int pAggregatedWaitTime
 
std::unique_ptr< RedirectEntrypRdirEntry
 
RedirectTraceBack pRedirectTraceBack
 
bool pMsgInFly
 
std::atomic< bool > pTimeoutFence
 
bool pDirListStarted
 
bool pDirListWithStat
 
XrdSysCondVar pCV
 
size_t pSslErrCnt
 

Static Private Attributes

static const size_t CksumSize = sizeof( uint32_t )
 
static const size_t PageWithCksum = XrdSys::PageSize + CksumSize
 
static const size_t MaxSslErrRetry = 3
 

Friends

class HandleRspJob
 

Additional Inherited Members

- Public Types inherited from XrdCl::MsgHandler
enum  Action {
  None = 0x0000 , Nop = 0x0001 , Ignore = 0x0002 , RemoveHandler = 0x0004 ,
  Raw = 0x0008 , NoProcess = 0x0010 , Corrupted = 0x0020 , More = 0x0040
}
 Actions to be taken after a message is processed by the handler. More...
 
enum  StreamEvent { Ready = 1 , Broken = 2 , Timeout = 3 , FatalError = 4 }
 Events that may have occurred to the stream. More...
 

Detailed Description

Handle/Process/Forward XRootD messages.

Member Typedef Documentation

◆ RedirectTraceBack

typedef std::list<std::unique_ptr<RedirectEntry> > XrdCl::XRootDMsgHandler::RedirectTraceBack
private

Constructor & Destructor Documentation

◆ XRootDMsgHandler()

XrdCl::XRootDMsgHandler::XRootDMsgHandler ( Message msg,
ResponseHandler respHandler,
const URL url,
std::shared_ptr< SIDManager sidMgr,
LocalFileHandler lFileHandler 
)
inline

Constructor

Parameters
msgmessage that has been sent out
respHandlerresponse handler to be called then the final final response arrives
urlthe url the message has been sent to
sidMgrthe sid manager used to allocate SID for the initial message

References XrdOucPgrwUtils::csNum(), XrdCl::Log::Debug(), XrdCl::ExDbgMsg, XrdCl::Buffer::GetBuffer(), XrdCl::Message::GetDescription(), XrdCl::URL::GetHostId(), XrdCl::DefaultEnv::GetLog(), XrdCl::DefaultEnv::GetPostMaster(), XrdCl::Message::GetSessionId(), kXR_pgread, kXR_read, kXR_readv, ClientPgReadRequest::offset, pBodyReader, pCrc32cDigests, pHasSessionId, pPostMaster, pRequest, pUrl, ClientRequestHdr::requestid, and ClientPgReadRequest::rlen.

◆ ~XRootDMsgHandler()

XrdCl::XRootDMsgHandler::~XRootDMsgHandler ( )
inline

Member Function Documentation

◆ DumpRedirectTraceBack()

void XrdCl::XRootDMsgHandler::DumpRedirectTraceBack ( )
private

Dump the redirect-trace-back into the log file.

Referenced by ~XRootDMsgHandler().

◆ Examine()

virtual uint16_t XrdCl::XRootDMsgHandler::Examine ( std::shared_ptr< Message > &  msg)
virtual

Examine an incoming message, and decide on the action to be taken

Parameters
msgthe message, may be zero if receive failed
Returns
action type that needs to be take wrt the message and the handler

Implements XrdCl::MsgHandler.

◆ GetExpiration()

time_t XrdCl::XRootDMsgHandler::GetExpiration ( )
inlinevirtual

Get a timestamp after which we give up.

Implements XrdCl::MsgHandler.

References pExpiration.

◆ GetRequest()

const Message * XrdCl::XRootDMsgHandler::GetRequest ( ) const
inline

Get the request pointer.

References pRequest.

◆ GetSid()

virtual uint16_t XrdCl::XRootDMsgHandler::GetSid ( ) const
virtual

Get handler sid

return sid of the corresponding request, otherwise 0

Implements XrdCl::MsgHandler.

◆ HandleError()

void XrdCl::XRootDMsgHandler::HandleError ( XRootDStatus  status)
private

Recover error.

◆ HandleLocalRedirect()

void XrdCl::XRootDMsgHandler::HandleLocalRedirect ( URL url)
private

Handle a redirect to a local file.

◆ HandleResponse()

void XrdCl::XRootDMsgHandler::HandleResponse ( )
private

Unpack the message and call the response handler.

◆ HandleRspOrQueue()

void XrdCl::XRootDMsgHandler::HandleRspOrQueue ( )
private

If the current thread is a worker thread from our thread-pool handle the response, otherwise submit a new task to the thread-pool

◆ InspectStatusRsp()

virtual uint16_t XrdCl::XRootDMsgHandler::InspectStatusRsp ( )
virtual

Reexamine the incoming message, and decide on the action to be taken

In case of kXR_status the message can be only fully examined after reading the whole body (without raw data).

Parameters
msgthe message, may be zero if receive failed
Returns
action type that needs to be take wrt the message and the handler

Implements XrdCl::MsgHandler.

◆ IsRaw()

virtual bool XrdCl::XRootDMsgHandler::IsRaw ( ) const
virtual

Are we a raw writer or not?

Reimplemented from XrdCl::MsgHandler.

◆ IsRetriable()

bool XrdCl::XRootDMsgHandler::IsRetriable ( )
private

Check if it is OK to retry this request

Parameters
reuqest: the request in question
Returns
: true if yes, false if no

◆ NbPgPerRsp()

static size_t XrdCl::XRootDMsgHandler::NbPgPerRsp ( uint64_t  offset,
uint32_t  dlen 
)
inlinestaticprivate

◆ OmitWait()

bool XrdCl::XRootDMsgHandler::OmitWait ( Message request,
const URL url 
)
private

Check if for given request and Metalink redirector it is OK to omit the kXR_wait and proceed stright to the next entry in the Metalink file

Parameters
request: the request in question
url: metalink URL
Returns
: true if yes, false if no

◆ OnStatusReady()

virtual void XrdCl::XRootDMsgHandler::OnStatusReady ( const Message message,
XRootDStatus  status 
)
virtual

The requested action has been performed and the status is available.

Implements XrdCl::MsgHandler.

◆ OnStreamEvent()

virtual uint8_t XrdCl::XRootDMsgHandler::OnStreamEvent ( StreamEvent  event,
XRootDStatus  status 
)
virtual

Handle an event other that a message arrival

Parameters
eventtype of the event
statusstatus info

Reimplemented from XrdCl::MsgHandler.

◆ ParseResponse()

Status XrdCl::XRootDMsgHandler::ParseResponse ( AnyObject *&  response)
private

Parse the response and put it in an object that could be passed to the user

◆ ParseXAttrResponse()

Status XrdCl::XRootDMsgHandler::ParseXAttrResponse ( char *  data,
size_t  len,
AnyObject *&  response 
)
private

Parse the response to kXR_fattr request and put it in an object that could be passed to the user

◆ PartialReceived()

void XrdCl::XRootDMsgHandler::PartialReceived ( )

Bookkeeping after partial response has been received:

  • take down the timeout fence after oksofar response has been handled
  • reset status-response-body marshaled flag

◆ Process()

virtual void XrdCl::XRootDMsgHandler::Process ( )
virtual

Process the message if it was "taken" by the examine action

Parameters
msgthe message to be processed

Reimplemented from XrdCl::MsgHandler.

◆ ProcessStatus()

XRootDStatus * XrdCl::XRootDMsgHandler::ProcessStatus ( )
private

Extract the status information from the stuff that we got.

◆ ReadFromBuffer() [1/3]

Status XrdCl::XRootDMsgHandler::ReadFromBuffer ( char *&  buffer,
size_t &  buflen,
size_t  size,
std::string &  result 
)
private

Read a string from buffer

Parameters
buffer: the buffer with data
buflen: size of the buffer
size: size of the data to read
result: output parameter (data read)
Returns
: status of the operation

◆ ReadFromBuffer() [2/3]

Status XrdCl::XRootDMsgHandler::ReadFromBuffer ( char *&  buffer,
size_t &  buflen,
std::string &  result 
)
private

Read a string from buffer

Parameters
buffer: the buffer with data
buflen: the size of the buffer
result: output parameter (data read)
Returns
: status of the operation

◆ ReadFromBuffer() [3/3]

template<typename T >
Status XrdCl::XRootDMsgHandler::ReadFromBuffer ( char *&  buffer,
size_t &  buflen,
T &  result 
)
private

Read data from buffer

Parameters
buffer: the buffer with data
buflen: the size of the buffer
result: output parameter (data read)
Returns
: status of the operation

◆ ReadMessageBody()

virtual XRootDStatus XrdCl::XRootDMsgHandler::ReadMessageBody ( Message msg,
Socket socket,
uint32_t &  bytesRead 
)
virtual

Read message body directly from a socket - called if Examine returns Raw flag - only socket related errors may be returned here

Parameters
msgthe corresponding message header
socketthe socket to read from
bytesReadnumber of bytes read by the method
Returns
stOK & suDone if the whole body has been processed stOK & suRetry if more data is needed stError on failure

Reimplemented from XrdCl::MsgHandler.

◆ RetriableErrorResponse()

bool XrdCl::XRootDMsgHandler::RetriableErrorResponse ( const Status status)
private

Checks if the given error returned by server is retriable.

Parameters
status: the status returned by the server
Returns
: true if the load-balancer is a MetaManager and the error is retriable for MetaManagers

◆ RetryAtServer()

Status XrdCl::XRootDMsgHandler::RetryAtServer ( const URL url,
RedirectEntry::Type  entryType 
)
private

Retry the request at another server.

◆ RewriteRequestRedirect()

Status XrdCl::XRootDMsgHandler::RewriteRequestRedirect ( const URL newUrl)
private

Perform the changes to the original request needed by the redirect procedure - allocate new streamid, append redirection data and such

◆ RewriteRequestWait()

Status XrdCl::XRootDMsgHandler::RewriteRequestWait ( )
private

Some requests need to be rewritten also after getting kXR_wait - sigh.

◆ SetChunkList()

void XrdCl::XRootDMsgHandler::SetChunkList ( ChunkList chunkList)
inline

Set the chunk list.

References pBodyReader, pChunkList, and pChunkStatus.

◆ SetCrc32cDigests()

void XrdCl::XRootDMsgHandler::SetCrc32cDigests ( std::vector< uint32_t > &&  crc32cDigests)
inline

References pCrc32cDigests.

◆ SetExpiration()

void XrdCl::XRootDMsgHandler::SetExpiration ( time_t  expiration)
inline

Set a timestamp after which we give up.

References pExpiration.

◆ SetFollowMetalink()

void XrdCl::XRootDMsgHandler::SetFollowMetalink ( bool  followMetalink)
inline

References pFollowMetalink.

◆ SetHostList()

void XrdCl::XRootDMsgHandler::SetHostList ( HostList hostList)
inline

Set host list.

References pHosts.

◆ SetKernelBuffer()

void XrdCl::XRootDMsgHandler::SetKernelBuffer ( XrdSys::KernelBuffer kbuff)
inline

Set the kernel buffer.

References pKBuff.

◆ SetLoadBalancer()

void XrdCl::XRootDMsgHandler::SetLoadBalancer ( const HostInfo loadBalancer)
inline

Set the load balancer.

References XrdCl::URL::IsValid(), pHasLoadBalancer, pLoadBalancer, and XrdCl::HostInfo::url.

◆ SetOksofarAsAnswer()

void XrdCl::XRootDMsgHandler::SetOksofarAsAnswer ( bool  oksofarAsAnswer)
inline

Treat the kXR_oksofar response as a valid answer to the message and notify the handler with the URL as a response

References pOksofarAsAnswer.

◆ SetRedirectAsAnswer()

void XrdCl::XRootDMsgHandler::SetRedirectAsAnswer ( bool  redirectAsAnswer)
inline

Treat the kXR_redirect response as a valid answer to the message and notify the handler with the URL as a response

References pRedirectAsAnswer.

◆ SetRedirectCounter()

void XrdCl::XRootDMsgHandler::SetRedirectCounter ( uint16_t  redirectCounter)
inline

Set the redirect counter.

References pRedirectCounter.

◆ SetStateful()

void XrdCl::XRootDMsgHandler::SetStateful ( bool  stateful)
inline

References pStateful.

◆ SwitchOnRefreshFlag()

void XrdCl::XRootDMsgHandler::SwitchOnRefreshFlag ( )
private

Switch on the refresh flag for some requests.

◆ UpdateTriedCGI()

void XrdCl::XRootDMsgHandler::UpdateTriedCGI ( uint32_t  errNo = 0)
private

Update the "tried=" part of the CGI of the current message.

◆ WaitDone()

void XrdCl::XRootDMsgHandler::WaitDone ( time_t  now)

Called after the wait time for kXR_wait has elapsed

Parameters
nowcurrent timestamp

◆ WriteMessageBody()

XRootDStatus XrdCl::XRootDMsgHandler::WriteMessageBody ( Socket socket,
uint32_t &  bytesWritten 
)
virtual

Write message body directly to a socket - called if IsRaw returns true - only socket related errors may be returned here

Parameters
socketthe socket to read from
bytesWrittennumber of bytes written by the method
Returns
stOK & suDone if the whole body has been processed stOK & suRetry if more data needs to be written stError on failure

Reimplemented from XrdCl::MsgHandler.

Friends And Related Symbol Documentation

◆ HandleRspJob

friend class HandleRspJob
friend

Member Data Documentation

◆ CksumSize

const size_t XrdCl::XRootDMsgHandler::CksumSize = sizeof( uint32_t )
staticprivate

Referenced by NbPgPerRsp().

◆ MaxSslErrRetry

const size_t XrdCl::XRootDMsgHandler::MaxSslErrRetry = 3
staticprivate

◆ PageWithCksum

const size_t XrdCl::XRootDMsgHandler::PageWithCksum = XrdSys::PageSize + CksumSize
staticprivate

Referenced by NbPgPerRsp().

◆ pAggregatedWaitTime

int XrdCl::XRootDMsgHandler::pAggregatedWaitTime
private

◆ pAsyncChunkIndex

uint32_t XrdCl::XRootDMsgHandler::pAsyncChunkIndex
private

◆ pAsyncOffset

uint32_t XrdCl::XRootDMsgHandler::pAsyncOffset
private

◆ pBodyReader

std::unique_ptr<AsyncRawReaderIntfc> XrdCl::XRootDMsgHandler::pBodyReader
private

Referenced by SetChunkList(), and XRootDMsgHandler().

◆ pChunkList

ChunkList* XrdCl::XRootDMsgHandler::pChunkList
private

Referenced by SetChunkList(), and ~XRootDMsgHandler().

◆ pChunkStatus

std::vector<ChunkStatus> XrdCl::XRootDMsgHandler::pChunkStatus
private

Referenced by SetChunkList().

◆ pCrc32cDigests

std::vector<uint32_t> XrdCl::XRootDMsgHandler::pCrc32cDigests
private

◆ pCV

XrdSysCondVar XrdCl::XRootDMsgHandler::pCV
private

◆ pDirListStarted

bool XrdCl::XRootDMsgHandler::pDirListStarted
private

◆ pDirListWithStat

bool XrdCl::XRootDMsgHandler::pDirListWithStat
private

◆ pEffectiveDataServerUrl

URL* XrdCl::XRootDMsgHandler::pEffectiveDataServerUrl
private

Referenced by ~XRootDMsgHandler().

◆ pExpiration

time_t XrdCl::XRootDMsgHandler::pExpiration
private

Referenced by GetExpiration(), and SetExpiration().

◆ pFollowMetalink

bool XrdCl::XRootDMsgHandler::pFollowMetalink
private

Referenced by SetFollowMetalink().

◆ pHasLoadBalancer

bool XrdCl::XRootDMsgHandler::pHasLoadBalancer
private

Referenced by SetLoadBalancer().

◆ pHasSessionId

bool XrdCl::XRootDMsgHandler::pHasSessionId
private

◆ pHosts

std::unique_ptr<HostList> XrdCl::XRootDMsgHandler::pHosts
private

Referenced by SetHostList().

◆ pKBuff

XrdSys::KernelBuffer* XrdCl::XRootDMsgHandler::pKBuff
private

Referenced by SetKernelBuffer().

◆ pLastError

Status XrdCl::XRootDMsgHandler::pLastError
private

◆ pLFileHandler

LocalFileHandler* XrdCl::XRootDMsgHandler::pLFileHandler
private

Referenced by ~XRootDMsgHandler().

◆ pLoadBalancer

HostInfo XrdCl::XRootDMsgHandler::pLoadBalancer
private

Referenced by SetLoadBalancer().

◆ pMsgInFly

bool XrdCl::XRootDMsgHandler::pMsgInFly
private

◆ pNotAuthorizedCounter

uint16_t XrdCl::XRootDMsgHandler::pNotAuthorizedCounter
private

◆ pOksofarAsAnswer

bool XrdCl::XRootDMsgHandler::pOksofarAsAnswer
private

Referenced by SetOksofarAsAnswer().

◆ pOtherRawStarted

bool XrdCl::XRootDMsgHandler::pOtherRawStarted
private

◆ pPageReader

std::unique_ptr<AsyncPageReader> XrdCl::XRootDMsgHandler::pPageReader
private

◆ pPartialResps

std::vector<std::shared_ptr<Message> > XrdCl::XRootDMsgHandler::pPartialResps
private

◆ pPgWrtCksumBuff

Buffer XrdCl::XRootDMsgHandler::pPgWrtCksumBuff
private

◆ pPgWrtCurrentPageNb

uint32_t XrdCl::XRootDMsgHandler::pPgWrtCurrentPageNb
private

◆ pPgWrtCurrentPageOffset

uint32_t XrdCl::XRootDMsgHandler::pPgWrtCurrentPageOffset
private

◆ pPostMaster

PostMaster* XrdCl::XRootDMsgHandler::pPostMaster
private

◆ pRdirEntry

std::unique_ptr<RedirectEntry> XrdCl::XRootDMsgHandler::pRdirEntry
private

◆ pRedirectAsAnswer

bool XrdCl::XRootDMsgHandler::pRedirectAsAnswer
private

Referenced by SetRedirectAsAnswer().

◆ pRedirectCounter

uint16_t XrdCl::XRootDMsgHandler::pRedirectCounter
private

Referenced by SetRedirectCounter().

◆ pRedirectTraceBack

RedirectTraceBack XrdCl::XRootDMsgHandler::pRedirectTraceBack
private

◆ pRedirectUrl

std::string XrdCl::XRootDMsgHandler::pRedirectUrl
private

◆ pRequest

Message* XrdCl::XRootDMsgHandler::pRequest
private

◆ pResponse

std::shared_ptr<Message> XrdCl::XRootDMsgHandler::pResponse
private

◆ pResponseHandler

ResponseHandler* XrdCl::XRootDMsgHandler::pResponseHandler
private

Referenced by ~XRootDMsgHandler().

◆ pSidMgr

std::shared_ptr<SIDManager> XrdCl::XRootDMsgHandler::pSidMgr
private

◆ pSslErrCnt

size_t XrdCl::XRootDMsgHandler::pSslErrCnt
private

◆ pStateful

bool XrdCl::XRootDMsgHandler::pStateful
private

Referenced by SetStateful().

◆ pStatus

XRootDStatus XrdCl::XRootDMsgHandler::pStatus
private

◆ pTimeoutFence

std::atomic<bool> XrdCl::XRootDMsgHandler::pTimeoutFence
private

◆ pUrl

URL XrdCl::XRootDMsgHandler::pUrl
private

The documentation for this class was generated from the following file: