/* */ #include "CheckIntegrityEntry.h" #include "DlAbortEx.h" void CheckIntegrityEntry::validateChunk() { _validator->validateChunk(); } bool CheckIntegrityEntry::finished() const { return _validator->finished(); } int64_t CheckIntegrityEntry::getCurrentLength() const { return _validator->getCurrentOffset(); } void CheckIntegrityEntry::initValidator() { IteratableChunkChecksumValidatorHandle validator = new IteratableChunkChecksumValidator(); validator->setChunkChecksum(_requestGroup->getChunkChecksum()); validator->setDiskWriter(_requestGroup->getSegmentMan()->diskWriter); validator->setBitfield(_requestGroup->getSegmentMan()->getBitfield()); if(!validator->canValidate()) { // insufficient checksums. throw new DlAbortEx("Insufficient checksums."); } validator->init(); _validator = validator; }