Steven Siloti
396c5dd3af
remove use of deprecated function readdir_r
...
Ports 140b8ace
onto RC_1_1 branch
2018-05-28 16:06:41 +02:00
Eugene Shalygin
e15077fc3f
Fix pkg-config branch in the example CMake find module
...
1. The imported target properties may not contain -D switches in the
INTERFACE_COMPILE_DEFINITIONS property, because CMake will always
prepend them to each item. Therefore we have to remove those switches
and also pass other options (e.g. -fexceptions) in INTERFACE_COMPILE_OPTIONS
property, otherwise CMake creates "mutants" '-D-fexceptions' alike.
2. FindOpenSSL.cmake variable for include directory is
OPENSSL_INCLUDE_DIR, not OPENSSL_INCLUDE_DIRS.
2018-05-27 23:01:22 +02:00
Eugene Shalygin
44b5777be3
Make CMake export namespace to be consistent with library name
...
Use camel-cased library name "LibtorrentRasterbar" is used as namespace
name for exports and the import target in the find module.
2018-05-14 09:08:19 +02:00
Eugene Shalygin
8b87b42a5a
Try to use config mode first while looking for the package
2018-05-14 09:08:19 +02:00
Eugene Shalygin
a626f75c5e
Refactor CMakeLists.txt
...
1. Replace custom 'shared' option with the standard BUILD_SHARED_LIBS
flag
2. Replace foreach() calls for source items with target_sources() and
generator expression $<JOIN:>.
3. Remove build types definition: makes no sense for
single-configuration generators, and is populated automatically for
multi-configuration ones.
4. Add feature summary
5. Enahnce compiler flags management for static runtime by utilizing functions
from the ucm project
6. Copy almost all options from the Jamfile.
7. If compiler supports C++14, use it.
8. Raise minimum required CMake version to 3.11 and drop bundled FindIconv.cmake
2018-05-14 09:08:19 +02:00
Steven Siloti
96d215a32a
only allow pinged nodes into the routing table ( #3006 )
...
This is an attempt to prevent bogus nodes entering the routing table and
being propogated to other nodes.
2018-05-08 12:47:29 +02:00
Alex Hirsch
168ec6b516
Use _CFLAGS_OTHER for compiler definitions
...
`PC_LIBTORRENT_RASTERBAR_CFLAGS` not only gives you the definitions, but
also includes the include path flags (`-I...`).
This causes problesm when passing the result to
`target_compile_definitions`. The resulting compiler command would then
look something like this:
/usr/bin/c++ -D-I/home/...
This change uses `PC_LIBTORRENT_RASTERBAR_CFLAGS_OTHER` instead which
does not contain the include path flags.
2018-05-01 23:11:58 +02:00
Arvid Norberg
fc56ec194a
merge RC_1_1 into master
2018-04-29 15:07:26 +02:00
Alden Torres
9b1e79660f
removed unnecessary parentheses around min/max, added some const modifier ( #2926 )
2018-04-11 15:19:00 +02:00
Arvid Norberg
6efff919cd
deprecated alert::progress_notification alert category, split into finer grained categories
2018-04-05 16:27:28 +02:00
arvidn
cd1b2108f1
fix client_test filter resume files, to only load valid ones
2018-03-08 02:12:33 +01:00
arvidn
685679bbbb
simplify client_test a bit. print uTP stats unconditionally
2018-03-07 09:45:15 +01:00
arvidn
0221f6e8a6
client_test fixes
2018-02-25 14:04:18 +01:00
arvidn
9696082355
merged RC_1_1 into master
2018-02-25 09:36:12 +01:00
arvidn
15a8a17a6f
merged RC_1_1 into master
2018-02-05 08:55:15 +01:00
arvidn
a0a63341c7
fix haiku build
2018-02-04 19:10:43 +01:00
arvidn
01c41fadcf
fix torrent_status::next_announce
2018-01-29 15:08:18 +01:00
arvidn
720bfa54cd
merged RC_1_1 into master
2018-01-29 01:20:08 +01:00
arvidn
a3a38b4d64
fix torrent state printing in client_test example
2018-01-28 19:32:26 +01:00
arvidn
eeca133dd7
fix alert_mask in bt-get.cpp
2018-01-28 08:38:40 +01:00
arvidn
a50579c651
merged RC_1_1 into master
2018-01-27 09:41:54 +01:00
arvidn
cc93f8f3a7
add switch to create pad files in test torrents in connection-tester
2018-01-27 09:17:23 +01:00
arvidn
4c5ef920f0
update examples to use C++11 and more succinct error handling
2017-12-30 22:44:10 +01:00
arvidn
e4ac70c98b
update boost.asio link in documentation, minor cleanup of tutorial examples
2017-12-30 21:23:36 +01:00
arvidn
672556b4b2
merged RC_1_1 into master
2017-12-30 18:17:57 +01:00
arvidn
d427572247
cleanup examples a bit
2017-12-30 02:57:43 +01:00
arvidn
ba224a1577
restore the parse_magnet_uri overload that amends an add_torrent_params object
2017-12-14 12:20:02 +01:00
arvidn
7b06a5ee6e
merged RC_1_1 into master
2017-12-13 12:36:35 +01:00
arvidn
83e71e16d8
use total transfer rates consistently for session and torrents in client_test
2017-12-07 07:52:13 +01:00
arvidn
7730eea401
restore backwards compatibility with the API before download_priority_t was introduced
2017-11-06 01:24:24 +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
arvidn
a6c85496b5
make parse_magnet_uri return the add_torrent_params instead of of taking an in-out parameter
2017-10-15 04:29:53 +02:00
arvidn
516df740a3
make session_handle::get_torrent_status return the vector instead of taking an out-parameter
2017-10-14 23:35:35 +02:00
arvidn
2e6150de52
make it possible to override alert_mask and user_agent settings on the client_test command line
2017-09-29 23:52:33 -07:00
Steven Siloti
0232dc35cd
deprecate lock_files ( #2344 )
...
File locking interacts poorly with the path to replace a read only file handle
with a read/write one. For performance reasons the old handle is not closed
until the new one is put in place. With file locking this obviously cannot
work because the first handle is holding a lock on the file. As a result,
file_pool::open_file fails in this case. Even if we dropped the reference to
the read only file handle before attempting to re-open it, the open could still
fail if another thread is holding a reference to the read only handle.
There doesn't seem to be a good way around this. The simple solution would be
to always open files in read/write mode, but that has obvious safety downsides.
Any other solution would significantly complicate the file pool code.
Deprecating file locking seems to be the least bad option.
2017-09-17 10:43:27 +02:00
arvidn
4ef2e095bb
simplify client_test and remove some old scanf and fopen use
2017-09-10 21:10:34 +02:00
Steven Siloti
626ce25225
cmake: build examples in the same solution as libtorrent
...
Keep the search script for reference
2017-08-26 08:38:05 +02:00
arvidn
5bf28e37b8
make create_torrent flags type-safe
2017-08-04 21:23:42 +02:00
arvidn
a8a5986046
make file attributes (in file_storage) type safe
2017-08-04 07:38:57 +02:00
arvidn
24e4263bae
make torrent status flags be type safe
2017-07-27 09:33:35 -07:00
arvidn
b38efb6c65
make alert category flags be a strong type
2017-07-26 07:20:47 -07:00
arvidn
78bbd298a5
convert file_open_mode to type safe flags
2017-07-22 23:58:24 -07:00
Steven Siloti
140b8ace8d
remove use of deprecated function readdir_r
2017-07-22 22:40:17 -07:00
arvidn
c4eb4c8b5f
use span in torrent_info constructors and deprecate the redundant flags argument
2017-07-22 00:00:44 -07:00
arvidn
c4659bc345
convert peer_flags and peer_source_flags to type-safe flags
2017-07-17 10:22:32 -07:00
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
c4afb5e949
use a dedicated class template for flags types instead of enum class. It's more backwards compatible and improves ergonomics
2017-07-15 01:15:57 -07:00
arvidn
fab8af6be2
don't depend on or define UNICODE and _UNICODE on windows
2017-07-02 11:05:53 -04:00
arvidn
f85c01cc0a
merged RC_1_1 into master
2017-06-21 00:51:43 -04:00
arvidn
aa842948a3
storage_params cleanup
2017-06-20 10:27:28 -04:00
arvidn
f04d729d43
enforce spell checking on CI
2017-06-18 15:51:51 -04:00
arvidn
1fd350cf60
make operation_t an enum class, for type safety
2017-06-15 07:00:06 -04:00
arvidn
ffaabd846c
make file open mode flags be an enum class for type-safety
2017-05-28 11:16:59 -04:00
Arvid Norberg
660cdaf2d1
deprecate direct access to array in session_stats_alert ( #2033 )
2017-05-27 20:33:31 -04:00
arvidn
4709c03ab1
use session_params to load dht state before creating the session in client_test
2017-05-25 14:57:46 -04:00
arvidn
a9044e4d97
modernize session_view example to use c++11
2017-05-17 23:05:14 -04:00
Steven Siloti
17bb00c042
add missing checks for best_ae being valid
2017-05-15 00:33:10 -04:00
arvidn
d2d96d6649
reload torrents asynchronously when starting client
2017-05-07 20:51:32 -04:00
arvidn
8c57d11778
minor fixes and changes to client_test
2017-05-07 20:41:28 -04:00
arvidn
ad8c29b6fc
fix typo in client_test
2017-05-06 05:46:12 -04:00
arvidn
7b9ada7a95
make connection_tester generate_block take a span
2017-05-05 12:27:00 -04:00
arvidn
4530f56616
minor cleanup of client_test
2017-05-03 07:30:10 -04:00
arvidn
749d0da875
make iovec_t an alias for span<char>, in preparation for removing it altogether in favour of span
2017-04-30 11:49:08 -04:00
Steven Siloti
fd50630020
announce to trackers for all listen interfaces
2017-04-30 08:11:56 -04:00
arvidn
d138f02424
introduce lt namespace alias
2017-04-23 23:43:58 -04:00
arvidn
645d658214
merged RC_1_1 into master
2017-04-13 07:42:32 -07:00
Arvid Norberg
e7a379551c
discourage forward declarations of libtorrent types, introduce forward declaration header ( #1910 )
2017-04-13 06:48:01 -07:00
arvidn
79d7ae3638
separate path and filesystem functions out into its own translation unit/header file pair, separating it from the file and directory class
2017-04-11 18:07:55 -04:00
Arvid Norberg
09274842f7
fix resume data issue in client_test and some warnings ( #1897 )
...
fix resume data issue in client_test and some warnings
2017-04-09 09:37:06 -04:00
Arvid Norberg
13b16a63a3
use unsigned type for file flags. make file_pool private to disk_io_thread ( #1894 )
...
use unsigned type for file flags. make file_pool private to disk_io_thread. move close_file_interval logic to the disk thread. don't expose file in public interface, and make pool_file_status properly public (not part of file_pool and renamed to open_file_status), this is exposed in public interface via torrent_handle::file_status()
2017-04-08 18:24:50 -04:00
arvidn
51c42adc3e
steps towars making file_pool private to disk_io_thread
2017-04-07 08:38:35 -04:00
arvidn
7c35c2270f
improve client_test
2017-04-04 18:22:10 -04:00
Arvid Norberg
694127a875
fix build ( #1874 )
...
fix build
2017-03-30 22:51:39 -04:00
arvidn
0b6fe4d0bd
merged RC_1_1 into master
2017-03-30 18:07:24 -04:00
Arvid Norberg
d896e9bab3
replace use of add_torrent_params::url in some examples ( #1866 )
...
replace use of add_torrent_params::url in some examples
2017-03-29 19:19:23 -04:00
Arvid Norberg
b8e77444d5
use span for read_resume_data() ( #1867 )
...
use span for read_resume_data()
2017-03-29 16:10:32 -04:00
Arvid Norberg
8ebbad19d4
deprecate add_torrent_params::url field. use parse_magnet_uri instead ( #1864 )
...
deprecate add_torrent_params::url field. use parse_magnet_uri instead
2017-03-29 02:16:07 -04:00
arvidn
d5a6256b51
improve documentation on peer classes
2017-03-27 23:39:03 -04:00
arvidn
b25178e7c8
avoid flooding the alert queue in client_test
2017-03-26 21:48:27 -04:00
arvidn
fb60c23807
improve resume data handling in client_test
2017-03-26 19:04:50 -04:00
arvidn
6cdd598e7c
make add_torrent_params movable and have add_torrent/async_add_torrent take it by value
2017-03-26 16:48:57 -04:00
Arvid Norberg
967ad06899
greatly simplify client_test ( #1851 )
...
greatly simplify client_test
2017-03-26 14:20:40 -04:00
arvidn
9ea9075b2a
remove support for adding torrents by http URLs in client_test (since that's deprecated)
2017-03-26 12:11:28 -04:00
Arvid Norberg
103b1176c1
remove torrent_file_path asynchronous loading of .torrent files. ( #1848 )
...
remove torrent_file_path asynchronous loading of .torrent files. This is not the responsibility of the client, to simplify and unify the path of adding torrents
2017-03-26 09:16:42 -04:00
arvidn
7640c0641e
optimize download queue management with an explicit queue
2017-03-25 20:47:33 -04:00
Arvid Norberg
2c131dbbc4
optimize client_test path handling ( #1845 )
...
optimize client_test path handling
2017-03-25 00:01:47 -04:00
arvidn
488c1a2dcf
deprecated (undocumented) file:// urls, added torrent_file_path alternative
2017-03-23 20:26:55 -04:00
arvidn
64f5567cdd
merged RC_1_1 into master
2017-03-19 12:58:55 -04:00
arvidn
ddf2c2e1ca
don't call libtorrent functions from global constructor
2017-03-19 10:10:12 -04:00
arvidn
1dd0e9b280
use string_view instead of strcmp
2017-03-18 15:54:38 -04:00
Arvid Norberg
65cb7cdf34
improve deprecated markup ( #1823 )
...
improve deprecated markup
2017-03-17 20:41:47 -04:00
arvidn
6f650aa7d9
document deprecation of dynamic loading/unloading of torrents
2017-03-13 21:21:38 -04:00
Andrei Kurushin
713c412682
loop conversion #2 ( #1804 )
...
loop conversions. replace unsafe "erase(iter++)" with "iter = erase(iter)"
2017-03-12 11:34:42 -04:00
Arvid Norberg
94effa6ba7
improve parallelism of connection_tester gen-torrent ( #1805 )
...
improve parallelism of connection_tester gen-torrent
2017-03-11 19:03:19 -05:00
arvidn
6d54c20adf
merge RC_1_1 into master
2017-03-08 18:01:59 -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
arvidn
56925ee8f3
fix openssl include in makefile
2017-02-26 14:07:55 -05:00
arvidn
081365fbcf
merge RC_1_1 into master
2017-02-26 00:48:12 -05:00