Commit Graph

971 Commits

Author SHA1 Message Date
arvidn c2ebae7dbb make metric_type_t an enum class, deprecate the in-class enum values 2018-07-24 15:29:56 +02:00
arvidn 37a6a47ea3 minor cleanups around saving resume data 2018-07-12 08:38:53 +02:00
arvidn ca7313580e merged RC_1_1 into master 2018-06-16 17:47:32 +02:00
arvidn af686a3819 add switch to client_test to log session stats 2018-06-16 17:42:34 +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
Andrew Resch 596d98cac4 Clean-up python code (#3075)
lint and enforce python code formatting
2018-06-12 11:43:13 +02:00
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