mirror of https://github.com/aria2/aria2
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.ccpull/1/head
parent
8cba9bc24c
commit
a31dbb5804
24
ChangeLog
24
ChangeLog
|
@ -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
1
TODO
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:"
|
||||
|
|
|
@ -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() {
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
138
src/Makefile.in
138
src/Makefile.in
|
@ -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@\
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include "Xml2MetalinkProcessor.h"
|
||||
#include "Metalinker.h"
|
||||
#include "prefs.h"
|
||||
#include "DlAbortEx.h"
|
||||
|
||||
MetalinkHelper::MetalinkHelper() {}
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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(),
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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]);
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue