From 918c6bf38d710d4a97350fd676750ff5888f68a2 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 29 May 2009 12:32:17 +0000 Subject: [PATCH] 2009-05-29 Tatsuhiro Tsujikawa 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 --- ChangeLog | 13 +++++++++++++ src/DefaultPieceStorage.cc | 16 ++++++++++------ src/DefaultPieceStorage.h | 6 ++++++ src/Makefile.am | 1 - src/Makefile.in | 12 ++++++------ src/PieceStorage.h | 12 +++++++++--- src/UnknownLengthPieceStorage.cc | 8 +++++++- src/UnknownLengthPieceStorage.h | 4 ++++ test/MockPieceStorage.h | 8 +++++++- 9 files changed, 62 insertions(+), 18 deletions(-) diff --git a/ChangeLog b/ChangeLog index 38461fab..154e92fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2009-05-29 Tatsuhiro Tsujikawa + + 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 Implemented getter methods in header files to give them more diff --git a/src/DefaultPieceStorage.cc b/src/DefaultPieceStorage.cc index 729f10ce..eca7ba63 100644 --- a/src/DefaultPieceStorage.cc +++ b/src/DefaultPieceStorage.cc @@ -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 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) { return getMissingPiece(peer->getBitfield(), peer->getBitfieldLength()); @@ -257,6 +259,8 @@ SharedHandle DefaultPieceStorage::getMissingFastPiece } } +#endif // ENABLE_BITTORRENT + PieceHandle DefaultPieceStorage::getMissingPiece() { size_t index; diff --git a/src/DefaultPieceStorage.h b/src/DefaultPieceStorage.h index 5febd686..1bf01f62 100644 --- a/src/DefaultPieceStorage.h +++ b/src/DefaultPieceStorage.h @@ -94,8 +94,10 @@ private: SharedHandle getMissingPiece(const BitfieldMan& bitfield); +#ifdef ENABLE_BITTORRENT void createFastIndexBitfield(BitfieldMan& bitfield, const SharedHandle& peer); +#endif // ENABLE_BITTORRENT SharedHandle 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); virtual SharedHandle getMissingPiece(const SharedHandle& peer); @@ -127,6 +131,8 @@ public: virtual SharedHandle getMissingFastPiece (const SharedHandle& peer, const std::deque& excludedIndexes); +#endif // ENABLE_BITTORRENT + virtual SharedHandle getMissingPiece(); virtual SharedHandle getMissingPiece(size_t index); diff --git a/src/Makefile.am b/src/Makefile.am index bda8a5a6..80d7ca26 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -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\ diff --git a/src/Makefile.in b/src/Makefile.in index f6703e91..7b01130f 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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 \ diff --git a/src/PieceStorage.h b/src/PieceStorage.h index 31ee44e2..dc3a72f1 100644 --- a/src/PieceStorage.h +++ b/src/PieceStorage.h @@ -36,22 +36,26 @@ #define _D_PIECE_STORAGE_H_ #include "common.h" -#include "SharedHandle.h" -#include "TimeA2.h" -#include "IntSequence.h" + #include #include +#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, const std::deque& excludedIndexes) = 0; +#endif // ENABLE_BITTORRENT + /** * Returns a missing piece if available. Otherwise returns 0; */ diff --git a/src/UnknownLengthPieceStorage.cc b/src/UnknownLengthPieceStorage.cc index f39870ff..2bbc2061 100644 --- a/src/UnknownLengthPieceStorage.cc +++ b/src/UnknownLengthPieceStorage.cc @@ -33,6 +33,9 @@ */ /* copyright --> */ #include "UnknownLengthPieceStorage.h" + +#include + #include "DefaultDiskWriter.h" #include "DirectDiskAdaptor.h" #include "prefs.h" @@ -40,7 +43,6 @@ #include "DownloadContext.h" #include "Piece.h" #include "FileEntry.h" -#include namespace aria2 { @@ -67,6 +69,8 @@ void UnknownLengthPieceStorage::initStorage() _diskAdaptor = directDiskAdaptor; } +#ifdef ENABLE_BITTORRENT + bool UnknownLengthPieceStorage::hasMissingPiece(const SharedHandle& peer) { abort(); @@ -94,6 +98,8 @@ SharedHandle UnknownLengthPieceStorage::getMissingFastPiece abort(); } +#endif // ENABLE_BITTORRENT + PieceHandle UnknownLengthPieceStorage::getMissingPiece() { if(_downloadFinished) { diff --git a/src/UnknownLengthPieceStorage.h b/src/UnknownLengthPieceStorage.h index dbc49ed5..f71e195b 100644 --- a/src/UnknownLengthPieceStorage.h +++ b/src/UnknownLengthPieceStorage.h @@ -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 getMissingFastPiece (const SharedHandle& peer, const std::deque& excludedIndexes); +#endif // ENABLE_BITTORRENT + /** * Returns a missing piece if available. Otherwise returns 0; */ diff --git a/test/MockPieceStorage.h b/test/MockPieceStorage.h index a0dde74e..185498eb 100644 --- a/test/MockPieceStorage.h +++ b/test/MockPieceStorage.h @@ -2,10 +2,12 @@ #define _D_MOCK_PIECE_STORAGE_H_ #include "PieceStorage.h" + +#include + #include "BitfieldMan.h" #include "Piece.h" #include "DiskAdaptor.h" -#include namespace aria2 { @@ -34,6 +36,8 @@ public: virtual ~MockPieceStorage() {} +#ifdef ENABLE_BITTORRENT + virtual bool hasMissingPiece(const SharedHandle& peer) { return false; } @@ -58,6 +62,8 @@ public: return SharedHandle(new Piece()); } +#endif // ENABLE_BITTORRENT + virtual SharedHandle getMissingPiece() { return SharedHandle(new Piece());