xrootd
Loading...
Searching...
No Matches
Classes | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
XrdCl::AsyncRawReaderIntfc Class Referenceabstract

Base class for any message's body reader. More...

#include <XrdClAsyncRawReaderIntfc.hh>

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

Classes

struct  ChunkStatus
 

Public Member Functions

 AsyncRawReaderIntfc (const URL &url, const Message &request)
 
virtual ~AsyncRawReaderIntfc ()
 Destructor.
 
void SetDataLength (int dlen)
 Sets response data length.
 
void SetChunkList (ChunkList *chunks)
 Sets the chunk list with user buffers.
 
virtual XRootDStatus Read (Socket &socket, uint32_t &btsret)=0
 
virtual XRootDStatus GetResponse (AnyObject *&response)=0
 Get the response.
 

Protected Types

enum  Stage {
  ReadStart , ReadRdLst , ReadRaw , ReadDiscard ,
  ReadDone
}
 Stages of reading out a response from the socket. More...
 
using buffer_t = std::vector< char >
 

Protected Member Functions

XRootDStatus ReadBytesAsync (Socket &socket, char *buffer, uint32_t toBeRead, uint32_t &bytesRead)
 

Protected Attributes

Stage readstage
 
const URLurl
 
const Messagerequest
 
ChunkListchunks
 
std::vector< ChunkStatuschstatus
 
uint32_t dlen
 
uint32_t msgbtsrd
 
uint32_t rawbtsrd
 
size_t chidx
 
size_t choff
 
size_t chlen
 
buffer_t discardbuff
 
bool dataerr
 

Detailed Description

Base class for any message's body reader.

Member Typedef Documentation

◆ buffer_t

using XrdCl::AsyncRawReaderIntfc::buffer_t = std::vector<char>
protected

Member Enumeration Documentation

◆ Stage

Stages of reading out a response from the socket.

Enumerator
ReadStart 
ReadRdLst 
ReadRaw 
ReadDiscard 
ReadDone 

Constructor & Destructor Documentation

◆ AsyncRawReaderIntfc()

XrdCl::AsyncRawReaderIntfc::AsyncRawReaderIntfc ( const URL url,
const Message request 
)
inline

◆ ~AsyncRawReaderIntfc()

virtual XrdCl::AsyncRawReaderIntfc::~AsyncRawReaderIntfc ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ GetResponse()

virtual XRootDStatus XrdCl::AsyncRawReaderIntfc::GetResponse ( AnyObject *&  response)
pure virtual

◆ Read()

virtual XRootDStatus XrdCl::AsyncRawReaderIntfc::Read ( Socket socket,
uint32_t &  btsret 
)
pure virtual

Readout raw data from socket

Parameters
socket: the socket
btsret: number of bytes read
Returns
: operation status

Implemented in XrdCl::AsyncDiscardReader, XrdCl::AsyncRawReader, and XrdCl::AsyncVectorReader.

◆ ReadBytesAsync()

XRootDStatus XrdCl::AsyncRawReaderIntfc::ReadBytesAsync ( Socket socket,
char *  buffer,
uint32_t  toBeRead,
uint32_t &  bytesRead 
)
inlineprotected

◆ SetChunkList()

void XrdCl::AsyncRawReaderIntfc::SetChunkList ( ChunkList chunks)
inline

Sets the chunk list with user buffers.

References chstatus, and chunks.

◆ SetDataLength()

void XrdCl::AsyncRawReaderIntfc::SetDataLength ( int  dlen)
inline

Sets response data length.

References dlen, readstage, and ReadStart.

Member Data Documentation

◆ chidx

size_t XrdCl::AsyncRawReaderIntfc::chidx
protected

◆ chlen

size_t XrdCl::AsyncRawReaderIntfc::chlen
protected

◆ choff

size_t XrdCl::AsyncRawReaderIntfc::choff
protected

◆ chstatus

std::vector<ChunkStatus> XrdCl::AsyncRawReaderIntfc::chstatus
protected

◆ chunks

ChunkList* XrdCl::AsyncRawReaderIntfc::chunks
protected

◆ dataerr

bool XrdCl::AsyncRawReaderIntfc::dataerr
protected

◆ discardbuff

buffer_t XrdCl::AsyncRawReaderIntfc::discardbuff
protected

◆ dlen

uint32_t XrdCl::AsyncRawReaderIntfc::dlen
protected

◆ msgbtsrd

uint32_t XrdCl::AsyncRawReaderIntfc::msgbtsrd
protected

◆ rawbtsrd

uint32_t XrdCl::AsyncRawReaderIntfc::rawbtsrd
protected

◆ readstage

Stage XrdCl::AsyncRawReaderIntfc::readstage
protected

◆ request

const Message& XrdCl::AsyncRawReaderIntfc::request
protected

◆ url

const URL& XrdCl::AsyncRawReaderIntfc::url
protected

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