25 #ifndef SRC_XRDEC_XRDECREADER_HH_
26 #define SRC_XRDEC_XRDECREADER_HH_
34 #include <unordered_map>
35 #include <unordered_set>
59 friend class ::MicroTest;
93 void Read( uint64_t offset,
158 typedef std::unordered_map<std::string, std::shared_ptr<XrdCl::ZipArchive>>
dataarchs_t;
159 typedef std::unordered_map<std::string, buffer_t>
metadata_t;
160 typedef std::unordered_map<std::string, std::string>
urlmap_t;
Definition: XrdClOperations.hh:320
Handle an async response.
Definition: XrdClXRootDResponses.hh:1117
Request status.
Definition: XrdClXRootDResponses.hh:219
Definition: XrdEcReader.hh:58
metadata_t metadata
Definition: XrdEcReader.hh:165
XrdCl::Pipeline ReadSize(size_t index)
std::unordered_map< std::string, buffer_t > metadata_t
Definition: XrdEcReader.hh:159
uint64_t GetSize()
Definition: XrdEcReader.hh:107
missing_t missing
Definition: XrdEcReader.hh:167
void Read(size_t blknb, size_t strpnb, buffer_t &buffer, callback_t cb, uint16_t timeout=0)
void Close(XrdCl::ResponseHandler *handler, uint16_t timeout=0)
Close the data object.
std::unordered_map< std::string, std::string > urlmap_t
Definition: XrdEcReader.hh:160
std::mutex blkmtx
Definition: XrdEcReader.hh:169
bool IsMissing(const std::string &fn)
Check if chunk file name is missing.
bool ParseMetadata(XrdCl::ChunkInfo &ch)
void Read(uint64_t offset, uint32_t length, void *buffer, XrdCl::ResponseHandler *handler, uint16_t timeout)
dataarchs_t dataarchs
Definition: XrdEcReader.hh:164
void Open(XrdCl::ResponseHandler *handler, uint16_t timeout=0)
ObjCfg & objcfg
Definition: XrdEcReader.hh:163
void AddMissing(const buffer_t &cdbuff)
urlmap_t urlmap
Definition: XrdEcReader.hh:166
std::shared_ptr< block_t > block
Definition: XrdEcReader.hh:168
std::unordered_map< std::string, std::shared_ptr< XrdCl::ZipArchive > > dataarchs_t
Definition: XrdEcReader.hh:158
uint64_t filesize
Definition: XrdEcReader.hh:171
std::unordered_set< std::string > missing_t
Definition: XrdEcReader.hh:161
friend struct block_t
Definition: XrdEcReader.hh:60
Reader(ObjCfg &objcfg)
Definition: XrdEcReader.hh:69
size_t lstblk
Definition: XrdEcReader.hh:170
XrdCl::Pipeline ReadMetadata(size_t index)
Definition: XrdClZipArchive.hh:45
std::function< void(const XrdCl::XRootDStatus &, uint32_t)> callback_t
Definition: XrdEcReader.hh:52
std::vector< char > buffer_t
a buffer type
Definition: XrdEcReader.hh:44
Describe a data chunk for vector read.
Definition: XrdClXRootDResponses.hh:908
Definition: XrdEcObjCfg.hh:34