<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aria2/src/MultiFileAllocationIterator.h, branch release-1.6.2</title>
<subtitle>Aria2 download utility with uTP support</subtitle>
<id>http://x-nagi.com/cgit/aria2/atom?h=release-1.6.2</id>
<link rel='self' href='http://x-nagi.com/cgit/aria2/atom?h=release-1.6.2'/>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/'/>
<updated>2009-03-25T05:43:07Z</updated>
<entry>
<title>2009-03-25  Tatsuhiro Tsujikawa  &lt;t-tujikawa@users.sourceforge.net&gt;</title>
<updated>2009-03-25T05:43:07Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2009-03-25T05:43:07Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=29c5ef9215be004b31cd53ef8841680c3f015d57'/>
<id>urn:sha1:29c5ef9215be004b31cd53ef8841680c3f015d57</id>
<content type='text'>
	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


</content>
</entry>
<entry>
<title>2008-06-16  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2008-06-15T16:19:06Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2008-06-15T16:19:06Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=2f8e184fe5c8b8264fd0219ba2001be84c148d54'/>
<id>urn:sha1:2f8e184fe5c8b8264fd0219ba2001be84c148d54</id>
<content type='text'>
	Create only requested files and files which shares a piece with
	requested file in multi-torrent downloads. Directory structures 
are
	also created in the same rule.
	MultiDiskAdaptor::fileExists() now uses FileEntry instead of
	DiskWriterEntry as in the previous implementation.
	* src/MultiDiskWriter.cc
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h
	* test/MultiFileAllocationIteratorTest.cc


</content>
</entry>
<entry>
<title>2008-05-12  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2008-05-12T11:51:09Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2008-05-12T11:51:09Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=6ae07106d3c1d3134c4337803c02e324accce19b'/>
<id>urn:sha1:6ae07106d3c1d3134c4337803c02e324accce19b</id>
<content type='text'>
	Changed method signature:
	MultiFileAllocationIterator::makeDiskWriterEntries
	* src/MultiFileAllocationIterator.cc
	* src/MultiFileAllocationIterator.h


</content>
</entry>
<entry>
<title>2008-03-09  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2008-03-09T12:24:01Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2008-03-09T12:24:01Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=032c7c28083e17bdcfd763b3cf81447b06a07978'/>
<id>urn:sha1:032c7c28083e17bdcfd763b3cf81447b06a07978</id>
<content type='text'>
	type cleanup for allmost all remaining files.


</content>
</entry>
<entry>
<title>2008-02-08  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2008-02-08T15:53:45Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2008-02-08T15:53:45Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=1b7c1982896dba1d38e1fe84ba9660996607f5f9'/>
<id>urn:sha1:1b7c1982896dba1d38e1fe84ba9660996607f5f9</id>
<content type='text'>
	Removed "using namespace std;" from all sources. Appended std:: 
prefix to c++
	standard classes.
	Included string.h where mem* function are used.


</content>
</entry>
<entry>
<title>2007-11-28  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2007-11-28T14:22:28Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2007-11-28T14:22:28Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=5a2f398eca68b2b0330ddcec2b222bf76875f82f'/>
<id>urn:sha1:5a2f398eca68b2b0330ddcec2b222bf76875f82f</id>
<content type='text'>
	Added direct I/O support. The current implementation uses O_DIRECT,
	which is not posix standard and is tested on linux 2.6.21.
	Currently only file allocation uses direct I/O.
	* src/SingleFileAllocationIterator.{h, cc}
	* test/SingleFileAllocationIteratorTest.cc
	* src/MultiFileAllocationIterator.{h, cc}
	* test/MultiFileAllocationIteratorTest.cc
	* src/BinaryStream.h
	* src/DiskWriter.h
	* src/AbstractDiskWriter.{h, cc}
	* src/ByteArrayDiskWriter.h
	* src/DiskAdaptor.h
	* src/AbstractSingleDiskAdaptor.{h, cc}
	* src/MultiDiskAdaptor.{h, cc}
	* src/FileAllocationEntry.cc
	* src/Util.{h, cc}
	* src/OptionHandlerFactory.cc
	* src/prefs.h
	* src/version_usage.cc
	* src/option_processing.cc

	Moved FileAllocationMan::markCurrentFileAllocationEntryDone() to
	handleException.
	* src/MultiFileAllocationIterator.cc

	Added EINTR handling
	* src/SocketCore.cc


