<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aria2/src/TrackerUpdateCommand.h, branch utp-support</title>
<subtitle>Aria2 download utility with uTP support</subtitle>
<id>http://x-nagi.com/cgit/aria2/atom?h=utp-support</id>
<link rel='self' href='http://x-nagi.com/cgit/aria2/atom?h=utp-support'/>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/'/>
<updated>2007-10-11T16:58:24Z</updated>
<entry>
<title>2007-10-12  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2007-10-11T16:58:24Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2007-10-11T16:58:24Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=048a2cf59737f761876e81a77e8d064c45c752d7'/>
<id>urn:sha1:048a2cf59737f761876e81a77e8d064c45c752d7</id>
<content type='text'>
	Implemented BitTorrent/http/ftp integrated download.
	I've rewritten lots of files and now some headers have forward
	class declarations to reduce compile time.
	The implementation is extremely alpha stage, I recommend to use this
	for testing purpose only.


</content>
</entry>
<entry>
<title>2007-08-10  Ross Smith II  &lt;aria2spam at smithii dot com&gt;</title>
<updated>2007-08-15T15:11:01Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2007-08-15T15:11:01Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=3cc1ed5e0907e9adb3b258ba1b94e3bda64c4219'/>
<id>urn:sha1:3cc1ed5e0907e9adb3b258ba1b94e3bda64c4219</id>
<content type='text'>
	gcc 3.4.4 support:
	* src/DefaultBtContext.cc: int32_t -&gt; int
	* src/main.cc: int -&gt; int32_t, int32_t -&gt; int
	* src/messageDigest.h: uint32_t -&gt; unsigned int
	* src/NameResolver.h: int32_t -&gt; int
	* src/PeerConnection.cc: int -&gt; int32_t
	* src/SpeedCalc.cc: int32_t -&gt; int
	* src/TrackerUpdateCommand.h: int -&gt; int32_t
	* src/Util.cc: int32_t -&gt; int
	* src/Util.h: int32_t -&gt; int
	* src/Xml2MetalinkProcessor.cc: int -&gt; uint32_t, int64_t -&gt; 
uint64_t
	* test/AnnounceListTest.cc: int -&gt; int32_t
	* test/ChunkedEncodingTest.cc: int -&gt; int32_t
	* test/DataTest.cc: int -&gt; int32_t
	* test/DefaultBtRequestFactoryTest.cc: int -&gt; int32_t
	* test/DefaultPeerListProcessorTest.cc: int -&gt; int32_t
	* test/DefaultPieceStorageTest.cc: int -&gt; int32_t
	* test/FeatureConfigTest.cc: int -&gt; int32_t
	* test/MetalinkEntryTest.cc: int -&gt; int32_t
	* test/MockBtRequestFactory.h: int -&gt; int32_t
	* test/MockPieceStorage.h: int -&gt; int32_t
	* test/OptionTest.cc: int -&gt; int32_t
	* test/RequestTest.cc: int -&gt; int32_t
	* test/SegmentManTest.cc: int -&gt; int32_t
	* test/Xml2MetalinkProcessorTest.cc: int -&gt; int32_t


</content>
</entry>
<entry>
<title>2007-06-09  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2007-06-09T10:06:53Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2007-06-09T10:06:53Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=2d522cf6b7be0a4e58d2111ed9f939d6e3019582'/>
<id>urn:sha1:2d522cf6b7be0a4e58d2111ed9f939d6e3019582</id>
<content type='text'>
	Added -j command-line option.
	* src/OptionHandlerFactory.cc (createOptionHandlers)
	* src/main.cc

	* src/ByteArrayDiskWriter.h, src/ByteArrayDiskWriter.cc
	Rewritten using stringstream.
	* src/TrackerUpdateCommand.h, src/TrackerUpdateCommand.cc
	Rewritten using stringstream.


