XRootD
XrdEc::ObjCfg Struct Reference

#include <XrdEcObjCfg.hh>

+ Collaboration diagram for XrdEc::ObjCfg:

Public Member Functions

 ObjCfg ()=delete
 
 ObjCfg (const ObjCfg &objcfg)
 
 ObjCfg (const std::string &obj, uint8_t nbdata, uint8_t nbparity, uint64_t chunksize, bool usecrc32c, bool nomtfile=false)
 
std::string GetDataUrl (size_t i) const
 
std::string GetFileName (size_t blknb, size_t strpnb) const
 
std::string GetMetadataUrl (size_t i) const
 

Public Attributes

const uint64_t blksize
 
const uint64_t chunksize
 
const uint64_t datasize
 
uint32_t(* digest )(uint32_t, void const *, size_t)
 
std::vector< std::string > dtacgi
 
std::vector< std::string > mdtacgi
 
const uint8_t nbchunks
 
const uint8_t nbdata
 
const uint8_t nbparity
 
bool nomtfile
 
const std::string obj
 
const uint64_t paritysize
 
std::vector< std::string > plgr
 

Detailed Description

Definition at line 33 of file XrdEcObjCfg.hh.

Constructor & Destructor Documentation

◆ ObjCfg() [1/3]

XrdEc::ObjCfg::ObjCfg ( )
delete

◆ ObjCfg() [2/3]

XrdEc::ObjCfg::ObjCfg ( const std::string &  obj,
uint8_t  nbdata,
uint8_t  nbparity,
uint64_t  chunksize,
bool  usecrc32c,
bool  nomtfile = false 
)
inline

Definition at line 37 of file XrdEcObjCfg.hh.

37  :
38  obj( obj ),
40  nbparity( nbparity ),
41  nbdata( nbdata ),
47  {
48  digest = usecrc32c ? crc32c : isal_crc32;
49  }
uint32_t crc32c(uint32_t crc, void const *buf, size_t len)
static uint32_t isal_crc32(uint32_t crc, void const *buf, size_t len)
ISAL crc32 implementation.
Definition: XrdEcObjCfg.hh:26
const uint64_t blksize
Definition: XrdEcObjCfg.hh:91
const std::string obj
Definition: XrdEcObjCfg.hh:84
const uint8_t nbdata
Definition: XrdEcObjCfg.hh:87
const uint64_t paritysize
Definition: XrdEcObjCfg.hh:90
const uint8_t nbchunks
Definition: XrdEcObjCfg.hh:85
const uint8_t nbparity
Definition: XrdEcObjCfg.hh:86
uint32_t(* digest)(uint32_t, void const *, size_t)
Definition: XrdEcObjCfg.hh:96
const uint64_t chunksize
Definition: XrdEcObjCfg.hh:89
const uint64_t datasize
Definition: XrdEcObjCfg.hh:88

References crc32c(), digest, and XrdEc::isal_crc32().

+ Here is the call graph for this function:

◆ ObjCfg() [3/3]

XrdEc::ObjCfg::ObjCfg ( const ObjCfg objcfg)
inline

Definition at line 51 of file XrdEcObjCfg.hh.

51  : obj( objcfg.obj ),
52  nbchunks( objcfg.nbchunks ),
53  nbparity( objcfg.nbparity ),
54  nbdata( objcfg.nbdata ),
55  datasize( objcfg.datasize ),
56  chunksize( objcfg.chunksize ),
57  paritysize( objcfg.paritysize ),
58  blksize( objcfg.blksize ),
59  plgr( objcfg.plgr ),
60  digest( objcfg.digest ),
61  nomtfile( objcfg.nomtfile )
62  {
63  }
std::vector< std::string > plgr
Definition: XrdEcObjCfg.hh:92

Member Function Documentation

◆ GetDataUrl()

std::string XrdEc::ObjCfg::GetDataUrl ( size_t  i) const
inline

Definition at line 65 of file XrdEcObjCfg.hh.

66  {
67  std::string url = plgr[i] + '/' + obj;
68  if( !dtacgi.empty() ) url += '?' + dtacgi[i];
69  return url;
70  }
std::vector< std::string > dtacgi
Definition: XrdEcObjCfg.hh:93

References dtacgi, obj, and plgr.

Referenced by XrdEc::StrmWriter::Open().

+ Here is the caller graph for this function:

◆ GetFileName()

std::string XrdEc::ObjCfg::GetFileName ( size_t  blknb,
size_t  strpnb 
) const
inline

Definition at line 79 of file XrdEcObjCfg.hh.

80  {
81  return ObjStr + '.' + std::to_string( blknb ) + '.' + std::to_string( strpnb );
82  }
static const std::string ObjStr
Definition: XrdEcObjCfg.hh:32

References XrdEc::ObjStr.

◆ GetMetadataUrl()

std::string XrdEc::ObjCfg::GetMetadataUrl ( size_t  i) const
inline

Definition at line 72 of file XrdEcObjCfg.hh.

73  {
74  std::string url = plgr[i] + '/' + obj + ".mt";
75  if( !mdtacgi.empty() ) url += '?' + mdtacgi[i];
76  return url;
77  }
std::vector< std::string > mdtacgi
Definition: XrdEcObjCfg.hh:94

References mdtacgi, obj, and plgr.

Member Data Documentation

◆ blksize

const uint64_t XrdEc::ObjCfg::blksize

Definition at line 91 of file XrdEcObjCfg.hh.

Referenced by XrdEc::BufferPool::Create().

◆ chunksize

const uint64_t XrdEc::ObjCfg::chunksize

◆ datasize

const uint64_t XrdEc::ObjCfg::datasize

◆ digest

uint32_t(* XrdEc::ObjCfg::digest) (uint32_t, void const *, size_t)

Definition at line 96 of file XrdEcObjCfg.hh.

Referenced by ObjCfg(), and XrdEc::WrtBuff::Encode().

◆ dtacgi

std::vector<std::string> XrdEc::ObjCfg::dtacgi

Definition at line 93 of file XrdEcObjCfg.hh.

Referenced by GetDataUrl(), and XrdCl::GetEcHandler().

◆ mdtacgi

std::vector<std::string> XrdEc::ObjCfg::mdtacgi

Definition at line 94 of file XrdEcObjCfg.hh.

Referenced by XrdCl::GetEcHandler(), and GetMetadataUrl().

◆ nbchunks

◆ nbdata

◆ nbparity

const uint8_t XrdEc::ObjCfg::nbparity

◆ nomtfile

bool XrdEc::ObjCfg::nomtfile

Definition at line 98 of file XrdEcObjCfg.hh.

Referenced by XrdCl::GetEcHandler().

◆ obj

const std::string XrdEc::ObjCfg::obj

Definition at line 84 of file XrdEcObjCfg.hh.

Referenced by GetDataUrl(), and GetMetadataUrl().

◆ paritysize

const uint64_t XrdEc::ObjCfg::paritysize

Definition at line 90 of file XrdEcObjCfg.hh.

◆ plgr

std::vector<std::string> XrdEc::ObjCfg::plgr

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