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
pull/1/head
Tatsuhiro Tsujikawa 2008-05-11 10:57:18 +00:00
parent 82e0092b19
commit 7ec7b7ea60
7 changed files with 32 additions and 21 deletions

View File

@ -1,3 +1,14 @@
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
2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com> 2008-05-11 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Changed method signature: Changed method signature:

View File

@ -200,8 +200,8 @@ void DefaultBtInteractive::decideChoking() {
} }
void DefaultBtInteractive::checkHave() { void DefaultBtInteractive::checkHave() {
std::deque<size_t> indexes = std::deque<size_t> indexes;
pieceStorage->getAdvertisedPieceIndexes(cuid, haveCheckPoint); pieceStorage->getAdvertisedPieceIndexes(indexes, cuid, haveCheckPoint);
haveCheckPoint.reset(); haveCheckPoint.reset();
if(indexes.size() >= 20) { if(indexes.size() >= 20) {
if(peer->isFastExtensionEnabled() && pieceStorage->allDownloadFinished()) { if(peer->isFastExtensionEnabled() && pieceStorage->allDownloadFinished()) {

View File

@ -552,11 +552,11 @@ void DefaultPieceStorage::advertisePiece(int32_t cuid, size_t index)
haves.push_front(entry); haves.push_front(entry);
} }
std::deque<size_t> void
DefaultPieceStorage::getAdvertisedPieceIndexes(int32_t myCuid, DefaultPieceStorage::getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
int32_t myCuid,
const Time& lastCheckTime) const Time& lastCheckTime)
{ {
std::deque<size_t> indexes;
for(Haves::const_iterator itr = haves.begin(); itr != haves.end(); itr++) { for(Haves::const_iterator itr = haves.begin(); itr != haves.end(); itr++) {
const Haves::value_type& have = *itr; const Haves::value_type& have = *itr;
if(have.getCuid() == myCuid) { if(have.getCuid() == myCuid) {
@ -567,7 +567,6 @@ DefaultPieceStorage::getAdvertisedPieceIndexes(int32_t myCuid,
} }
indexes.push_back(have.getIndex()); indexes.push_back(have.getIndex());
} }
return indexes;
} }
class FindElapsedHave class FindElapsedHave

View File

@ -181,8 +181,9 @@ public:
virtual void advertisePiece(int32_t cuid, size_t index); virtual void advertisePiece(int32_t cuid, size_t index);
virtual std::deque<size_t> virtual void
getAdvertisedPieceIndexes(int32_t myCuid, const Time& lastCheckTime); getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
int32_t myCuid, const Time& lastCheckTime);
virtual void removeAdvertisedPiece(time_t elapsed); virtual void removeAdvertisedPiece(time_t elapsed);

View File

@ -176,11 +176,12 @@ public:
virtual void advertisePiece(int32_t cuid, size_t index) = 0; virtual void advertisePiece(int32_t cuid, size_t index) = 0;
/** /**
* Returns piece index which is not advertised by the caller command and * indexes is filled with piece index which is not advertised by the caller
* newer than lastCheckTime. * command and newer than lastCheckTime.
*/ */
virtual std::deque<size_t> virtual void getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
getAdvertisedPieceIndexes(int32_t myCuid, const Time& lastCheckTime) = 0; int32_t myCuid,
const Time& lastCheckTime) = 0;
/** /**
* Removes have entry if specified seconds have elapsed since its * Removes have entry if specified seconds have elapsed since its

View File

@ -216,11 +216,10 @@ public:
* Returns piece index which is not advertised by the caller command and * Returns piece index which is not advertised by the caller command and
* newer than lastCheckTime. * newer than lastCheckTime.
*/ */
virtual std::deque<size_t> virtual void
getAdvertisedPieceIndexes(int32_t myCuid, const Time& lastCheckTime) getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
{ int32_t myCuid, const Time& lastCheckTime)
return std::deque<size_t>(); {}
}
/** /**
* Removes have entry if specified seconds have elapsed since its * Removes have entry if specified seconds have elapsed since its

View File

@ -183,10 +183,10 @@ public:
virtual void advertisePiece(int32_t cuid, size_t index) {} virtual void advertisePiece(int32_t cuid, size_t index) {}
virtual std::deque<size_t> getAdvertisedPieceIndexes(int32_t myCuid, virtual void getAdvertisedPieceIndexes(std::deque<size_t>& indexes,
const Time& lastCheckTime) { int32_t myCuid,
return std::deque<size_t>(); const Time& lastCheckTime)
} {}
virtual void removeAdvertisedPiece(time_t elapsed) {} virtual void removeAdvertisedPiece(time_t elapsed) {}