summaryrefslogtreecommitdiff
path: root/src/IteratableChunkChecksumValidator.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-12-05 13:41:56 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2007-12-05 13:41:56 +0000
commitb75dbc4bbe73133b18c3b2d64f457d8d0bd50d35 (patch)
treea240b3625fea0e10b6baba673ca3eb6d1e08c796 /src/IteratableChunkChecksumValidator.h
parent24bdbf9aa6790f95b14449fed62d83fd196a0124 (diff)
2007-12-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Enable direct I/O support in checksum checking. * src/IteratableChunkChecksumValidator.{h, cc} * test/IteratableChunkChecksumValidatorTest.cc * src/CheckIntegrityEntry.cc * src/PieceHashCheckIntegrityEntry.cc * src/IteratableChecksumValidator.{h, cc} * src/BtCheckIntegrityEntry.cc: Added doc.
Diffstat (limited to 'src/IteratableChunkChecksumValidator.h')
-rw-r--r--src/IteratableChunkChecksumValidator.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/IteratableChunkChecksumValidator.h b/src/IteratableChunkChecksumValidator.h
index b8de18f7..0ec824c5 100644
--- a/src/IteratableChunkChecksumValidator.h
+++ b/src/IteratableChunkChecksumValidator.h
@@ -43,6 +43,8 @@ class PieceStorage;
typedef SharedHandle<PieceStorage> PieceStorageHandle;
class BitfieldMan;
class Logger;
+class MessageDigestContext;
+typedef SharedHandle<MessageDigestContext> MessageDigestContextHandle;
class IteratableChunkChecksumValidator:public IteratableValidator
{
@@ -52,8 +54,13 @@ private:
BitfieldMan* _bitfield;
uint32_t _currentIndex;
const Logger* _logger;
+ MessageDigestContextHandle _ctx;
+ unsigned char* _buffer;
string calculateActualChecksum();
+
+ string digest(int64_t offset, int32_t length);
+
public:
IteratableChunkChecksumValidator(const DownloadContextHandle& dctx,
const PieceStorageHandle& pieceStorage);