Commit Graph

1447 Commits (933866e315cc40f010a095c7eb030c801591208d)

Author SHA1 Message Date
Tatsuhiro Tsujikawa e385c68f52 2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed ExtendedMessagingAware. Instead of using inheritance,
	added ExtensionMessageRegistry and it is passed to
	DefaultExtensionMessageFactory.
	* src/DefaultBtInteractive.cc
	* src/DefaultBtInteractive.h
	* src/DefaultExtensionMessageFactory.cc
	* src/DefaultExtensionMessageFactory.h
	* src/ExtendedMessagingAware.h: Removed.
	* src/ExtensionMessageFactory.h
	* src/ExtensionMessageRegistry.h: Added.
	* src/Makefile.am
	* src/PeerInteractionCommand.cc
	* test/DefaultExtensionMessageFactoryTest.cc
2009-04-25 10:48:00 +00:00
Tatsuhiro Tsujikawa 3908d86213 2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo in log messages
	* src/MSEHandshake.cc
2009-04-25 10:32:03 +00:00
Tatsuhiro Tsujikawa 35763a2ae0 2009-04-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that prevents torrent download from finishing.
	The bug doesn't reveal for all torrents. The torrents affected
	this bug satisfies ((N+7)/8)%4 == 0 and N%32 != 0 where N is the
	number of pieces.	
	* src/bitfield.h
	* test/bitfieldTest.cc
2009-04-25 10:30:25 +00:00
Tatsuhiro Tsujikawa ea8668d80f 2009-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/PeerListProcessor.h
2009-04-23 16:10:54 +00:00
Tatsuhiro Tsujikawa 3955054837 2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed RequestGroupAware
	* src/AbstractCommand.cc
	* src/AbstractCommand.h
	* src/ActivePeerConnectionCommand.cc
	* src/ActivePeerConnectionCommand.h
	* src/DHTGetPeersCommand.cc
	* src/DHTGetPeersCommand.h
	* src/InitiatorMSEHandshakeCommand.cc
	* src/InitiatorMSEHandshakeCommand.h
	* src/Makefile.am
	* src/PeerInitiateConnectionCommand.cc
	* src/PeerInitiateConnectionCommand.h
	* src/PeerInteractionCommand.cc
	* src/PeerInteractionCommand.h
	* src/RealtimeCommand.cc
	* src/RealtimeCommand.h
	* src/RequestGroupAware.cc: Removed
	* src/RequestGroupAware.h: Removed
	* src/SeedCheckCommand.cc
	* src/SeedCheckCommand.h
	* src/SleepCommand.cc
	* src/TrackerWatcherCommand.cc
	* src/TrackerWatcherCommand.h
2009-04-23 15:00:09 +00:00
Tatsuhiro Tsujikawa 6703097652 2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten PeerListProcessor
	* src/PeerListProcessor.h
	* src/CompactPeerListProcessor.h: Removed
	* src/CompactPeerListProcessor.cc: Removed
	* src/DelegatingPeerListProcessor.cc: Removed.
	* src/DefaultBtAnnounce.cc
	* src/Makefile.am
	* src/UTPexExtensionMessage.cc
	* src/DefaultPeerListProcessor.h: Removed.
	* src/DefaultPeerListProcessor.cc: Removed.
	* src/DelegatingPeerListProcessor.h: Removed.
	* test/Makefile.am
	* test/PeerListProcessorTest.cc
	* test/DefaultPeerListProcessorTest.cc: Removed.
2009-04-23 13:39:53 +00:00
Tatsuhiro Tsujikawa 82a38a7e3c 2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten RequestGroupMan::calculateStat()
	* src/RequestGroupMan.cc
2009-04-23 12:06:26 +00:00
Tatsuhiro Tsujikawa 23415927e9 2009-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unnecessary virtual destructor for Request class.
	* src/Request.cc
	* src/Request.h
2009-04-23 12:00:53 +00:00
Tatsuhiro Tsujikawa 51a0dba30c Updated ChangeLog for previous change 2009-04-21 17:15:06 +00:00
Tatsuhiro Tsujikawa 0414c71956 2009-04-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Avoid dynamic_pointer_cast.
	* src/DHTGetPeersCommand.cc
	* src/DHTGetPeersCommand.h
