2007-11-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

Added ifdef and some modifications to compile without 
BitTorrent,
	Metalink, MessageDigest
	support.
	* src/PieceHashCheckIntegrityEntry.cc
	* src/MetalinkEntry.h
	* src/version_usage.cc
	* src/main.cc
	* src/DownloadEngine.{h, cc}
	* src/Metalink2RequestGroup.cc
	* src/Peer.cc
	* src/RequestGroup.cc
	* src/MetalinkHelper.cc
	* test/DefaultPieceStorageTest.cc
	* test/MetalinkPostDownloadHandlerTest.cc
	* test/Metalink2RequestGroupTest.cc

	Hide TOTAL SPD when all downloads complete.
	* src/ConsoleStatCalc.cc

	Log target system information.
	* src/main.cc
pull/1/head
Tatsuhiro Tsujikawa 2007-11-14 10:10:38 +00:00
parent 8cba9bc24c
commit a31dbb5804
24 changed files with 205 additions and 141 deletions

View File

@ -1,3 +1,27 @@
2007-11-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added ifdef and some modifications to compile without BitTorrent,
Metalink, MessageDigest
support.
* src/PieceHashCheckIntegrityEntry.cc
* src/MetalinkEntry.h
* src/version_usage.cc
* src/main.cc
* src/DownloadEngine.{h, cc}
* src/Metalink2RequestGroup.cc
* src/Peer.cc
* src/RequestGroup.cc
* src/MetalinkHelper.cc
* test/DefaultPieceStorageTest.cc
* test/MetalinkPostDownloadHandlerTest.cc
* test/Metalink2RequestGroupTest.cc
Hide TOTAL SPD when all downloads complete.
* src/ConsoleStatCalc.cc
Log target system information.
* src/main.cc
2007-11-13 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Now --metalink-location accepts a comma-deliminated list of locations.

1
TODO
View File

@ -58,4 +58,3 @@
-- remaining issues to be implemented for 0.12.0 release
* Update man page
* Update translation
* Test configuration(without torrent/messagedigest/ssh etc)

View File

@ -415,6 +415,9 @@
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define target-type */
#undef TARGET
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME

8
configure vendored
View File

@ -2598,6 +2598,12 @@ case "$target" in
;;
esac
cat >>confdefs.h <<_ACEOF
#define TARGET "$target"
_ACEOF
# Set localedir
localedir=${datadir}/locale
@ -5832,6 +5838,7 @@ else
fi
else
enable_bittorrent=no
if false; then
@ -5861,6 +5868,7 @@ else
fi
else
enable_metalink=no
if false; then

View File

@ -17,6 +17,8 @@ case "$target" in
;;
esac
AC_DEFINE_UNQUOTED([TARGET], ["$target"], [Define target-type])
# Set localedir
localedir=${datadir}/locale
AC_SUBST(localedir)
@ -91,6 +93,7 @@ if test "x$enable_bittorrent" = "xyes" && test "x$enable_message_digest" = "xyes
AC_DEFINE([ENABLE_BITTORRENT], [1], [Define to 1 if BitTorrent support is enabled.])
AM_CONDITIONAL([ENABLE_BITTORRENT], true)
else
enable_bittorrent=no
AM_CONDITIONAL([ENABLE_BITTORRENT], false)
fi
@ -98,6 +101,7 @@ if test "x$have_libxml2" = "xyes" && test "x$enable_metalink" = "xyes"; then
AC_DEFINE([ENABLE_METALINK], [1], [Define to 1 if Metalink support is enabled.])
AM_CONDITIONAL([ENABLE_METALINK], true)
else
enable_metalink=no
AM_CONDITIONAL([ENABLE_METALINK], false)
fi

View File