</content>
</entry>
<entry>
<title>2006-11-05  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2006-11-05T15:04:17Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-11-05T15:04:17Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=ec642ad294dd8fe6238b3a47309293c1c77beb68'/>
<id>urn:sha1:ec642ad294dd8fe6238b3a47309293c1c77beb68</id>
<content type='text'>
	To divide TorrentMan into 6 classes: BtContext, BtRuntime,
	PeerStorage, PieceStorage, BtAnnounce and BtProgressInfoFile

	* src/TrackerWatcherComand.h: Made subclass of 
BtContextAwareCommand.
	* src/SeedCheckCommand.cc: Use pieceStorage, btRuntime
	* src/PeerAbstractCommand.h: Made subclass of 
BtContextAwareCommand.
	* src/PeerAbstractCommand.cc: Use btRuntime.
	* src/BtContextAwareCommand.h: New class.
	* src/FileEntry.h: Added accessor methods for following 
variables.
	(path): Made private.
	(length): Made private.
	(offset): Made private.
	(extracted): Made private.
	(requested): Made private.
	(FileEntries): New definition.
	(FileEntryHandle): New definition.
	* src/FileEntry.cc: New file.
	* src/HaveEraseCommand.h: Made subclass of 
BtContextAwareCommand.
	* src/HaveEraseCommand.cc: Use btRuntime, pieceStorage.
	* src/PeerChokeCommand.h: Made subclass of 
BtContextAwareCommand.
	* src/PeerChokeCommand.cc: Use btRuntime, peerStorage, 
pieceStorage.
	* src/PieceStorage.h: New file.
	* src/PeerInteractionCommand.h: Use btContext.
	* src/PeerInteractionCommand.cc: Use pieceStorage, peerStorage,
	btRuntime.
	* src/DefaultBtProgressInfoFile.h: New file.
	* src/DefaultBtProgressInfoFile.cc: New file.
	* src/File.cc
	(Util.h): New include.
	(mkdirs): New function.
	* src/MultiDiskAdaptor.h
	(mkdir): New function.
	* src/PeerListProcessor.h
	(Peers): Removed.
	* src/PeerInteraction.h
	(torrentMan): Removed.
	(btContext): New variable.
	(peerStorage): New variable.
	(pieceStorage): New variable.
	(btAnnounce): New variable.
	(getTorrentMan): Removed.
	(getBtContext): New function.
	* src/PeerInteraction.cc: Use btContext, peerStorage, 
pieceStorage,
	btAnnounce.
	* src/HandshakeMessage.h
	(TorrentMan.h): Removed.
	* src/HandshakeMessage.cc: Use btContext.
	* src/DefaultBtAnnounce.cc: New file.
	* src/MultiDiskWriter.cc: Use the accessor methods of FileEntry.
	* src/DefaultPieceStorage.cc: New file.
	* src/DefaultBtContext.h: New file.
	* src/TorrentRequestInfo.cc: Use btContext, pieceStorage.
	Use the accessor methods of FileEntry.
	* src/CookieBox.cc: Updated to use Util::slice().
	* src/PieceMessage.cc: Use btContext, pieceStorage.
	* src/common.h (SharedHandle.h): New include.
	* src/PeerMessage.cc (PeerMessage): Added btContext, 
peerStorage,
	pieceStorage.
	* src/TorrentAutoSaveCommand.h: Made subclass of 
BtContextAwareCommand.
	* src/DiskAdaptor.h
	(topDir): Removed.
	(getFileEntryFromPath): Changed the return type to 
FileEntryHandle.
	(setTopDir): Removed.
	(getTopDir): Removed.
	* src/BtContext.h: New file.
	* src/DefaultPeerStorage.h: New file.
	* src/PieceMessage.h (TorrentMan.h): Removed.
	* src/RequestMessage.h (TorrentMan.h): Removed.
	* src/TorrentDownloadEngine.h
	(uploadLength): New variable.
	(btContext): New variable.
	(btRuntime): New variable.
	(pieceStorage): New variable.
	(peerStorage): New variable.
	(btAnnounce): New variable.
	(btProgressInfoFile): New variable.
	(torrentMan): Removed.
	(setBtContext): New function.
	* src/TorrentDownloadEngine.cc: Use BtContext, BtRuntime, 
