summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-11 10:57:18 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-05-11 10:57:18 +0000
commit7ec7b7ea6053fcef1f03b83f16ba36f7cbc34d53 (patch)
treeb11d922fef6f1d33386095bc7bd78f18cb88fa55 /src
parent82e0092b194eedf39f63f1116c7191989635a061 (diff)
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature: PieceStorage::getAdvertisedPieceIndexes * src/DefaultBtInteractive.cc * src/DefaultPieceStorage.cc * src/DefaultPieceStorage.h * src/PieceStorage.h * src/UnknownLengthPieceStorage.h * test/MockPieceStorage.h
Diffstat (limited to 'src')
-rw-r--r--src/DefaultBtInteractive.cc4
-rw-r--r--src/DefaultPieceStorage.cc7
-rw-r--r--src/DefaultPieceStorage.h5
-rw-r--r--src/PieceStorage.h9
-rw-r--r--src/UnknownLengthPieceStorage.h9
5 files changed, 17 insertions, 17 deletions
diff --git a/src/DefaultBtInteractive.cc b/src/DefaultBtInteractive.cc
index fce09bc6..7e6d1c0a 100644
--- a/src/DefaultBtInteractive.cc
+++ b/src/DefaultBtInteractive.cc
@@ -200,8 +200,8 @@ void DefaultBtInteractive::decideChoking() {
}
void DefaultBtInteractive::checkHave() {
- std::deque<size_t> indexes =
- pieceStorage->getAdvertisedPieceIndexes(cuid, haveCheckPoint);
+ std::deque<size_t> indexes;
+ pieceStorage->getAdvertisedPieceIndexes(indexes, cuid, haveCheckPoint);
haveCheckPoint.reset();
if(indexes.size() >= 20) {
if(peer->isFastExtensionEnabled() && pieceStorage->allDownloadFinished()) {
diff --git a/src/DefaultPieceStorage.cc b/src/DefaultPieceStorage.cc
index 75eb5fd4..a68b8ddc 100644
--- a/src/DefaultPieceStorage.cc
+++ b/src/DefaultPieceStorage.cc
@@ -552,11 +552,11 @@ void DefaultPieceStorage::advertisePiece(int32_t cuid, size_t index)
haves.push_front(entry);
}
-std::deque<size_t>
-DefaultPieceStorage::getAdvertisedPieceIndexes(int32_t myCuid,
+void
+DefaultPieceStorage::getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ int32_t myCuid,
const Time& lastCheckTime)
{
- std::deque<size_t> indexes;
for(Haves::const_iterator itr = haves.begin(); itr != haves.end(); itr++) {
const Haves::value_type& have = *itr;
if(have.getCuid() == myCuid) {
@@ -567,7 +567,6 @@ DefaultPieceStorage::getAdvertisedPieceIndexes(int32_t myCuid,
}
indexes.push_back(have.getIndex());
}
- return indexes;
}
class FindElapsedHave
diff --git a/src/DefaultPieceStorage.h b/src/DefaultPieceStorage.h
index be068047..f891193f 100644
--- a/src/DefaultPieceStorage.h
+++ b/src/DefaultPieceStorage.h
@@ -181,8 +181,9 @@ public:
virtual void advertisePiece(int32_t cuid, size_t index);
- virtual std::deque<size_t>
- getAdvertisedPieceIndexes(int32_t myCuid, const Time& lastCheckTime);
+ virtual void
+ getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ int32_t myCuid, const Time& lastCheckTime);
virtual void removeAdvertisedPiece(time_t elapsed);
diff --git a/src/PieceStorage.h b/src/PieceStorage.h
index d101c2f6..684e3436 100644
--- a/src/PieceStorage.h
+++ b/src/PieceStorage.h
@@ -176,11 +176,12 @@ public:
virtual void advertisePiece(int32_t cuid, size_t index) = 0;
/**
- * Returns piece index which is not advertised by the caller command and
- * newer than lastCheckTime.
+ * indexes is filled with piece index which is not advertised by the caller
+ * command and newer than lastCheckTime.
*/
- virtual std::deque<size_t>
- getAdvertisedPieceIndexes(int32_t myCuid, const Time& lastCheckTime) = 0;
+ virtual void getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ int32_t myCuid,
+ const Time& lastCheckTime) = 0;
/**
* Removes have entry if specified seconds have elapsed since its
diff --git a/src/UnknownLengthPieceStorage.h b/src/UnknownLengthPieceStorage.h
index 3e7b5b94..48c16a69 100644
--- a/src/UnknownLengthPieceStorage.h
+++ b/src/UnknownLengthPieceStorage.h
@@ -216,11 +216,10 @@ public:
* Returns piece index which is not advertised by the caller command and
* newer than lastCheckTime.
*/
- virtual std::deque<size_t>
- getAdvertisedPieceIndexes(int32_t myCuid, const Time& lastCheckTime)
- {
- return std::deque<size_t>();
- }
+ virtual void
+ getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
+ int32_t myCuid, const Time& lastCheckTime)
+ {}
/**
* Removes have entry if specified seconds have elapsed since its