@ -116,7 +116,8 @@ ConsoleStatCalc::calculateStat(const RequestGroupManHandle& requestGroupMan,
}
}
if(requestGroupMan->countRequestGroup() > 1) {
if(requestGroupMan->countRequestGroup() > 1 &&
!requestGroupMan->downloadFinished()) {
TransferStat stat = requestGroupMan->calculateStat();
cout << " "
<< "[TOTAL SPD:"

View File

@ -39,9 +39,7 @@
#include "RequestGroup.h"
#include "RequestGroupMan.h"
#include "FileAllocationMan.h"
#ifdef ENABLE_MESSAGE_DIGEST
#include "CheckIntegrityMan.h"
#endif // ENABLE_MESSAGE_DIGEST
#include "Util.h"
#include "LogFactory.h"
#include "TimeA2.h"
@ -84,11 +82,8 @@ DownloadEngine::DownloadEngine():logger(LogFactory::getInstance()),
_haltRequested(false),
noWait(false),
_requestGroupMan(0),
_fileAllocationMan(0)
#ifdef ENABLE_MESSAGE_DIGEST
,
_fileAllocationMan(0),
_checkIntegrityMan(0)
#endif // ENABLE_MESSAGE_DIGEST
{}
DownloadEngine::~DownloadEngine() {

View File

@ -51,10 +51,8 @@ class FileAllocationMan;
extern typedef SharedHandle<FileAllocationMan> FileAllocationManHandle;
class StatCalc;
extern typedef SharedHandle<StatCalc> StatCalcHandle;
#ifdef ENABLE_MESSAGE_DIGEST
class CheckIntegrityMan;
extern typedef SharedHandle<CheckIntegrityMan> CheckIntegrityManHandle;
#endif // ENABLE_MESSAGE_DIGEST
class SocketEntry {
public:
@ -128,9 +126,7 @@ public:
Commands commands;
RequestGroupManHandle _requestGroupMan;
FileAllocationManHandle _fileAllocationMan;
#ifdef ENABLE_MESSAGE_DIGEST
CheckIntegrityManHandle _checkIntegrityMan;
#endif // ENABLE_MESSAGE_DIGEST
const Option* option;
DownloadEngine();

View File

@ -113,6 +113,8 @@ SRCS = Socket.h\
AlphaNumberDecorator.h\
TimeBasedCommand.cc TimeBasedCommand.h\
AutoSaveCommand.cc AutoSaveCommand.h\
PieceStorage.h\
DefaultPieceStorage.cc DefaultPieceStorage.h\
UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h\
StatCalc.h\
ConsoleStatCalc.cc ConsoleStatCalc.h\
@ -125,19 +127,28 @@ SRCS = Socket.h\
SingleFileAllocationIterator.cc SingleFileAllocationIterator.h\
PostDownloadHandler.cc PostDownloadHandler.h\
HaveEraseCommand.cc HaveEraseCommand.h\
Piece.cc Piece.h
Piece.cc Piece.h\
CheckIntegrityMan.cc CheckIntegrityMan.h\
CheckIntegrityEntry.cc CheckIntegrityEntry.h\
PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\
StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\
IteratableValidator.h\
DiskAdaptor.cc DiskAdaptor.h\
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
CopyDiskAdaptor.cc CopyDiskAdaptor.h\
DirectDiskAdaptor.cc DirectDiskAdaptor.h\
MultiDiskAdaptor.cc MultiDiskAdaptor.h\
Peer.cc Peer.h\
BtRegistry.cc BtRegistry.h\
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
PeerConnection.cc PeerConnection.h
# debug_new.cpp
if ENABLE_MESSAGE_DIGEST
SRCS += IteratableChunkChecksumValidator.cc IteratableChunkChecksumValidator.h\
IteratableChecksumValidator.cc IteratableChecksumValidator.h\
IteratableValidator.h\
CheckIntegrityCommand.cc CheckIntegrityCommand.h\
CheckIntegrityEntry.cc CheckIntegrityEntry.h\
PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\
StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\
ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h\
CheckIntegrityMan.cc CheckIntegrityMan.h\
messageDigest.cc messageDigest.h\
MessageDigestHelper.cc MessageDigestHelper.h
endif # ENABLE_MESSAGE_DIGEST
@ -150,7 +161,6 @@ SRCS += MetaEntry.h\
MetaFileUtil.cc MetaFileUtil.h\
MetaEntryVisitor.h\
ShaVisitor.cc ShaVisitor.h\
PeerConnection.cc PeerConnection.h\
PeerMessageUtil.cc PeerMessageUtil.h\
PeerAbstractCommand.cc PeerAbstractCommand.h\
PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\
@ -160,11 +170,6 @@ SRCS += MetaEntry.h\
RequestSlot.cc RequestSlot.h\
Directory.cc Directory.h\
TrackerWatcherCommand.cc TrackerWatcherCommand.h\
DiskAdaptor.cc DiskAdaptor.h\
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
CopyDiskAdaptor.cc CopyDiskAdaptor.h\
DirectDiskAdaptor.cc DirectDiskAdaptor.h\
MultiDiskAdaptor.cc MultiDiskAdaptor.h\
ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
PeerChokeCommand.cc PeerChokeCommand.h\
SeedCriteria.h\
@ -180,12 +185,9 @@ SRCS += MetaEntry.h\
AnnounceList.h AnnounceList.cc\
BtContext.h\
DefaultBtContext.cc DefaultBtContext.h\
PieceStorage.h\
DefaultPieceStorage.cc DefaultPieceStorage.h\
DefaultPeerStorage.cc DefaultPeerStorage.h\
BtAnnounce.h\
DefaultBtAnnounce.cc DefaultBtAnnounce.h\
BtRegistry.cc BtRegistry.h\
BtRuntime.h\
BtContextAwareCommand.cc BtContextAwareCommand.h\
BtMessage.h\
@ -241,7 +243,6 @@ SRCS += MetaEntry.h\
BtSetup.cc BtSetup.h\
BtFileAllocationEntry.cc BtFileAllocationEntry.h\
BtPostDownloadHandler.cc BtPostDownloadHandler.h\
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h
endif # ENABLE_BITTORRENT

View File

@ -42,13 +42,8 @@ bin_PROGRAMS = aria2c$(EXEEXT)
# debug_new.cpp
@ENABLE_MESSAGE_DIGEST_TRUE@am__append_1 = IteratableChunkChecksumValidator.cc IteratableChunkChecksumValidator.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidator.cc IteratableChecksumValidator.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableValidator.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityCommand.cc CheckIntegrityCommand.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityEntry.cc CheckIntegrityEntry.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityMan.cc CheckIntegrityMan.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ messageDigest.cc messageDigest.h\
@ENABLE_MESSAGE_DIGEST_TRUE@ MessageDigestHelper.cc MessageDigestHelper.h
@ -59,7 +54,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
@ENABLE_BITTORRENT_TRUE@ MetaFileUtil.cc MetaFileUtil.h\
@ENABLE_BITTORRENT_TRUE@ MetaEntryVisitor.h\
@ENABLE_BITTORRENT_TRUE@ ShaVisitor.cc ShaVisitor.h\
@ENABLE_BITTORRENT_TRUE@ PeerConnection.cc PeerConnection.h\
@ENABLE_BITTORRENT_TRUE@ PeerMessageUtil.cc PeerMessageUtil.h\
@ENABLE_BITTORRENT_TRUE@ PeerAbstractCommand.cc PeerAbstractCommand.h\
@ENABLE_BITTORRENT_TRUE@ PeerInitiateConnectionCommand.cc PeerInitiateConnectionCommand.h\
@ -69,11 +63,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
@ENABLE_BITTORRENT_TRUE@ RequestSlot.cc RequestSlot.h\
@ENABLE_BITTORRENT_TRUE@ Directory.cc Directory.h\
@ENABLE_BITTORRENT_TRUE@ TrackerWatcherCommand.cc TrackerWatcherCommand.h\
@ENABLE_BITTORRENT_TRUE@ DiskAdaptor.cc DiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ CopyDiskAdaptor.cc CopyDiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ DirectDiskAdaptor.cc DirectDiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptor.cc MultiDiskAdaptor.h\
@ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriter.cc ByteArrayDiskWriter.h\
@ENABLE_BITTORRENT_TRUE@ PeerChokeCommand.cc PeerChokeCommand.h\
@ENABLE_BITTORRENT_TRUE@ SeedCriteria.h\
@ -89,12 +78,9 @@ bin_PROGRAMS = aria2c$(EXEEXT)
@ENABLE_BITTORRENT_TRUE@ AnnounceList.h AnnounceList.cc\
@ENABLE_BITTORRENT_TRUE@ BtContext.h\
@ENABLE_BITTORRENT_TRUE@ DefaultBtContext.cc DefaultBtContext.h\
@ENABLE_BITTORRENT_TRUE@ PieceStorage.h\
@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorage.cc DefaultPieceStorage.h\
@ENABLE_BITTORRENT_TRUE@ DefaultPeerStorage.cc DefaultPeerStorage.h\
@ENABLE_BITTORRENT_TRUE@ BtAnnounce.h\
@ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounce.cc DefaultBtAnnounce.h\
@ENABLE_BITTORRENT_TRUE@ BtRegistry.cc BtRegistry.h\
@ENABLE_BITTORRENT_TRUE@ BtRuntime.h\
@ENABLE_BITTORRENT_TRUE@ BtContextAwareCommand.cc BtContextAwareCommand.h\
@ENABLE_BITTORRENT_TRUE@ BtMessage.h\
@ -150,7 +136,6 @@ bin_PROGRAMS = aria2c$(EXEEXT)
@ENABLE_BITTORRENT_TRUE@ BtSetup.cc BtSetup.h\
@ENABLE_BITTORRENT_TRUE@ BtFileAllocationEntry.cc BtFileAllocationEntry.h\
@ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandler.cc BtPostDownloadHandler.h\
@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIterator.cc MultiFileAllocationIterator.h\
@ENABLE_BITTORRENT_TRUE@ BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h
@ENABLE_METALINK_TRUE@am__append_3 = Metalinker.cc Metalinker.h\
@ -262,7 +247,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
ParameterizedStringParser.cc ParameterizedStringParser.h \
FixedWidthNumberDecorator.h NumberDecorator.h \
AlphaNumberDecorator.h TimeBasedCommand.cc TimeBasedCommand.h \
AutoSaveCommand.cc AutoSaveCommand.h \
AutoSaveCommand.cc AutoSaveCommand.h PieceStorage.h \
DefaultPieceStorage.cc DefaultPieceStorage.h \
UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h \
StatCalc.h ConsoleStatCalc.cc ConsoleStatCalc.h \
TransferStat.cc TransferStat.h Dependency.h \
@ -271,49 +257,51 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
FileAllocationIterator.h SingleFileAllocationIterator.cc \
SingleFileAllocationIterator.h PostDownloadHandler.cc \
PostDownloadHandler.h HaveEraseCommand.cc HaveEraseCommand.h \
Piece.cc Piece.h IteratableChunkChecksumValidator.cc \
Piece.cc Piece.h CheckIntegrityMan.cc CheckIntegrityMan.h \
CheckIntegrityEntry.cc CheckIntegrityEntry.h \
PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h \
StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h \
IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \
CopyDiskAdaptor.cc CopyDiskAdaptor.h DirectDiskAdaptor.cc \
DirectDiskAdaptor.h MultiDiskAdaptor.cc MultiDiskAdaptor.h \
Peer.cc Peer.h BtRegistry.cc BtRegistry.h \
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
PeerConnection.cc PeerConnection.h \
IteratableChunkChecksumValidator.cc \
IteratableChunkChecksumValidator.h \
IteratableChecksumValidator.cc IteratableChecksumValidator.h \
IteratableValidator.h CheckIntegrityCommand.cc \
CheckIntegrityCommand.h CheckIntegrityEntry.cc \
CheckIntegrityEntry.h PieceHashCheckIntegrityEntry.cc \
PieceHashCheckIntegrityEntry.h StreamCheckIntegrityEntry.cc \
StreamCheckIntegrityEntry.h ChecksumCheckIntegrityEntry.cc \
ChecksumCheckIntegrityEntry.h CheckIntegrityMan.cc \
CheckIntegrityMan.h messageDigest.cc messageDigest.h \
MessageDigestHelper.cc MessageDigestHelper.h MetaEntry.h \
Data.cc Data.h Dictionary.cc Dictionary.h List.cc List.h \
MetaFileUtil.cc MetaFileUtil.h MetaEntryVisitor.h \
ShaVisitor.cc ShaVisitor.h PeerConnection.cc PeerConnection.h \
CheckIntegrityCommand.cc CheckIntegrityCommand.h \
ChecksumCheckIntegrityEntry.cc ChecksumCheckIntegrityEntry.h \
messageDigest.cc messageDigest.h MessageDigestHelper.cc \
MessageDigestHelper.h MetaEntry.h Data.cc Data.h Dictionary.cc \
Dictionary.h List.cc List.h MetaFileUtil.cc MetaFileUtil.h \
MetaEntryVisitor.h ShaVisitor.cc ShaVisitor.h \
PeerMessageUtil.cc PeerMessageUtil.h PeerAbstractCommand.cc \
PeerAbstractCommand.h PeerInitiateConnectionCommand.cc \
PeerInitiateConnectionCommand.h PeerInteractionCommand.cc \
PeerInteractionCommand.h Peer.cc Peer.h PeerListenCommand.cc \
PeerInteractionCommand.h PeerListenCommand.cc \
PeerListenCommand.h RequestSlot.cc RequestSlot.h Directory.cc \
Directory.h TrackerWatcherCommand.cc TrackerWatcherCommand.h \
DiskAdaptor.cc DiskAdaptor.h AbstractSingleDiskAdaptor.cc \
AbstractSingleDiskAdaptor.h CopyDiskAdaptor.cc \
CopyDiskAdaptor.h DirectDiskAdaptor.cc DirectDiskAdaptor.h \
MultiDiskAdaptor.cc MultiDiskAdaptor.h ByteArrayDiskWriter.cc \
ByteArrayDiskWriter.h PeerChokeCommand.cc PeerChokeCommand.h \
SeedCriteria.h TimeSeedCriteria.h ShareRatioSeedCriteria.h \
ByteArrayDiskWriter.cc ByteArrayDiskWriter.h \
PeerChokeCommand.cc PeerChokeCommand.h SeedCriteria.h \
TimeSeedCriteria.h ShareRatioSeedCriteria.h \
UnionSeedCriteria.h SeedCheckCommand.cc SeedCheckCommand.h \
PeerListProcessor.h DefaultPeerListProcessor.cc \
DefaultPeerListProcessor.h CompactPeerListProcessor.cc \
CompactPeerListProcessor.h DelegatingPeerListProcessor.cc \
DelegatingPeerListProcessor.h AnnounceTier.h AnnounceList.h \
AnnounceList.cc BtContext.h DefaultBtContext.cc \
DefaultBtContext.h PieceStorage.h DefaultPieceStorage.cc \
DefaultPieceStorage.h DefaultPeerStorage.cc \
DefaultPeerStorage.h BtAnnounce.h DefaultBtAnnounce.cc \
DefaultBtAnnounce.h BtRegistry.cc BtRegistry.h BtRuntime.h \
BtContextAwareCommand.cc BtContextAwareCommand.h BtMessage.h \
AbstractBtMessage.h SimpleBtMessage.cc SimpleBtMessage.h \
BtAllowedFastMessage.cc BtAllowedFastMessage.h \
BtBitfieldMessage.cc BtBitfieldMessage.h BtCancelMessage.cc \
BtCancelMessage.h BtChokeMessage.cc BtChokeMessage.h \
BtHaveAllMessage.cc BtHaveAllMessage.h BtHaveMessage.cc \
BtHaveMessage.h BtHaveNoneMessage.cc BtHaveNoneMessage.h \
DefaultBtContext.h DefaultPeerStorage.cc DefaultPeerStorage.h \
BtAnnounce.h DefaultBtAnnounce.cc DefaultBtAnnounce.h \
BtRuntime.h BtContextAwareCommand.cc BtContextAwareCommand.h \
BtMessage.h AbstractBtMessage.h SimpleBtMessage.cc \
SimpleBtMessage.h BtAllowedFastMessage.cc \
BtAllowedFastMessage.h BtBitfieldMessage.cc \
BtBitfieldMessage.h BtCancelMessage.cc BtCancelMessage.h \
BtChokeMessage.cc BtChokeMessage.h BtHaveAllMessage.cc \
BtHaveAllMessage.h BtHaveMessage.cc BtHaveMessage.h \
BtHaveNoneMessage.cc BtHaveNoneMessage.h \
BtInterestedMessage.cc BtInterestedMessage.h \
BtKeepAliveMessage.cc BtKeepAliveMessage.h \
BtNotInterestedMessage.cc BtNotInterestedMessage.h \
@ -342,7 +330,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
PeerReceiveHandshakeCommand.h BtSetup.cc BtSetup.h \
BtFileAllocationEntry.cc BtFileAllocationEntry.h \
BtPostDownloadHandler.cc BtPostDownloadHandler.h \
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
BtCheckIntegrityEntry.cc BtCheckIntegrityEntry.h Metalinker.cc \
Metalinker.h MetalinkEntry.cc MetalinkEntry.h \
MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \
@ -357,18 +344,13 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
@ENABLE_MESSAGE_DIGEST_TRUE@am__objects_1 = IteratableChunkChecksumValidator.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ IteratableChecksumValidator.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityCommand.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityEntry.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ PieceHashCheckIntegrityEntry.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ StreamCheckIntegrityEntry.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ ChecksumCheckIntegrityEntry.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ CheckIntegrityMan.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ messageDigest.$(OBJEXT) \
@ENABLE_MESSAGE_DIGEST_TRUE@ MessageDigestHelper.$(OBJEXT)
@ENABLE_BITTORRENT_TRUE@am__objects_2 = Data.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ Dictionary.$(OBJEXT) List.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MetaFileUtil.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ShaVisitor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerConnection.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerMessageUtil.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerAbstractCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerInitiateConnectionCommand.$(OBJEXT) \
@ -378,11 +360,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
@ENABLE_BITTORRENT_TRUE@ RequestSlot.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ Directory.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TrackerWatcherCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ AbstractSingleDiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ CopyDiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DirectDiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriter.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerChokeCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ SeedCheckCommand.$(OBJEXT) \
@ -391,10 +368,8 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
@ENABLE_BITTORRENT_TRUE@ DelegatingPeerListProcessor.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ AnnounceList.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultBtContext.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultPeerStorage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounce.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtRegistry.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtContextAwareCommand.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ SimpleBtMessage.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtAllowedFastMessage.$(OBJEXT) \
@ -425,7 +400,6 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
@ENABLE_BITTORRENT_TRUE@ BtSetup.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtFileAllocationEntry.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandler.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIterator.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtCheckIntegrityEntry.$(OBJEXT)
@ENABLE_METALINK_TRUE@am__objects_3 = Metalinker.$(OBJEXT) \
@ENABLE_METALINK_TRUE@ MetalinkEntry.$(OBJEXT) \
@ -487,15 +461,23 @@ am__objects_12 = SocketCore.$(OBJEXT) Command.$(OBJEXT) \
Platform.$(OBJEXT) PStringSegment.$(OBJEXT) \
PStringBuildVisitor.$(OBJEXT) \
ParameterizedStringParser.$(OBJEXT) TimeBasedCommand.$(OBJEXT) \
AutoSaveCommand.$(OBJEXT) UnknownLengthPieceStorage.$(OBJEXT) \
ConsoleStatCalc.$(OBJEXT) TransferStat.$(OBJEXT) \
DefaultBtProgressInfoFile.$(OBJEXT) \
AutoSaveCommand.$(OBJEXT) DefaultPieceStorage.$(OBJEXT) \
UnknownLengthPieceStorage.$(OBJEXT) ConsoleStatCalc.$(OBJEXT) \
TransferStat.$(OBJEXT) DefaultBtProgressInfoFile.$(OBJEXT) \
SingleFileAllocationIterator.$(OBJEXT) \
PostDownloadHandler.$(OBJEXT) HaveEraseCommand.$(OBJEXT) \
Piece.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
$(am__objects_3) $(am__objects_4) $(am__objects_5) \
$(am__objects_6) $(am__objects_7) $(am__objects_8) \
$(am__objects_9) $(am__objects_10) $(am__objects_11)
Piece.$(OBJEXT) CheckIntegrityMan.$(OBJEXT) \
CheckIntegrityEntry.$(OBJEXT) \
PieceHashCheckIntegrityEntry.$(OBJEXT) \
StreamCheckIntegrityEntry.$(OBJEXT) DiskAdaptor.$(OBJEXT) \
AbstractSingleDiskAdaptor.$(OBJEXT) CopyDiskAdaptor.$(OBJEXT) \
DirectDiskAdaptor.$(OBJEXT) MultiDiskAdaptor.$(OBJEXT) \
Peer.$(OBJEXT) BtRegistry.$(OBJEXT) \
MultiFileAllocationIterator.$(OBJEXT) PeerConnection.$(OBJEXT) \
$(am__objects_1) $(am__objects_2) $(am__objects_3) \
$(am__objects_4) $(am__objects_5) $(am__objects_6) \
$(am__objects_7) $(am__objects_8) $(am__objects_9) \
$(am__objects_10) $(am__objects_11)
am_libaria2c_a_OBJECTS = $(am__objects_12)
libaria2c_a_OBJECTS = $(am_libaria2c_a_OBJECTS)
am__installdirs = "$(DESTDIR)$(bindir)"
@ -757,7 +739,8 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \
ParameterizedStringParser.cc ParameterizedStringParser.h \
FixedWidthNumberDecorator.h NumberDecorator.h \
AlphaNumberDecorator.h TimeBasedCommand.cc TimeBasedCommand.h \
AutoSaveCommand.cc AutoSaveCommand.h \
AutoSaveCommand.cc AutoSaveCommand.h PieceStorage.h \
DefaultPieceStorage.cc DefaultPieceStorage.h \
UnknownLengthPieceStorage.cc UnknownLengthPieceStorage.h \
StatCalc.h ConsoleStatCalc.cc ConsoleStatCalc.h \
TransferStat.cc TransferStat.h Dependency.h \
@ -766,10 +749,21 @@ SRCS = Socket.h SocketCore.cc SocketCore.h Command.cc Command.h \
FileAllocationIterator.h SingleFileAllocationIterator.cc \
SingleFileAllocationIterator.h PostDownloadHandler.cc \
PostDownloadHandler.h HaveEraseCommand.cc HaveEraseCommand.h \
Piece.cc Piece.h $(am__append_1) $(am__append_2) \
$(am__append_3) $(am__append_4) $(am__append_5) \
$(am__append_6) $(am__append_7) $(am__append_8) \
$(am__append_9) $(am__append_10) $(am__append_11)
Piece.cc Piece.h CheckIntegrityMan.cc CheckIntegrityMan.h \
CheckIntegrityEntry.cc CheckIntegrityEntry.h \
PieceHashCheckIntegrityEntry.cc PieceHashCheckIntegrityEntry.h \
StreamCheckIntegrityEntry.cc StreamCheckIntegrityEntry.h \
IteratableValidator.h DiskAdaptor.cc DiskAdaptor.h \
AbstractSingleDiskAdaptor.cc AbstractSingleDiskAdaptor.h \
CopyDiskAdaptor.cc CopyDiskAdaptor.h DirectDiskAdaptor.cc \
DirectDiskAdaptor.h MultiDiskAdaptor.cc MultiDiskAdaptor.h \
Peer.cc Peer.h BtRegistry.cc BtRegistry.h \
MultiFileAllocationIterator.cc MultiFileAllocationIterator.h \
PeerConnection.cc PeerConnection.h $(am__append_1) \
$(am__append_2) $(am__append_3) $(am__append_4) \
$(am__append_5) $(am__append_6) $(am__append_7) \
$(am__append_8) $(am__append_9) $(am__append_10) \
$(am__append_11)
noinst_LIBRARIES = libaria2c.a
libaria2c_a_SOURCES = $(SRCS)
aria2c_LDADD = libaria2c.a @LIBINTL@ @ALLOCA@ @LIBGNUTLS_LIBS@\

View File

@ -40,9 +40,11 @@
#include "Xml2MetalinkProcessor.h"
#include "Util.h"
#include "message.h"
#include "BtDependency.h"
#include "SingleFileDownloadContext.h"
#include "MetalinkHelper.h"
#ifdef ENABLE_BITTORRENT
# include "BtDependency.h"
#endif // ENABLE_BITTORRENT
Metalink2RequestGroup::Metalink2RequestGroup(const Option* option):_option(option), _logger(LogFactory::getInstance()) {}
@ -130,6 +132,7 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
MetalinkResources::iterator itr = find_if(entry->resources.begin(),
entry->resources.end(),
FindBitTorrentUrl());
#ifdef ENABLE_BITTORRENT
RequestGroupHandle torrentRg = 0;
// there is torrent entry
if(itr != entry->resources.end()) {
@ -145,6 +148,7 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
torrentRg->clearPostDowloadHandler();
groups.push_back(torrentRg);
}
#endif // ENABLE_BITTORRENT
entry->reorderResourcesByPreference();
Strings uris;
for_each(entry->resources.begin(), entry->resources.end(),
@ -153,17 +157,22 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
// If piece hash is specified in the metalink,
// make segment size equal to piece hash size.
int32_t pieceLength;
#ifdef ENABLE_MESSAGE_DIGEST
if(entry->chunkChecksum.isNull()) {
pieceLength = _option->getAsInt(PREF_SEGMENT_SIZE);
} else {
pieceLength = entry->chunkChecksum->getChecksumLength();
}
#else
pieceLength = _option->getAsInt(PREF_SEGMENT_SIZE);
#endif // ENABLE_MESSAGE_DIGEST
SingleFileDownloadContextHandle dctx =
new SingleFileDownloadContext(pieceLength,
entry->getLength(),
"",
entry->file->getPath());
dctx->setDir(_option->get(PREF_DIR));
#ifdef ENABLE_MESSAGE_DIGEST
if(entry->chunkChecksum.isNull()) {
if(!entry->checksum.isNull()) {
dctx->setChecksum(entry->checksum->getMessageDigest());
@ -173,18 +182,19 @@ RequestGroups Metalink2RequestGroup::generate(const string& metalinkFile)
dctx->setPieceHashes(entry->chunkChecksum->getChecksums());
dctx->setPieceHashAlgo(entry->chunkChecksum->getAlgo());
}
#endif // ENABLE_MESSAGE_DIGEST
rg->setDownloadContext(dctx);
rg->setHintTotalLength(entry->getLength());
rg->setNumConcurrentCommand(entry->maxConnections < 0 ?
_option->getAsInt(PREF_METALINK_SERVERS) :
min<int32_t>(_option->getAsInt(PREF_METALINK_SERVERS), entry->maxConnections));
#ifdef ENABLE_BITTORRENT
// Inject depenency between rg and torrentRg here if torrentRg.isNull() == false
if(!torrentRg.isNull()) {
rg->dependsOn(new BtDependency(rg, torrentRg, _option));
}
#endif // ENABLE_BITTORRENT
groups.push_back(rg);
}
return groups;

View File

@ -37,10 +37,10 @@
#include "common.h"
#include "MetalinkResource.h"
#include "Checksum.h"
#include "FileEntry.h"
#ifdef ENABLE_MESSAGE_DIGEST
#include "ChunkChecksum.h"
# include "Checksum.h"
# include "ChunkChecksum.h"
#endif // ENABLE_MESSAGE_DIGEST
#include <deque>

View File

@ -38,6 +38,7 @@
#include "Xml2MetalinkProcessor.h"
#include "Metalinker.h"
#include "prefs.h"
#include "DlAbortEx.h"
MetalinkHelper::MetalinkHelper() {}

View File

@ -35,7 +35,9 @@
#include "Peer.h"
#include "BitfieldManFactory.h"
#include "Util.h"
#include "MessageDigestHelper.h"
#ifdef ENABLE_MESSAGE_DIGEST
# include "MessageDigestHelper.h"
#endif // ENABLE_MESSAGE_DIGEST
Peer::Peer(string ipaddr, int32_t port, int32_t pieceLength, int64_t totalLength):
ipaddr(ipaddr),
@ -51,7 +53,11 @@ Peer::Peer(string ipaddr, int32_t port, int32_t pieceLength, int64_t totalLength
this->bitfield = BitfieldManFactory::getFactoryInstance()->
createBitfieldMan(pieceLength, totalLength);
string idSeed = ipaddr+":"+Util::itos(port);
#ifdef ENABLE_MESSAGE_DIGEST
id = MessageDigestHelper::digestString("sha1", idSeed);
#else
id = idSeed;
#endif // ENABLE_MESSAGE_DIGEST
}
void Peer::reconfigure(int32_t pieceLength, int64_t totalLength)

View File

@ -37,13 +37,9 @@
#include "common.h"
#include "BitfieldMan.h"
#include "SharedHandle.h"
#include "PeerStat.h"
#include "TimeA2.h"
#include <string.h>
#include <string>
using namespace std;
#define PEER_ID_LENGTH 20
#define DEFAULT_LATENCY 1500

View File

@ -54,8 +54,10 @@ bool PieceHashCheckIntegrityEntry::isValidationReady()
void PieceHashCheckIntegrityEntry::initValidator()
{
#ifdef ENABLE_MESSAGE_DIGEST
IteratableChunkChecksumValidatorHandle validator =
new IteratableChunkChecksumValidator(_requestGroup->getDownloadContext(),
_requestGroup->getPieceStorage());
_validator = validator;
#endif // ENABLE_MESSAGE_DIGEST
}

View File

@ -56,13 +56,14 @@
#include "DlAbortEx.h"
#include "DownloadFailureException.h"
#include "RequestGroupMan.h"
#include "DefaultBtProgressInfoFile.h"
#include "DefaultPieceStorage.h"
#include "PostDownloadHandler.h"
#ifdef ENABLE_MESSAGE_DIGEST
# include "CheckIntegrityCommand.h"
#endif // ENABLE_MESSAGE_DIGEST
#ifdef ENABLE_BITTORRENT
# include "BtCheckIntegrityEntry.h"
# include "DefaultPieceStorage.h"
# include "DefaultBtProgressInfoFile.h"
# include "DefaultPeerStorage.h"
# include "DefaultBtAnnounce.h"
# include "BtSetup.h"
@ -584,8 +585,12 @@ RequestGroups RequestGroup::postDownloadProcessing()
void RequestGroup::initializePostDownloadHandler()
{
#ifdef ENABLE_BITTORRENT
_postDownloadHandlers.push_back(new BtPostDownloadHandler(_option));
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
_postDownloadHandlers.push_back(new MetalinkPostDownloadHandler(_option));
#endif // ENABLE_METALINK
}
Strings RequestGroup::getUris() const

View File

@ -115,6 +115,7 @@ RequestGroupHandle createRequestGroup(const Option* op, const Strings& uris,
extern Option* option_processing(int argc, char* const argv[]);
#ifdef ENABLE_BITTORRENT
void downloadBitTorrent(Option* op, const Strings& uri)
{
Strings nargs;
@ -141,7 +142,9 @@ void downloadBitTorrent(Option* op, const Strings& uri)
groups.push_back(rg);
MultiUrlRequestInfo(groups, op).execute();
}
#endif // ENABLE_BITTORRENT
#ifdef ENABLE_METALINK
void downloadMetalink(Option* op)
{
RequestGroups groups = Metalink2RequestGroup(op).generate(op->get(PREF_METALINK_FILE));
@ -150,6 +153,7 @@ void downloadMetalink(Option* op)
}
MultiUrlRequestInfo(groups, op).execute();
}
#endif // ENABLE_METALINK
void downloadUriList(Option* op)
{
@ -250,7 +254,7 @@ int main(int argc, char* argv[]) {
int32_t exitStatus = EXIT_SUCCESS;
try {
Logger* logger = LogFactory::getInstance();
logger->info("%s %s", PACKAGE, PACKAGE_VERSION);
logger->info("%s %s %s", PACKAGE, PACKAGE_VERSION, TARGET);
logger->info(MSG_LOGGING_STARTED);
AuthConfigFactoryHandle authConfigFactory = new AuthConfigFactory(op);

View File

@ -34,7 +34,9 @@
/* copyright --> */
#include "common.h"
#include "FeatureConfig.h"
#include "messageDigest.h"
#ifdef ENABLE_MESSAGE_DIGEST
# include "messageDigest.h"
#endif // ENABLE_MESSAGE_DIGEST
void showVersion() {
cout << PACKAGE << _(" version ") << PACKAGE_VERSION << endl;

View File

@ -38,7 +38,7 @@ public:
}
void setUp() {
btContext = BtContextHandle(new DefaultBtContext());
btContext = new DefaultBtContext();
btContext->load("test.torrent");
peer = PeerHandle(new Peer("192.168.0.1", 6889,
btContext->getPieceLength(),

View File

@ -4,7 +4,6 @@ aria2c_SOURCES = AllTest.cc\
a2functionalTest.cc\
FileEntryTest.cc\
PieceTest.cc\
DefaultPieceStorageTest.cc\
SegmentTest.cc\
GrowSegmentTest.cc\
SingleFileAllocationIteratorTest.cc\
@ -42,7 +41,9 @@ aria2c_SOURCES = AllTest.cc\
DefaultDiskWriterTest.cc\
FeatureConfigTest.cc\
SpeedCalcTest.cc\
FixedNumberRandomizer.h
FixedNumberRandomizer.h\
MultiDiskAdaptorTest.cc\
MultiFileAllocationIteratorTest.cc
if ENABLE_MESSAGE_DIGEST
aria2c_SOURCES += MessageDigestHelperTest.cc\
@ -68,6 +69,7 @@ aria2c_SOURCES += BtAllowedFastMessageTest.cc\
BtRequestMessageTest.cc\
BtSuggestPieceMessageTest.cc\
BtUnchokeMessageTest.cc\
DefaultPieceStorageTest.cc\
DefaultBtAnnounceTest.cc\
DefaultBtContextTest.cc\
DefaultBtMessageDispatcherTest.cc\
@ -84,13 +86,11 @@ aria2c_SOURCES += BtAllowedFastMessageTest.cc\
DictionaryTest.cc\
ListTest.cc\
MetaFileUtilTest.cc\
MultiDiskAdaptorTest.cc\
ByteArrayDiskWriterTest.cc\
PeerTest.cc\
PeerMessageUtilTest.cc\
ShareRatioSeedCriteriaTest.cc\
BtRegistryTest.cc\
MultiFileAllocationIteratorTest.cc\
BtDependencyTest.cc\
BtPostDownloadHandlerTest.cc\
TimeSeedCriteriaTest.cc

View File

@ -58,6 +58,7 @@ check_PROGRAMS = $(am__EXEEXT_1)
@ENABLE_BITTORRENT_TRUE@ BtRequestMessageTest.cc\
@ENABLE_BITTORRENT_TRUE@ BtSuggestPieceMessageTest.cc\
@ENABLE_BITTORRENT_TRUE@ BtUnchokeMessageTest.cc\
@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorageTest.cc\
@ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounceTest.cc\
@ENABLE_BITTORRENT_TRUE@ DefaultBtContextTest.cc\
@ENABLE_BITTORRENT_TRUE@ DefaultBtMessageDispatcherTest.cc\
@ -74,13 +75,11 @@ check_PROGRAMS = $(am__EXEEXT_1)
@ENABLE_BITTORRENT_TRUE@ DictionaryTest.cc\
@ENABLE_BITTORRENT_TRUE@ ListTest.cc\
@ENABLE_BITTORRENT_TRUE@ MetaFileUtilTest.cc\
@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptorTest.cc\
@ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriterTest.cc\
@ENABLE_BITTORRENT_TRUE@ PeerTest.cc\
@ENABLE_BITTORRENT_TRUE@ PeerMessageUtilTest.cc\
@ENABLE_BITTORRENT_TRUE@ ShareRatioSeedCriteriaTest.cc\
@ENABLE_BITTORRENT_TRUE@ BtRegistryTest.cc\
@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIteratorTest.cc\
@ENABLE_BITTORRENT_TRUE@ BtDependencyTest.cc\
@ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandlerTest.cc\
@ENABLE_BITTORRENT_TRUE@ TimeSeedCriteriaTest.cc
@ -114,9 +113,8 @@ CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
am__EXEEXT_1 = aria2c$(EXEEXT)
am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
FileEntryTest.cc PieceTest.cc DefaultPieceStorageTest.cc \
SegmentTest.cc GrowSegmentTest.cc \
SingleFileAllocationIteratorTest.cc \
FileEntryTest.cc PieceTest.cc SegmentTest.cc \
GrowSegmentTest.cc SingleFileAllocationIteratorTest.cc \
DefaultBtProgressInfoFileTest.cc \
SingleFileDownloadContextTest.cc RequestGroupTest.cc \
PStringBuildVisitorTest.cc ParameterizedStringParserTest.cc \
@ -131,7 +129,8 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
HttpResponseTest.cc SharedHandleTest.cc ChunkedEncodingTest.cc \
FileTest.cc OptionTest.cc Base64Test.cc \
DefaultDiskWriterTest.cc FeatureConfigTest.cc SpeedCalcTest.cc \
FixedNumberRandomizer.h MessageDigestHelperTest.cc \
FixedNumberRandomizer.h MultiDiskAdaptorTest.cc \
MultiFileAllocationIteratorTest.cc MessageDigestHelperTest.cc \
IteratableChunkChecksumValidatorTest.cc \
IteratableChecksumValidatorTest.cc BtAllowedFastMessageTest.cc \
BtBitfieldMessageTest.cc BtCancelMessageTest.cc \
@ -142,17 +141,16 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
BtPieceMessageTest.cc BtPortMessageTest.cc \
BtRejectMessageTest.cc BtRequestMessageTest.cc \
BtSuggestPieceMessageTest.cc BtUnchokeMessageTest.cc \
DefaultBtAnnounceTest.cc DefaultBtContextTest.cc \
DefaultBtMessageDispatcherTest.cc \
DefaultPieceStorageTest.cc DefaultBtAnnounceTest.cc \
DefaultBtContextTest.cc DefaultBtMessageDispatcherTest.cc \
DefaultBtRequestFactoryTest.cc MockBtMessage.h \
MockBtMessageDispatcher.h MockBtMessageFactory.h \
ShaVisitorTest.cc DefaultPeerListProcessorTest.cc \
AnnounceListTest.cc DefaultPeerStorageTest.cc \
MockPeerStorage.h DataTest.cc DictionaryTest.cc ListTest.cc \
MetaFileUtilTest.cc MultiDiskAdaptorTest.cc \
ByteArrayDiskWriterTest.cc PeerTest.cc PeerMessageUtilTest.cc \
ShareRatioSeedCriteriaTest.cc BtRegistryTest.cc \
MultiFileAllocationIteratorTest.cc BtDependencyTest.cc \
MetaFileUtilTest.cc ByteArrayDiskWriterTest.cc PeerTest.cc \
PeerMessageUtilTest.cc ShareRatioSeedCriteriaTest.cc \
BtRegistryTest.cc BtDependencyTest.cc \
BtPostDownloadHandlerTest.cc TimeSeedCriteriaTest.cc \
MetalinkerTest.cc MetalinkEntryTest.cc \
Xml2MetalinkProcessorTest.cc Metalink2RequestGroupTest.cc \
@ -179,6 +177,7 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
@ENABLE_BITTORRENT_TRUE@ BtRequestMessageTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtSuggestPieceMessageTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtUnchokeMessageTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultPieceStorageTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultBtAnnounceTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultBtContextTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ DefaultBtMessageDispatcherTest.$(OBJEXT) \
@ -191,13 +190,11 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
@ENABLE_BITTORRENT_TRUE@ DictionaryTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ListTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MetaFileUtilTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MultiDiskAdaptorTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ByteArrayDiskWriterTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ PeerMessageUtilTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ ShareRatioSeedCriteriaTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtRegistryTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MultiFileAllocationIteratorTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtDependencyTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ BtPostDownloadHandlerTest.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ TimeSeedCriteriaTest.$(OBJEXT)
@ -209,8 +206,7 @@ am__aria2c_SOURCES_DIST = AllTest.cc a2functionalTest.cc \
@ENABLE_METALINK_TRUE@ MetalinkHelperTest.$(OBJEXT)
am_aria2c_OBJECTS = AllTest.$(OBJEXT) a2functionalTest.$(OBJEXT) \
FileEntryTest.$(OBJEXT) PieceTest.$(OBJEXT) \
DefaultPieceStorageTest.$(OBJEXT) SegmentTest.$(OBJEXT) \
GrowSegmentTest.$(OBJEXT) \
SegmentTest.$(OBJEXT) GrowSegmentTest.$(OBJEXT) \
SingleFileAllocationIteratorTest.$(OBJEXT) \
DefaultBtProgressInfoFileTest.$(OBJEXT) \
SingleFileDownloadContextTest.$(OBJEXT) \
@ -231,8 +227,9 @@ am_aria2c_OBJECTS = AllTest.$(OBJEXT) a2functionalTest.$(OBJEXT) \
SharedHandleTest.$(OBJEXT) ChunkedEncodingTest.$(OBJEXT) \
FileTest.$(OBJEXT) OptionTest.$(OBJEXT) Base64Test.$(OBJEXT) \
DefaultDiskWriterTest.$(OBJEXT) FeatureConfigTest.$(OBJEXT) \
SpeedCalcTest.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
$(am__objects_3)
SpeedCalcTest.$(OBJEXT) MultiDiskAdaptorTest.$(OBJEXT) \
MultiFileAllocationIteratorTest.$(OBJEXT) $(am__objects_1) \
$(am__objects_2) $(am__objects_3)
aria2c_OBJECTS = $(am_aria2c_OBJECTS)
am__DEPENDENCIES_1 =
aria2c_DEPENDENCIES = ../src/libaria2c.a $(am__DEPENDENCIES_1)
@ -420,8 +417,8 @@ target_os = @target_os@
target_vendor = @target_vendor@
TESTS = aria2c
aria2c_SOURCES = AllTest.cc a2functionalTest.cc FileEntryTest.cc \
PieceTest.cc DefaultPieceStorageTest.cc SegmentTest.cc \
GrowSegmentTest.cc SingleFileAllocationIteratorTest.cc \
PieceTest.cc SegmentTest.cc GrowSegmentTest.cc \
SingleFileAllocationIteratorTest.cc \
DefaultBtProgressInfoFileTest.cc \
SingleFileDownloadContextTest.cc RequestGroupTest.cc \
PStringBuildVisitorTest.cc ParameterizedStringParserTest.cc \
@ -436,8 +433,9 @@ aria2c_SOURCES = AllTest.cc a2functionalTest.cc FileEntryTest.cc \
HttpResponseTest.cc SharedHandleTest.cc ChunkedEncodingTest.cc \
FileTest.cc OptionTest.cc Base64Test.cc \
DefaultDiskWriterTest.cc FeatureConfigTest.cc SpeedCalcTest.cc \
FixedNumberRandomizer.h $(am__append_1) $(am__append_2) \
$(am__append_3)
FixedNumberRandomizer.h MultiDiskAdaptorTest.cc \
MultiFileAllocationIteratorTest.cc $(am__append_1) \
$(am__append_2) $(am__append_3)
#aria2c_CXXFLAGS = ${CPPUNIT_CFLAGS} -I../src -I../lib -Wall -D_FILE_OFFSET_BITS=64
#aria2c_LDFLAGS = ${CPPUNIT_LIBS}

View File

@ -39,9 +39,11 @@ void Metalink2RequestGroupTest::testGenerate()
SingleFileDownloadContextHandle dctx = rg->getDownloadContext();
CPPUNIT_ASSERT(!dctx.isNull());
CPPUNIT_ASSERT_EQUAL((int64_t)0, dctx->getTotalLength());
#ifdef ENABLE_MESSAGE_DIGEST
CPPUNIT_ASSERT_EQUAL(string("sha1"), dctx->getChecksumHashAlgo());
CPPUNIT_ASSERT_EQUAL(string("a96cf3f0266b91d87d5124cf94326422800b627d"),
dctx->getChecksum());
#endif // ENABLE_MESSAGE_DIGEST
}
// second file
{
@ -50,13 +52,16 @@ void Metalink2RequestGroupTest::testGenerate()
CPPUNIT_ASSERT_EQUAL((size_t)2, uris.size());
SingleFileDownloadContextHandle dctx = rg->getDownloadContext();
CPPUNIT_ASSERT(!dctx.isNull());
#ifdef ENABLE_MESSAGE_DIGEST
CPPUNIT_ASSERT_EQUAL(string("sha1"), dctx->getPieceHashAlgo());
CPPUNIT_ASSERT_EQUAL((size_t)2, dctx->getPieceHashes().size());
CPPUNIT_ASSERT_EQUAL((int32_t)262144, dctx->getPieceLength());
CPPUNIT_ASSERT_EQUAL(string(""), dctx->getChecksumHashAlgo());
CPPUNIT_ASSERT_EQUAL(string(""), dctx->getChecksum());
#endif // ENABLE_MESSAGE_DIGEST
}
#ifdef ENABLE_BITTORRENT
// fifth file <- downloading .torrent file
{
RequestGroupHandle rg = groups[4];
@ -67,9 +72,15 @@ void Metalink2RequestGroupTest::testGenerate()
SingleFileDownloadContextHandle dctx = rg->getDownloadContext();
CPPUNIT_ASSERT(!dctx.isNull());
}
#endif // ENABLE_BITTORRENT
// sixth file <- depends on thrid file
{
#ifdef ENABLE_BITTORRENT
RequestGroupHandle rg = groups[5];
#else
RequestGroupHandle rg = groups[4];
#endif // ENABLE_BITTORRENT
Strings uris = rg->getUris();
CPPUNIT_ASSERT_EQUAL((size_t)1, uris.size());
CPPUNIT_ASSERT_EQUAL(string("http://host/torrent-http.integrated"), uris[0]);

View File

@ -34,5 +34,9 @@ void MetalinkPostDownloadHandlerTest::testGetNextRequestGroups()
Option op;
MetalinkPostDownloadHandler handler(&op);
RequestGroups groups = handler.getNextRequestGroups("test.xml");
#ifdef ENABLE_BITTORRENT
CPPUNIT_ASSERT_EQUAL((size_t)6/* 5 + 1 torrent file download */, groups.size());
#else
CPPUNIT_ASSERT_EQUAL((size_t)5, groups.size());
#endif // ENABLE_BITTORRENT
}