/* */ #ifndef D_CHUNK_CHECKSUM_H #define D_CHUNK_CHECKSUM_H #include "common.h" #include #include #include "SharedHandle.h" namespace aria2 { class ChunkChecksum { private: std::string hashType_; std::vector pieceHashes_; int32_t pieceLength_; public: ChunkChecksum(); ChunkChecksum (const std::string& hashType, const std::vector& pieceHashes, int32_t pieceLength); bool validateChunk(const std::string& actualDigest, size_t index) const; int64_t getEstimatedDataLength() const; size_t countPieceHash() const; const std::string& getPieceHash(size_t index) const; void setPieceHashes(const std::vector& pieceHashes); const std::vector& getPieceHashes() const { return pieceHashes_; } void setHashType(const std::string& hashType); const std::string& getHashType() const { return hashType_; } int32_t getPieceLength() const { return pieceLength_; } void setPieceLength(int32_t length) { pieceLength_ = length; } }; } // namespace aria2 #endif // D_CHUNK_CHECKSUM_H