diff options
Diffstat (limited to 'src/TorrentMan.cc')
| -rw-r--r-- | src/TorrentMan.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/TorrentMan.cc b/src/TorrentMan.cc index 1e607dc1..ebdd9f80 100644 --- a/src/TorrentMan.cc +++ b/src/TorrentMan.cc @@ -651,7 +651,7 @@ void TorrentMan::onDownloadComplete() { void TorrentMan::advertisePiece(int cuid, int index) { HaveEntry entry(cuid, index); - haves.push_back(entry); + haves.push_front(entry); }; PieceIndexes TorrentMan::getAdvertisedPieceIndexes(int myCuid, @@ -659,9 +659,12 @@ PieceIndexes TorrentMan::getAdvertisedPieceIndexes(int myCuid, PieceIndexes indexes; for(Haves::const_iterator itr = haves.begin(); itr != haves.end(); itr++) { const Haves::value_type& have = *itr; - if(have.cuid == myCuid || lastCheckTime.isNewer(have.registeredTime)) { + if(have.cuid == myCuid) { continue; } + if(lastCheckTime.isNewer(have.registeredTime)) { + break; + } indexes.push_back(have.index); } return indexes; |