</content>
</entry>
<entry>
<title>2007-11-23  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2007-11-23T08:47:38Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2007-11-23T08:47:38Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=49618788e3e273178c5296ca225f06483c74509e'/>
<id>urn:sha1:49618788e3e273178c5296ca225f06483c74509e</id>
<content type='text'>
	Removed 'extern' from 'extern typedef ...' in src/*.h



</content>
</entry>
<entry>
<title>2007-11-20  Tatsuhiro Tsujikawa  &lt;tujikawa at rednoah dot com&gt;</title>
<updated>2007-11-21T16:14:40Z</updated>
<author>
<name>Tatsuhiro Tsujikawa</name>
<email>tatsuhiro.t@gmail.com</email>
</author>
<published>2007-11-21T16:14:40Z</published>
<link rel='alternate' type='text/html' href='http://x-nagi.com/cgit/aria2/commit/?id=c9e3d510547de63658c397060095d51b2c1b2c4b'/>
<id>urn:sha1:c9e3d510547de63658c397060095d51b2c1b2c4b</id>
<content type='text'>
	Preallocate non-requested file which is adjacent forward to 
requested
	file('requested' files means the files given in --select-file 
option)
	if they share a same piece.
	This fixes long pause in the file system which doesn't support 
sparse
	files like FAT32 while downloading.
	* src/MultiFileAllocationIterator.{h, cc}
	* test/MultiFileAllocationIteratorTest.cc
	* src/FileEntry.{h, cc}

	Removed unused _option.
	* src/MultiDiskAdaptor.h
	* test/MultiDiskAdaptorTest.cc
	* src/DefaultPieceStorage.cc

	Set the default value of --seed-ratio to 1.0.
	If 0.0 is given, then seeding continues regardless of share 
ratio.
	* src/version_usage.cc
	* src/option_processing.cc
	* src/BtSetup.cc
	* doc/aria2c.1.txt
	* doc/aria2c.1

	Fixed: Selective download is not working in BitTorrent
	* src/RequestGroup.cc

	Introduced Sequence class. Use this instead of 
Util::unfoldRange()
	* src/PieceStorage.h
	* test/MockPieceStorage.h
	* src/UnknownLengthPieceStorage.h
	* src/DefaultPieceStorage.{h, cc}
	* src/Metalink2RequestGroup.cc
	* src/RequestGroup.cc
	* src/Sequence.h
	* test/SequenceTest.cc
	* src/IntSequence.h
	* src/message.h
	* src/Util.{h, cc}
	* test/UtilTest.cc

	Added new function 'parse' to catch exception thrown by 
subclass's
	parseArg
	* src/OptionHandler.h
	* src/OptionParser.cc
	* src/NameMatchOptionHandler.h
	* src/OptionHandlerImpl.h
	* test/OptionHandlerTest.cc

	Added IntegerRangeOptionHandler. Used for --listen-port and
	--select-file. Now --listen-port accepts range of port.
	* src/OptionHandlerFactory.cc
	* src/version_usage.cc
	* src/OptionHandlerImpl.h
	* src/option_processing.cc
	* src/BtSetup.cc
	* src/PeerListenCommand.{h, cc}
	* doc/aria2c.1.txt
	* doc/aria2c.1
	
	Implemented operator&lt; for Exception class to provide easy way to 
print
	exception stack trace.
	* src/Exception.{h, cc}
	* src/main.cc
	* src/option_processing.cc



</content>
</entry>
<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>
</feed>
