mirror of https://github.com/aria2/aria2
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.hpull/1/head
parent
8b6da1ee36
commit
918c6bf38d
13
ChangeLog
13
ChangeLog
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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\
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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;
|
||||
*/
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
*/
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue