summaryrefslogtreecommitdiff
path: root/src/TorrentMan.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/TorrentMan.cc')
-rw-r--r--src/TorrentMan.cc7
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;