Bump up version number of .aria2 control file to 0001.
New aria2 can still load version 0000 file but it saves the file
in
version 0001 format. It means that new aria2 can resume download
started by old aria2 but the opposite is not true.
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtProgressInfoFile.h
* test/DefaultBtProgressInfoFileTest.cc
Fixed the bug that the number of connected peer is exceeding the
limit
(55 by default) in seeding mode.
Multiplied 0.8 to _maxUploadSpeedLimit.
* src/ActivePeerConnectionCommand.cc
If a cookie whose expire date is later than 2038-01-19 03:14:07
GMT is
sent from server, its expire date is assumed to 2038-01-19
03:14:07 GMT.
If Util::httpGMT is failed, then Cookie::onetime is set to true.
* src/Util.cc
* src/Util.h
* src/CookieParser.cc
* test/UtilTest.cc
* test/CookieParserTest.cc
Seprate the implementation to load old mozilla format of cookie
to
NsCookieParser class.
* src/CookieBoxFactory.cc
* src/CookieBoxFactory.h
* src/NsCookieParser.cc
* src/NsCookieParser.h
* test/NsCookieParserTest.cc
Fixed occasional assertion failure in PieceSegment.
Calling PieceStorage::getMissingPiece(size_t) was missing after
canceling segments in SegmentMan::getSegment(int32_t). This
resulted in
creation of duplicate segments and one of the segment was
finished then
assertion failure was caused.
* src/SegmentMan.cc
* test/SegmentManTest.cc
Added options to load/save the server's performance/status to a
file
and the timeout to drop their data.
--server-stat-of=FILE specifies the file to which performance
data
is saved.
--server-stat-if=FILE specifies the file to read previously
saved
by --server-stat-of option. Might be used with
--uri-selector=feedback.
--server-stat-timeout=TIMEOUT specifies timeout to invalidate
the data.
TIMEOUT is specified in seconds and the default value is
24hours.
* src/MultiUrlRequestInfo.cc
* src/OptionHandlerFactory.cc
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* src/ServerStatMan.cc
* src/ServerStatMan.h
* src/option_processing.cc
* src/prefs.cc
* src/prefs.h
* test/ServerStatManTest.cc
Implemented ServerStatMan::load(...) function and its test case.
* src/ServerStat.cc
* src/ServerStat.h
* src/ServerStatMan.cc
* test/ServerStatManTest.cc
* test/ServerStatTest.cc
Implemented ServerStatMan::save(...) function and its test case.
* src/ServerStat.cc
* src/ServerStat.h
* src/ServerStatMan.cc
* src/ServerStatMan.h
* test/ServerStatManTest.cc
Implemented download speed based URI selection algorithm.
Introduced new option --uri-selector.
If --uri-selector=feedback is given, aria2 uses download speed
observed
in the previous downloads and chooses fastest server in the URI
list.
Currently at most 10 URIs are considered to introduce
randomeness for
finding better servers. The speed is average download speed in
the
downloads.
On the other hand, if --uri-selector=inorder is given, which is
default,
URI is tried in order in URI list.
The usage text for the new option has not been written yet.
* src/AbstractCommand.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/DownloadEngineFactory.cc
* src/InOrderURISelector.cc
* src/InOrderURISelector.h
* src/OptionHandlerFactory.cc
* src/PeerStat.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* src/SegmentMan.cc
* src/SegmentMan.h
* src/ServerStat.cc
* src/ServerStat.h
* src/ServerStatMan.cc
* src/ServerStatMan.h
* src/ServerStatURISelector.cc
* src/ServerStatURISelector.h
* src/URISelector.h
* src/option_processing.cc
* src/prefs.cc
* src/prefs.h
* test/InOrderURISelectorTest.cc
* test/RequestGroupManTest.cc
* test/ServerStatManTest.cc
* test/ServerStatURISelectorTest.cc
Fixed the bug that causes segmentaion fault when resuming
download
using metalink without size tag. Reproducible only using HTTP
URI.
* src/HttpResponseCommand.cc
* src/FtpNegotiationCommand.cc