summaryrefslogtreecommitdiff
path: root/src/DefaultPieceStorage.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-26 14:49:40 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-08-26 14:49:40 +0000
commit835de071f2cc5c65df13753935a38d7fa87ce326 (patch)
treee68e86fd70cccc331c7730beca1ad3946ec6d400 /src/DefaultPieceStorage.h
parente396d2e2c44a36eec5b6069403b82615519fb218 (diff)
2010-08-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Enter end game mode as soon as all pieces are assigned to peer to avoid substantial slow down at the very last stage of download. * src/DefaultBtInteractive.cc * src/DefaultPieceStorage.cc * src/DefaultPieceStorage.h * src/PieceStorage.h * src/UnknownLengthPieceStorage.h * test/MockPieceStorage.h
Diffstat (limited to 'src/DefaultPieceStorage.h')
-rw-r--r--src/DefaultPieceStorage.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/DefaultPieceStorage.h b/src/DefaultPieceStorage.h
index 879f13c7..3846d1a2 100644
--- a/src/DefaultPieceStorage.h
+++ b/src/DefaultPieceStorage.h
@@ -78,6 +78,7 @@ private:
SharedHandle<DiskWriterFactory> diskWriterFactory_;
std::deque<SharedHandle<Piece> > usedPieces_;
+ bool endGame_;
size_t endGamePieceNum_;
Logger* logger_;
const Option* option_;
@@ -187,8 +188,16 @@ public:
virtual bool isSelectiveDownloadingMode();
- virtual bool isEndGame();
+ virtual bool isEndGame()
+ {
+ return endGame_;
+ }
+ virtual void enterEndGame()
+ {
+ endGame_ = true;
+ }
+
virtual SharedHandle<DiskAdaptor> getDiskAdaptor();
virtual size_t getPieceLength(size_t index);