From 7c41d11be325a2f85108a28a2111353ad0e208b4 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Mon, 12 Nov 2007 11:28:16 +0000 Subject: 2007-11-12 Tatsuhiro Tsujikawa Implemented checksum validation feature(1 checksum for each file) The validation takes place after the download. * src/PieceHashCheckIntegrityEntry.{h, cc}: New class. * src/IteratableChecksumValidator.{h, cc}: Rewritten. * src/CheckIntegrityCommand.cc: Changed log message. * src/Metalink2RequestGroup.cc: Set checksum to SingleFileDownloadContext. * src/StreamCheckIntegrityEntry.{h, cc}: Now derived from PieceHashCheckIntegrity class. * src/BtCheckIntegrityEntry.{h, cc}: Now derived from PieceHashCheckIntegrity class. * src/ChecksumCheckIntegrityEntry.{h, cc}: New class. * src/IteratableValidator.h: New class. * src/message.h * src/CheckIntegrityEntry.{h, cc} * src/IteratableChunkChecksumValidator.{h, cc} * src/SingleFileDownloadContext.h * src/DownloadCommand.cc --allow-overwrite=true is no longer needed to check file integrity before download in BitTorrent download. * src/RequestGroup.cc (getInitialCommand) Removed RequestGroup from queue when RequestGroup::getInitialCommand() throws exception. * src/RequestGroupMan.cc (getInitialCommands) --- src/StreamCheckIntegrityEntry.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/StreamCheckIntegrityEntry.cc') diff --git a/src/StreamCheckIntegrityEntry.cc b/src/StreamCheckIntegrityEntry.cc index b745d8e7..6760f99a 100644 --- a/src/StreamCheckIntegrityEntry.cc +++ b/src/StreamCheckIntegrityEntry.cc @@ -40,13 +40,12 @@ #include "CUIDCounter.h" #include "PieceStorage.h" #include "FileAllocationMan.h" -#include "DiskAdaptor.h" StreamCheckIntegrityEntry::StreamCheckIntegrityEntry(const RequestHandle& currentRequest, RequestGroup* requestGroup, Command* nextCommand): - CheckIntegrityEntry(requestGroup, nextCommand), - _currentRequest(currentRequest) + PieceHashCheckIntegrityEntry(requestGroup, nextCommand), + _currentRequest(currentRequest) {} StreamCheckIntegrityEntry::~StreamCheckIntegrityEntry() {} -- cgit