Tatsuhiro Tsujikawa
7100b1b9ca
Parse HTTP RPC request on the fly without buffering
2012-07-14 18:59:56 +09:00
Tatsuhiro Tsujikawa
57b46d5123
Added streaming parser for structured data format.
...
Added JSON streaming parser. Note that currently JSON parser ignores
frac and exp parts of number construct.
2012-07-10 01:42:42 +09:00
Tatsuhiro Tsujikawa
ca60020fa4
Removed dependency on inet_aton
...
Implemented inetPton as a replacement of inet_aton. inetPton is
implemented using net::getBinAddr.
This change fixes bug#3525424.
2012-05-14 01:17:50 +09:00
Tatsuhiro Tsujikawa
52826433d9
Fixed typo
2012-04-08 17:51:01 +09:00
Tatsuhiro Tsujikawa
fcbdecfd1e
Conditional compile for WebSocket.
...
WebSocket support depends on Message Digest support.
2012-04-08 00:50:25 +09:00
Tatsuhiro Tsujikawa
f4e2c7f060
Added JSON-RPC over WebSocket.
...
Wslay library must be placed under deps/wslay.
2012-03-20 21:42:09 +09:00
Tatsuhiro Tsujikawa
4ff29f802f
Moved PeerConnection.{h,cc} to BitTorrent resources
2012-01-08 01:09:58 +09:00
Tatsuhiro Tsujikawa
c8191700b1
Fixed compile error without BitTorrent and Metalink support
2011-12-11 00:08:13 +09:00
Tatsuhiro Tsujikawa
8fe92517d9
Removed deleted source file entry
2011-12-10 19:26:36 +09:00
Tatsuhiro Tsujikawa
6bf696ca11
New help messages. Added suggestion for unknown/ambiguous options.
...
The help messages shown when argument error were redesigned and less
verbose now. When unknown or ambiguous option is given, show
suggestions like "Did you mean...". Some constant values related to
levenstein distance are borrowed from git help.c.
2011-12-03 16:30:00 +09:00
Tatsuhiro Tsujikawa
b89bc8a6cb
Added --stop-with-process=PID option.
...
This feature stops application when process PID is not running. This
is useful if aria2 process is forked from a parent process. The parent
process can fork aria2 with its own pid and when parent process exits
for some reason, aria2 can detect it and shutdown itself.
The code which detects whether or not given process PID is running is
contributed by Emmanuel Engelhart.
2011-12-01 23:21:44 +09:00
Tatsuhiro Tsujikawa
787bfd75da
Use XmlParser for XML-RPC.
2011-11-11 00:37:32 +09:00
Tatsuhiro Tsujikawa
440f29aca3
Rewritten Metalink XML parser.
...
Now we don't strip white spaces while parsing Metalink V3 document.
Expat implementation does not included in this change.
2011-11-10 22:38:01 +09:00
Tatsuhiro Tsujikawa
72a1847ba8
Rewritten *ARC4Encryptor. Removed *ARC4Context.
...
Now *ARC4Encryptor supports in-place encryption.
2011-11-08 00:50:07 +09:00
Tatsuhiro Tsujikawa
02b3873e6d
Removed ARC4Decryptor because ARC4Encryptor can decrypt the message.
2011-11-07 22:24:47 +09:00
Tatsuhiro Tsujikawa
30fdb08f40
Rewritten parametered URI handling routine.
2011-11-06 16:37:02 +09:00
Tatsuhiro Tsujikawa
d45d854926
Rewritten base64::decode and base64::encode
2011-11-05 23:30:46 +09:00
Tatsuhiro Tsujikawa
17a1b51a76
mv Base64.{cc,h} base64.{cc,h}
2011-11-05 21:13:49 +09:00
Tatsuhiro Tsujikawa
9bb914b76e
Changed parse*Int functions so that it accepts iterators.
2011-11-03 18:51:31 +09:00
Tatsuhiro Tsujikawa
9a51cc356b
Changed interface of BtRegistry.
...
BtRegistry now uses SharedHandle<BtObject> instead of BtObject.
2011-11-01 23:13:13 +09:00
Tatsuhiro Tsujikawa
4a455b5afe
Removed IntSequence and Sequence<T>
2011-10-30 15:08:44 +09:00
Tatsuhiro Tsujikawa
78c3bcd199
Added SegList<T>, replacement of Sequence<T>
2011-10-29 21:51:58 +09:00
Tatsuhiro Tsujikawa
23a83deb4f
Renamed NameMatchOptionHandler as AbstractOptionHandler.
2011-10-22 22:57:44 +09:00
Tatsuhiro Tsujikawa
a077ddd111
Fixed compile error with --without-libxml2 --without-libexpat
2011-09-28 23:41:22 +09:00
Tatsuhiro Tsujikawa
201af99501
Added GeomStreamPieceSelector.
2011-08-24 21:56:54 +09:00
Tatsuhiro Tsujikawa
e76dc28f7f
Added libnettle and libgmp support.
...
libnettle and libgmp is used by default. Old implementation uses
libgcrypt as default. If more and more Linux distributions offer
libnettle linked GnuTLS, then this change decrease library dependency
against libgcrypt and libgpg-error. The current library detection for
libnettle and libgmp is very simple, just use AC_SEARCH_LIBS.
util::generateRandomData() was written using SimpleRandomizer, thus no
external library dependency from this function.
2011-08-11 02:29:14 +09:00
Tatsuhiro Tsujikawa
e8e3a6f259
wallclock is now retrieved using global::wallclock() call.
...
This is necessary to avoid global variable initialization order
problem.
2011-08-10 01:17:28 +09:00
Tatsuhiro Tsujikawa
a10cda2f17
Use global::cout to output string to stdout.
...
In MinGW32 build, global::cout is WinConsoleFile. When outputing to
console, it uses WriteConsoleW, so Unicode characters are written.
Fixed memory leak in WChar<->MultiByte conversion functions. The
portion of code which uses std::cout is rewritten to use global::cout.
2011-08-09 23:33:55 +09:00
Tatsuhiro Tsujikawa
6cb91cae88
Added fopen/fread/fwrite/fgets wrapper class.
2011-08-06 21:17:36 +09:00
Tatsuhiro Tsujikawa
9ff60ac477
Added struct for Metalink/HTTP
2011-07-26 23:19:54 +09:00
Tatsuhiro Tsujikawa
65ec9e98df
Replaced InOrder with Inorder.
2011-06-11 21:49:09 +09:00
Tatsuhiro Tsujikawa
deaea9537b
Added --stream-piece-selector option.
...
This option specifies piece selection algorithm used in HTTP/FTP
download. Piece means fixed length segment which is downloaded in
parallel in segmented download. If 'default' is given, aria2 selects
piece so that it reduces the number of establishing connection. This
is reasonable default behaviour because establishing connection is an
expensive operation. If 'inorder' is given, aria2 selects piece which
has minimum index. Index=0 means first of the file. This will be
useful to view movie while downloading it. --enable-http-pipelining
option may be useful to reduce reconnection overhead. Please note
that aria2 honors --min-split-size option, so it will be necessary to
specify a reasonable value to --min-split-size option.
2011-06-11 21:41:56 +09:00
Tatsuhiro Tsujikawa
cc82da3bab
Added StreamPieceSelector class.
...
This class abstracts the piece selection algorithm for HTTP/FTP
download.
2011-06-11 17:34:17 +09:00
Tatsuhiro Tsujikawa
f0cfbb21c1
Renamed classes in abstract layer of RPC service from XmlRpc* to Rpc*.
...
Now JSON-RPC is available by default regardless of XML library.
XML-RPC becomes available when XML library is available.
2011-03-14 16:38:54 +09:00
Tatsuhiro Tsujikawa
7338a25035
Added initial JSON-RPC support.
...
JSON-RPC is enabled using --enable-xml-rpc. We are implementing
JSON-RPC based on JSON-RPC 2.0 draft spec.
2011-03-09 23:07:27 +09:00
Tatsuhiro Tsujikawa
395212f47f
Replaced HAVE_LIBSSL with HAVE_OPENSSL
2011-02-18 22:43:50 +09:00
Tatsuhiro Tsujikawa
7230fbd2f7
Replaced HAVE_LIBZ with HAVE_ZLIB
2011-02-18 22:34:38 +09:00
Tatsuhiro Tsujikawa
3f125dce21
Use LIBS and CPPFLAGS instead of substituting them individually per
...
library.
2011-02-18 18:53:53 +09:00
Tatsuhiro Tsujikawa
2666bc8170
Renamed MessageDigestHelper as message_digest_helper
...
Static member variables in MessageDigestHelper class are now functions
under message_digest namespace.
2011-02-05 23:38:51 +09:00
Tatsuhiro Tsujikawa
38202a5565
Renamed MetalinkHelper as metalink_helper.
...
Static member functions in MetalinkHelper class is now functions under
metalink namespace.
2011-02-05 23:21:06 +09:00
Tatsuhiro Tsujikawa
2ba2511dd5
Check presence of ar.
...
This change allows configure to find appropriate ar at cross compile.
2011-01-29 21:33:57 +09:00
Tatsuhiro Tsujikawa
ea1b4b3ee5
Eliminated SocketCore::peekData() form HTTP/FTP downloads.
...
We introduced SocketRecvBuffer which buffers received bytes. Since
HTTP response header and response body are divided with \r\n, we have
to buffer up several bytes to find this delimiter. We use
SocketRecvBuffer to hold these bytes and only consumes header and
passes SocketRecvBuffer, which may contain head of response body, to
next Command. Since FTPConnection doesn't use SocketCore::peekData(),
we left it as is.
2011-01-16 16:55:41 +09:00
Tatsuhiro Tsujikawa
3ee6784b76
Made `make distcheck' pass.
...
We added 2 macros A2_TEST_DIR and A2_TEST_OUT_DIR to pass tests in
`make distcheck`. A2_TEST_DIR refers to test directory. All output
files by unit tests are now created under A2_TEST_OUT_DIR directory.
2010-12-02 22:52:35 +09:00
Tatsuhiro Tsujikawa
7ac1f17d56
Added missing error_code.h to Makefile.am
2010-12-01 23:06:39 +09:00
Tatsuhiro Tsujikawa
694fb307aa
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced StringFormat with fmt
2010-11-20 09:36:14 +00:00
Tatsuhiro Tsujikawa
580098eb49
2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten Logger interface. Logger now writes source file name and
line number in log file.
2010-11-20 08:21:36 +00:00
Tatsuhiro Tsujikawa
1eef862cc3
2010-11-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced BNode with DHTBucketTreeNode which is 2 times efficient.
* src/BNode.cc: Removed
* src/BNode.h: Removed
* src/DHTBucketTree.cc
* src/DHTBucketTree.h
* src/DHTRoutingTable.cc
* src/DHTRoutingTable.h
* src/Makefile.am
* test/BNodeTest.cc: Removed
* test/DHTBucketTreeTest.cc
* test/Makefile.am
2010-11-17 15:42:23 +00:00
Tatsuhiro Tsujikawa
1372ac51ad
2010-11-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
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.
2010-11-14 07:17:55 +00:00
Tatsuhiro Tsujikawa
89f997ec0d
2010-11-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Replaced MessageDigestContext with MessageDigest. Cleaned up
unnecessary functions in MessageDigestHelper.
* src/BtPieceMessage.cc
* src/Checksum.h
* src/DHTTokenTracker.cc
* src/DownloadCommand.cc
* src/DownloadCommand.h
* src/HashFuncEntry.h
* src/IteratableChecksumValidator.cc
* src/IteratableChecksumValidator.h
* src/IteratableChunkChecksumValidator.cc
* src/IteratableChunkChecksumValidator.h
* src/LibgcryptMessageDigestImpl.cc
* src/LibgcryptMessageDigestImpl.h
* src/LibsslMessageDigestImpl.cc
* src/LibsslMessageDigestImpl.h
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/Makefile.am
* src/MessageDigest.cc
* src/MessageDigest.h
* src/MessageDigestHelper.cc
* src/MessageDigestHelper.h
* src/MessageDigestImpl.h
* src/MetalinkParserController.cc
* src/Piece.cc
* src/Piece.h
* src/UTMetadataDataExtensionMessage.cc
* src/bittorrent_helper.cc
* src/messageDigest.cc: Removed
* src/messageDigest.h: Removed
* src/util.cc
* src/version_usage.cc
* test/BittorrentHelperTest.cc
* test/GZipDecoderTest.cc
* test/GZipDecodingStreamFilterTest.cc
* test/IteratableChecksumValidatorTest.cc
* test/IteratableChunkChecksumValidatorTest.cc
* test/Makefile.am
* test/MessageDigestHelperTest.cc
* test/MessageDigestTest.cc
* test/Metalink2RequestGroupTest.cc
* test/MetalinkProcessorTest.cc
* test/PieceTest.cc
* test/TestUtil.cc
* test/TestUtil.h
* test/UTMetadataDataExtensionMessageTest.cc
* test/UTMetadataPostDownloadHandlerTest.cc
2010-11-11 02:56:24 +00:00
Tatsuhiro Tsujikawa
8b17d4b276
2010-10-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten Cookie class and Cookie parser based on
http://tools.ietf.org/html/draft-ietf-httpstate-cookie-14 with
some modifications. When parsing cookie date, match time first so
that it parses asctime() format. The request-path must be ends
with '/' so that request-path '/foo/' path-matches cookie-path
'/foo' and '/foo/' in the proposed algorithm.
* src/Cookie.cc
* src/Cookie.h
* src/CookieParser.cc: Removed
* src/CookieParser.h: Removed
* src/CookieStorage.cc
* src/CookieStorage.h
* src/HttpResponse.cc
* src/Makefile.am
* src/Makefile.in
* src/MultiUrlRequestInfo.cc
* src/NsCookieParser.cc
* src/NsCookieParser.h
* src/Sqlite3CookieParser.cc
* src/Sqlite3CookieParser.h
* src/a2functional.h
* src/cookie_helper.cc
* src/cookie_helper.h
* src/util.cc
* src/util.h
* test/CookieBoxFactoryTest.cc: Removed
* test/CookieHelperTest.cc
* test/CookieParserTest.cc: Removed
* test/CookieStorageTest.cc
* test/CookieTest.cc
* test/HttpRequestTest.cc
* test/Makefile.am
* test/Makefile.in
* test/NsCookieParserTest.cc
* test/Sqlite3CookieParserTest.cc
* test/TestUtil.cc
* test/TestUtil.h
* test/a2functionalTest.cc
* test/chromium_cookies.sqlite
* test/cookies.sqlite
* test/nscookietest.txt
2010-10-09 14:22:49 +00:00
Tatsuhiro Tsujikawa
584af68e19
2010-10-02 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Execute 5 DHT tasks concurrently in each task queue.
* src/DHTTaskExecutor.cc
* src/DHTTaskExecutor.h
* src/DHTTaskQueueImpl.cc
* src/DHTTaskQueueImpl.h
* src/Makefile.am
* test/DHTTaskExecutorTest.cc
* test/Makefile.am
* test/MockDHTTask.h
2010-10-02 14:38:37 +00:00
Tatsuhiro Tsujikawa
aabd7b75f9
2010-09-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Sort usedHosts by least used and faster download speed.
* src/Makefile.am
* src/RequestGroupMan.cc
* src/Triplet.h
* test/Makefile.am
* test/TripletTest.cc
2010-09-26 05:47:12 +00:00
Tatsuhiro Tsujikawa
c56a9bc669
2010-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added keys parameter to aria2.tellStatus, aria2.tellActive,
aria2.tellWaiting and aria2.tellStopped XML-RPC method. 'keys' is
array of string. If it is specified, the response contains only
keys in 'keys' array. If 'keys' is empty or not specified, the
response contains all keys. This is useful when you just want
specific keys and avoid unnecessary transfers. For example,
*aria2.tellStatus*("1", ["gid", "status"]) returns 'gid' and
'status' key. Made get*Param() functions XmlRpcRequest's
methods and changed portions of the code that were affected by
this change.
* doc/aria2c.1.txt
* src/Makefile.am
* src/XmlRpcMethodImpl.cc
* src/XmlRpcMethodImpl.h
* src/XmlRpcRequest.cc
* src/XmlRpcRequest.h
* test/XmlRpcMethodTest.cc
2010-09-19 09:49:11 +00:00
Tatsuhiro Tsujikawa
6b6e6bc495
2010-09-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed ChunkedDecoder. Moved GZipDecodingStreamFilter to under
'if HAVE_LIBZ'.
* src/ChunkedDecoder.cc
* src/ChunkedDecoder.h
* src/Makefile.am
* test/ChunkedDecoderTest.cc
* test/Makefile.am
2010-09-13 12:14:07 +00:00
Tatsuhiro Tsujikawa
ec3bd81486
2010-09-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Moved URI parser code to uri.h, uri.cc to provide fast URI parser
without Request object initialization.
* src/Makefile.am
* src/Request.cc
* src/uri.cc
* src/uri.h
* test/Makefile.am
* test/RequestTest.cc
* test/UriTest.cc
2010-09-11 09:11:57 +00:00
Tatsuhiro Tsujikawa
efbfe4c006
2010-09-06 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Data from remote server in HTTP/FTP download are now written to
the disk(or memory) through StreamFilter. Decoding chunked and
gziped streams are done cascading StreamFilter.
Removed inefficient 1byte read code.
* src/ChunkedDecodingStreamFilter.cc
* src/ChunkedDecodingStreamFilter.h
* src/DownloadCommand.cc
* src/DownloadCommand.h
* src/GZipDecodingStreamFilter.cc
* src/GZipDecodingStreamFilter.h
* src/HttpConnection.cc
* src/HttpDownloadCommand.cc
* src/HttpResponse.cc
* src/HttpResponse.h
* src/HttpResponseCommand.cc
* src/HttpResponseCommand.h
* src/HttpSkipResponseCommand.cc
* src/HttpSkipResponseCommand.h
* src/Makefile.am
* src/NullSinkStreamFilter.cc
* src/NullSinkStreamFilter.h
* src/RequestGroup.cc
* src/SinkStreamFilter.cc
* src/SinkStreamFilter.h
* src/StreamFilter.cc
* src/StreamFilter.h
* test/ChunkedDecodingStreamFilterTest.cc
* test/GZipDecodingStreamFilterTest.cc
* test/HttpResponseTest.cc
* test/Makefile.am
* test/MockSegment.h
2010-09-06 14:29:36 +00:00
Tatsuhiro Tsujikawa
95af338895
2010-07-09 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added Chromium/Google Chrome Cookies file support. Thanks to
gotrunks for original patch.
* src/CookieStorage.cc
* src/Makefile.am
* src/Sqlite3CookieParser.cc
* src/Sqlite3CookieParser.h
* src/Sqlite3CookieParserImpl.cc
* src/Sqlite3CookieParserImpl.h
* src/Sqlite3MozCookieParser.cc: Removed
* src/Sqlite3MozCookieParser.h: Removed
* test/Makefile.am
* test/Sqlite3CookieParserTest.cc
* test/Sqlite3MozCookieParserTest.cc: Removed
* test/chromium_cookies.sqlite
2010-07-08 15:18:15 +00:00
Tatsuhiro Tsujikawa
a5cc350dcf
2010-07-04 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
When allocating disk space, for Linux system with fallocate()
system call, first check file system supports fallocate. This
just run fallocate with small chunk and see it succeeds or fails.
If it succeeds, use fallocate() to allocate entire file otherwise
fall back to traditional slower method: writing zeros. This
behavior is enabled in --file-allocation=prealloc, so this is
enabled by default for most modern Linux.
* configure.ac
* src/AbstractDiskWriter.cc
* src/AbstractDiskWriter.h
* src/AbstractSingleDiskAdaptor.cc
* src/AdaptiveFileAllocationIterator.cc
* src/AdaptiveFileAllocationIterator.h
* src/DefaultPieceStorage.cc
* src/DiskAdaptor.cc
* src/DiskAdaptor.h
* src/FallocFileAllocationIterator.cc
* src/Makefile.am
* src/MultiFileAllocationIterator.cc
* src/OptionHandlerFactory.cc
* test/FallocFileAllocationIteratorTest.cc
* test/Makefile.am
2010-07-04 15:03:35 +00:00
Tatsuhiro Tsujikawa
66660d10c2
2010-06-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Made log and log-level option modifiable using
aria2.changeGlobalOption. This means you can dynamically start or
stop logging and change log file and log level.
* doc/aria2c.1.txt
* src/LogFactory.cc
* src/LogFactory.h
* src/LogFormatter.h
* src/Logger.cc
* src/Logger.h
* src/Makefile.am
* src/Makefile.in
* src/SimpleLogFormatter.cc
* src/SimpleLogFormatter.h
* src/SimpleLogger.cc: Removed
* src/SimpleLogger.h: Removed
* src/XmlRpcMethod.cc
* src/XmlRpcMethodImpl.cc
* src/main.cc
2010-06-23 14:15:35 +00:00
Tatsuhiro Tsujikawa
9e9fb885d9
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed PeerListProcessor. Its functionality is now moved to
bittorrent_helper.h
* src/DefaultBtAnnounce.cc
* src/Makefile.am
* src/PeerListProcessor.h: Removed
* src/UTPexExtensionMessage.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* test/BittorrentHelperTest.cc
* test/Makefile.am
* test/PeerListProcessorTest.cc: Removed
2010-06-20 12:12:18 +00:00
Tatsuhiro Tsujikawa
c7795c63ce
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added separete *.cc files for exception classes.
* src/DlAbortEx.cc
* src/DlAbortEx.h
* src/DlRetryEx.cc
* src/DlRetryEx.h
* src/DownloadFailureException.cc
* src/DownloadFailureException.h
* src/FatalException.cc
* src/FatalException.h
* src/Makefile.am
* src/RecoverableException.cc
* src/RecoverableException.h
2010-06-20 11:56:33 +00:00
Tatsuhiro Tsujikawa
cb4e25e4b4
2010-06-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed BDE and bencode
2010-06-19 17:54:54 +00:00
Tatsuhiro Tsujikawa
8ba97188ce
2010-06-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Introduced ValueBase class, which is a replacement of BDE. In
this change ValueBase is used instead of BDE except DHT messages,
UTMetadata messages and XML-RPC. They'll be replaced in the later
commits. DownloadContext::_attrs is now ContextAttribute rather
than BDE.
* src/ActivePeerConnectionCommand.cc
* src/AnnounceList.cc
* src/AnnounceList.h
* src/BtDependency.cc
* src/BtRegistry.cc
* src/BtSetup.cc
* src/ConsoleStatCalc.cc
* src/ContextAttribute.h
* src/DefaultBtAnnounce.cc
* src/DefaultBtInteractive.cc
* src/DownloadContext.cc
* src/DownloadContext.h
* src/HandshakeExtensionMessage.cc
* src/InitiateConnectionCommand.cc
* src/LpdReceiveMessageCommand.cc
* src/MSEHandshake.cc
* src/Makefile.am
* src/Makefile.in
* src/PeerInteractionCommand.cc
* src/PeerListProcessor.h
* src/ProtocolDetector.cc
* src/RequestGroup.cc
* src/RequestGroupMan.cc
* src/TorrentAttribute.h
* src/TrackerWatcherCommand.cc
* src/UTMetadataDataExtensionMessage.cc
* src/UTMetadataPostDownloadHandler.cc
* src/UTMetadataRequestExtensionMessage.cc
* src/ValueBase.cc
* src/ValueBase.h
* src/XmlRpcMethodImpl.cc
* src/XmlRpcMethodImpl.h
* src/bencode2.cc
* src/bencode2.h
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/magnet.cc
* src/magnet.h
* test/AnnounceListTest.cc
* test/Bencode2Test.cc
* test/BencodeTest.cc
* test/BittorrentHelperTest.cc
* test/BtDependencyTest.cc
* test/BtRegistryTest.cc
* test/DefaultBtAnnounceTest.cc
* test/DefaultBtProgressInfoFileTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/MSEHandshakeTest.cc
* test/MagnetTest.cc
* test/Makefile.am
* test/Makefile.in
* test/RequestGroupManTest.cc
* test/UTMetadataDataExtensionMessageTest.cc
* test/UTMetadataPostDownloadHandlerTest.cc
* test/UTMetadataRequestExtensionMessageTest.cc
* test/ValueBaseTest.cc
* test/XmlRpcMethodTest.cc
2010-06-18 14:47:09 +00:00
Tatsuhiro Tsujikawa
3dfbec0f9f
2010-06-13 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten DHTMessageCallback using Visitor pattern. Eliminated
dynamic_pointer_cast.
* src/DHTMessageCallbackImpl.cc: Removed
* src/DHTMessageReceiver.cc
* src/DHTAbstractNodeLookupTask.h
* src/DHTAnnouncePeerReplyMessage.h
* src/DHTReplaceNodeTask.h
* src/DHTFindNodeReplyMessage.cc
* src/DHTGetPeersReplyMessage.h
* src/DHTPeerLookupTask.h
* src/DHTMessageCallbackImpl.h: Removed
* src/DHTMessageFactory.h
* src/DHTNodeLookupTaskCallback.h
* src/DHTMessageTracker.h
* src/DHTMessageCallbackListener.h: Removed
* src/DHTGetPeersReplyMessage.cc
* src/DHTMessageCallback.h
* src/DHTAnnouncePeerReplyMessage.cc
* src/DHTNodeLookupTask.h
* src/DHTReplaceNodeTask.cc
* src/DHTPeerLookupTaskCallback.cc
* src/DHTMessageTracker.cc
* src/DHTPingReplyMessage.cc
* src/DHTPingTask.cc
* src/DHTMessageFactoryImpl.h
* src/Makefile.am
* src/DHTNodeLookupTask.cc
* src/DHTPeerLookupTaskCallback.h
* src/DHTPeerLookupTask.cc
* src/DHTMessageReceiver.h
* src/DHTMessageFactoryImpl.cc
* src/DHTResponseMessage.h
* src/DHTFindNodeReplyMessage.h
* src/DHTPingReplyMessageCallback.h
* src/Makefile.in
* src/DHTBucketRefreshTask.cc
* src/DHTNodeLookupTaskCallback.cc
* src/DHTPingTask.h
* src/DHTPingReplyMessage.h
* src/DHTAbstractNodeLookupTask.cc: Removed
* test/DHTMessageTrackerTest.cc
* test/DHTPingMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/MockDHTMessage.h
* test/MockDHTMessageFactory.h
* test/DHTFindNodeMessageTest.cc
* test/MockDHTMessageCallback.h
* test/DHTAnnouncePeerMessageTest.cc
2010-06-13 11:25:21 +00:00
Tatsuhiro Tsujikawa
8742959320
2010-06-12 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed HandleRegistry
* src/HandleRegistry.h
* src/Makefile.am
2010-06-12 09:35:27 +00:00
Tatsuhiro Tsujikawa
5d636df361
2010-04-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added kqueue support. We use poll() for
SocketCore::isReadable()/isWritable() when kqueue is used.
* configure.ac
* src/DownloadEngineFactory.cc
* src/KqueueEventPoll.cc
* src/KqueueEventPoll.h
* src/Makefile.am
* src/Makefile.in
* src/OptionHandlerFactory.cc
* src/main.cc
* src/prefs.cc
* src/prefs.h
2010-04-24 13:07:35 +00:00
Tatsuhiro Tsujikawa
571759fc27
2010-04-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added missing timespec.h to SRCS
* src/Makefile.am
2010-04-23 14:48:03 +00:00
Tatsuhiro Tsujikawa
9cf05b7115
2010-04-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added opensolaris port_associate() support.
* src/DownloadEngineFactory.cc
* src/Makefile.am
* src/OptionHandlerFactory.cc
* src/PortEventPoll.cc
* src/PortEventPoll.h
* src/SocketCore.cc
* src/SocketCore.h
* src/configure.ac
* src/main.cc
* src/prefs.cc
* src/prefs.h
2010-04-21 14:31:44 +00:00
Tatsuhiro Tsujikawa
e9ef6f3af9
2010-04-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Externalized Event, CommandEvent, ADNSEvent, SocketEntry and
AsyncNameResolverEntry class.
* src/Event.h
* src/Makefile.am
* src/PollEventPoll.cc
* src/PollEventPoll.h
2010-04-19 15:04:38 +00:00
Tatsuhiro Tsujikawa
0ec50a8d50
2010-04-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Supported poll() for socket event notification. --event-poll can
take value "poll". Fixed the bug that timeout for
SocketCore::isReadable()/isWritable() is ignored when epoll is
used.
* src/OptionHandlerFactory.cc
* src/a2io.h
* src/prefs.h
* src/SocketCore.h
* src/Makefile.am
* src/main.cc
* src/PollEventPoll.h
* src/SocketCore.cc
* src/DownloadEngineFactory.cc
* src/PollEventPoll.cc
* src/prefs.cc
* configure.ac
2010-04-19 12:53:58 +00:00
Tatsuhiro Tsujikawa
91e7127396
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Implemented clock_gettime() using mach_absolute_time in Mac OS X.
* configure.ac
* src/Makefile.am
* src/a2time.h
* src/clock_gettime_osx.cc
* src/clock_gettime_osx.h
2010-04-13 16:06:59 +00:00
Tatsuhiro Tsujikawa
7e22cc38bb
2010-04-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Implemented clock_gettime() using timeGetTime in mingw.
* configure.ac
* src/Makefile.am
* src/a2time.h
* src/clock_gettime_mingw.cc
* src/clock_gettime_mingw.h
* src/timespec.h
* test/Makefile.am
2010-04-13 15:36:56 +00:00
Tatsuhiro Tsujikawa
0529e78187
2010-04-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Use clock_gettime(CLOCK_MONOTONIC, ...) if it is available and
usable to prevent from aria2 from being affected by system time
change.
2010-04-11 08:28:22 +00:00
Tatsuhiro Tsujikawa
5cd0108f93
2010-04-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added --save-session=FILE option. This option saves
error/unfinished downloads to FILE on exit. You can pass this
output file to aria2c with -i option on restart. Please note that
downloads added by aria2.addTorrent and aria2.addMetalink XML-RPC
method are not saved.
* src/BtPostDownloadHandler.cc
* src/DownloadResult.h
* src/Makefile.am
* src/MetadataInfo.cc
* src/MetadataInfo.h
* src/Metalink2RequestGroup.cc
* src/MetalinkPostDownloadHandler.cc
* src/MultiUrlRequestInfo.cc
* src/OptionHandlerFactory.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/SessionSerializer.cc
* src/SessionSerializer.h
* src/UTMetadataPostDownloadHandler.cc
* src/download_helper.cc
* src/download_helper.h
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* test/Makefile.am
* test/SessionSerializerTest.cc
* test/XmlRpcMethodTest.cc
* test/serialize_session.meta4
2010-04-08 12:54:14 +00:00
Tatsuhiro Tsujikawa
d67f4cefac
2010-04-01 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added download_helper.{cc,h} to SRCS
* src/Makefile.am
* test/Makefile.am
2010-04-01 09:13:10 +00:00
Tatsuhiro Tsujikawa
b6778acd5e
2010-03-08 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added missing wallclock.h to SRCS.
* src/Makefile.am
2010-03-08 11:19:44 +00:00
Tatsuhiro Tsujikawa
15c1f64023
2010-02-26 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added MetalinkMetaurl class. It corresponds to metalink:metaurl
element.
* src/Makefile.am
* src/Metalink2RequestGroup.cc
* src/MetalinkEntry.cc
* src/MetalinkEntry.h
* src/MetalinkMetaurl.cc
* src/MetalinkMetaurl.h
* src/MetalinkParserController.cc
* src/MetalinkParserController.h
* src/MetalinkParserStateMachine.cc
* src/MetalinkParserStateMachine.h
* src/MetalinkParserStateV4Impl.cc
* src/MetalinkParserStateV4Impl.h
* test/MetalinkProcessorTest.cc
2010-02-25 16:00:24 +00:00
Tatsuhiro Tsujikawa
3880a5f71b
2010-02-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added Metalink4 support. Currently, name attribute of
metalink::metaurl is ignored and multi-file torrent cannot be used
with Metalink4.
* doc/aria2c.1.txt
* src/DownloadHandlerConstants.cc
* src/ExpatMetalinkProcessor.cc
* src/Makefile.am
* src/Metalink2RequestGroup.cc
* src/MetalinkEntry.cc
* src/MetalinkEntry.h
* src/MetalinkParserController.cc
* src/MetalinkParserController.h
* src/MetalinkParserState.h
* src/MetalinkParserStateImpl.cc
* src/MetalinkParserStateImpl.h
* src/MetalinkParserStateMachine.cc
* src/MetalinkParserStateMachine.h
* src/MetalinkParserStateV3Impl.cc
* src/MetalinkParserStateV3Impl.h
* src/MetalinkParserStateV4Impl.cc
* src/MetalinkParserStateV4Impl.h
* src/MetalinkResource.cc
* src/MetalinkResource.h
* src/Metalinker.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/XML2SAXMetalinkProcessor.cc
* src/messageDigest.cc
* src/util.cc
* src/util.h
* test/Makefile.am
* test/MetalinkEntryTest.cc
* test/MetalinkParserControllerTest.cc
* test/MetalinkProcessorTest.cc
* test/MetalinkerTest.cc
* test/UtilTest.cc
* test/metalink4-attrs.xml
* test/metalink4-dirtraversal.xml
* test/metalink4.xml
2010-02-25 14:40:18 +00:00
Tatsuhiro Tsujikawa
9281f11264
2010-02-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added Local Peer Discovery. It is disabled by default. Use
--bt-enable-lpd to enable the function.
* src/BtConstants.h
* src/BtSetup.cc
* src/LpdDispatchMessageCommand.cc
* src/LpdDispatchMessageCommand.h
* src/LpdMessage.h
* src/LpdMessageDispatcher.cc
* src/LpdMessageDispatcher.h
* src/LpdMessageReceiver.cc
* src/LpdMessageReceiver.h
* src/LpdReceiveMessageCommand.cc
* src/LpdReceiveMessageCommand.h
* src/Makefile.am
* src/OptionHandlerFactory.cc
* src/Peer.cc
* src/Peer.h
* src/PeerInteractionCommand.cc
* src/SocketCore.cc
* src/SocketCore.h
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* src/util.cc
* src/util.h
* test/LpdMessageDispatcherTest.cc
* test/LpdMessageReceiverTest.cc
* test/Makefile.am
2010-02-20 14:23:25 +00:00
Tatsuhiro Tsujikawa
1a04d2913e
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed SegmentManFactory class.
* src/AbstractSegmentManFactory.h
* src/DefaultSegmentManFactory.cc
* src/DefaultSegmentManFactory.h
* src/Makefile.am
* src/RequestGroup.cc
* src/RequestGroup.h
* src/SegmentManFactory.h
2010-02-11 11:42:20 +00:00
Tatsuhiro Tsujikawa
91127ed864
2010-02-11 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed BitfieldManFactory class.
* src/BitfieldManFactory.cc
* src/BitfieldManFactory.h
* src/DefaultPieceStorage.cc
* src/Makefile.am
* src/PeerSessionResource.cc
* src/Piece.cc
* src/main.cc
* test/DefaultPieceStorageTest.cc
2010-02-11 08:28:41 +00:00
Tatsuhiro Tsujikawa
06a52cad02
2010-01-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
aria2 now returns gzip compressed XML-RPC response if XML-RPC
client accepts gzip content encoding.
* src/A2STR.cc
* src/A2STR.h
* src/GZipEncoder.cc
* src/GZipEncoder.h
* src/HttpHeader.cc
* src/HttpHeader.h
* src/HttpServer.cc
* src/HttpServer.h
* src/HttpServerBodyCommand.cc
* src/HttpServerCommand.cc
* src/Makefile.am
* src/XmlRpcResponse.cc
* src/XmlRpcResponse.h
* test/GZipEncoderTest.cc
* test/Makefile.am
2010-01-22 14:09:39 +00:00
Tatsuhiro Tsujikawa
e208302947
2009-11-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added option --bt-prioritize-piece. This option instruct aria2 to
try to download first and last pieces of each file first. The
argument can contain 2 keywords:head and tail. To include both
keywords, they must be separated by comma. These keywords can take
one parameter, SIZE. For example , if head=SIZE is specified,
pieces in the range of first SIZE bytes of each file get higher
priority. tail=SIZE means the range of last SIZE bytes of each
file. SIZE can include K or M(1K = 1024, 1M = 1024K).
* src/DefaultPieceStorage.h
* src/Makefile.am
* src/OptionHandlerFactory.cc
* src/OptionHandlerImpl.h
* src/PriorityPieceSelector.cc
* src/PriorityPieceSelector.h
* src/RequestGroup.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
* src/util.cc
* src/util.h
* test/Makefile.am
* test/MockPieceSelector.h
* test/PriorityPieceSelectorTest.cc
* test/UtilTest.cc
2009-11-29 06:43:38 +00:00
Tatsuhiro Tsujikawa
512be58217
2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten Magnet URI parser.
* src/Makefile.am
* src/ProtocolDetector.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/magnet.cc
* src/magnet.h
* test/BittorrentHelperTest.cc
* test/MagnetTest.cc
* test/Makefile.am
* test/ProtocolDetectorTest.cc
2009-11-24 14:47:42 +00:00
Tatsuhiro Tsujikawa
894165171c
2009-11-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added Base32 encoded BitTorrent Magnet Link support.
* src/Makefile.am
* src/base32.cc
* src/base32.h
* src/bittorrent_helper.cc
* test/Base32Test.cc
* test/BittorrentHelperTest.cc
* test/Makefile.am
2009-11-23 15:59:31 +00:00
Tatsuhiro Tsujikawa
6e8074c087
2009-11-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added BitTorrent Magnet Link support. Base32 encoded link is not
supported yet. Fixed typo in method name in RequestGroup. In
metadataGetMode, don't show "Your share ratio was ..." message.
* src/DefaultBtInteractive.cc
* src/DefaultBtInteractive.h
* src/DownloadHandlerFactory.cc
* src/DownloadHandlerFactory.h
* src/HandshakeExtensionMessage.cc
* src/Makefile.am
* src/Metalink2RequestGroup.cc
* src/PeerInteractionCommand.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/UTMetadataPostDownloadHandler.cc
* src/UTMetadataPostDownloadHandler.h
* src/download_helper.cc
* test/HandshakeExtensionMessageTest.cc
* test/Makefile.am
* test/UTMetadataPostDownloadHandlerTest.cc
* test/UTMetadataRejectExtensionMessageTest.cc
2009-11-23 13:17:48 +00:00
Tatsuhiro Tsujikawa
93968c4fa5
2009-11-21 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Initial support of Extension for Peers to Send Metadata
Files(BEP9). Currently aria2 only serves metadata and cannot get
metadata from swarm.
* src/BtConstants.h
* src/DefaultBtInteractive.cc
* src/DefaultExtensionMessageFactory.cc
* src/DefaultExtensionMessageFactory.h
* src/ExtensionMessage.h
* src/ExtensionMessageRegistry.h
* src/HandshakeExtensionMessage.cc
* src/HandshakeExtensionMessage.h
* src/Makefile.am
* src/PeerConnection.h
* src/PeerInteractionCommand.cc
* src/UTMetadataDataExtensionMessage.cc
* src/UTMetadataDataExtensionMessage.h
* src/UTMetadataExtensionMessage.cc
* src/UTMetadataExtensionMessage.h
* src/UTMetadataRejectExtensionMessage.cc
* src/UTMetadataRejectExtensionMessage.h
* src/UTMetadataRequestExtensionMessage.cc
* src/UTMetadataRequestExtensionMessage.h
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* test/BittorrentHelperTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/Makefile.am
* test/UTMetadataDataExtensionMessageTest.cc
* test/UTMetadataRejectExtensionMessageTest.cc
* test/UTMetadataRequestExtensionMessageTest.cc
2009-11-20 15:42:25 +00:00
Tatsuhiro Tsujikawa
e976b23728
2009-10-23 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Renamed Util.{cc,h} as util.{cc,h}
* src/Util.cc
* src/Util.h
* src/util.cc
* src/util.h
2009-10-22 15:35:33 +00:00
Tatsuhiro Tsujikawa
3349fe0811
2009-10-22 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Moved generateRandomData to Util.cc Moved flipBit to bitfield.cc.
Moved generateRandomKey to bittorrent_helper.cc.
* src/DHTBucket.cc
* src/DHTGetPeersMessage.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTMessage.cc
* src/DHTNode.cc
* src/DHTTokenTracker.cc
* src/DHTUtil.cc: Removed.
* src/DHTUtil.h: Removed.
* src/Makefile.am
* src/Util.cc
* src/Util.h
* src/bitfield.h
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* test/ARC4Test.cc
* test/BNodeTest.cc
* test/DHTAnnouncePeerMessageTest.cc
* test/DHTAnnouncePeerReplyMessageTest.cc
* test/DHTFindNodeMessageTest.cc
* test/DHTFindNodeReplyMessageTest.cc
* test/DHTGetPeersMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTPingMessageTest.cc
* test/DHTPingReplyMessageTest.cc
* test/DHTTokenTrackerTest.cc
* test/DHTUtilTest.cc: Removed.
* test/Makefile.am
* test/UtilTest.cc
2009-10-22 14:43:42 +00:00
Tatsuhiro Tsujikawa
02c7e833d1
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Quoted localedir
* src/Makefile.am
2009-10-10 08:29:21 +00:00
Tatsuhiro Tsujikawa
cb69cca675
2009-10-10 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Don't set localedir manually. Leave it to autoconf.
* configure.ac
* src/Makefile.am
2009-10-10 08:03:27 +00:00
Tatsuhiro Tsujikawa
c55d2e5512
2009-10-03 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Put all MetalinkParserState subclasses into
MetalinkParserStateImpl.cc. Use stack to track element structure.
2009-10-03 12:52:16 +00:00
Tatsuhiro Tsujikawa
99654e4160
2009-09-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Move all functions in PeerMessageUtil to bittorrent_helper.
* src/BtBitfieldMessage.cc
* src/BtBitfieldMessageValidator.h
* src/BtExtendedMessage.cc
* src/BtHandshakeMessage.cc
* src/BtHandshakeMessageValidator.h
* src/BtPieceMessage.cc
* src/BtPieceMessageValidator.h
* src/BtPortMessage.cc
* src/DHTFindNodeReplyMessage.cc
* src/DHTGetPeersReplyMessage.cc
* src/DHTMessageFactoryImpl.cc
* src/DHTRoutingTableDeserializer.cc
* src/DHTRoutingTableSerializer.cc
* src/DHTTokenTracker.cc
* src/DefaultBtMessageFactory.cc
* src/IndexBtMessage.cc
* src/IndexBtMessage.h
* src/IndexBtMessageValidator.h
* src/Makefile.am
* src/PeerMessageUtil.cc: Removed.
* src/PeerMessageUtil.h: Removed.
* src/RangeBtMessage.cc
* src/RangeBtMessage.h
* src/RangeBtMessageValidator.h
* src/UTPexExtensionMessage.cc
* src/ZeroBtMessage.cc
* src/ZeroBtMessage.h
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* test/BittorrentHelperTest.cc
* test/BtAllowedFastMessageTest.cc
* test/BtBitfieldMessageTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtExtendedMessageTest.cc
* test/BtHandshakeMessageTest.cc
* test/BtHaveAllMessageTest.cc
* test/BtHaveMessageTest.cc
* test/BtHaveNoneMessageTest.cc
* test/BtInterestedMessageTest.cc
* test/BtNotInterestedMessageTest.cc
* test/BtPieceMessageTest.cc
* test/BtPortMessageTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/BtSuggestPieceMessageTest.cc
* test/BtUnchokeMessageTest.cc
* test/DHTFindNodeReplyMessageTest.cc
* test/DHTGetPeersReplyMessageTest.cc
* test/DHTMessageFactoryImplTest.cc
* test/DHTRoutingTableDeserializerTest.cc
* test/DHTRoutingTableSerializerTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/Makefile.am
* test/PeerListProcessorTest.cc
* test/PeerMessageUtilTest.cc: Removed.
* test/UTPexExtensionMessageTest.cc
2009-09-29 14:52:42 +00:00
Tatsuhiro Tsujikawa
6293908a9d
2009-09-19 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added our own daemon() function for systems which desn't have
daemon(3).
* configure.ac
* src/Makefile.am
* src/daemon.cc
* src/daemon.h
* src/option_processing.cc
2009-09-19 09:05:20 +00:00
Tatsuhiro Tsujikawa
21170e804d
2009-07-18 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten Logger to avoiding constly virtual call.
* src/LogFactory.cc
* src/LogFactory.h
* src/Logger.h
* src/Makefile.am
* src/Makefile.in
* src/NullLogger.h: Removed.
* src/SimpleLogger.cc
* src/SimpleLogger.h
2009-07-18 08:30:37 +00:00
Tatsuhiro Tsujikawa
b2f0577225
2009-07-05 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Added --bt-stop-timeout=SEC option. This function stops BitTorrent
download if the download speed is 0 and the number of seeder is 0
in consecutive SEC seconds. By default, this function is disabled.
* src/BtSetup.cc
* src/Makefile.am
* src/OptionHandlerFactory.cc
* src/prefs.cc
* src/prefs.h
* src/usage_text.h
2009-07-05 03:11:51 +00:00
Tatsuhiro Tsujikawa
cece2bc896
2009-06-30 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed ServerHost. Same functionality is implemented using
FileEntry's in-flight Request objects.
* src/AbstractCommand.cc
* src/BtDependency.cc
* src/CreateRequestCommand.cc
* src/FileEntry.cc
* src/FileEntry.h
* src/FtpNegotiationCommand.cc
* src/HttpResponseCommand.cc
* src/Makefile.am
* src/Metalink2RequestGroup.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/ServerHost.cc: Removed
* src/ServerHost.h: Removed
* test/BtDependencyTest.cc
* test/FileEntryTest.cc
* test/RequestGroupTest.cc
2009-06-29 16:43:41 +00:00
Tatsuhiro Tsujikawa
e82f870fdc
2009-06-29 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Removed _uris from RequestGroup. All functions that refer to _uris
were moved to FileEntry. Exit status code are now defined in
DownloadResultCode.h.
* src/AbstractCommand.cc
* src/AdaptiveURISelector.cc
* src/AdaptiveURISelector.h
* src/AutoSaveCommand.cc
* src/BtPostDownloadHandler.cc
* src/CheckIntegrityDispatcherCommand.cc
* src/CookieStorage.cc
* src/DHTAutoSaveCommand.cc
* src/DHTBucketRefreshCommand.cc
* src/DHTEntryPointNameResolveCommand.cc
* src/DHTInteractionCommand.cc
* src/DHTPeerAnnounceCommand.cc
* src/DHTTokenUpdateCommand.cc
* src/DlAbortEx.h
* src/DlRetryEx.h
* src/DownloadCommand.cc
* src/DownloadContext.h
* src/DownloadFailureException.h
* src/DownloadResult.h
* src/DownloadResultCode.h
* src/FeedbackURISelector.cc
* src/FeedbackURISelector.h
* src/FileEntry.cc
* src/FileEntry.h
* src/FtpNegotiationCommand.cc
* src/HttpListenCommand.cc
* src/HttpResponseCommand.cc
* src/HttpServerResponseCommand.cc
* src/HttpSkipResponseCommand.cc
* src/InOrderURISelector.cc
* src/InOrderURISelector.h
* src/Makefile.am
* src/Makefile.in
* src/Metalink2RequestGroup.cc
* src/MultiUrlRequestInfo.cc
* src/MultiUrlRequestInfo.h
* src/OptionHandlerFactory.cc
* src/PeerListenCommand.cc
* src/RecoverableException.h
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupMan.cc
* src/RequestGroupMan.h
* src/TimedHaltCommand.cc
* src/TrackerWatcherCommand.cc
* src/URIResult.cc
* src/URIResult.h
* src/URISelector.h
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/main.cc
* src/option_processing.cc
* test/BtDependencyTest.cc
* test/BtPostDownloadHandlerTest.cc
* test/CookieStorageTest.cc
* test/DefaultBtMessageDispatcherTest.cc
* test/DownloadHandlerFactoryTest.cc
* test/DownloadHelperTest.cc
* test/FeedbackURISelectorTest.cc
* test/FileEntryTest.cc
* test/InOrderURISelectorTest.cc
* test/Metalink2RequestGroupTest.cc
* test/MetalinkPostDownloadHandlerTest.cc
* test/RequestGroupManTest.cc
* test/RequestGroupTest.cc
* test/XmlRpcMethodTest.cc
2009-06-29 08:42:58 +00:00
Tatsuhiro Tsujikawa
5699b67526
2009-06-28 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
Rewritten DownloadContext and removed SingleFileDownloadContext
and BtContext and its derived classes. BitTorrent specific
attributes are now set by DownloadContext::setAttribute() with key
bittorrent::BITTORRENT.
* src/AbstractBtMessage.cc
* src/AbstractBtMessage.h
* src/AbstractCommand.cc
* src/AbstractCommand.h
* src/AbstractProxyRequestCommand.cc
* src/AbstractProxyResponseCommand.cc
* src/ActivePeerConnectionCommand.cc
* src/ActivePeerConnectionCommand.h
* src/AnnounceList.cc
* src/BtCheckIntegrityEntry.cc
* src/BtConstants.h
* src/BtContext.h: Removed
* src/BtDependency.cc
* src/BtExtendedMessage.cc
* src/BtPieceMessage.cc
* src/BtPieceMessage.h
* src/BtPostDownloadHandler.cc
* src/BtRegistry.cc
* src/BtRegistry.h
* src/BtSetup.cc
* src/CheckIntegrityCommand.cc
* src/CheckIntegrityEntry.cc
* src/ChecksumCheckIntegrityEntry.cc
* src/ConsoleStatCalc.cc
* src/ContentTypeRequestGroupCriteria.cc
* src/DHTGetPeersCommand.cc
* src/DHTGetPeersCommand.h
* src/DHTPeerLookupTask.cc
* src/DHTPeerLookupTask.h
* src/DHTTaskFactory.h
* src/DHTTaskFactoryImpl.cc
* src/DHTTaskFactoryImpl.h
* src/DefaultBtAnnounce.cc
* src/DefaultBtAnnounce.h
* src/DefaultBtContext.cc: Removed
* src/DefaultBtContext.h: Removed
* src/DefaultBtInteractive.cc
* src/DefaultBtInteractive.h
* src/DefaultBtMessageDispatcher.cc
* src/DefaultBtMessageDispatcher.h
* src/DefaultBtMessageFactory.cc
* src/DefaultBtMessageFactory.h
* src/DefaultBtMessageReceiver.cc
* src/DefaultBtMessageReceiver.h
* src/DefaultBtProgressInfoFile.cc
* src/DefaultBtRequestFactory.cc
* src/DefaultBtRequestFactory.h
* src/DefaultExtensionMessageFactory.cc
* src/DefaultExtensionMessageFactory.h
* src/DefaultPeerStorage.cc
* src/DefaultPeerStorage.h
* src/DefaultPieceStorage.cc
* src/DefaultSegmentManFactory.cc
* src/DiskAdaptor.cc
* src/DiskAdaptor.h
* src/DownloadContext.cc
* src/DownloadContext.h
* src/DownloadEngine.cc
* src/DownloadEngineFactory.cc
* src/DownloadHandler.cc
* src/DownloadResult.h
* src/FileAllocationCommand.cc
* src/FileAllocationDispatcherCommand.cc
* src/FileAllocationEntry.cc
* src/FileEntry.h
* src/FillRequestGroupCommand.cc
* src/FtpDownloadCommand.cc
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpNegotiationCommand.cc
* src/FtpTunnelRequestCommand.cc
* src/FtpTunnelResponseCommand.cc
* src/HandshakeExtensionMessage.cc
* src/HandshakeExtensionMessage.h
* src/HaveEraseCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpProxyRequestCommand.cc
* src/HttpProxyResponseCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/HttpResponseCommand.cc
* src/HttpServerBodyCommand.cc
* src/HttpServerCommand.cc
* src/HttpSkipResponseCommand.cc
* src/InitiateConnectionCommandFactory.cc
* src/InitiatorMSEHandshakeCommand.cc
* src/InitiatorMSEHandshakeCommand.h
* src/IteratableChecksumValidator.cc
* src/IteratableChecksumValidator.h
* src/IteratableChunkChecksumValidator.cc
* src/MSEHandshake.cc
* src/MSEHandshake.h
* src/Makefile.am
* src/Makefile.in
* src/Metalink2RequestGroup.cc
* src/MetalinkPostDownloadHandler.cc
* src/MultiDiskAdaptor.cc
* src/MultiDiskAdaptor.h
* src/MultiFileAllocationIterator.cc
* src/MultiUrlRequestInfo.cc
* src/PeerChokeCommand.cc
* src/PeerChokeCommand.h
* src/PeerInitiateConnectionCommand.cc
* src/PeerInitiateConnectionCommand.h
* src/PeerInteractionCommand.cc
* src/PeerInteractionCommand.h
* src/PeerReceiveHandshakeCommand.cc
* src/PieceHashCheckIntegrityEntry.cc
* src/RealtimeCommand.cc
* src/ReceiverMSEHandshakeCommand.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* src/RequestGroupEntry.cc
* src/RequestGroupMan.cc
* src/SeedCheckCommand.cc
* src/SeedCheckCommand.h
* src/SegmentMan.cc
* src/ShareRatioSeedCriteria.h
* src/SingleFileDownloadContext.cc: Removed
* src/SingleFileDownloadContext.h: Removed
* src/SleepCommand.cc
* src/StreamCheckIntegrityEntry.cc
* src/TrackerWatcherCommand.cc
* src/TrackerWatcherCommand.h
* src/UnknownLengthPieceStorage.cc
* src/Util.cc
* src/Util.h
* src/XmlRpcMethodImpl.cc
* src/bittorrent_helper.cc
* src/bittorrent_helper.h
* src/download_helper.cc
* src/main.cc
* src/option_processing.cc
* test/BitfieldManTest.cc
* test/BittorrentHelperTest.cc
* test/BtCancelMessageTest.cc
* test/BtChokeMessageTest.cc
* test/BtDependencyTest.cc
* test/BtPieceMessageTest.cc
* test/BtPostDownloadHandlerTest.cc
* test/BtRegistryTest.cc
* test/BtRejectMessageTest.cc
* test/BtRequestMessageTest.cc
* test/DHTPeerAnnounceStorageTest.cc
* test/DefaultBtAnnounceTest.cc
* test/DefaultBtContextTest.cc: Removed
* test/DefaultBtMessageDispatcherTest.cc
* test/DefaultBtMessageFactoryTest.cc
* test/DefaultBtProgressInfoFileTest.cc
* test/DefaultBtRequestFactoryTest.cc
* test/DefaultExtensionMessageFactoryTest.cc
* test/DefaultPeerStorageTest.cc
* test/DefaultPieceStorageTest.cc
* test/DirectDiskAdaptorTest.cc
* test/DownloadContextTest.cc
* test/DownloadHandlerFactoryTest.cc
* test/DownloadHelperTest.cc
* test/HandshakeExtensionMessageTest.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
* test/IteratableChecksumValidatorTest.cc
* test/IteratableChunkChecksumValidatorTest.cc
* test/MSEHandshakeTest.cc
* test/Makefile.am
* test/Makefile.in
* test/Metalink2RequestGroupTest.cc
* test/MetalinkPostDownloadHandlerTest.cc
* test/MockBtContext.h: Removed
* test/MockDHTTaskFactory.h
* test/MockDownloadContext.h: Removed
* test/MockPieceStorage.h
* test/MultiDiskAdaptorTest.cc
* test/MultiFileAllocationIteratorTest.cc
* test/RequestGroupManTest.cc
* test/RequestGroupTest.cc
* test/SegmentManTest.cc
* test/ShareRatioSeedCriteriaTest.cc
* test/SingleFileDownloadContextTest.cc: Removed
* test/UtilTest.cc
* test/XmlRpcMethodTest.cc
2009-06-28 10:37:15 +00:00
Tatsuhiro Tsujikawa
90471d6805
2009-06-24 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
...
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
2009-06-23 15:35:45 +00:00