Commit Graph

764 Commits

Author SHA1 Message Date
Arvid Norberg 83754b3427 merged post_torrent_updates assert from libtorrent_aio 2012-10-06 14:31:14 +00:00
Arvid Norberg e44225cb57 merged uTP fix from RC_0_16 2012-10-05 03:20:40 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 37ec1af926 add TODO comment 2012-09-30 15:38:37 +00:00
Arvid Norberg 4ea4d32554 merge active_tracker_limit increase and logging polish from RC_0_16 2012-09-27 23:50:15 +00:00
Arvid Norberg 19e4cbec46 merged udp socket fix 2012-09-27 17:39:41 +00:00
Arvid Norberg 0a90844407 merged logging improvement from RC_0_16 2012-09-25 02:49:40 +00:00
Arvid Norberg d098e49059 merged DHT feature from libtorrent_aio 2012-09-22 21:40:16 +00:00
Arvid Norberg 33233963eb merged fix from RC_0_16 2012-08-29 01:58:06 +00:00
Arvid Norberg 0685fb91bd DHT throttling fix 2012-08-03 05:13:40 +00:00
Arvid Norberg ee3b006c85 fix build with i2p disabled 2012-07-31 16:53:37 +00:00
Arvid Norberg 0657690b1c attempt at fixing shutdown hang caused by connection_queue 2012-07-15 23:22:23 +00:00
Arvid Norberg db33922684 merged shutdown delay fix from libtorrent_aio 2012-07-15 02:30:13 +00:00
Arvid Norberg 7c7b927e07 improve connection distribution fairness between torrents 2012-07-04 20:41:22 +00:00
Arvid Norberg 4860805c81 fix logging build 2012-06-30 15:05:31 +00:00
Arvid Norberg 4a2c799a1a always use SO_REUSEADDR and deprecate the flag to turn it on 2012-06-28 06:51:18 +00:00
Arvid Norberg a4091ff1a1 add comment 2012-06-26 03:34:42 +00:00
Arvid Norberg 4ddbe44a0d fix bug in the udp socket observer use for DHT and add debug facilily for the observers 2012-06-25 03:31:11 +00:00
Arvid Norberg b728037ec3 deprecate delayed_ack setting 2012-06-23 06:04:46 +00:00
Arvid Norberg 7351f68b98 fix build with verbose logging and missing INT64_MAX on msvc 2012-06-23 05:46:51 +00:00
Arvid Norberg d73bbf5053 clean up the udp socket and its consumers by adding an observer interface and have the udp tracker, utp socket manager and dht tracker subscribe to it instead of going through the session_impl. This probably improves performance a tiny bit but primarily improves modularization and testability 2012-06-22 04:21:20 +00:00
Arvid Norberg 2b9b2a188a remove uTP delayed ack and instead send acks when the udp socket has been drained. simplify the udp socket to use null_buffers and allocate less memory for buffers. this also eliminated the race condition when resizing the udp socket receive buffer which greatly simplified it 2012-06-21 15:05:57 +00:00
Arvid Norberg 3c0e7e0a4a keep counters of the number of active downloading and finished torrents in order to have a cheap way of prioritizing peer connections for downloading torrents over finished ones 2012-06-21 03:51:39 +00:00
Arvid Norberg 918dce1341 back-ported part of the alert_dispatcher patch for the DHT 2012-04-30 05:39:35 +00:00
Arvid Norberg ccb1a880aa fixed unchoke logic when using web seeds 2012-04-12 00:02:35 +00:00
Arvid Norberg f714732eee merged fix from RC_0_16 to support older openssl 2012-04-06 04:11:04 +00:00
Arvid Norberg 9024209d51 merged set_settings race condition fix into trunk 2012-04-06 03:02:50 +00:00
Arvid Norberg 46683f59f8 fix division by zero 2012-04-02 05:30:15 +00:00
Arvid Norberg b29b2314b2 improved shutdown delay debugging 2012-04-01 00:42:31 +00:00
Arvid Norberg 418c1e8190 make tracker back-off configurable 2012-03-29 03:51:22 +00:00
Arvid Norberg 6fcc469aef support banning web seeds that send corrupt data 2012-03-24 01:29:31 +00:00
Arvid Norberg 8a4685e83b fixed some typos 2012-03-17 17:48:22 +00:00
Arvid Norberg d8b221c795 improve session stats logging and parsing 2012-03-11 05:35:29 +00:00
Arvid Norberg 671694959f log peers that have a full send buffer 2012-03-09 17:03:10 +00:00
Arvid Norberg b58a96d76b log stats of incoming piece requests 2012-03-09 06:24:01 +00:00
Arvid Norberg 9288f08826 fix stats logging precision 2012-03-09 01:22:45 +00:00
Arvid Norberg 341967dab7 improve magnet link support. in RSS feeds for instance. Parsing of magnet links was factored out and moved to the proper place, in session_impl::add_torrent 2012-03-08 09:54:44 +00:00
Arvid Norberg 9bd40e950b add send_buffer_low_watermark in an attempt to improve seed ramp-up time 2012-03-07 02:59:50 +00:00
Arvid Norberg 02b0e0ead3 add some more stats logging 2012-03-06 10:34:18 +00:00
Arvid Norberg 5897235f51 fix recent simplification of connection attempt distribution 2012-03-06 07:34:02 +00:00
Arvid Norberg ea59a9be22 simplify connection attempt distribution logic to not lower the connection rate with a downloading torrent among seeding ones 2012-03-05 10:42:25 +00:00
Arvid Norberg 8f3c3de1e2 add incoming requests to stats logging 2012-03-05 10:05:20 +00:00
Arvid Norberg e2d46b5563 add performance warning when hitting the file descriptor limit. Log the total number of peers, including half-open TCP connections 2012-03-04 11:18:27 +00:00
Arvid Norberg 769c985e78 report ENOFILE to peer connection disconnect function when running out of file descriptors 2012-03-04 10:54:55 +00:00
Arvid Norberg ccf9c5a0fd log more stats 2012-03-02 08:52:54 +00:00
Arvid Norberg fdc6d3722b fix boost version condition for new asio ssl features 2012-02-26 00:01:53 +00:00
Arvid Norberg 886364118c tweak connection points in deficit round-robin of outgoing connection attempts balancing between torrents 2012-02-25 10:57:36 +00:00
Arvid Norberg b5bf19c07b fix openssl build with boost-1.46 2012-02-25 08:31:25 +00:00
Arvid Norberg 3ef9190b01 fix export for settings_map symbol for python binding 2012-02-25 08:02:52 +00:00
Arvid Norberg f221b3d931 export session_settings_map and fix rss issue in client_test 2012-02-24 16:11:31 +00:00
Arvid Norberg 28e74a79b7 RSS fixes (exponential back-off), handling feed errors with retries 2012-02-22 08:26:42 +00:00
Arvid Norberg d24a2e30fc rss feed fixes 2012-02-20 23:44:34 +00:00
Arvid Norberg 75fce84ce4 added unit test for RSS feeds and fixed a parsing bug 2012-02-20 07:51:36 +00:00
Arvid Norberg 079a8f8314 ignore failures when asking for local address of sockets and parsing a string into an IP address 2012-02-20 04:13:39 +00:00
Arvid Norberg 679abf2e57 this time, actually remove the encrypted torrent (AES-256 encrypted peer connections) 2012-02-09 06:47:22 +00:00
Arvid Norberg 639039a94e attempt to fix TOS setting (IP type of service) 2012-01-29 20:59:20 +00:00
Arvid Norberg 1a32205944 graceful shutdown of uTP sockets 2012-01-23 05:02:12 +00:00
Arvid Norberg ed56520d24 more asserts around state updates 2012-01-20 05:40:32 +00:00
Arvid Norberg 88012b6a1c log uTP states to stats log 2012-01-17 03:11:16 +00:00
Arvid Norberg ae90a8f85e verify that torrent names matches the DNS name in its certificate (RFC 2818-style). Fix issues that was breaking SSL support and tidy up a bit 2012-01-15 23:34:43 +00:00
Arvid Norberg 4a40e68a82 landed ssl branch back into trunk 2012-01-14 16:04:25 +00:00
Arvid Norberg 23c477142e merged integer overflow fix from aio branch 2012-01-05 21:11:55 +00:00
Arvid Norberg 152cee19f1 add compile-time feature to enable logging of all peer requests 2011-12-29 12:15:29 +00:00
Arvid Norberg 91b5fde1e2 don't recalculate auto managed files when session is paused 2011-12-24 20:15:22 +00:00
Arvid Norberg c2b8e869f1 one more recalculate_auto_manage postponing fix 2011-12-23 20:02:59 +00:00
Arvid Norberg 231fc30e13 postpone recalculate auto-managed torrents when changing many torrents state 2011-12-23 17:16:14 +00:00
Arvid Norberg 2877903e75 replaced std::map with boost::unordered_map for torrent list, to scale better with many torrents 2011-12-21 21:21:19 +00:00
Arvid Norberg 7f3aac3959 fix issue with unchoke_slots_limit not preserving its value correctly 2011-12-19 05:53:11 +00:00
Arvid Norberg ef724014aa deprecated per-peer rate limits (and removed them from libtorrent_aio) 2011-12-18 12:52:09 +00:00
Arvid Norberg 47e81ff90b fixed uninitialized counter for stats logging 2011-11-28 01:27:55 +00:00
Arvid Norberg cab1f3d207 fix issue when peer list is full, previously we would sometimes reject new connections 2011-11-24 17:50:57 +00:00
Arvid Norberg 9250b551d9 fix stats build 2011-11-21 06:21:06 +00:00
Arvid Norberg fdc5e7e8b2 keep track of where redundant downloads come from. make the timing out of block requests more reasonable in an attempt to actually complete pieces from other peers when stuck on a slow one 2011-11-16 02:29:59 +00:00
Arvid Norberg c4232065d8 introduced a more scalable API for torrent status updates (post_torrent_updates()) 2011-11-15 02:34:00 +00:00
Arvid Norberg 5576a98d04 log session_stats to /var/log/ on unixes 2011-11-13 08:12:11 +00:00
Arvid Norberg 2330520c51 change the add_torrent_params API to use flags instead of a bunch of bools (but leave it backwards compatible) 2011-11-08 05:36:22 +00:00
Arvid Norberg b85727c633 another channel state fix 2011-10-28 23:08:52 +00:00
Arvid Norberg 0a2b352795 possible dangling pointer fix in broadcast_socket 2011-10-25 05:55:32 +00:00
Arvid Norberg 15f20c887d fix msvc build 2011-10-22 17:44:40 +00:00
Arvid Norberg 95e462e750 windows version of CPU time measurement 2011-10-18 00:42:05 +00:00
Arvid Norberg 7d20c0b0c4 log CPU usage of network thread 2011-10-17 17:12:08 +00:00
Arvid Norberg 8b6522a763 log buffer sizes passed to read() and write() at the socket layer (to identify performane problems) 2011-10-17 06:54:02 +00:00
Arvid Norberg aab4cb6937 log number of asio messages passed through the queue per second (to track down performance issue) 2011-10-17 05:17:21 +00:00
Arvid Norberg 01405f32ee added async_add_torrent for increased performance when adding many torrents (no documentation yet though) 2011-10-12 10:27:17 +00:00
Arvid Norberg 744a3be65d also use separate lower limits for up and download rates in the TCP/uTP mixed mode algorithm 2011-10-11 05:05:09 +00:00
Arvid Norberg 8aed4eaa7f improve TCP/uTP mixed mode algorithm by only taking peers into account that have outstanding requests (and want to send or expect to receive). Also throttle upload and download independently 2011-10-11 05:00:35 +00:00
Arvid Norberg 2741563711 set alert_mask early 2011-10-08 09:52:36 +00:00
Arvid Norberg d535e6b1ee fix setting of disk_io_write_mode and disk_io_read_mode in set_settings 2011-09-28 18:14:48 +00:00
Arvid Norberg d54c85d31b log uTP receive delay in stats log 2011-09-28 00:03:12 +00:00
Arvid Norberg 85db40e2c5 log outstanding reading bytes from peers in stats log 2011-09-23 20:57:42 +00:00
Arvid Norberg bf4ba45bf3 remove invalid assert in session_impl::listen_on 2011-09-22 21:30:46 +00:00
Arvid Norberg 7a50255865 improved struct layout debug logging and optimized some structs 2011-09-21 09:27:07 +00:00
Arvid Norberg f5b5160169 add incoming_connection_alert for logging all successful incoming connections 2011-09-17 01:44:05 +00:00
Arvid Norberg 6271ee58f6 fix overflow issue in default disk write queue size limit 2011-09-14 06:22:45 +00:00
Arvid Norberg 469414d486 initial BitTorrent over SSL support 2011-09-12 03:51:49 +00:00
Arvid Norberg 90372b6caf fixed bug in auto manager which would never enable local peer discovery for torrents 2011-09-11 03:39:24 +00:00
Arvid Norberg e7185b519b fix some release asserts 2011-08-27 09:47:36 +00:00
Arvid Norberg 6dd9a7d83a don't post 'operation aborted' UDP errors when changing listen port 2011-08-21 01:55:38 +00:00
Arvid Norberg 3e505f01fc fix issue where torrents could 'get stuck' queued for checking (if they were paused) 2011-08-06 17:54:33 +00:00
Arvid Norberg 855e5a1acb fixed typo in settings map 2011-08-01 04:10:01 +00:00