pieceStorage,
	peerStorage, btAnnounce, btProgressInfoFile.
	* src/Piece.h
	(toString): New function.
	(Pieces): New type definition.
	* src/Peer.h
	(active): New variable.
	(Peer): Added active.
	(activate): Set active to true.
	(deactivate): Set active to false.
	(isActive): New function.
	(Peers): New type definition.
	* src/DirectDiskAdaptor.cc
	(getFilePath): Use the accessor methods of FileEntry.
	* src/TorrentConsoleDownloadEngine.h
	(afterEachIteration): New function.
	* src/TorrentConsoleDownloadEngine.cc
	(haltRequested): New variable.
	(sendStatistics): Use pieceStorage, btRuntime.
	(afterEachIteration): New function.
	* src/AnnounceList: AnnounceTier-&gt;AnnounceTierHandle.
	* src/Directry.h
	(Directory): New function.
	(DirectoryHandle): New type definition.
	* src/BtProgressInfoFile.h: New file.
	* src/RequestMessage.cc: Use pieceStorage.
	* src/BtRuntime.h: New file.
	* src/DefaultBtContext.cc: New file.
	* src/BitfieldMan.h
	(getCompletedLength): New function(private).
	(getCompletedLength): New function.
	(getFilteredCompletedLength): New function.
	* src/BitfieldMan.h
	(getCompletedLength): New function(private).
	(getCompletedLength): New function.
	(getFilteredCompletedLength): New function.
	* src/MultiDiskAdaptor.cc
	(mkdir): New function.
	(openFile): Call mkdir().
	(initAndOpenFile): Call mkdir().
	* src/CancelMessage.h
	(TorrentMan.h): Removed.
	* src/RejectMessage.h
	(TorrentMan.h): Removed.
	* src/DownloadEngineFactory.cc
	(DefaultPieceStorage.h): New include.
	(DefaultPeerStorage.h): New include.
	(DefaultBtAnnounce.h): New include.
	(DefaultBtProgressInfoFile.h): New include.
	(newTorrentConsoleEngine): Rewritten.
	* src/ShareRatioSeedCriteria.h
	(torrentMan): Removed.
	(btContext): New variable.
	(peerStorage): New variable.
	(btRuntime): New variable.
	(evaluate): Use btContext, btRuntime, peerStorage.
	* src/AnnounceTier.h: New file.
	* src/BtAnnounce.h: New file.
	* src/BtRegistry.h: New file.
	* src/PeerInitiateConnectionCommand.h: Added btContext.
	* src/PeerConnection.h (TorrentMan.h): Removed.
	* src/PeerMessageFactory.cc: Use btContext, pieceStorage.
	* src/Util.h
	(slice): Added an argument.
	* src/Util.cc
	(slice): Added an argument to control whether trim is made or 
not.
	* src/PeerStorage.h: New file.
	* src/BtRegistry.cc: New file.
	* src/TrackerUpdateCommand.h: Made subclass of 
BtContextAwareCommand.
	* src/CopyDiskAdaptor.cc: Use the accessor methods of FileEntry.
	* src/MultiDiskWriter.h: FileEntry -&gt; FileEntryHandle
	* src/PeerListenCommand.cc: Use btRuntime, peerStorage, 
btContext.
	* src/TorrentRequestInfo.h
	(e): Removed.
	(showFileEntry): Added an argument.
	(getDownloadEngine): Return 0.
	* src/DefaultBtAnnounce.h: New file.
	* src/TorrentAutoSaveCommand.cc: Use btRuntime, 
btProgressInfoFile.
	* src/TrackerWatcherComand.cc: Use btRuntime, btAnnounce,
	* src/PeerMessageFactory.h
	(btContext): New variable.
	(pieceStorage): New variable.
	* src/TrackerUpdateCommand.cc: Use btRuntime, peerStorage, 
btContext,
	btAnnounce.
	* src/DiskAdaptor.cc
	(DiskAdaptor): Removed topDir.
	(~DiskAdaptor): Removed topDir.
	* src/PeerListenCommand.h: Made subclass of 