2009-04-21 15:15:10 +00:00
Tatsuhiro Tsujikawa afdd61f9d1 2009-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten event dispatch in BtMessage. Removed BtEventListener,
	BtEvent.	
	* src/AbstractBtEventListener.h: Removed.
	* src/AbstractBtMessage.cc
	* src/AbstractBtMessage.h
	* src/BtAbortOutstandingRequestEvent.h
	* src/BtCancelSendingPieceEvent.h
	* src/BtChokedEvent.h: Removed.
	* src/BtChokingEvent.h
	* src/BtEvent.h: Removed
	* src/BtEventListener.h: Removed.
	* src/BtMessage.h
	* src/BtPieceMessage.cc
	* src/BtPieceMessage.h
	* src/BtRequestMessage.cc
	* src/BtRequestMessage.h
	* src/DefaultBtMessageDispatcher.cc
	* src/Makefile.am
	* src/a2functional.h
	* test/BtPieceMessageTest.cc
	* test/BtRequestMessageTest.cc
	* test/DefaultBtMessageDispatcherTest.cc
	* test/MockBtMessage.h
2009-04-21 14:52:04 +00:00
Tatsuhiro Tsujikawa 82b0d66505 2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/RequestGroupMan.cc
2009-04-17 14:56:13 +00:00
Tatsuhiro Tsujikawa a883a4aecc 2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/DownloadCommand.cc
2009-04-17 14:55:18 +00:00
Tatsuhiro Tsujikawa 65a358c68b 2009-04-17 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed segmentation fault when GZipDecoder::decode() returns 0
	byte.
	* src/DownloadCommand.cc
	* src/bitfield.h
	* test/bitfieldTest.cc

	Fixed the bug that causes infinite loop if broken web server
	returns chunked response without last "0" chunk-size marker and
	closes connection.
	* src/DownloadCommand.cc

	Instantiate properly configured HttpDownloadCommand for
	non-resumable downlaods.
	* src/HttpResponseCommand.cc
2009-04-17 13:19:17 +00:00
Tatsuhiro Tsujikawa d2d4f67bbe 2009-04-16 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten array operation functions.
	* src/BitfieldMan.cc
	* src/array_fun.h
	* test/array_funTest.cc
2009-04-16 13:43:23 +00:00
Tatsuhiro Tsujikawa e19447a54b 2009-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused variable 'query'
	* src/Request.cc
2009-04-14 12:38:45 +00:00
Tatsuhiro Tsujikawa 933cdd6949 2009-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Set conditional HAVE_GETADDRINFO true for mingw32. It was
	accidentally set to false in r1162.	
	* configure.ac
2009-04-14 12:23:31 +00:00
Tatsuhiro Tsujikawa decd3b883b 2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Code cleanup
	* src/BNode.cc
2009-04-13 12:49:18 +00:00
Tatsuhiro Tsujikawa 0e70ba46a9 2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Increase prefixLength for the bucket which doesn't own local
	node ID when splitting bucket.
	* src/DHTBucket.cc
	* test/DHTBucketTest.cc
2009-04-13 12:47:50 +00:00
Tatsuhiro Tsujikawa a0527905ff 2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
* Release 1.3.1
2009-04-12 15:46:33 +00:00
Tatsuhiro Tsujikawa 4915f3fc1b Updated. 2009-04-12 15:40:46 +00:00
Tatsuhiro Tsujikawa 72b43d378e 2009-04-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Bump up version number to 1.3.1
	* configure.ac
2009-04-12 15:40:23 +00:00
Tatsuhiro Tsujikawa 4c7122ebeb 2009-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed unused variable checkPoint. Also removed include
	directive for TimeA2.h.	
	* src/SeedCheckCommand.h
2009-04-07 15:55:21 +00:00
Tatsuhiro Tsujikawa bf94abba7b 2009-04-07 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that upload limit exceeds the value specified in
	--seed-ratio option depending on the timing of the execution of
	SeedCheckCommand.	
	* src/SeedCheckCommand.cc
