| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Removed unused includes.
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Made protected member variable private. Added accessor funcs.
* src/BtCheckIntegrityEntry.cc
* src/BtFileAllocationEntry.cc
* src/CheckIntegrityEntry.cc
* src/CheckIntegrityEntry.h
* src/ChecksumCheckIntegrityEntry.cc
* src/FileAllocationEntry.cc
* src/PieceHashCheckIntegrityEntry.cc
* src/RequestGroupEntry.h
* src/StreamCheckIntegrityEntry.cc
* src/StreamFileAllocationEntry.cc
|
| |
|
|
|
|
|
| |
Made public member variables of DownloadEngine private. Added
accessor funcs.
|
| |
|
|
|
|
|
| |
Use vector instead of deque for containers which is used for
mostly read-only purpose.
|
| |
|
|
|
|
|
|
|
| |
Untabify. Fixed one line in copyright which is longer than 80
columns.
* src
* test
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed _currentRequest from StreamCheckIntegrityEntry and
StreamFileAllocationEntry.
* src/AbstractCommand.cc
* src/HttpResponseCommand.cc
* src/RequestGroup.cc
* src/StreamCheckIntegrityEntry.cc
* src/StreamCheckIntegrityEntry.h
* src/StreamFileAllocationEntry.cc
* src/StreamFileAllocationEntry.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added experimental support of WEB-Seeding for multi-file torrent.
Due to fundamental changes in file handling in HTTP/FTP code, many
functions are not working: PeerStat, ServerHost, proxy..etc
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/BitfieldMan.cc
* src/BitfieldMan.h
* src/CreateRequestCommand.cc
* src/CreateRequestCommand.h
* src/DefaultPieceStorage.cc
* src/DefaultPieceStorage.h
* src/DownloadCommand.cc
* src/DownloadCommand.h
* src/DownloadContext.cc
* src/DownloadContext.h
* src/FileEntry.cc
* src/FileEntry.h
* src/FtpDownloadCommand.cc
* src/FtpDownloadCommand.h
* src/FtpFinishDownloadCommand.cc
* src/FtpFinishDownloadCommand.h
* src/FtpInitiateConnectionCommand.cc
* src/FtpInitiateConnectionCommand.h
* src/FtpNegotiationCommand.cc
* src/FtpNegotiationCommand.h
* src/FtpTunnelResponseCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpDownloadCommand.h
* src/HttpInitiateConnectionCommand.cc
* src/HttpInitiateConnectionCommand.h
* src/HttpProxyResponseCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpRequestCommand.h
* src/HttpResponseCommand.cc
* src/HttpResponseCommand.h
* src/HttpSkipResponseCommand.cc
* src/HttpSkipResponseCommand.h
* src/InitiateConnectionCommand.cc
* src/InitiateConnectionCommand.h
* src/InitiateConnectionCommandFactory.cc
* src/InitiateConnectionCommandFactory.h
* src/Makefile.am
* src/PieceStorage.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/SegmentMan.cc
* src/SegmentMan.h
* src/SingleFileDownloadContext.h
* src/StreamFileAllocationEntry.cc
* src/TrackerWatcherCommand.cc
* src/UnknownLengthPieceStorage.cc
* src/UnknownLengthPieceStorage.h
* src/array_fun.h
* src/bitfield.h
* src/download_helper.cc
* test/DownloadContextTest.cc
* test/Makefile.am
* test/MockDownloadContext.h
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Call setStatus(STATUS_ONESHOT_REALTIME) from constructor. Call
setNoWiat(true) if newly created command calls
setStatus(STATUS_ONESHOT_REALTIME) from its constructor.
* src/HttpListenCommand.cc
* src/HttpServerBodyCommand.cc
* src/HttpServerCommand.cc
* src/HttpServerResponseCommand.cc
* src/InitiateConnectionCommand.cc
* src/RequestGroup.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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Show an average download speed in Download results.
* src/BtFileAllocationEntry.cc
* src/DefaultPieceStorage.cc
* src/DownloadContext.cc
* src/DownloadContext.h
* src/DownloadResult.h
* src/RequestGroup.cc
* src/RequestGroupMan.cc
* src/StreamFileAllocationEntry.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed SingletonHolder of CUIDCounter. CUIDCounter is now part
of DownloadEngine.
* src/ActivePeerConnectionCommand.cc
* src/BtSetup.cc
* src/CUIDCounter.h
* src/DHTSetup.cc
* src/DownloadCommand.cc
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/DownloadEngineFactory.cc
* src/FileAllocationDispatcherCommand.cc
* src/InitiatorMSEHandshakeCommand.cc
* src/PeerInitiateConnectionCommand.cc
* src/PeerInteractionCommand.cc
* src/PeerListenCommand.cc
* src/RequestGroup.cc
* src/StreamFileAllocationEntry.cc
* src/TrackerWatcherCommand.cc
* src/main.cc
* test/RequestGroupManTest.cc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pass std::deque<Command*> by reference to avoid unnecessary coping.
* src/AbstractCommand.cc
* src/BtCheckIntegrityEntry.cc
* src/BtCheckIntegrityEntry.h
* src/BtFileAllocationEntry.cc
* src/BtFileAllocationEntry.h
* src/BtSetup.cc
* src/BtSetup.h
* src/CheckIntegrityCommand.cc
* src/CheckIntegrityEntry.h
* src/ChecksumCheckIntegrityEntry.cc
* src/ChecksumCheckIntegrityEntry.h
* src/DHTSetup.cc
* src/DHTSetup.h
* src/DownloadEngine.cc
* src/FileAllocationCommand.cc
* src/FileAllocationEntry.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* src/StreamCheckIntegrityEntry.cc
* src/StreamCheckIntegrityEntry.h
* src/StreamFileAllocationEntry.cc
* src/StreamFileAllocationEntry.h
* src/TrackerWatcherCommand.cc
* src/a2functional.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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added std namespace to copy, remove_copy, back_inserter,
front_inserter.
* src/RequestGroupMan.cc
* src/DefaultPieceStorage.cc
* src/StreamFileAllocationEntry.cc
* src/BtFileAllocationEntry.cc
* src/RequestGroup.cc
* src/MetalinkEntry.cc
* src/DelegatingPeerListProcessor.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultBtMessageDispatcher.cc
* src/version_usage.cc: Included <algorithm>
* src/main.cc
* src/MetalinkParserController.cc
* src/DefaultBtContext.cc
* src/DownloadEngineFactory.cc
* src/a2algo.h
Removed.
* test/StreamUriListParserTest.cc
|
| |
|
|
|
|
|
|
|
| |
Removed "using namespace std;" from all sources. Appended std::
prefix to c++
standard classes.
Included string.h where mem* function are used.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Don't connect server before checking file integrity at startup,
if
filesize and output file path are known.
* src/AbstractCommand.cc
* src/StreamFileAllocationEntry.cc
* src/Metalink2RequestGroup.cc
* src/RequestGroup.{h, cc}
* src/HttpResponseCommand.cc
* src/FtpNegotiationCommand.cc
Added DownloadFailureException. If it is thrown, RequestGroup
should
halt.
* src/AbstractCommand.cc
* src/DownloadFailureException.h
* src/RequestGroup.cc
Catch RecoverableException, instead of DlAbortEx.
* src/RequestGroupMan.cc
* src/FillRequestGroupCommand.cc
* src/MetaFileUtil.cc
* src/IteratableChunkChecksumValidator.cc
Now first parameter of MSG_DOWNLOAD_ABORTED is
gid(RequestGroup::
getGID())
* src/CheckIntegrityCommand.cc
* src/message.h
Print gid instead of idx.
* src/RequestGroupMan.cc
Removed exception throwers declaration.
* src/DirectDiskAdaptor.{h, cc}
* src/SocketCore.{h, cc}
* src/MultiDiskAdaptor.{h, cc}
* src/HttpConnection.{h, cc}
* src/HttpResponse.{h, cc}
* src/DiskAdaptor.{h, cc}
* src/CopyDiskAdaptor.{h, cc}
* src/MultiDiskAdaptor.{h, cc}
* src/HttpHeaderProcessor.{h, cc}
* src/AbstractSingleDiskAdaptor.{h, cc}
* src/Util.{h, cc}
* test/UtilTest.cc
* src/DefaultDiskWriter.{h, cc}
* src/FtpConnection.{h, cc}
* src/AbstractDiskWriter.{h, cc}
Removed duplicate code.
* src/StreamCheckIntegrityEntry.cc
Removed unnecessary include.
* src/DiskWriter.h
Included Exception.h
* src/option_processing.cc
Included 2 files and added doc
* src/TrackerWatcherCommand.cc
* src/SocketCore.cc (writeData): Fixed send error with GnuTLS.
|
|
|
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.
|