Set the maximum file size to enable mmap (see --enable-mmap
option). The file size is determined by the sum of all files contained
in one download. For example, if a download contains 5 files, then
file size is the total size of those files. If file size is strictly
greater than the size specified in this option, mmap will be disabled.
Added .cc file for classes/structs that only provided by header
file. Defined non-POD classes' ctor, dtor in .cc file. Moved
implementation code in header file to .cc file for major
classes/strucsts.
Removed SharedHandle::isNull(). Instead we added operator* and
operator unspecified_bool_type. Removed use of WeakHandle and
replaced with raw pointer.
Reset download start time of PeerStat because it is started before
file allocation begins. Without reset, we have incorrect download
time and aria2 wrongly determines that download speed is too low
if --lowest-speed-limit is used.
* src/StreamFileAllocationEntry.cc
Fixed the bug that DownloadContext::resetDownloadStartTime() never
be called in downloads whose total length is unknown. This causes
avg speed in Download Results is always 0 for these downloads.
* src/RequestGroup.cc
* src/BtFileAllocationEntry.cc
* src/StreamFileAllocationEntry.cc
Added --event-poll option to select the method for polling
events.
The available methods are "select" and "epoll". "epoll" is
available on Linux only. The earlier release has the compile
option to choose from these methods.
* configure.ac
* src/RequestGroupMan.cc
* src/OptionHandlerFactory.cc
* src/EpollEventPoll.h
* src/StreamFileAllocationEntry.cc
* src/a2io.h
* src/SelectEventPoll.h
* src/option_processing.cc
* src/prefs.h
* src/EpollEventPoll.cc
* src/EventPoll.h
* src/SocketCore.h
* src/Makefile.am
* src/main.cc
* src/DownloadEngine.h
* src/SelectEventPoll.cc
* src/DownloadEngine.cc
* src/SocketCore.cc
* src/DownloadEngineFactory.cc
* src/Makefile.in
* src/prefs.cc
* src/usage_text.h
Eliminates the time lag between sequential downloads and
commands in
the same RequestGroup.
In old implementation, aria2 occasionally waits 1 seconds before
executing next command or RequestGroup.
This is really a waste of time, and new implementation
eliminates
this unnecessary time lag.
* src/AbstractCommand.cc
* src/AutoSaveCommand.cc
* src/CheckIntegrityCommand.cc
* src/Command.{cc, h}
* src/DownloadEngine.{cc, h}
* src/DownloadEngineFactory.cc
* src/FileAllocationCommand.cc
* src/FileAllocationDispatcherCommand.cc
* src/FillRequestGroupCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/HaveEraseCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpResponseCommand.cc
* src/RealtimeCommand.cc
* src/RequestGroup.cc
* src/RequestGroupMan.cc
* src/StreamFileAllocationEntry.cc
* src/TimeBasedCommand.{cc, h}
* src/TimedHaltCommand.cc
Fixed the bug that causes aria2 not to finish download.
BUG#1855875.
I could reproduce this bug in following procedure:
1. Stop the download at the very beginning(1% or 100KB
downloaded).
2. Restart aria2.
3. You see the download stopped around 99%.
* src/HttpResponseCommand.cc (handleDefaultEncoding)
* src/StreamFileAllocationEntry.cc: Removed the timeout
handling.
If timeout is reached, then _nextCommand is unused and it may
contains
segments and they won't be canceled. Actually, timeout is not
needed
here because if the server dropped connection, then retry is
made.
Fixed the bug#1841757: aria2 will connect to server to only get
file size.
* src/StreamFileAllocationEntry.cc
* src/option_processing.cc
* src/HttpResponseCommand.cc: Now reuse connection in segmented
downloads.
* src/FtpNegotiationCommand.cc
Suppressed wrong message when finding PreDownloadHandler
* src/RequestGroup.cc
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.