BtContextAwareCommand.
	* src/SeedCheckCommand.h: Made subclass of 
BtContextAwareCommand.
	* src/File.h (mkdirs): New function.
	* src/DefaultPeerStorage): New file.
	* src/DownloadEngineFactory.h
	(newTorrentConsoleEngine): Use btContext.
	* src/BtContextAwareCommand.cc: New file.
	* src/PeerInitiateConnectionCommand.cc: Use btRuntime, 
peerStorage.
	* src/PeerMessage.h
	(btContext): New variable.
	(peerStorage): New variable.
	(pieceStorage): New variable.
	(setBtContext): New function.
	* src/Directry.cc
	(Directory): New function.
	(createDir): Do nothing if name.size() == 0.
	* src/AnnounceList.h
	(AnnounceTier): Removed. 
	(AnnounceTiers): Removed.
	* src/DefaultPieceStorage.h: New file.
	* src/Piece.cc (toString): New function.
	
	To fix typo:
	
	* src/main.cc (showVersion): Fixed typo.

	To fix compile warning:
	
	* src/DelegatingPeerListProcessor.cc
	(canHandle): Added "return false".


</content>
</entry>
<entry>
<title>2006-10-20  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2006-10-20T13:20:50Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-10-20T13:20:50Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=b8737b0e7c92fb4a5b1c8b6173663381aacca40c'/>
<id>urn:sha1:b8737b0e7c92fb4a5b1c8b6173663381aacca40c</id>
<content type='text'>
	To simplify TrackerWatherCommand, TrackerUpdateCommand and
	make the process of announce request testable.
	
	* src/TrackerWatcherCommand.h
	(TimeA2.h): Removed.
	(interval): Removed.
	(checkPoint): Removed.
	(createRequestCommand): Added an argument 'url'.
	(TrackerWatherCommand): Removed interval.
	(createCommand): New function.
	* src/DownloadEngineFactory.cc
	(newTorrentConsoleEngine): Updated according to the changes in
	TrackerWatherCommand.
	* src/TorrentMan.cc
	(DelegatingPeerListProcessor.h): New includes.
	(TorrentMan): Added the initialization of announceInterval.
	(isStoppedAnnounceReady): New function.
	(isCompletedAnnounceReady): New function.
	(isDefaultAnnounceReady): New function.
	(isAnnounceReady): New function.
	(getAnnounceUrl): New function.
	(announceStart): New function.
	(announceFailure): New function.
	(announceSuccess): New function.
	(isAllAnnounceFailed): New function.
	(resetAnnounce): New function.
	(processAnnounceResponse): New function.
	(needMorePeerConnection): New function.
	(noMoreAnnounce): New function.
	* src/TrackerUpdateCommand.h
	(getTrackerResponse): int-&gt;size_t
	* src/TorrentMan.h
	(isStoppedAnnounceReady): New function.
	(isCompletedAnnounceReady): New function.
	(isDefaultAnnounceReady): New function.
	(announceInterval): New variable.
	(isAnnounceReady): New function.
	(getAnnounceUrl): New function.
	(announceStart): New function.
	(announceFailure): New function.
	(announceSuccess): New function.
	(isAllAnnounceFailed): New function.
	(resetAnnounce): New function.
	(processAnnounceResponse): New function.
	(needMorePeerConnection): New function.
	(noMoreAnnounce): New function.
	* src/TrackerWatcherCommand.cc
	(TrackerWatherCommand): Removed interval and checkPoint.
	(execute): Rewritten.
	(createCommand): New function.
	(createRequestCommand): Rewritten.
	* src/TrackerUpdateCommand.cc
	(MetaFileUtil.h): Removed.
	(DelegatingPeerListProcessor.h): Removed.
	(getTrackerResponse): int-&gt;size_t. Use torrentMan's new 
functions.


