xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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. More...
 
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. More...
 
virtual bool IsRaw () const
 Are we a raw writer or not? More...
 
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. More...
 
time_t GetExpiration ()
 Get a timestamp after which we give up. More...
 
void SetRedirectAsAnswer (bool redirectAsAnswer)
 
void SetOksofarAsAnswer (bool oksofarAsAnswer)
 
const MessageGetRequest () const
 Get the request pointer. More...
 
void SetLoadBalancer (const HostInfo &loadBalancer)
 Set the load balancer. More...
 
void SetHostList (HostList *hostList)
 Set host list. More...
 
void SetChunkList (ChunkList *chunkList)
 Set the chunk list. More...
 
void SetCrc32cDigests (std::vector< uint32_t > &&crc32cDigests)
 
void SetKernelBuffer (XrdSys::KernelBuffer *kbuff)
 Set the kernel buffer. More...
 
void SetRedirectCounter (uint16_t redirectCounter)
 Set the redirect counter. More...
 
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. More...
 
virtual void OnReadyToSend (Message *msg)
 

Private Types

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

Private Member Functions

Status ReadRawRead (Message *msg, Socket *socket, uint32_t &bytesRead)
 Handle a kXR_read in raw mode. More...
 
Status ReadRawReadV (Message *msg, Socket *socket, uint32_t &bytesRead)
 Handle a kXR_readv in raw mode. More...
 
Status ReadRawOther (Message *msg, Socket *socket, uint32_t &bytesRead)
 Handle anything other than kXR_read and kXR_readv in raw mode. More...
 
Status ReadAsync (Socket *socket, uint32_t &bytesRead)
 
void HandleError (XRootDStatus status)
 Recover error. More...
 
Status RetryAtServer (const URL &url, RedirectEntry::Type entryType)
 Retry the request at another server. More...
 
void HandleResponse ()
 Unpack the message and call the response handler. More...
 
XRootDStatusProcessStatus ()
 Extract the status information from the stuff that we got. More...
 
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. More...
 
Status PostProcessReadV (VectorReadInfo *vReadInfo)
 Post process vector read. More...
 
Status UnPackReadVResponse (Message &msg)
 Unpack a single readv response. More...
 
void UpdateTriedCGI (uint32_t errNo=0)
 Update the "tried=" part of the CGI of the current message. More...
 
void SwitchOnRefreshFlag ()
 Switch on the refresh flag for some requests. More...
 
void HandleRspOrQueue ()
 
void HandleLocalRedirect (URL *url)
 Handle a redirect to a local file. More...
 
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. More...
 
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)
 
void Copy (uint32_t offchlst, char *buffer, size_t length)
 

Static Private Member Functions

static Status ReadBytesAsync (Socket *socket, char *&buffer, uint32_t toBeRead, uint32_t &bytesRead)
 Read a buffer asynchronously. More...
 
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 pAsyncChunkOffset
 
uint32_t pAsyncChunkIndex
 
uint32_t pAsyncReadSize
 
char * pAsyncReadBuffer
 
uint32_t pAsyncMsgSize
 
bool pReadRawStarted
 
uint32_t pReadRawCurrentOffset
 
std::unique_ptr< AsyncPageReaderpPageReader
 
Buffer pPgWrtCksumBuff
 
uint32_t pPgWrtCurrentPageOffset
 
uint32_t pPgWrtCurrentPageNb
 
uint32_t pReadVRawMsgOffset
 
bool pReadVRawChunkHeaderDone
 
bool pReadVRawChunkHeaderStarted
 
bool pReadVRawSizeError
 
int32_t pReadVRawChunkIndex
 
readahead_list pReadVRawChunkHeader
 
bool pReadVRawMsgDiscard
 
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
 
bool pRspStatusBodyUnMarshaled
 
bool pRspPgWrtRetrnsmReqUnMarshalled
 

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

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

Constructor & Destructor Documentation

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, ClientPgReadRequest::offset, pCrc32cDigests, pHasSessionId, pPostMaster, pReadVRawChunkHeader, pRequest, pUrl, ClientRequestHdr::requestid, and ClientPgReadRequest::rlen.

XrdCl::XRootDMsgHandler::~XRootDMsgHandler ( )
inline

Member Function Documentation

void XrdCl::XRootDMsgHandler::Copy ( uint32_t  offchlst,
char *  buffer,
size_t  length 
)
inlineprivate

References pChunkList.

void XrdCl::XRootDMsgHandler::DumpRedirectTraceBack ( )
private

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

Referenced by ~XRootDMsgHandler().

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.

time_t XrdCl::XRootDMsgHandler::GetExpiration ( )
inlinevirtual

Get a timestamp after which we give up.

Implements XrdCl::MsgHandler.

