arvidn
4947602a2f
make add_torrent_params::flags_t an enum class and move it out into its own header
2017-07-17 01:05:31 -07:00
AllSeeingEyeTolledEweSew
00655d562b
Refactor several flags to torrent_handle::get_flags/set_flags.
2017-07-17 01:05:31 -07:00
arvidn
73942de97a
carve out peer_list_entry into also being deprecated (it was only used by deprecated functions and some tests)
2017-07-16 19:20:29 -07:00
d-komarov
11d6a00bec
fix storage destruction order issue ( #2138 )
...
back-ported from b553cb32f7
2017-07-10 21:35:34 -07:00
arvidn
6967d17a42
make move constructors and move assignment operators noexcept
2017-06-01 23:42:15 +02:00
Arvid Norberg
5344761da4
make flags to move_storage a proper enum class ( #2043 )
2017-06-01 04:15:15 -04:00
Alden Torres
c5cdd381da
fixed compilation warnings with newer versions of clang ( #2047 )
2017-06-01 04:12:02 -04:00
Pavel Pimenov
d0ff2200f9
torrent::remove_connection refactor ( #2046 )
2017-05-31 21:59:16 -04:00
arvidn
680ca6ea2b
merged RC_1_1 into master
2017-05-21 21:02:09 -04:00
Arvid Norberg
c7bb9f23ad
add debug mechanism to assert the connection list is not mutated while iterating over it ( #2016 )
2017-05-21 11:36:35 -04:00
arvidn
e4dbd28920
need_save_resume_data() will no longer return true every 15 minutes. If clients want to save resume data regularly, they can call save_resume_data() with whatever interval they choose
2017-04-23 20:53:09 -04:00
arvidn
b553cb32f7
fix storage destruction order issue
2017-04-22 17:30:31 -04:00
arvidn
df299fcb00
use boost::variant for disk_io_job in/out parameter, to support holding a proper disk io buffer handle and string
2017-04-17 15:08:27 -04:00
arvidn
480bde9333
change formatting of namespace declarations
2017-04-12 14:26:35 -04:00
arvidn
7640c0641e
optimize download queue management with an explicit queue
2017-03-25 20:47:33 -04:00
arvidn
8cc17a4524
optimize access to ssl_cert. specifically the case where there is none, avoid pessimisation of the common case
2017-03-23 21:55:20 -04:00
Arvid Norberg
642cfa387d
add limit for number of web seed connections ( #1817 )
...
add limit for number of web seed connections
2017-03-18 15:53:07 -04:00
Alden Torres
1280c7f7ae
is_ip_address refactor and minor code cleanup ( #1828 )
...
is_ip_address refactor and minor code cleanup
2017-03-18 11:07:17 -04:00
Arvid Norberg
7d3a8f5b19
don't remove peers from the connection list immediately when disconnecting ( #1782 )
...
don't remove peers from the connection list immediately when disconnecting them, but defer it until later. This makes it less error prone to disconnect peers in loops over the connections
2017-03-07 13:50:03 -05:00
Arvid Norberg
a34ce0278e
add write_resume_data() function ( #1776 )
...
add write_resume_data() function. Make resume data alert use an add_torrent_params object
2017-03-05 09:31:28 -05:00
Alden Torres
1ae8856d93
more use of total_seconds
2017-03-01 23:33:45 -05:00
Pavel Pimenov
7f4c8aaf75
Add const peer_request p -> peer_request const& p ( #1705 )
...
Add const peer_request p -> peer_request const& p
2017-02-14 00:17:02 -05:00
Alden Torres
4a80e2667c
fixing sign-conversion warnings, part 15, torrent class ( #1686 )
...
fixing sign-conversion warnings, part 15, torrent class
2017-02-11 14:58:02 -05:00
Alden Torres
c8569b5e34
fixing sign-conversion warnings, part 12, minor refactor, eol cleanup ( #1670 )
...
fixing sign-conversion warnings, part 12, minor refactor, eol cleanup. created aux::clamp and default_piece_priority refactor
2017-02-07 00:22:30 -05:00
Arvid Norberg
9e4045ed42
use 32 bit time points in torrent ( #1662 )
...
use 32 bit time points in torrent and add some slack to time point comparisons in python test
2017-02-05 19:18:06 -05:00
Falcosc
a9d6d54111
fix multible torrent status timer bugs related to move time ( #1492 )
...
fix last_upload and last_download overflow after 9 hours in past. change last_upload, last_download, finished_time, resume, upload_mode_time to time_point and duration
2017-02-04 13:34:14 -05:00
Alden Torres
4c487ec47c
using std:: for integral types
2017-02-03 22:15:47 -05:00
arvidn
c8e488b094
merged RC_1_1 into master
2017-02-02 22:58:33 -05:00
Arvid Norberg
4733670aa1
fix issue where num_seeds could be greater than num_peers in torrent_status ( #1645 )
...
fix issue where num_seeds could be greater than num_peers in torrent_status
2017-02-01 01:39:09 -05:00
arvidn
1bef80c3fa
report the true state of super_seeding of a torrent. If the torrent leaves finished or seeding state, it will clear it already
2017-01-28 21:27:25 -05:00
Alden Torres
22b745d548
added TORRENT_NO_DEPRECATE around file_progress_float
2017-01-25 23:44:30 -05:00
Arvid Norberg
6a701437b6
use strong_typedef for peer_class_t type ( #1595 )
...
use strong_typedef for peer_class_t type
2017-01-21 22:40:19 -05:00
arvidn
3763a47846
fix truncation of peer_class field in torrent
2017-01-21 18:49:48 -05:00
Alden Torres
a31ba7972d
fixing sign-conversion warnings, part 3 ( #1537 )
...
fixing sign-conversion warnings, part 3. making aux::vector index type default to int
2017-01-13 01:55:29 -05:00
arvidn
4ebc344e48
make disk_io_thread responsible for the storage object. torrents refer to it by index
2017-01-01 13:54:39 -05:00
Arvid Norberg
af126fe507
make buffer_allocator_interface an implementation detail of the disk_io_thread ( #1463 )
...
make buffer_allocator_interface an implementation detail of the disk_io_thread by using disk_buffer_holder in the disk interface. make chained_buffer use holders instead of free deleter functions and userdata to support putting disk_buffer_holder objects in there. Also make the session buffers be held by holders
2016-12-28 17:47:18 -08:00
Arvid Norberg
f1e34dfbd5
remove long-standing deprecated filter_pieces functions ( #1457 )
...
remove long-standing deprecated filter_pieces functions
2016-12-27 12:42:23 -08:00
Arvid Norberg
3f1084d63d
strengthened type safety in handling of piece and file indices ( #1409 )
...
strengthened type safety in handling of piece and file indices
2016-12-22 10:42:33 -05:00
Alden Torres
139528aae4
code refactor in torrent.cpp for more auto loop and formatting
2016-12-17 02:12:23 -05:00
Arvid Norberg
15ab8f387b
cleaning up of disk_interface and improving type safety ( #1353 )
...
cleaned up disk_interface and improved type safety. removed unused disk status code disk_check_aborted, and removed status code return value for async_hash
2016-11-26 01:51:47 -05:00
arvidn
1d5f42d6d0
convert remaining disk io jobs
2016-11-23 19:02:05 -05:00
arvidn
f08501b869
update callback interface for async_check_files and async_flush_piece
2016-11-23 19:02:05 -05:00
arvidn
d8662533d5
update callback signature for async_move_storage and async_release_files
2016-11-23 19:02:05 -05:00
arvidn
fc9dabe1ab
start chipping away at removing disk_io_job from the disk_interface
2016-11-23 19:02:05 -05:00
arvidn
d5b76d2237
move block_cache_reference out of disk_io_job header
2016-11-20 10:34:42 -05:00
arvidn
5b3a730b1f
steps towards removing disk_io_job from disk_interface
2016-11-20 10:34:42 -05:00
Alden Torres
a59350687a
fixed a few warnings related to signed/unsigned conversions ( #1338 )
...
fixed a few warnings related to signed/unsigned conversions
2016-11-19 21:14:16 -05:00
arvidn
14236993ea
collapse logic in piece_manager into storage directly
2016-11-13 02:53:16 -05:00
arvidn
c9333849e6
deprecate relative times in torrent_status, replaced by std::chrono::time_point
2016-11-12 17:37:10 -05:00
arvidn
3ff89f29d7
remove explicit ticking of storage from the torrent. instead make the disk_io_thread do it automatically
2016-11-06 10:26:10 -05:00
Alden Torres
6751a1eeb1
removed spaces in template types and more c++11 auto/loop refactor
2016-10-26 00:08:00 -04:00
Arvid Norberg
5341be1e84
more improvement to error/exception handling ( #1247 )
...
improvement to error/exception handling
2016-10-22 22:00:47 -04:00
Arvid Norberg
524f7b1c27
fix error handling by exercising code paths where memory allocations fail ( #1221 )
...
fix error handling by exercising code paths where memory allocations fail
2016-10-19 01:18:05 -04:00
Arvid Norberg
c18c12a144
remove ghost torrent/torrent eviction feature. ( #1214 )
...
remove ghost torrent/torrent eviction feature. It was very complex and did not solve the problem very well
2016-10-15 13:32:59 -04:00
Arvid Norberg
20f65946f2
make single-argument constructors explicit ( #1194 )
...
make single-argument constructors explicit
2016-10-08 14:07:11 -04:00
Pavel Pimenov
93d8955750
Fix #1182 ( #1188 )
...
Add webseed URL duplicate check
2016-10-07 15:36:40 -04:00
Arvid Norberg
5c361715da
handle exceptions in session and torrent io_service jobs ( #1185 )
...
handle exceptions in session and torrent io_service jobs
2016-10-06 00:08:14 -04:00
Arvid Norberg
8bb7aa62ae
generalize and improve http redirect support for web seeds ( #1060 )
...
generalize and improve http redirect support for web seeds
2016-10-02 23:08:03 -07:00
Arvid Norberg
d2002c5248
separate piece_block and has_block out to their own headers ( #1148 )
2016-09-24 08:46:56 -07:00
Alden Torres
158ae3a4ba
consts, minor refactor, typos and test ( #1142 )
2016-09-23 13:49:39 -07:00
Alden Torres
acf353e26a
general session, torrent and peer connection log optimization ( #1088 )
...
general session, torrent and peer connection log optimization
2016-09-13 22:46:07 -04:00
Alden Torres
5480e2eedc
some consts refs and refactor ( #1075 )
...
some consts refs and refactor
2016-09-09 15:02:20 -04:00
Arvid Norberg
19dd9d323a
add some const and enum class ( #1055 )
2016-09-02 08:27:38 -04:00
Alden Torres
bf0008933a
refactor to use std::shared_ptr with peer_connection, core and tests ( #1050 )
2016-08-31 21:42:18 -04:00
Alden Torres
cdb15ba886
refactor to use std::shared_ptr with torrent ( #1048 )
2016-08-31 08:27:36 -04:00
Alden Torres
e2487c4d24
more use of std::shared_ptr refactor
2016-08-30 10:10:53 -04:00
Arvid Norberg
9ac7475a90
simplify some constructors with in-class initializers ( #1038 )
...
simplify peer_connection, torrent and session_impl's contstructors by moving simple parts to their header files
2016-08-29 20:29:27 -04:00
Arvid Norberg
c7eb76593c
deprecate torrent priority ( #1032 )
...
deprecate torrent priority
2016-08-26 12:37:23 -04:00
Alden Torres
c05e29c48e
trivial cleanup and minor changes ( #1033 )
2016-08-26 00:14:11 -04:00
Alden Torres
73d6ba6ae3
using span in torrent_handle and no optional in torrent_info ( #1023 )
2016-08-22 11:02:51 -04:00
Alden Torres
bb388563b3
refactor to use torrent_info with std::shared_ptr ( #1006 )
2016-08-17 17:26:35 -04:00
Alden Torres
7cee486cf7
extensions refactor to use span and std::shared_ptr ( #1005 )
...
extensions refactor to use span. use std::shared_ptr instead of boost::shared_ptr.
2016-08-17 14:30:24 -04:00
arvidn
8c8c3d5587
replace boost::function with std::function
2016-08-13 07:07:26 -04:00
Alden Torres
9af2072bc9
minor changes, typos and gcc tests in windows ( #947 )
...
minor changes, typos and gcc tests in windows
2016-07-25 17:58:00 -04:00
arvidn
98af1cd54e
merged RC_1_1 into master
2016-07-05 18:03:06 -04:00
Arvid Norberg
cf65f85dc3
fix file_completed_alert ( #880 )
2016-07-03 14:48:18 -04:00
Arvid Norberg
7edc6b1cc2
insert invariant checks to try to catch async_check_files crash ( #856 )
2016-06-26 12:13:08 -04:00
arvidn
be30bbd08b
merged RC_1_1 into master
2016-06-25 17:48:13 -04:00
Arvid Norberg
6917a11c6b
correct error introduced in add_torrent_impl refactor, with regards t… ( #846 )
...
correct error introduced in add_torrent_impl refactor, with regards to not having flag_duplicate_is_error set (which is not set by default)
2016-06-23 13:19:35 -04:00
Arvid Norberg
6aabe3762b
general modernization ( #836 )
...
general modernization. use nullptr instead of NULL, use std::tuple instead of boost::tuple, transition some unordered set/map from boost to std. some clean-up of includes
2016-06-20 11:32:06 -04:00
Alden Torres
15bac1e9b5
config.h cleanup ( #834 )
...
config.hpp and .travis.yml cleanup
2016-06-19 02:32:12 -04:00
Arvid Norberg
ed077c8358
use cstdint intead of boost/cstdint.hpp ( #833 )
...
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Arvid Norberg
c0fb61c5d7
replace the suggest-read-cache logic with something much simpler ( #815 )
...
replace the suggest-read-cache logic with something much simpler that doesn't schedule regular jobs and doesn't query the disk cache
2016-06-15 13:29:54 -04:00
arvidn
4b186130e6
fix merge
2016-06-14 21:16:28 -04:00
Alden Torres
d759d8f742
not add peers from url if add_torrent_impl returns invalid handle ( #814 )
2016-06-13 07:47:16 -04:00
arvidn
8baf4f810a
fix graceful pause issue
2016-06-04 21:35:12 -04:00
Arvid Norberg
be67553897
simplify session pause mechanism by keeping two separate states in torrents and having the session explicitly tell torrents when it's pausing ( #779 )
2016-06-03 07:32:48 -04:00
Arvid Norberg
14d085f607
rename allow_peers to paused ( #773 )
2016-06-01 01:05:32 -04:00
Arvid Norberg
92cd0ec7d1
simplify and clean up peer_list usage in torrent.cpp ( #772 )
2016-06-01 01:05:17 -04:00
Arvid Norberg
dceee3b065
simplify session call and replace session_handle and torrent_handle macros ( #741 )
...
remove use of macros in session_handle and torrent_handle forwarders
2016-05-21 19:05:42 -04:00
Arvid Norberg
29902be3a0
some general C++ 11 cleanup. some typedefs and for loops ( #709 )
2016-05-07 18:46:42 -04:00
Arvid Norberg
4e97bf556c
use override and final keywords (unconditionally) ( #668 )
...
use override and final keywords instead of macros.
2016-04-30 11:05:54 -04:00
Arvid Norberg
46b33f920b
remove explicit cache feature ( #661 )
...
remove explicit cache feature
2016-04-29 02:32:00 -04:00
Arvid Norberg
10ec0234a7
remove resolve-country feature ( #656 )
2016-04-28 08:20:47 -04:00
Andrei Kurushin
c41ab094be
fix release build with VS2015 UP2 compiler warnings for: examples, test, tools ( #627 )
...
fix release build with VS2015 UP2 compiler warnings for: examples, test, tools
2016-04-20 00:45:32 -04:00
arvidn
96e2693d13
merge RC_1_1 into master
2016-03-19 16:02:46 -04:00
arvidn
f7c9062019
deprecate more parts of explicit cache as well as fixing typos of TORRENT_NO_DEPRECATE preprocessor tests
2016-03-19 07:54:29 -04:00
arvidn
3c98868f6c
deprecate explicit cache feature
2016-03-18 12:15:03 -04:00
arvidn
f79a9c7adf
merged RC_1_1 into master
2016-03-16 19:59:53 -04:00
arvidn
921cbeebed
add option to delete just the partfile when removing a torrent
2016-03-14 08:26:39 -04:00