From 9d0eb8c08bdcc31f64a9e50c80c9ad9ca30ae725 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 26 Jun 2010 13:01:52 +0000 Subject: [PATCH] 2010-06-26 Tatsuhiro Tsujikawa Removed unused getOverflow(). Added assertion in PiecedSegment::updateWrittenLength() to check updated written length does not exceed piece length. * src/GrowSegment.h * src/PiecedSegment.cc * src/PiecedSegment.h * src/Segment.h * test/SegmentTest.cc --- ChangeLog | 11 +++++++++++ src/GrowSegment.h | 5 ----- src/PiecedSegment.cc | 8 ++------ src/PiecedSegment.h | 6 ------ src/Segment.h | 2 -- test/SegmentTest.cc | 22 +++++----------------- 6 files changed, 18 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8b521a18..07e363b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-06-26 Tatsuhiro Tsujikawa + + Removed unused getOverflow(). Added assertion in + PiecedSegment::updateWrittenLength() to check updated written + length does not exceed piece length. + * src/GrowSegment.h + * src/PiecedSegment.cc + * src/PiecedSegment.h + * src/Segment.h + * test/SegmentTest.cc + 2010-06-26 Tatsuhiro Tsujikawa Return null if written length > 0 even if SegmentEntry->cuid diff --git a/src/GrowSegment.h b/src/GrowSegment.h index 8a5b0d12..d41ac8d2 100644 --- a/src/GrowSegment.h +++ b/src/GrowSegment.h @@ -83,11 +83,6 @@ public: return writtenLength_; } - virtual size_t getOverflowLength() const - { - return 0; - } - virtual void updateWrittenLength(size_t bytes); #ifdef ENABLE_MESSAGE_DIGEST diff --git a/src/PiecedSegment.cc b/src/PiecedSegment.cc index 2263a86e..bf6dd2b1 100644 --- a/src/PiecedSegment.cc +++ b/src/PiecedSegment.cc @@ -40,7 +40,7 @@ namespace aria2 { PiecedSegment::PiecedSegment (size_t pieceLength, const SharedHandle& piece): - pieceLength_(pieceLength), overflowLength_(0), piece_(piece) + pieceLength_(pieceLength), piece_(piece) { size_t index; bool t = piece_->getFirstMissingBlockIndexWithoutLock(index); @@ -78,10 +78,7 @@ size_t PiecedSegment::getLength() const void PiecedSegment::updateWrittenLength(size_t bytes) { size_t newWrittenLength = writtenLength_+bytes; - if(newWrittenLength > piece_->getLength()) { - overflowLength_ = newWrittenLength-piece_->getLength(); - newWrittenLength = piece_->getLength(); - } + assert(newWrittenLength <= piece_->getLength()); for(size_t i = writtenLength_/piece_->getBlockLength(), end = newWrittenLength/piece_->getBlockLength(); i < end; ++i) { piece_->completeBlock(i); @@ -115,7 +112,6 @@ std::string PiecedSegment::getHashString() void PiecedSegment::clear() { writtenLength_ = 0; - overflowLength_ = 0; piece_->clearAllBlock(); #ifdef ENABLE_MESSAGE_DIGEST diff --git a/src/PiecedSegment.h b/src/PiecedSegment.h index f673f116..fb279c11 100644 --- a/src/PiecedSegment.h +++ b/src/PiecedSegment.h @@ -46,7 +46,6 @@ private: * The last piece likely have shorter length than the other length. */ size_t pieceLength_; - size_t overflowLength_; SharedHandle piece_; size_t writtenLength_; @@ -75,11 +74,6 @@ public: return writtenLength_; } - virtual size_t getOverflowLength() const - { - return overflowLength_; - } - virtual void updateWrittenLength(size_t bytes); #ifdef ENABLE_MESSAGE_DIGEST diff --git a/src/Segment.h b/src/Segment.h index a2ff6ff4..c35d6a70 100644 --- a/src/Segment.h +++ b/src/Segment.h @@ -65,8 +65,6 @@ public: virtual size_t getWrittenLength() const = 0; - virtual size_t getOverflowLength() const = 0; - virtual void updateWrittenLength(size_t bytes) = 0; #ifdef ENABLE_MESSAGE_DIGEST diff --git a/test/SegmentTest.cc b/test/SegmentTest.cc index c3b0818e..a1049ac3 100644 --- a/test/SegmentTest.cc +++ b/test/SegmentTest.cc @@ -1,14 +1,15 @@ #include "PiecedSegment.h" -#include "Piece.h" + #include +#include "Piece.h" + namespace aria2 { class SegmentTest : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(SegmentTest); CPPUNIT_TEST(testUpdateWrittenLength); - CPPUNIT_TEST(testUpdateWrittenLength_overflow); CPPUNIT_TEST(testUpdateWrittenLength_lastPiece); CPPUNIT_TEST(testUpdateWrittenLength_incompleteLastPiece); CPPUNIT_TEST(testClear); @@ -19,7 +20,6 @@ public: void setUp() {} void testUpdateWrittenLength(); - void testUpdateWrittenLength_overflow(); void testUpdateWrittenLength_lastPiece(); void testUpdateWrittenLength_incompleteLastPiece(); void testClear(); @@ -42,22 +42,12 @@ void SegmentTest::testUpdateWrittenLength() CPPUNIT_ASSERT(p->pieceComplete()); } -void SegmentTest::testUpdateWrittenLength_overflow() -{ - SharedHandle p(new Piece(0, 16*1024*10)); - PiecedSegment s(16*1024*10, p); - - s.updateWrittenLength(16*1024*11); - CPPUNIT_ASSERT(p->pieceComplete()); - CPPUNIT_ASSERT_EQUAL((size_t)16*1024, s.getOverflowLength()); -} - void SegmentTest::testUpdateWrittenLength_lastPiece() { SharedHandle p(new Piece(0, 16*1024*9+1)); PiecedSegment s(16*1024*10, p); - s.updateWrittenLength(16*1024*10); + s.updateWrittenLength(p->getLength()); CPPUNIT_ASSERT(p->pieceComplete()); } @@ -76,12 +66,10 @@ void SegmentTest::testClear() { SharedHandle p(new Piece(0, 16*1024*10)); PiecedSegment s(16*1024*10, p); - s.updateWrittenLength(16*1024*11); + s.updateWrittenLength(16*1024*10); CPPUNIT_ASSERT_EQUAL((size_t)16*1024*10, s.getWrittenLength()); - CPPUNIT_ASSERT_EQUAL((size_t)16*1024, s.getOverflowLength()); s.clear(); CPPUNIT_ASSERT_EQUAL((size_t)0, s.getWrittenLength()); - CPPUNIT_ASSERT_EQUAL((size_t)0, s.getOverflowLength()); } } // namespace aria2