2009-04-07 14:24:44 +00:00
Tatsuhiro Tsujikawa bcb22e756e Generated README.html from README 2009-04-07 12:36:28 +00:00
Anthony Bryan 46d0cf5640 small changes to text 2009-04-06 05:48:50 +00:00
Tatsuhiro Tsujikawa c7fd9ee2d4 Ran readme2xhtml 2009-04-05 12:24:57 +00:00
Tatsuhiro Tsujikawa becd34bcb9 2009-04-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed the bug that removed peer's session upload/download length
	are counted twice in _cachedTransferStat before it is
	re-calculated.  This affected the calculation of shara ratio,
	resulting aria2 wrongly determines that specified share ratio is
	reached. Also fixed the typo in calculateStatFor function name.
	* src/BtSetup.cc
	* src/DefaultPeerStorage.cc
	* src/ShareRatioSeedCriteria.h
	* test/ShareRatioSeedCriteriaTest.cc
2009-04-05 10:38:15 +00:00
Anthony Bryan 8831819407 some minor changes to English text 2009-04-05 07:22:20 +00:00
Tatsuhiro Tsujikawa ef4620b435 Updated 2009-04-01 14:03:05 +00:00
Tatsuhiro Tsujikawa 8436278cee 2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
* Release 1.3.0
2009-04-01 13:59:45 +00:00
Tatsuhiro Tsujikawa da048feca8 Updated 2009-04-01 13:02:37 +00:00
Tatsuhiro Tsujikawa d63ad702b0 2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated Russian, Japanese, Spanish, Ukrainian and Norwegian
	Nynorsk translations. Thanks to all translators.	
	* po/es.po
	* po/ja.po
	* po/nn.po
	* po/ru.po
	* po/uk.po
2009-04-01 12:49:53 +00:00
Tatsuhiro Tsujikawa 5541477dce 2009-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Rewritten isInRange()
	* src/DHTBucket.cc
	* test/DHTBucketTest.cc
2009-04-01 12:28:39 +00:00
Tatsuhiro Tsujikawa 752fb34bbb 2009-03-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Fixed typo
	* doc/aria2c.1.txt
2009-03-30 14:13:18 +00:00
Tatsuhiro Tsujikawa 4c950934a0 2009-03-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed AC_FUNC_MALLOC and AC_FUNC_REALLOC because 0-byte
	malloc/realloc is not used.
	* src/configure.ac
2009-03-28 16:33:45 +00:00
Tatsuhiro Tsujikawa a6b02840fa 2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
BitfieldMan::getMissingIndexes family functions now takes
	unsigned char* bitfield instead of stl container for efficiency.
	PieceSelector::select now takes this
	bitfield. RarestPieceSelector::select now also performs
	efficiently for this change.  bitfield namespace is introduced
	and it has several helper functions to handle basic bitfield
	operations such as test, count set bits, etc.
	* src/BitfieldMan.cc
	* src/BitfieldMan.h
	* src/DefaultBtRequestFactory.cc
	* src/DefaultPieceStorage.cc
	* src/DefaultPieceStorage.h
	* src/LongestSequencePieceSelector.cc
	* src/LongestSequencePieceSelector.h
	* src/Makefile.am
	* src/Piece.cc
	* src/Piece.h
	* src/PieceSelector.h
	* src/RarestPieceSelector.cc
	* src/RarestPieceSelector.h
	* src/Util.cc
	* src/Util.h
	* src/bitfield.h
	* test/BitfieldManTest.cc
	* test/LongestSequencePieceSelectorTest.cc
	* test/Makefile.am
	* test/RarestPieceSelectorTest.cc
	* test/UtilTest.cc
	* test/bitfieldTest.cc
2009-03-28 13:29:38 +00:00
Tatsuhiro Tsujikawa 3531d57d37 2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Made accepted socket non-block.
	* src/FtpNegotiationCommand.cc
	* src/HttpListenCommand.cc
2009-03-28 13:19:47 +00:00
Tatsuhiro Tsujikawa 6cbb6d2850 2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Guarded #ifdef HAVE_POSIX_FALLOCATE
	* src/AbstractSingleDiskAdaptor.cc
	* src/DefaultPieceStorage.cc
	* src/DiskAdaptor.h
	* src/DiskAdaptor.h
	* src/MultiFileAllocationIterator.cc