</content>
</entry>
<entry>
<title>2006-09-22  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2006-09-21T15:31:24Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-09-21T15:31:24Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=1b5af8e8298d85d47be1de79cf8158b1aae6f06b'/>
<id>urn:sha1:1b5af8e8298d85d47be1de79cf8158b1aae6f06b</id>
<content type='text'>
	* src/*.{h,cc}:
	Added an exception to the license which allows linking with 
OpenSSL.


</content>
</entry>
<entry>
<title></title>
<updated>2006-04-19T17:24:23Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-04-19T17:24:23Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=1457d7f660ee83fca44730b38a3f2af800684f2a'/>
<id>urn:sha1:1457d7f660ee83fca44730b38a3f2af800684f2a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>2006-04-19  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2006-04-18T17:06:17Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-04-18T17:06:17Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=19f713b99d39cc5a672e3d56eaff7b76a2a7e72c'/>
<id>urn:sha1:19f713b99d39cc5a672e3d56eaff7b76a2a7e72c</id>
<content type='text'>
	To add a readout of estimated remaining time to normal HTTP/FTP
	downloads:
	
	* src/ConsoleDownloadEngine.h (startup): New variable.
	(startupLength): New variable.
	(isStartupLengthSet): New variable.
	(avgSpeed): New variable.
	(eta): New variable.
	* src/ConsoleDownloadEngine.cc (sendStatistics): Added a readout 
of
	estimated remaining time.
	(initStatistics): Initialized newly added variables.
	(calculateStatistics): Calculate average speed and estimated 
remaining
	time.

	To decouple TorrentDownloadEngine from HttpResponseCommand:

	* src/TrackerDownloadCommand.h: Removed.
	* src/TrackerDownloadCommand.cc: Removed.
	* src/TrackerInitCommand.h: Removed.
	* src/TrackerInitCommand.cc: Removed.
	* src/TrackerUpdateCommand.h: Removed.
	* src/TrackerUpdateCommand.cc: Removed.
	* src/TrackerWatcherCommand.cc (execute): The construction of 
request
	url written in TrackerInitCommand was moved here. Do not create
	tracker request command if torretnMan-&gt;trackers != 0.
	* src/CompactTrackerResponseProcessor.h: New class.
	* src/CompactTrackerResponseProcessor.cc: New class.
	* src/message.h (MSG_TRACKER_WARNING_MESSAGE): Updated.
	* src/HttpResponseCommand.cc (createHttpDownloadCommand):
	Decoupled TorrentDownloadEngine from this.
	* src/SegmentMan.h (init): New function.
	* src/SegmentMan.cc (init): New function.
	* src/TorrentMan.h (responseProcessor): New variable.
	(trackers): New variable.
	(setTrackerResponseProcessor): New function.
	(getTrackerResponseProcessor): New function.
	(processTrackerResponse): New function.
	* src/TorrentMan.cc (Constructor): Initialized new variable 
trackers.
	(processTrackerResponse): New function.
	* src/main.cc (main): Use ByteArrayDiskWriter and
	CompactTrackerResponseProcessor.
	* src/TorrentDownloadEngine.cc (afterEachIteration): Call 
torrentMan-&gt;
	processTrackerResponse().
	
	* src/TorrentConsoleDownloadEngine.cc (printStatistics): Updated 
a
	readout.

	* src/TorrentDownloadEngine.cc (afterEachIteration): Added log 
message
	which indicates download has completed.

	* src/AbstractDiskWriter.cc (Destructor): fd &gt;= 0, not fd &gt;0
	(closeFile): fd &gt;= 0, not fd &gt; 0

	* src/main.cc (main): Added short cut for show-files.
	Added short cut for torrent-file.
	Added new command-line option listen-port.
	Updated i18n messages.

</content>
</entry>
<entry>
<title>added bittorrent support(experimental)</title>
<updated>2006-03-21T14:12:51Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2006-03-21T14:12:51Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=df6c7c03856c9c17e1a48c080aa34d815e812f8e'/>
<id>urn:sha1:df6c7c03856c9c17e1a48c080aa34d815e812f8e</id>
<content type='text'>
</content>
</entry>
</feed>
