2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>

Removed Peer.cc from compile source list when --disable-bittorrent
	is specified.  Added #ifdef ENABLE_BITTORRENT guard to methods that
	takes Peer.
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/Makefile.am
	* src/PieceStorage.h
	* src/UnknownLengthPieceStorage.cc
	* src/UnknownLengthPieceStorage.h
	* test/MockPieceStorage.h
pull/1/head
Tatsuhiro Tsujikawa 2009-05-29 12:32:17 +00:00
parent 8b6da1ee36
commit 918c6bf38d
9 changed files with 62 additions and 18 deletions

View File

@ -1,3 +1,16 @@
2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed Peer.cc from compile source list when --disable-bittorrent
is specified. Added #ifdef ENABLE_BITTORRENT guard to methods that
takes Peer.
* src/DefaultPieceStorage.cc
* src/DefaultPieceStorage.h
* src/Makefile.am
* src/PieceStorage.h
* src/UnknownLengthPieceStorage.cc
* src/UnknownLengthPieceStorage.h
* test/MockPieceStorage.h
2009-05-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Implemented getter methods in header files to give them more

View File

@ -80,12 +80,6 @@ DefaultPieceStorage::~DefaultPieceStorage() {
delete bitfieldMan;
}
bool DefaultPieceStorage::hasMissingPiece(const PeerHandle& peer)
{
return bitfieldMan->hasMissingPiece(peer->getBitfield(),
peer->getBitfieldLength());
}
bool DefaultPieceStorage::isEndGame()
{
return bitfieldMan->countMissingBlock() <= endGamePieceNum;
@ -194,6 +188,14 @@ SharedHandle<Piece> DefaultPieceStorage::getMissingPiece
return getMissingPiece(bitfield.getBitfield(), bitfield.getBitfieldLength());
}
#ifdef ENABLE_BITTORRENT
bool DefaultPieceStorage::hasMissingPiece(const PeerHandle& peer)
{
return bitfieldMan->hasMissingPiece(peer->getBitfield(),
peer->getBitfieldLength());
}
PieceHandle DefaultPieceStorage::getMissingPiece(const SharedHandle<Peer>& peer)
{
return getMissingPiece(peer->getBitfield(), peer->getBitfieldLength());
@ -257,6 +259,8 @@ SharedHandle<Piece> DefaultPieceStorage::getMissingFastPiece
}
}
#endif // ENABLE_BITTORRENT
PieceHandle DefaultPieceStorage::getMissingPiece()
{
size_t index;

View File

@ -94,8 +94,10 @@ private:
SharedHandle<Piece> getMissingPiece(const BitfieldMan& bitfield);
#ifdef ENABLE_BITTORRENT
void createFastIndexBitfield(BitfieldMan& bitfield,
const SharedHandle<Peer>& peer);
#endif // ENABLE_BITTORRENT
SharedHandle<Piece> checkOutPiece(size_t index);
// size_t deleteUsedPiecesByFillRate(int fillRate, size_t toDelete);
@ -115,6 +117,8 @@ public:
virtual ~DefaultPieceStorage();
#ifdef ENABLE_BITTORRENT
virtual bool hasMissingPiece(const SharedHandle<Peer>& peer);
virtual SharedHandle<Piece> getMissingPiece(const SharedHandle<Peer>& peer);
@ -127,6 +131,8 @@ public:
virtual SharedHandle<Piece> getMissingFastPiece
(const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes);
#endif // ENABLE_BITTORRENT
virtual SharedHandle<Piece> getMissingPiece();
virtual SharedHandle<Piece> getMissingPiece(size_t index);

View File

@ -144,7 +144,6 @@ SRCS = Socket.h\
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
DirectDiskAdaptor.cc DirectDiskAdaptor.h\
MultiDiskAdaptor.cc MultiDiskAdaptor.h\
Peer.cc\
PeerSessionResource.cc PeerSessionResource.h\
BtRegistry.cc BtRegistry.h\
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\

View File

@ -393,7 +393,7 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \
DirectDiskAdaptor.cc DirectDiskAdaptor.h MultiDiskAdaptor.cc \
MultiDiskAdaptor.h Peer.cc PeerSessionResource.cc \
MultiDiskAdaptor.h PeerSessionResource.cc \
PeerSessionResource.h BtRegistry.cc BtRegistry.h \
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
PeerConnection.cc PeerConnection.h ByteArrayDiskWriter.cc \
@ -458,7 +458,7 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
PeerAbstractCommand.cc PeerAbstractCommand.h \
PeerInitiateConnectionCommand.cc \
PeerInitiateConnectionCommand.h PeerInteractionCommand.cc \
PeerInteractionCommand.h Peer.h PeerListenCommand.cc \
PeerInteractionCommand.h Peer.cc Peer.h PeerListenCommand.cc \
PeerListenCommand.h RequestSlot.cc RequestSlot.h \
TrackerWatcherCommand.cc TrackerWatcherCommand.h \
PeerChokeCommand.cc PeerChokeCommand.h SeedCriteria.h \
@ -826,9 +826,9 @@ am__objects_26 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \
StreamCheckIntegrityEntry.$(OBJEXT) DiskAdaptor.$(OBJEXT) \
AbstractSingleDiskAdaptor.$(OBJEXT) \
DirectDiskAdaptor.$(OBJEXT) MultiDiskAdaptor.$(OBJEXT) \
Peer.$(OBJEXT) PeerSessionResource.$(OBJEXT) \
BtRegistry.$(OBJEXT) MultiFileAllocationIterator.$(OBJEXT) \
PeerConnection.$(OBJEXT) ByteArrayDiskWriter.$(OBJEXT) \
PeerSessionResource.$(OBJEXT) BtRegistry.$(OBJEXT) \
MultiFileAllocationIterator.$(OBJEXT) PeerConnection.$(OBJEXT) \
ByteArrayDiskWriter.$(OBJEXT) \
ByteArrayDiskWriterFactory.$(OBJEXT) ServerHost.$(OBJEXT) \
DownloadContext.$(OBJEXT) SingleFileDownloadContext.$(OBJEXT) \
TimedHaltCommand.$(OBJEXT) prefs.$(OBJEXT) \
@ -1149,7 +1149,7 @@ SRCS = Socket.h SocketCore.cc SocketCore.h BinaryStream.h Command.cc \
IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \
DirectDiskAdaptor.cc DirectDiskAdaptor.h MultiDiskAdaptor.cc \
MultiDiskAdaptor.h Peer.cc PeerSessionResource.cc \
MultiDiskAdaptor.h PeerSessionResource.cc \
PeerSessionResource.h BtRegistry.cc BtRegistry.h \
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
PeerConnection.cc PeerConnection.h ByteArrayDiskWriter.cc \

View File

@ -36,22 +36,26 @@
#define _D_PIECE_STORAGE_H_
#include "common.h"
#include "SharedHandle.h"
#include "TimeA2.h"
#include "IntSequence.h"
#include <string>
#include <deque>
#include "SharedHandle.h"
#include "TimeA2.h"
namespace aria2 {
class Piece;
#ifdef ENABLE_BITTORRENT
class Peer;
#endif // ENABLE_BITTORRENT
class DiskAdaptor;
class PieceStorage {
public:
virtual ~PieceStorage() {}
#ifdef ENABLE_BITTORRENT
/**
* Returns true if the peer has a piece that localhost doesn't have.
* Otherwise returns false.
@ -93,6 +97,8 @@ public:
(const SharedHandle<Peer>& peer,
const std::deque<size_t>& excludedIndexes) = 0;
#endif // ENABLE_BITTORRENT
/**
* Returns a missing piece if available. Otherwise returns 0;
*/

View File

@ -33,6 +33,9 @@
*/
/* copyright --> */
#include "UnknownLengthPieceStorage.h"
#include <cstdlib>
#include "DefaultDiskWriter.h"
#include "DirectDiskAdaptor.h"
#include "prefs.h"
@ -40,7 +43,6 @@
#include "DownloadContext.h"
#include "Piece.h"
#include "FileEntry.h"
#include <stdlib.h>
namespace aria2 {
@ -67,6 +69,8 @@ void UnknownLengthPieceStorage::initStorage()
_diskAdaptor = directDiskAdaptor;
}
#ifdef ENABLE_BITTORRENT
bool UnknownLengthPieceStorage::hasMissingPiece(const SharedHandle<Peer>& peer)
{
abort();
@ -94,6 +98,8 @@ SharedHandle<Piece> UnknownLengthPieceStorage::getMissingFastPiece
abort();
}
#endif // ENABLE_BITTORRENT
PieceHandle UnknownLengthPieceStorage::getMissingPiece()
{
if(_downloadFinished) {

View File

@ -65,6 +65,8 @@ public:
virtual ~UnknownLengthPieceStorage();
#ifdef ENABLE_BITTORRENT
/**
* Returns true if the peer has a piece that localhost doesn't have.
* Otherwise returns false.
@ -94,6 +96,8 @@ public:
virtual SharedHandle<Piece> getMissingFastPiece
(const SharedHandle<Peer>& peer, const std::deque<size_t>& excludedIndexes);
#endif // ENABLE_BITTORRENT
/**
* Returns a missing piece if available. Otherwise returns 0;
*/

View File

@ -2,10 +2,12 @@
#define _D_MOCK_PIECE_STORAGE_H_
#include "PieceStorage.h"
#include <algorithm>
#include "BitfieldMan.h"
#include "Piece.h"
#include "DiskAdaptor.h"
#include <algorithm>
namespace aria2 {
@ -34,6 +36,8 @@ public:
virtual ~MockPieceStorage() {}
#ifdef ENABLE_BITTORRENT
virtual bool hasMissingPiece(const SharedHandle<Peer>& peer) {
return false;
}
@ -58,6 +62,8 @@ public:
return SharedHandle<Piece>(new Piece());
}
#endif // ENABLE_BITTORRENT
virtual SharedHandle<Piece> getMissingPiece()
{
return SharedHandle<Piece>(new Piece());