mirror of https://github.com/aria2/aria2
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed compile error if ENABLE_BITTORRENT is undefined. * src/DefaultPieceStorage.cc * src/DefaultPieceStorage.h * src/PieceStorage.h * src/UnknownLengthPieceStorage.cc * src/UnknownLengthPieceStorage.h * test/MockPieceStorage.h * test/ProtocolDetectorTest.cc * test/XmlRpcMethodTest.ccpull/1/head
parent
66e864daf2
commit
9a6a73dd96
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Fixed compile error if ENABLE_BITTORRENT is undefined.
|
||||
* src/DefaultPieceStorage.cc
|
||||
* src/DefaultPieceStorage.h
|
||||
* src/PieceStorage.h
|
||||
* src/UnknownLengthPieceStorage.cc
|
||||
* src/UnknownLengthPieceStorage.h
|
||||
* test/MockPieceStorage.h
|
||||
* test/ProtocolDetectorTest.cc
|
||||
* test/XmlRpcMethodTest.cc
|
||||
|
||||
2009-12-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
|
||||
|
||||
Documented in man page that if getifaddrs() is missing,
|
||||
|
|
|
@ -196,12 +196,6 @@ bool DefaultPieceStorage::hasMissingPiece(const PeerHandle& peer)
|
|||
peer->getBitfieldLength());
|
||||
}
|
||||
|
||||
bool DefaultPieceStorage::hasMissingUnusedPiece()
|
||||
{
|
||||
size_t index;
|
||||
return bitfieldMan->getFirstMissingUnusedIndex(index);
|
||||
}
|
||||
|
||||
PieceHandle DefaultPieceStorage::getMissingPiece(const SharedHandle<Peer>& peer)
|
||||
{
|
||||
return getMissingPiece(peer->getBitfield(), peer->getBitfieldLength());
|
||||
|
@ -267,6 +261,12 @@ SharedHandle<Piece> DefaultPieceStorage::getMissingFastPiece
|
|||
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
bool DefaultPieceStorage::hasMissingUnusedPiece()
|
||||
{
|
||||
size_t index;
|
||||
return bitfieldMan->getFirstMissingUnusedIndex(index);
|
||||
}
|
||||
|
||||
PieceHandle DefaultPieceStorage::getSparseMissingUnusedPiece
|
||||
(const unsigned char* ignoreBitfield, size_t length)
|
||||
{
|
||||
|
|
|
@ -121,8 +121,6 @@ public:
|
|||
|
||||
virtual bool hasMissingPiece(const SharedHandle<Peer>& peer);
|
||||
|
||||
virtual bool hasMissingUnusedPiece();
|
||||
|
||||
virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer);
|
||||
|
||||
virtual SharedHandle<Piece> getMissingFastPiece(const SharedHandle<Peer>& peer);
|
||||
|
@ -135,6 +133,8 @@ public:
|
|||
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
virtual bool hasMissingUnusedPiece();
|
||||
|
||||
virtual SharedHandle<Piece> getSparseMissingUnusedPiece
|
||||
(const unsigned char* ignoreBitfield, size_t length);
|
||||
|
||||
|
|
|
@ -62,8 +62,6 @@ public:
|
|||
*/
|
||||
virtual bool hasMissingPiece(const SharedHandle<Peer>& peer) = 0;
|
||||
|
||||
virtual bool hasMissingUnusedPiece() = 0;
|
||||
|
||||
/**
|
||||
* Returns a piece that the peer has but localhost doesn't.
|
||||
* The piece will be marked "used" status in order to prevent other command
|
||||
|
@ -101,6 +99,9 @@ public:
|
|||
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
// Returns true if there is at least one missing and unused piece.
|
||||
virtual bool hasMissingUnusedPiece() = 0;
|
||||
|
||||
/**
|
||||
* Returns a missing piece if available. Otherwise returns 0;
|
||||
* If ignoreBitfield is set, indexes of true bit are excluded.
|
||||
|
|
|
@ -78,11 +78,6 @@ bool UnknownLengthPieceStorage::hasMissingPiece(const SharedHandle<Peer>& peer)
|
|||
abort();
|
||||
}
|
||||
|
||||
bool UnknownLengthPieceStorage::hasMissingUnusedPiece()
|
||||
{
|
||||
abort();
|
||||
}
|
||||
|
||||
SharedHandle<Piece> UnknownLengthPieceStorage::getMissingPiece(const SharedHandle<Peer>& peer)
|
||||
{
|
||||
abort();
|
||||
|
@ -107,6 +102,11 @@ SharedHandle<Piece> UnknownLengthPieceStorage::getMissingFastPiece
|
|||
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
bool UnknownLengthPieceStorage::hasMissingUnusedPiece()
|
||||
{
|
||||
abort();
|
||||
}
|
||||
|
||||
SharedHandle<Piece> UnknownLengthPieceStorage::getSparseMissingUnusedPiece
|
||||
(const unsigned char* ignoreBitfield, size_t length)
|
||||
{
|
||||
|
|
|
@ -73,8 +73,6 @@ public:
|
|||
*/
|
||||
virtual bool hasMissingPiece(const SharedHandle<Peer>& peer);
|
||||
|
||||
virtual bool hasMissingUnusedPiece();
|
||||
|
||||
/**
|
||||
* Returns a piece that the peer has but localhost doesn't.
|
||||
* The piece will be marked "used" status in order to prevent other command
|
||||
|
@ -100,6 +98,8 @@ public:
|
|||
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
virtual bool hasMissingUnusedPiece();
|
||||
|
||||
/**
|
||||
* Returns a missing piece if available. Otherwise returns 0;
|
||||
*/
|
||||
|
|
|
@ -44,11 +44,6 @@ public:
|
|||
return false;
|
||||
}
|
||||
|
||||
virtual bool hasMissingUnusedPiece()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer) {
|
||||
return SharedHandle<Piece>(new Piece());
|
||||
}
|
||||
|
@ -71,6 +66,11 @@ public:
|
|||
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
virtual bool hasMissingUnusedPiece()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual SharedHandle<Piece> getSparseMissingUnusedPiece
|
||||
(const unsigned char* ignoreBitfield, size_t length)
|
||||
{
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
#include "ProtocolDetector.h"
|
||||
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
|
||||
#include "Exception.h"
|
||||
#include "util.h"
|
||||
#include <iostream>
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
|
||||
namespace aria2 {
|
||||
|
||||
|
@ -47,10 +48,16 @@ void ProtocolDetectorTest::testGuessTorrentFile()
|
|||
void ProtocolDetectorTest::testGuessTorrentMagnet()
|
||||
{
|
||||
ProtocolDetector detector;
|
||||
#ifdef ENABLE_BITTORRENT
|
||||
CPPUNIT_ASSERT
|
||||
(detector.guessTorrentMagnet
|
||||
("magnet:?xt=urn:btih:248d0a1cd08284299de78d5c1ed359bb46717d8c"));
|
||||
CPPUNIT_ASSERT(!detector.guessTorrentMagnet("magnet:?"));
|
||||
#else // !ENABLE_BITTORRENT
|
||||
CPPUNIT_ASSERT
|
||||
(!detector.guessTorrentMagnet
|
||||
("magnet:?xt=urn:btih:248d0a1cd08284299de78d5c1ed359bb46717d8c"));
|
||||
#endif // !ENABLE_BITTORRENT
|
||||
}
|
||||
|
||||
void ProtocolDetectorTest::testGuessMetalinkFile()
|
||||
|
|
|
@ -538,6 +538,8 @@ static void addUri(const std::string& uri,
|
|||
CPPUNIT_ASSERT_EQUAL(0, m.execute(req, e.get())._code);
|
||||
}
|
||||
|
||||
#ifdef ENABLE_BITTORRENT
|
||||
|
||||
static void addTorrent
|
||||
(const std::string& torrentFile, const SharedHandle<DownloadEngine>& e)
|
||||
{
|
||||
|
@ -547,12 +549,16 @@ static void addTorrent
|
|||
XmlRpcResponse res = m.execute(req, e.get());
|
||||
}
|
||||
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
void XmlRpcMethodTest::testTellWaiting()
|
||||
{
|
||||
addUri("http://1/", _e);
|
||||
addUri("http://2/", _e);
|
||||
addUri("http://3/", _e);
|
||||
#ifdef ENABLE_BITTORRENT
|
||||
addTorrent("single.torrent", _e);
|
||||
#endif // ENABLE_BITTORRENT
|
||||
|
||||
TellWaitingXmlRpcMethod m;
|
||||
XmlRpcRequest req("aria2.tellWaiting", BDE::list());
|
||||
|
@ -566,17 +572,29 @@ void XmlRpcMethodTest::testTellWaiting()
|
|||
// waiting.size() == offset+num
|
||||
req = XmlRpcRequest("aria2.tellWaiting", BDE::list());
|
||||
req._params << BDE((int64_t)1);
|
||||
#ifdef ENABLE_BITTORRENT
|
||||
req._params << BDE((int64_t)3);
|
||||
#else // !ENABLE_BITTORRENT
|
||||
req._params << BDE((int64_t)2);
|
||||
#endif // !ENABLE_BITTORRENT
|
||||
res = m.execute(req, _e.get());
|
||||
CPPUNIT_ASSERT_EQUAL(0, res._code);
|
||||
#ifdef ENABLE_BITTORRENT
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)3, res._param.size());
|
||||
#else // !ENABLE_BITTORRENT
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2, res._param.size());
|
||||
#endif // !ENABLE_BITTORRENT
|
||||
// waiting.size() < offset+num
|
||||
req = XmlRpcRequest("aria2.tellWaiting", BDE::list());
|
||||
req._params << BDE((int64_t)1);
|
||||
req._params << BDE((int64_t)4);
|
||||
res = m.execute(req, _e.get());
|
||||
CPPUNIT_ASSERT_EQUAL(0, res._code);
|
||||
#ifdef ENABLE_BITTORRENT
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)3, res._param.size());
|
||||
#else //!ENABLE_BITTORRENT
|
||||
CPPUNIT_ASSERT_EQUAL((size_t)2, res._param.size());
|
||||
#endif // !ENABLE_BITTORRENT
|
||||
}
|
||||
|
||||
void XmlRpcMethodTest::testTellWaiting_fail()
|
||||
|
|
Loading…
Reference in New Issue