References pExpiration.

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

Get the request pointer.

References pRequest.

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

Get handler sid

return sid of the corresponding request, otherwise 0

Implements XrdCl::MsgHandler.

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

Recover error.

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

Handle a redirect to a local file.

void XrdCl::XRootDMsgHandler::HandleResponse ( )
private

Unpack the message and call the response handler.

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

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.

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

Are we a raw writer or not?

Reimplemented from XrdCl::MsgHandler.

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
static size_t XrdCl::XRootDMsgHandler::NbPgPerRsp ( uint64_t  offset,
uint32_t  dlen 
)
inlinestaticprivate
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
reuqest: the request in question
url: metalink URL
Returns
: true if yes, false if no
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.

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

Handle an event other that a message arrival

Parameters
eventtype of the event
streamNumstream concerned
statusstatus info

Reimplemented from XrdCl::MsgHandler.

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

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

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

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
Status XrdCl::XRootDMsgHandler::PostProcessReadV ( VectorReadInfo vReadInfo)
private

Post process vector read.

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.

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

Extract the status information from the stuff that we got.

Status XrdCl::XRootDMsgHandler::ReadAsync ( Socket socket,
uint32_t &  bytesRead 
)
inlineprivate

Read a buffer asynchronously - depends on pAsyncBuffer, pAsyncSize and pAsyncOffset

References pAsyncOffset, pAsyncReadBuffer, pAsyncReadSize, and ReadBytesAsync().

static Status XrdCl::XRootDMsgHandler::ReadBytesAsync ( Socket socket,
char *&  buffer,
uint32_t  toBeRead,
uint32_t &  bytesRead 
)
staticprivate

Read a buffer asynchronously.

Referenced by ReadAsync().

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
size: the size of the buffer
result: output parameter (data read)
Returns
: status of the operation
Status XrdCl::XRootDMsgHandler::ReadFromBuffer ( char *&  buffer,
size_t &  buflen,
std::string &  result 
)
private

Read a string from buffer

Parameters
buffer: the buffer with data
size: the size of the buffer
result: output parameter (data read)
Returns
: status of the operation
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
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.

Status XrdCl::XRootDMsgHandler::ReadRawOther ( Message msg,
Socket socket,
uint32_t &  bytesRead 
)
private

Handle anything other than kXR_read and kXR_readv in raw mode.

Status XrdCl::XRootDMsgHandler::ReadRawRead ( Message msg,
Socket socket,
uint32_t &  bytesRead 
)
private

Handle a kXR_read in raw mode.

Status XrdCl::XRootDMsgHandler::ReadRawReadV ( Message msg,
Socket socket,
uint32_t &  bytesRead 
)
private

Handle a kXR_readv in raw mode.

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
Status XrdCl::XRootDMsgHandler::RetryAtServer ( const URL url,
RedirectEntry::Type  entryType 
)
private

Retry the request at another server.

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

Status XrdCl::XRootDMsgHandler::RewriteRequestWait ( )
private

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

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

Set the chunk list.

References pChunkList, and pChunkStatus.

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

References pCrc32cDigests.

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

Set a timestamp after which we give up.

References pExpiration.

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

References pFollowMetalink.

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

Set host list.

References pHosts.

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

Set the kernel buffer.

References pKBuff.

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

Set the load balancer.

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

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.

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.

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

Set the redirect counter.

References pRedirectCounter.

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

References pStateful.

void XrdCl::XRootDMsgHandler::SwitchOnRefreshFlag ( )
private

Switch on the refresh flag for some requests.

Status XrdCl::XRootDMsgHandler::UnPackReadVResponse ( Message msg)
private

Unpack a single readv response.

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

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

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

Called after the wait time for kXR_wait has elapsed

Parameters
nowcurrent timestamp
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
bytesReadnumber of bytes read 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 Function Documentation

friend class HandleRspJob
friend

Member Data Documentation

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

Referenced by NbPgPerRsp().

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

Referenced by NbPgPerRsp().

int XrdCl::XRootDMsgHandler::pAggregatedWaitTime
private
uint32_t XrdCl::XRootDMsgHandler::pAsyncChunkIndex
private
uint32_t XrdCl::XRootDMsgHandler::pAsyncChunkOffset
private
uint32_t XrdCl::XRootDMsgHandler::pAsyncMsgSize
private
uint32_t XrdCl::XRootDMsgHandler::pAsyncOffset
private

Referenced by ReadAsync().

char* XrdCl::XRootDMsgHandler::pAsyncReadBuffer
private

Referenced by ReadAsync().

uint32_t XrdCl::XRootDMsgHandler::pAsyncReadSize
private

Referenced by ReadAsync().

