Commit Graph

10253 Commits

Author SHA1 Message Date
arvidn c167e28788 move stack allocator implementation into its own cpp file 2017-07-23 16:49:24 -07:00
arvidn 330904f460 convert picker_flags_t to type safe flags 2017-07-23 09:29:25 -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
Arvid Norberg 17bbbf4ec5 Merge pull request #2167 from ssiloti/shared-listen-socket
Use shared_ptr/weak_ptr to reference listen sockets.
2017-07-21 23:59:49 -07:00
arvidn d0895a9f18 extend and improve 1.1 -> 1.2 upgrade document 2017-07-21 21:25:04 -07:00
Steven Siloti 5eba09fce7 changes based on review feedback 2017-07-21 19:18:44 -07:00
Steven Siloti 1a64490ef0 fix 2017-07-21 19:18:44 -07:00
Steven Siloti f0ae2145ea use a handle class for listen sockets instead of raw pointers
Listen socket handles need to be week_ptr so that they can detect when a listen
socket is removed in the middle of a tracker announce on it. Use a wrapper class
to enforce that no one outside of session_impl can hold ownership of the socket
across event boundaries.

To support unit tests, listen_socket_t is also split into a base class which
holds the members needed to support the public listen socket API.
2017-07-21 19:18:44 -07:00
Steven Siloti e0dcd34352 convert m_listen_sockets to a vector of shared_ptr 2017-07-21 19:18:43 -07:00
Steven Siloti 0f30815d8f Revert "don't move listen_socket_t when deleting sockets"
This reverts commit 718c5f0dcb.
2017-07-21 19:18:43 -07:00
arvidn 87ca4bb26f Fix bug where the resume data would fail to load the piece bitmask for seeds when suggest_cache was enabled 2017-07-21 19:06:02 -07:00
arvidn be3836b67d fix mingw build wiht openssl on appveyor 2017-07-21 16:47:04 -07:00
Johan Gunnarsson 7a95947bac Add torrent_flags.hpp to Makefile.am 2017-07-21 15:46:48 -07:00
arvidn 33a2abebfe submit disk jobs in read_piece() 2017-07-18 07:21:07 -07:00
arvidn 3ce15b36d1 fix some c++11 parsing issues in reference doc generation script 2017-07-17 22:01:54 -07:00
arvidn f9c45db942 make bandwidth state flags use type-safe flags 2017-07-17 19:03:42 -07:00
arvidn 06070ea499 convert block request flags to type-safe flags 2017-07-17 17:56:07 -07:00
Pavel Pimenov ea8c5b32da add reserve entry::to_string() (#2148) 2017-07-17 15:05:58 -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 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
toinetoine b1c3e12cd0 added block_uploaded_alert to allow client to track upload activity 2017-07-16 11:04:03 -07:00
arvidn d32341b986 slight improvements to the bitfield_flag type 2017-07-16 09:50:48 -07:00
arvidn 021c2100d7 fix RST formatting in building.rst 2017-07-16 08:13:34 -07:00
arvidn 259e04e1ad fix Jamfile indentation 2017-07-15 01:19:02 -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 a41c9f62e4 asserts and invariant checks are on by default when building debug, but not release 2017-07-15 01:15:28 -07:00
arvidn a9b3982f7c restore ssl/crypto build feature in Jamfile to stay compatible with 1.1 2017-07-14 16:31:22 -07:00
arvidn bff09a70fe merged RC_1_1 into master 2017-07-13 22:51:05 -07:00
arvidn 0f2af8c3ef disable msvc warning 4503 2017-07-13 22:24:29 -07:00
arvidn ec65e12ee6 add boost-build feature to link against libcrypto and libssl on windows #1931 2017-07-13 22:20:35 -07:00
arvidn c692147c94 merged RC_1_1 into master 2017-07-13 19:55:29 -07:00
arvidn cc30434c52 fix inconsistency in file_priorities and override_resume_data behavior. file_priorities are not subject to the override_resume_data flag 2017-07-12 15:36:55 -07:00
pavel.pimenov a422af1a7b remove call _strchr
_TEXT	SEGMENT
_c$ = 8							; size = 1
?is_space@@YA_ND@Z PROC					; is_space, COMDAT

; 8    : 	static const char* ws = " \t\n\r\f\v";
; 9    : 	return strchr(ws, c) != nullptr;

	movsx	eax, BYTE PTR _c$[esp-4]
	push	eax
	push	DWORD PTR ?ws@?1??is_space@@YA_ND@Z@4PBDB
	call	_strchr
	add	esp, 8
	neg	eax
	sbb	eax, eax
	neg	eax

; 10   : }
2017-07-12 15:34:45 -07:00
arvidn 7eb3cf6bc6 use the official boost.config header 2017-07-12 11:31:29 -07:00
d-komarov 85cf521145 fix bandwith rate limit calculation (#2134)
back-port of fc0cbfb789
2017-07-11 21:35:12 -07:00
Steven Siloti 2e79c5e648 fix handling of SSL listen sockets 2017-07-10 21:41:39 -07:00
d-komarov 11d6a00bec fix storage destruction order issue (#2138)
back-ported from b553cb32f7
2017-07-10 21:35:34 -07:00
Steven Siloti d48c835f65 add cmake package support
This enables libtorrent to be used with the find_package command for easy
integration with applications which use cmake.
2017-07-10 16:57:29 -07:00
Steven Siloti cba3ae4849 use target_* commands to configure msvc 2017-07-10 16:57:29 -07:00
Steven Siloti 41465678cd use target_* commands to configure exceptions 2017-07-10 16:57:29 -07:00
Steven Siloti 6343794900 remove kludge to set TORRENT_DEBUG 2017-07-10 16:57:29 -07:00
Steven Siloti 023ff527b7 remove unnecessary and inappropriate flags
Cmake already has reasonable defaults for these. In any case they represent
system or user level policy and should not be hard coded in the build script.
2017-07-10 16:57:29 -07:00
Steven Siloti 71e1924372 use target_compile_definitions
The add_definitions command appends to the properties of the current directory
which is usually not what you want. Using target_compile_definitions sets
the properties of the target and allows you to specify PUBLIC definitions which
should be propagated to dependent targets. This is similar to the usage
requirements property in boost build.
2017-07-10 16:57:29 -07:00
Steven Siloti 2ed51927bf remove obsolete disk-stats option 2017-07-10 16:57:29 -07:00
Steven Siloti 389b4eb3f2 make listen_socket_t non-copyable and non-movable (#2137)
The DHT stores a pointer to this struct so it must not be copied or moved once
it is stored in m_listen_sockets.
2017-07-10 10:14:36 -07:00
Steven Siloti 718c5f0dcb don't move listen_socket_t when deleting sockets
Pointers to listen_socket_t are stored in dht_tracker, so they
cannot be copied or moved once they are added to m_listen_sockets.

listen_socket_t should really be made non-copyable and non-moveable, but the
socket creation path needs to be refactored before that can be done.
2017-07-08 08:42:04 -07:00