xrootd
Public Member Functions | Private Types | Private Member Functions | Private Attributes | Friends | List of all members
XrdEc::Reader Class Reference

#include <XrdEcReader.hh>

Collaboration diagram for XrdEc::Reader:
Collaboration graph
[legend]

Public Member Functions

 Reader (ObjCfg &objcfg)
 
virtual ~Reader ()
 
void Open (XrdCl::ResponseHandler *handler)
 
void Read (uint64_t offset, uint32_t length, void *buffer, XrdCl::ResponseHandler *handler)
 
void Close (XrdCl::ResponseHandler *handler)
 Close the data object. More...
 

Private Types

typedef std::unordered_map< std::string, std::shared_ptr< XrdCl::ZipArchive > > dataarchs_t
 
typedef std::unordered_map< std::string, buffer_tmetadata_t
 
typedef std::unordered_map< std::string, std::string > urlmap_t
 
typedef std::unordered_set< std::string > missing_t
 

Private Member Functions

void Read (size_t blknb, size_t strpnb, buffer_t &buffer, callback_t cb)
 
XrdCl::Pipeline ReadMetadata (size_t index)
 
bool ParseMetadata (XrdCl::ChunkInfo &ch)
 
void AddMissing (const buffer_t &cdbuff)
 

Private Attributes

ObjCfgobjcfg
 
dataarchs_t dataarchs
 
metadata_t metadata
 
urlmap_t urlmap
 
missing_t missing
 
std::shared_ptr< block_tblock
 

Friends

class ::MicroTest
 
struct block_t
 

Member Typedef Documentation

◆ dataarchs_t

typedef std::unordered_map<std::string, std::shared_ptr<XrdCl::ZipArchive> > XrdEc::Reader::dataarchs_t
private

◆ metadata_t

typedef std::unordered_map<std::string, buffer_t> XrdEc::Reader::metadata_t
private

◆ missing_t

typedef std::unordered_set<std::string> XrdEc::Reader::missing_t
private

◆ urlmap_t

typedef std::unordered_map<std::string, std::string> XrdEc::Reader::urlmap_t
private

Constructor & Destructor Documentation

◆ Reader()

XrdEc::Reader::Reader ( ObjCfg objcfg)
inline

Constructor

Parameters
objcfg: configuration for the data object (e.g. number of data and parity stripes)

◆ ~Reader()

virtual XrdEc::Reader::~Reader ( )
virtual

Member Function Documentation

◆ AddMissing()

void XrdEc::Reader::AddMissing ( const buffer_t cdbuff)
private

Add all the entries from given Central Directory to missing

Parameters
cdbuff: buffer containing central directory

◆ Close()

void XrdEc::Reader::Close ( XrdCl::ResponseHandler handler)

Close the data object.

◆ Open()

void XrdEc::Reader::Open ( XrdCl::ResponseHandler handler)

Open the erasure coded / striped object

Parameters
handler: user callback

◆ ParseMetadata()

bool XrdEc::Reader::ParseMetadata ( XrdCl::ChunkInfo ch)
private

Parse metadata from chunk info object

Parameters
ch: chunk info object returned by a read operation

◆ Read() [1/2]

void XrdEc::Reader::Read ( uint64_t  offset,
uint32_t  length,
void *  buffer,
XrdCl::ResponseHandler handler 
)

Read data from the data object

Parameters
offset: offset of the data to be read
length: length of the data to be read
buffer: buffer for the data to be read
handler: user callback

◆ Read() [2/2]

void XrdEc::Reader::Read ( size_t  blknb,
size_t  strpnb,
buffer_t buffer,
callback_t  cb 
)
private

Read data from given stripes from given block

Parameters
blknb: number of the block
strpnb: number of stripe in the block
buffer: buffer for the data
cb: callback

◆ ReadMetadata()

XrdCl::Pipeline XrdEc::Reader::ReadMetadata ( size_t  index)
private

Read metadata for the object

Parameters
index: placement's index

Friends And Related Function Documentation

◆ ::MicroTest

friend class ::MicroTest
friend

◆ block_t

friend struct block_t
friend

Member Data Documentation

◆ block

std::shared_ptr<block_t> XrdEc::Reader::block
private

◆ dataarchs

dataarchs_t XrdEc::Reader::dataarchs
private

◆ metadata

metadata_t XrdEc::Reader::metadata
private

◆ missing

missing_t XrdEc::Reader::missing
private

◆ objcfg

ObjCfg& XrdEc::Reader::objcfg
private

◆ urlmap

urlmap_t XrdEc::Reader::urlmap
private

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