diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-07-06 15:22:06 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2009-07-06 15:22:06 +0000 |
| commit | 5f966f632765117368c73b83152281f06706f1e4 (patch) | |
| tree | 40796ab5d6aa4597c82ce8edbee2d885c1bd48fe /src/BtHaveMessage.cc | |
| parent | db84b1b65237acfe5a231bea2dd28c3795400f33 (diff) | |
2009-07-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Disconnect seeder if client is also in seed state.
* src/BtBitfieldMessage.cc
* src/BtHaveAllMessage.cc
* src/BtHaveMessage.cc
* src/message.h
* test/BtBitfieldMessageTest.cc
* test/BtHaveAllMessageTest.cc
* test/BtHaveMessageTest.cc
* test/MockPieceStorage.h
Diffstat (limited to 'src/BtHaveMessage.cc')
| -rw-r--r-- | src/BtHaveMessage.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/BtHaveMessage.cc b/src/BtHaveMessage.cc index 6641f6a0..35317665 100644 --- a/src/BtHaveMessage.cc +++ b/src/BtHaveMessage.cc @@ -35,6 +35,8 @@ #include "BtHaveMessage.h" #include "Peer.h" #include "PieceStorage.h" +#include "message.h" +#include "DlAbortEx.h" namespace aria2 { @@ -50,6 +52,9 @@ void BtHaveMessage::doReceivedAction() { peer->updateBitfield(getIndex(), 1); pieceStorage->addPieceStats(getIndex()); + if(peer->isSeeder() && pieceStorage->downloadFinished()) { + throw DL_ABORT_EX(MSG_GOOD_BYE_SEEDER); + } } } // namespace aria2 |