ChunkList* XrdCl::XRootDMsgHandler::pChunkList
private
std::vector<ChunkStatus> XrdCl::XRootDMsgHandler::pChunkStatus
private

Referenced by SetChunkList().

std::vector<uint32_t> XrdCl::XRootDMsgHandler::pCrc32cDigests
private
XrdSysCondVar XrdCl::XRootDMsgHandler::pCV
private
bool XrdCl::XRootDMsgHandler::pDirListStarted
private
bool XrdCl::XRootDMsgHandler::pDirListWithStat
private
URL* XrdCl::XRootDMsgHandler::pEffectiveDataServerUrl
private

Referenced by ~XRootDMsgHandler().

time_t XrdCl::XRootDMsgHandler::pExpiration
private

Referenced by GetExpiration(), and SetExpiration().

bool XrdCl::XRootDMsgHandler::pFollowMetalink
private

Referenced by SetFollowMetalink().

bool XrdCl::XRootDMsgHandler::pHasLoadBalancer
private

Referenced by SetLoadBalancer().

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

Referenced by SetHostList().

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

Referenced by SetKernelBuffer().

Status XrdCl::XRootDMsgHandler::pLastError
private
LocalFileHandler* XrdCl::XRootDMsgHandler::pLFileHandler
private

Referenced by ~XRootDMsgHandler().

HostInfo XrdCl::XRootDMsgHandler::pLoadBalancer
private

Referenced by SetLoadBalancer().

bool XrdCl::XRootDMsgHandler::pMsgInFly
private
uint16_t XrdCl::XRootDMsgHandler::pNotAuthorizedCounter
private
bool XrdCl::XRootDMsgHandler::pOksofarAsAnswer
private

Referenced by SetOksofarAsAnswer().

bool XrdCl::XRootDMsgHandler::pOtherRawStarted
private
std::unique_ptr<AsyncPageReader> XrdCl::XRootDMsgHandler::pPageReader
private
std::vector<std::shared_ptr<Message> > XrdCl::XRootDMsgHandler::pPartialResps
private
Buffer XrdCl::XRootDMsgHandler::pPgWrtCksumBuff
private
uint32_t XrdCl::XRootDMsgHandler::pPgWrtCurrentPageNb
private
uint32_t XrdCl::XRootDMsgHandler::pPgWrtCurrentPageOffset
private
PostMaster* XrdCl::XRootDMsgHandler::pPostMaster
private
std::unique_ptr<RedirectEntry> XrdCl::XRootDMsgHandler::pRdirEntry
private
uint32_t XrdCl::XRootDMsgHandler::pReadRawCurrentOffset
private
bool XrdCl::XRootDMsgHandler::pReadRawStarted
private
readahead_list XrdCl::XRootDMsgHandler::pReadVRawChunkHeader
private

Referenced by XRootDMsgHandler().

bool XrdCl::XRootDMsgHandler::pReadVRawChunkHeaderDone
private
bool XrdCl::XRootDMsgHandler::pReadVRawChunkHeaderStarted
private
int32_t XrdCl::XRootDMsgHandler::pReadVRawChunkIndex
private
bool XrdCl::XRootDMsgHandler::pReadVRawMsgDiscard
private
uint32_t XrdCl::XRootDMsgHandler::pReadVRawMsgOffset
private
bool XrdCl::XRootDMsgHandler::pReadVRawSizeError
private
bool XrdCl::XRootDMsgHandler::pRedirectAsAnswer
private

Referenced by SetRedirectAsAnswer().

uint16_t XrdCl::XRootDMsgHandler::pRedirectCounter
private

Referenced by SetRedirectCounter().

RedirectTraceBack XrdCl::XRootDMsgHandler::pRedirectTraceBack
private
std::string XrdCl::XRootDMsgHandler::pRedirectUrl
private
Message* XrdCl::XRootDMsgHandler::pRequest
private
std::shared_ptr<Message> XrdCl::XRootDMsgHandler::pResponse
private
ResponseHandler* XrdCl::XRootDMsgHandler::pResponseHandler
private

Referenced by ~XRootDMsgHandler().

bool XrdCl::XRootDMsgHandler::pRspPgWrtRetrnsmReqUnMarshalled
private
bool XrdCl::XRootDMsgHandler::pRspStatusBodyUnMarshaled
private
std::shared_ptr<SIDManager> XrdCl::XRootDMsgHandler::pSidMgr
private
size_t XrdCl::XRootDMsgHandler::pSslErrCnt
private
bool XrdCl::XRootDMsgHandler::pStateful
private

Referenced by SetStateful().

XRootDStatus XrdCl::XRootDMsgHandler::pStatus
private
std::atomic<bool> XrdCl::XRootDMsgHandler::pTimeoutFence
private
URL XrdCl::XRootDMsgHandler::pUrl
private

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