Commit Graph

766 Commits

Author SHA1 Message Date
Arvid Norberg 9304bd747c added graphing script for bandwidth manager log 2008-01-13 05:14:49 +00:00
Arvid Norberg 56210c1687 added asserts to make sure the pool allocator for dht messages allocates blocks of correct size 2008-01-13 04:24:10 +00:00
Arvid Norberg 7cea96ea88 added TORRENT_VERBOSE_BANDWIDTH_LIMIT build option to generate a bandwidth manager log 2008-01-12 18:47:26 +00:00
Arvid Norberg 7f56486cf0 separated http_parser to its own file 2008-01-12 09:36:03 +00:00
Arvid Norberg 81302c8fed fixed http_connection redirection support and added test (still requires lighttp) 2008-01-12 01:41:56 +00:00
Arvid Norberg f36e6a6c4f proper default gateway discovery 2008-01-11 09:38:05 +00:00
Arvid Norberg 72edfc2ee7 improved network interface enumeration and upnp device filtering 2008-01-11 06:49:37 +00:00
Arvid Norberg 3a727e99ff expose more info through peer_info 2008-01-10 22:13:23 +00:00
Arvid Norberg 9fca960d3c bandwidth limiter mutex fix 2008-01-10 06:19:20 +00:00
Arvid Norberg c047c4dd71 broadcast socket header file update 2008-01-09 18:51:54 +00:00
Arvid Norberg 695cd6407b remove use of strand 2008-01-08 05:47:43 +00:00
Arvid Norberg 4420473b88 made send buffer watermark configurable 2008-01-08 01:16:30 +00:00
Arvid Norberg e05f396a5d made UPnP ignore devices that don't respond from a router IP (optional but on by default) 2008-01-07 05:48:28 +00:00
Arvid Norberg 1d6e0f5bf6 bandwidth request block size optimization 2008-01-07 04:47:20 +00:00
Arvid Norberg e5d1456c58 added a failcounter to upnp portmaps 2008-01-07 02:35:29 +00:00
Arvid Norberg cf4036310b changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore 2008-01-07 01:10:46 +00:00
Arvid Norberg 0ed722036f fixed assert 2008-01-05 00:54:30 +00:00
Arvid Norberg a49cb42345 fixed race condition in bandwidth limiter 2008-01-03 18:53:07 +00:00
Arvid Norberg 29ccb9220b broadcast socket fix 2008-01-03 10:58:16 +00:00
Arvid Norberg 4e559e8dfe change to entry to support building client in debug mode and libtorrent in release mode 2008-01-03 03:10:25 +00:00
Arvid Norberg fcd2408f11 fast extension fix, added some logging for fast extension messages, improved test to catch the problem 2008-01-02 03:18:29 +00:00
Arvid Norberg ddf16fb3bb separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225 2007-12-31 09:41:50 +00:00
Arvid Norberg 07d1fe84c3 made udp and http tracker connections build without exception support 2007-12-30 01:57:57 +00:00
Arvid Norberg 6c42830f97 made http_parser not use exceptions 2007-12-29 18:24:50 +00:00
Arvid Norberg 599ed646f0 made natpmp build without exception support 2007-12-29 07:26:36 +00:00
Arvid Norberg a279e8c9ec made bandwidth_manager build without exceptions 2007-12-29 05:43:19 +00:00
Arvid Norberg 8b76457b80 support in broadcast_socket to be built without exception support 2007-12-29 05:14:33 +00:00
Arvid Norberg 07b4024024 made debug.hpp build without exception support 2007-12-29 02:03:13 +00:00
Arvid Norberg eb8ea0f461 made torrent_info not rely on exception support 2007-12-28 20:11:10 +00:00
Arvid Norberg 501611173e removed unused header 'packet_iterator.hpp' 2007-12-28 19:46:08 +00:00
Arvid Norberg e88bcaea90 made http_stream and proxy_base support builds with exceptions disabled 2007-12-28 19:26:26 +00:00
Arvid Norberg e6e5b43219 added asserts that the type of a bencoded entry is not assumed when built with no exceptions 2007-12-28 19:07:28 +00:00
Arvid Norberg cfe5c8962e more asserts around send buffers and fixes potential race condition 2007-12-27 21:43:11 +00:00
Arvid Norberg 8a47c849ce fix in the smart_ban to not use invalid pointers 2007-12-27 20:57:58 +00:00
Arvid Norberg b2a49d2db9 put back #include <cassert> 2007-12-27 10:50:12 +00:00
Arvid Norberg 904d9bb50b demangles symbols in assert tracebacks 2007-12-27 06:15:52 +00:00
Arvid Norberg 86de8b8bf6 turned assert into TORRENT_ASSERT 2007-12-27 03:43:02 +00:00
Arvid Norberg 81cf247cda attempt to fix #212. Store 4 bytes and 16 bytes arrays instead of in_addr in ip-filter 2007-12-24 21:49:46 +00:00
Arvid Norberg d5748419c1 fixed upnp bug when connecting without network 2007-12-24 08:18:53 +00:00
Arvid Norberg e0d1951fac fixes #234. properly shuts down the disk io thread 2007-12-24 08:15:10 +00:00
Arvid Norberg b23e9e3795 attempt to fix #201. Uses separate sockets to send broadcast messages in order to be sure to receive unicast responses 2007-12-22 17:33:04 +00:00
Arvid Norberg 1724ce5974 fixed bug in UPnP and added functionality to grab router model 2007-12-22 16:47:46 +00:00
Arvid Norberg e38c0c9cdc added bencoding function and updated ut_metadata extension 2007-12-22 08:15:05 +00:00
Arvid Norberg 9aa2ddec80 added a plugin 'smart_ban' that can ban peers sending bad data with higher accuracy 2007-12-18 06:04:54 +00:00
Arvid Norberg f6b34b7f0b added missing include guard to disk_io_thread.hpp 2007-12-17 22:07:03 +00:00
Arvid Norberg ac28fa7b62 some more asserts related to bandwidth manager 2007-12-14 18:02:06 +00:00
Arvid Norberg 948f53a8af assert fix 2007-12-14 06:09:44 +00:00
Arvid Norberg 9b54043478 attempt to fix potential deadlock in disk_io_thread 2007-12-13 04:05:25 +00:00
Arvid Norberg 07ad5d9796 bandwidth_manager assert fix 2007-12-10 18:13:57 +00:00
Arvid Norberg f06bf0d440 bandwidth manager fix 2007-12-09 18:44:26 +00:00
Arvid Norberg 8c3f9571de socks5 support for udp messages 2007-12-09 04:15:24 +00:00
Arvid Norberg a7f6e3bccb added abuse protection to DHT. nodes that hammer will be ignored 2007-12-04 02:53:10 +00:00
Arvid Norberg 20621cae02 added magnet-uri functions and a base32 decode function 2007-12-03 06:03:16 +00:00
Arvid Norberg a7b5250058 move url_has_argument to escape_string and added unit tests 2007-12-02 19:10:45 +00:00
Arvid Norberg 9727634f09 added base32encode and moved it into escape_string.hpp 2007-12-02 18:34:37 +00:00
Arvid Norberg f3d45fcfc1 initial support for ut_metadata 2007-12-02 04:16:51 +00:00
Arvid Norberg db0ae6bd7e increased default tracker timeout from 20 seconds to 40 seconds 2007-11-30 17:37:50 +00:00
Arvid Norberg 02ed01d2c4 added first try of a mapped storage 2007-11-30 00:35:09 +00:00
Arvid Norberg 1cc0118c9c supports retry for web seeds that respond with 503 2007-11-27 03:37:47 +00:00
Arvid Norberg c92fef5b69 simplified torrent_handle by using a macro and moving the big chunks of code into torrent (get_download_queue() and get_peer_info()) 2007-11-25 18:48:43 +00:00
Arvid Norberg 769d8aefe2 first version of 'part file' support. Can currently only be set when starting torrent 2007-11-25 10:47:05 +00:00
Arvid Norberg c18ae83146 added wait_for_alert() to session. If there is at least one alert in the queue, it returns the front one in the queue, if the queue is empty, it waits until a new alert is posted and returns that one, or returns 0 if the time expires first. 2007-11-25 08:18:57 +00:00
Arvid Norberg 81ce2e7890 reverted [1760] and added documentation for downloading_metadata 2007-11-24 04:19:21 +00:00
Arvid Norberg 3edcabd845 removed downloading_metadata state. Fixes #188 2007-11-24 03:24:31 +00:00
Arvid Norberg c929f4fb69 fix for systems where IPv6 sockets bound to INADDR_ANY also listens on IPv4 connections 2007-11-23 22:14:33 +00:00
Arvid Norberg fabfe6cd50 added scrape support 2007-11-20 22:46:27 +00:00
Arvid Norberg da17b30e63 proxy_base shutdown fix 2007-11-19 05:18:50 +00:00
Arvid Norberg fd11e07a55 memory optimization to free piece hashes is now optional 2007-11-19 04:58:52 +00:00
Arvid Norberg a1a841a04d http_connection fixes and unit test (not self contained yet, just like test_web_seed) 2007-11-18 04:12:35 +00:00
Arvid Norberg fa8c0c1133 fixed missing include 2007-11-18 01:34:43 +00:00
Arvid Norberg 7be29d9b84 applied 'logpath' patch from #202 2007-11-16 21:21:28 +00:00
Arvid Norberg 95d09070fb cancels more async operations on shutdown 2007-11-11 19:09:29 +00:00
Arvid Norberg 41ef204f26 closes bandwidth rate limiters 2007-11-08 07:52:41 +00:00
Arvid Norberg 80e8aa0a18 add_extension on torrent_handle, to add an extension on an already running torrent 2007-11-08 01:45:35 +00:00
Arvid Norberg 53c125a9b3 made entry not require exceptions 2007-11-02 02:02:52 +00:00
Arvid Norberg cb9fbea5f7 made bdecoder not require exception support 2007-11-02 01:08:10 +00:00
Arvid Norberg fd51412b70 shutdown improvements. Fixes stall 2007-11-02 00:27:53 +00:00
Arvid Norberg d2880ff648 made allocate_send_buffer, setup_send and send_buffer virtual in peer_connection. Fixes #196 2007-10-31 10:20:05 +00:00
Arvid Norberg 1a280e31fa cleanup. changed the connection map into a set of peer_connections. moved the policy object into the torrent (as opposed to being a pointer). Fixes issues with multiple peers on the same IP. Reduces some lookups. 2007-10-31 09:48:20 +00:00
Arvid Norberg 6aeefaf513 removed self() from peer_connection, since it's in intrusive_ptr_base now 2007-10-31 09:44:31 +00:00
Arvid Norberg 0439399169 replaced std::vector with buffer 2007-10-30 17:30:49 +00:00
Arvid Norberg e28689237d uses checked_delete instead of plain delete 2007-10-30 10:08:09 +00:00
Arvid Norberg 8f07edbed2 asio handlers are now properly cancelled when destructing the session object, race conditions are avoided by waiting for the io service to complete all tasks 2007-10-26 07:14:19 +00:00
Arvid Norberg 636d5f2005 upnp fixes and more debug asserts and more logging. Might fix #167 2007-10-26 00:47:30 +00:00
Arvid Norberg ee61db101e variant_stream fix 2007-10-26 00:43:28 +00:00
Arvid Norberg 5f89db91a3 query extra fields in torrent files without requiring exception handling 2007-10-24 18:15:13 +00:00
Arvid Norberg 96ba6bc3b2 piece picker priority fix 2007-10-23 22:10:08 +00:00
Arvid Norberg f054ae7c2d made the handshake timeout configurable and defaults to 10 seconds 2007-10-23 00:19:28 +00:00
Arvid Norberg 2662c84f01 fixed issue when calling close on an uninstantiated variant_stream + variant_stream cleanup (removed unncessesary templates) 2007-10-22 22:53:31 +00:00
Arvid Norberg fcc238e801 lowered piece timeout and sends cancels for pieces when a time out occurs 2007-10-22 20:58:42 +00:00
Arvid Norberg ade50123c3 cleaned up unnecessary template functions 2007-10-22 10:54:48 +00:00
Arvid Norberg 92d29334fa cleanup. doesn't allocate sockets on the heap for no reason anymore 2007-10-22 04:17:26 +00:00
Arvid Norberg b032c26bf0 adds invariant check to make sure pieces that are complete are also checked. adds a debug function in the disk_io_thread. Fixes a problem with a failing disk write that would not clear the block for re-download. Adds some extra session logging 2007-10-18 00:32:16 +00:00
Arvid Norberg a1356bdb7f intrusive_ptr_base fix 2007-10-15 17:56:22 +00:00
Arvid Norberg 1699fa4652 fast reconnect fixes 2007-10-15 05:03:29 +00:00
Arvid Norberg 59c7f5bfbb added option to delete files from disk as a torrent is removed 2007-10-13 03:33:33 +00:00
Arvid Norberg 09bcb3ff2e removed unused left-overs 2007-10-12 22:28:52 +00:00
Arvid Norberg c6c77d8efc fixed so that peers only get one fast-reconnect 2007-10-12 01:12:30 +00:00
Arvid Norberg 995485daeb fixed destruction order issue 2007-10-09 22:17:16 +00:00
Arvid Norberg ffe2e75882 added another alert to cover all cases where the torrent has to be checked at start, and tell the user why. Fixed a problem with the resume data generation introduced in last storage check-in 2007-10-09 00:25:01 +00:00