arvidn
b3dbce5790
merge RC_1_1 into master
2018-08-13 09:32:17 +02:00
arvidn
d55200af9d
minor simplification of bytes_left(), remove quantized_bytes_done()
2018-08-11 08:29:45 +02:00
arvidn
6d2541f131
improve connect-boost feature, to make new torrents quickly connect peers
2018-08-09 20:12:56 +02:00
arvidn
7be9547817
add a few more stats counters measuring outgoing connection attempts. simplify session_stats_header_alert by posting it on first call to post_session_stats() instead of making it gated by the alert_mask
2018-08-09 20:10:35 +02:00
Arvid Norberg
0a5b3c1bb0
update documentation for save_resume_data() and stop_when_ready()
2018-08-09 00:57:21 +02:00
arvidn
f1d2105afb
remove dead code from piece picker
2018-08-08 23:41:46 +02:00
arvidn
3de4e42fb7
slight cleanup of the ephemeral flag passed to add_web_seed()
2018-08-01 12:02:51 +02:00
arvidn
4096085bf8
merged RC_1_1 into master
2018-07-30 13:44:44 +02:00
arvidn
19df645012
apply piece priorities immediately, even though file priority updares are async. save both file- and piece priorities in fast resume. when loading, apply file prios first, then piece prios
2018-07-29 21:53:01 +02:00
Steven Siloti
92f1937b97
fix typo in #if tests for TORRENT_DISABLE_ENCRYPTION
2018-07-29 09:04:16 +02:00
Arvid Norberg
b3856d3027
narrow the scope affected by TORRENT_DISABLE_EXTENSIONS to only disable the user extensions, but always support the extension message and the built-in extensions, like lt_donthave and seed_mode
2018-07-26 09:31:49 +02:00
Arvid Norberg
4282dd072a
factor out generate_peer_id into its own file
2018-07-25 08:49:18 +02:00
arvidn
a1f2995716
add piece index range checks on have_piece() and read_piece()
2018-07-25 00:20:18 +02:00
arvidn
730ef15b08
minor cleanups
2018-07-24 16:34:46 +02:00
Arvid Norberg
828c5dd097
merged RC_1_1 into master
2018-07-19 14:37:22 +02:00
Arvid Norberg
5bb5ba145f
fix exporting files from partfile while seeding
2018-07-18 10:56:24 +02:00
arvidn
4aa3c4573a
use the strong type for pause flags
2018-07-16 12:06:21 +02:00
arvidn
4633258fbe
make the DHT announce flags a strong type
2018-07-16 12:04:16 +02:00
Steven Siloti
76ef8b9d72
simplify SSL torrent announce flags logic
2018-07-12 08:36:57 +02:00
Steven Siloti
28b6f64c4b
dht: don't set implied_port for SSL torrents
2018-07-12 08:36:57 +02:00
Steven Siloti
961cf62cad
dht: announce with per-interface listen port
2018-07-12 08:36:57 +02:00
Arvid Norberg
e317c72db3
merged RC_1_1 into master
2018-07-08 18:52:13 +02:00
arvidn
b750b6cc2c
deprecate (and disable) the force-proxy setting. Instead, always use the proxy when set, never fall back on circumventing it
2018-07-08 18:26:47 +02:00
arvidn
2ba0e5ae2c
move the file priority vector throught the disk_io_job, to avoid copies
2018-07-08 18:25:06 +02:00
arvidn
d2d35b69fd
raise priority of cache_flushed_alert and post it unconditionally when triggered explicily by the client
2018-07-08 18:23:44 +02:00
arvidn
e45df614fe
improve type safety of internal leave_seed_mode() function
2018-07-08 17:32:50 +02:00
Alden Torres
6d2f804d9f
code refactor related to the use of index_range and end index
2018-07-08 17:32:30 +02:00
Arvid Norberg
b60912569f
back-port resume data validation fixes
2018-07-08 17:31:29 +02:00
Arvid Norberg
3fede4b223
merged RC_1_1 into master
2018-07-08 11:55:32 +02:00
arvidn
b5cd959dd1
bump the minimum number of hash jobs per thread from 2 to 4
2018-07-07 18:02:24 +02:00
Arvid Norberg
c7e705e158
merged RC_1_1 into master
2018-07-07 13:33:15 +02:00
arvidn
3249b70cbd
fix recent patch to support setting file priorities on torrents that don't have metadata yet
2018-07-07 11:34:11 +02:00
d-komarov
6d5a6f05ad
Fix torrent files prioritization ( #3133 )
...
After setting file priority, any subsequent attempt to set different priorities will fail if there is a `file_priority` job running in in disk thread. This happens because `torrent::m_file_priority` is being updated before adding disk thread job. The problem is gone if the file priority vector owned by the torrent object, is modified in the `torrent::on_file_priority` callback, when disk job finishes.
2018-07-04 08:16:33 +02:00
arvidn
2cb29f88ac
merged RC_1_1 into master
2018-06-23 23:22:26 +02:00
Steven Siloti
b7f230316c
set the minimum number of checking jobs based on the number of hasher threads
...
To effectively mask the latency of generating more hash jobs there need to be
at least two jobs in-flight for each hasher thread.
2018-06-23 23:10:55 +02:00
arvidn
5530793c75
improve the API for iterating over all files and pieces, with the new strong index types.
2018-06-12 11:44:29 +02:00
arvidn
267ca40b28
merged RC_1_1 into master
2018-06-02 13:15:13 +02:00
arvidn
c55bc7dd42
improve error handling of failing to change file priority
2018-05-31 00:47:17 +02:00
Alden Torres
6c4869f044
moved instantiate_connection to aux namespace
2018-05-29 09:25:25 +02:00
arvidn
1a66a8b285
merged RC_1_1 into master
2018-05-20 12:08:46 +02:00
arvidn
c986d93913
fix properly ignoring failure to get local endpoint of a socket while printing an error
2018-05-20 10:47:46 +02:00
Steven Siloti
54f00ce09d
don't change state to downloading if the torrent is finished
...
Move the transition to downloading after the torrent has been checked
for being finished. This prevents a spurious state_changed_alert when
adding a torrent which is already completed.
Also move the posting of the torrent_checked_alert to maintain the
historical ordering of that alert with respect to the transition out of
checking_resume_data.
2018-05-20 08:45:24 +02:00
Alden Torres
7621be6df1
fixed signed/unsigned warnings with latest version of Xcode clang ( #3032 )
2018-05-16 16:06:33 +02:00
Alden Torres
a14d595eac
minor code cleanup in torrent.cpp
2018-05-16 16:05:15 +02:00
Arvid Norberg
f4d7ff592e
merged RC_1_1 into master
2018-05-14 09:50:10 +02:00
Steven Siloti
243353a144
account for partially downloaded pieces when announcing as a seed
2018-05-13 22:35:04 +02:00
arvidn
fe612ca167
replace the TORRENT_CFG ABI check with inline namespaces around the symbol that can change ABI based on build configuration options
2018-05-13 19:25:17 +02:00
arvidn
ddd1168296
don't attempt to make uTP connections if we don't have any outgoing UDP sockets
2018-05-12 13:34:58 +02:00
Steven Siloti
8fdba2aa39
don't specialize standard type trait is_integral
...
Concerning type traits, the C++ standard states: "The behavior of a program
that adds specializations for any of the templates defined in this subclause is
undefined unless otherwise specified."
There is no exception for is_integral.
2018-05-10 19:06:18 +02:00
Alden Torres
377e800e72
fixed conversion warnings in 32 bits
2018-04-30 23:09:00 +02:00