2009-03-28 12:46:13 +00:00
Tatsuhiro Tsujikawa a69f499ccf 2009-03-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Run DefaultBtMessageDispatcher::
	checkRequestSlotAndDoNecessaryThing()
	in every 1 sec. The timeout of RequestSlot is 60s by default and
	it doesn't need to be called every time when
	DefaultBtInteractive::doInteractionProcessing() is called.	
	* src/DefaultBtInteractive.cc
	* src/DefaultBtInteractive.h
2009-03-27 16:12:09 +00:00
Tatsuhiro Tsujikawa ce1231280a 2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Documented 'falloc' in man page.
	* doc/aria2c.1.txt
2009-03-25 06:07:11 +00:00
Tatsuhiro Tsujikawa bfd7950b82 2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated doc
	* src/usage_text.h
2009-03-25 06:05:59 +00:00
Tatsuhiro Tsujikawa 29c5ef9215 2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added 'falloc' parameter for --file-allocation option.  'falloc'
	allocation mode uses posix_fallocate() system call to allocate
	file on disk.  If you are using newer file systems such as ext4
        (with extents support), btrfs or xfs, 'falloc' is your best
	choice. It allocates large(few GiB) files almost instantly.
	Don't use 'falloc' with legacy file systems such as ext3 because
	it takes almost same time as 'prealloc' and it blocks aria2
	entirely until allocation finishes. 'falloc' may not be
	available if your system doesn't have posix_fallocate() system
	call.
	* configure.ac
	* src/AbstractDiskWriter.cc
	* src/AbstractDiskWriter.h
	* src/AbstractSingleDiskAdaptor.cc
	* src/BinaryStream.h
	* src/BtCheckIntegrityEntry.cc
	* src/ByteArrayDiskWriter.h
	* src/CheckIntegrityEntry.cc
	* src/CheckIntegrityEntry.h
	* src/DefaultPieceStorage.cc
	* src/DiskAdaptor.cc
	* src/DiskAdaptor.h
	* src/DiskWriter.h
	* src/FallocFileAllocationIterator.cc
	* src/FallocFileAllocationIterator.h
	* src/FileAllocationEntry.cc
	* src/FileAllocationEntry.h
	* src/Makefile.am
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/StreamCheckIntegrityEntry.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
	* test/FallocFileAllocationIteratorTest.cc
	* test/Makefile.am
2009-03-25 05:43:07 +00:00
Tatsuhiro Tsujikawa fe614395d6 2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Removed duplicate enableDirectIO() call.
	* src/MultiFileAllocationIterator.cc
2009-03-24 15:31:46 +00:00
Tatsuhiro Tsujikawa 289ae1b635 2009-03-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced std::vector<SharedHandle<PieceStats> _sortedPieceStats
	with std::vector<size_t> _sortedPieceStatIndexes to reduce the
	cost of std::rotate().
	* src/RarestPieceSelector.cc
	* src/RarestPieceSelector.h
	* test/RarestPieceSelectorTest.cc
2009-03-24 15:24:30 +00:00
Tatsuhiro Tsujikawa 1e17795a84 2009-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Updated usage doc for --bt-tracker-interval option.
	* src/usage_text.h
	* doc/aria2c.1.txt
2009-03-22 07:27:52 +00:00
Tatsuhiro Tsujikawa e091924040 Updated 2009-03-21 15:16:54 +00:00
Tatsuhiro Tsujikawa f227c19076 2009-03-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Documented --bt-tracker-interval option in man page.
	* doc/aria2c.1.txt
2009-03-21 15:14:46 +00:00
Tatsuhiro Tsujikawa 2170a850a8 2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added an option to specify the interval between tracker
	requests.
	If non-zero value is specified, aria2 uses it and ignores the
	interval value in the response of tracker. If zero is specified,
	aria2 determines the inteval value based on the tarcker response
	and download progress.
	* src/DefaultBtAnnounce.cc
	* src/DefaultBtAnnounce.h
	* src/OptionHandlerFactory.cc
	* src/RequestGroup.cc
	* src/prefs.cc
	* src/prefs.h
	* src/usage_text.h
2009-03-20 13:44:03 +00:00
Tatsuhiro Tsujikawa 948b13ad52 2009-03-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added operator+=, operator-=, operator-
	* src/TransferStat.cc
	* src/TransferStat.h
2009-03-20 13:39:08 +00:00