Commit Graph

1718 Commits

Author SHA1 Message Date
arvidn 347555ea8f handle errors in peer_connection 2017-12-26 10:39:54 +01:00
arvidn a54f76d5df deprecate status_code from tracker_error_alert (it's already part of the error_code), simplify code a bit 2017-12-19 00:55:51 +01:00
arvidn d45de18ba7 merged RC_1_1 into master 2017-12-18 23:01:33 +01:00
arvidn 178281e1c5 make torrent_handler::set_priority() to use peer_classes 2017-12-18 00:56:44 +01:00
arvidn 87de08cb3d improve type safety of plugin interface 2017-12-17 23:55:12 +01:00
arvidn bb945f5cf4 introduce a proper type for pex flags to improve type-safety 2017-12-17 23:17:12 +01:00
arvidn d52763805c back-port the tracker timeout test from master 2017-12-16 13:54:15 +01:00
arvidn 55babc57e6 merged RC_1_1 into master 2017-12-15 17:18:27 +01:00
arvidn d1a63cd781 fix build against boost-1.66, specifically the boost.asio changes 2017-12-15 11:29:53 +01:00
Steven Siloti 9e0a3aead1 use info hash from params instead of passing it separately 2017-12-14 10:18:33 +01:00
arvidn b00b3184c0 some minor i2p cleanups 2017-12-08 09:57:21 +01:00
arvidn 90ccd5180f merged RC_1_1 into master 2017-12-07 18:31:16 +01:00
arvidn f81a20a035 fix loading resume data when in seed mode 2017-12-03 23:43:55 +01:00
Alden Torres ee1f4aa129 more use of auto, const and minor refactor in torrent.cpp (#2554) 2017-11-25 01:22:52 +01:00
arvidn 57ec82cb2e fix indentation in torrent.cpp 2017-11-24 22:15:30 +01:00
arvidn 4bc93cff38 merge RC_1_1 into master 2017-11-23 18:01:32 +01:00
arvidn 5e7666526e fix IPv6 tracker announce issue 2017-11-23 10:11:59 +01:00
Alden Torres f73473a6ec don't early move shared_ptr plugin in torrent::add_extension_fun, added test for it 2017-11-23 08:00:08 +01:00
Alden Torres 59fe15eb84 more use of emplace_back in torrent.cpp 2017-11-23 07:52:50 +01:00
Arvid Norberg c734f42ac3
make tracker announces happen even if there are no open listen sockets (#2529)
support announcing to IPv6 trackers and running an IPv6 DHT when not listening for incoming connections
2017-11-20 23:42:22 +01:00
arvidn 30a7b52855 use a proper optional value instead of a sentiel value for bytes_left() 2017-11-19 21:25:06 +01:00
arvidn f262bbdcea use seconds32 as the retry-time for web seeds 2017-11-19 16:20:36 +01:00
arvidn b6a73eeaaa simplify trigger_unchoke and trigger_optimistic_unchoke on session_impl, abd make them noexcept 2017-11-12 15:48:46 +01:00
arvidn d00451994b stop posting alerts when the session is shutting down. Nobody will be able to see them anyway. It also solves some issues around destruction order where posting alerts require certain things to still be around in the session_impl object 2017-11-12 09:12:59 +01:00
arvidn 254f813626 factor out handler allocator and reuse it for posting deferred peer removals on torrents 2017-11-11 10:41:39 +01:00
pavel.pimenov 21eb9f782c opt call is_finished() 2017-11-09 20:52:48 +01:00
arvidn 6785046c2f introduce a download_priority_t type, for uniform an type-safe piece- and file priorities 2017-11-02 08:20:21 +01:00
arvidn f57b90b500 introduce type for torrent queue_position 2017-11-01 10:52:45 +01:00
Steven Siloti dc612b6423 keep updating aux::time_now() while there are announces
This fixes an infinite loop when an announce during shutown fails and
aux::time_now() has fallen behind clock_type::now() by more than the
delay calculated in announce_entry::failed(). If this happens,
announce_entry::can_announce() can forever return true when called from
torrent::announce_with_tracker() because that function uses
clock_type::now().

Also change torrent::announce_with_tracker() to use aux::time_now() just
for consistency with the reset of the announce related functions.
2017-10-26 23:42:35 +02:00
arvidn 50bef25786 make the piece-picker less two-phase initialized 2017-10-26 23:39:15 +02:00
arvidn 80ac90727b remove some questionable code from disk_io_thread when deleting files for a torrent and extend transfer test to cover deleting files while seeding 2017-10-25 19:00:54 +02:00
arvidn 9e69bf3618 introduce a type to refer to a torrent-list-index, to improve type safety 2017-10-25 13:39:37 +02:00
arvidn f0bac4cac7 merged RC_1_1 into master 2017-10-14 15:22:22 +02:00
Steven Siloti 2b72a7321a send one last state update when a paused torrent's rates reach zero (#2436) 2017-10-11 23:10:40 +02:00
arvidn 1d15e6bfb4 merge RC_1_1 into master 2017-10-08 18:21:25 +02:00
arvidn cdd9f91999 fix leak of torrent_peer objecs (entries in peer_list) 2017-10-07 11:43:42 +02:00
arvidn 4e1c5738a2 back-port openssl API compat patch from master 2017-10-07 01:10:41 +02:00
Alden Torres 7f3c38025f making use of openssl API 1.1 compatible 2017-10-06 11:03:16 +02:00
arvidn 69dc73914a merged RC_1_1 into master 2017-10-04 11:43:01 +02:00
arvidn 99b19366a9 fix leak of peer_class objects (when setting per-torrent rate limits) 2017-10-03 17:32:49 +02:00
Alden Torres a619dfb996 more use of auto, const and minor code refactor in torrent.cpp 2017-09-24 23:23:30 -07:00
arvidn d22c44c057 fix kludge and down-cast to send upload_only. Promote upload-only to a top-level peer feature 2017-09-23 07:51:51 -07:00
arvidn ddc8711dbe fix issue where peers could be disconnected while iterating over the peer list in the torrent. Specifically while marking peers as not-interesting 2017-09-21 07:26:13 -07:00
arvidn 8d6b51d54c minor cleanups 2017-09-16 13:48:11 +02:00
arvidn 93bb84d94c some random cleanup 2017-09-13 08:28:46 +02:00
arvidn 55228756e5 make disk job flags type safe 2017-09-10 08:56:52 +02:00
arvidn 95c8c3018a use span in gzip, http_parser and http_connection 2017-09-04 22:33:38 +02:00
arvidn fe1c395579 merged RC_1_1 into master 2017-09-03 13:57:19 +02:00
arvidn 7087a16b36 move some initialization of torrent from start() into the constructor 2017-09-02 21:24:00 +02:00
Steven Siloti f022285b13 include endpoint in tracker alerts 2017-09-01 13:38:36 +02:00