/* */ #include "ChunkChecksum.h" #include "A2STR.h" namespace aria2 { ChunkChecksum::ChunkChecksum():checksumLength_(0) {} ChunkChecksum::ChunkChecksum (const std::string& algo, const std::vector& checksums, size_t checksumLength) : algo_(algo), checksums_(checksums), checksumLength_(checksumLength) {} bool ChunkChecksum::validateChunk (const std::string& actualChecksum, size_t checksumIndex) const { if(checksumIndex < checksums_.size()) { return actualChecksum == getChecksum(checksumIndex); } else { return false; } } uint64_t ChunkChecksum::getEstimatedDataLength() const { return static_cast(checksumLength_)*checksums_.size(); } size_t ChunkChecksum::countChecksum() const { return checksums_.size(); } const std::string& ChunkChecksum::getChecksum(size_t index) const { if(index < checksums_.size()) { return checksums_[index]; } else { return A2STR::NIL; } } void ChunkChecksum::setAlgo(const std::string& algo) { algo_ = algo; } void ChunkChecksum::setChecksums(const std::vector& mds) { checksums_ = mds; } } // namespace aria2