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
arvidn
4d17e0132e
fix empty outgoing interfaces for 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
arvidn
f0227451a6
merged RC_1_1 into master
2018-04-13 01:47:41 +02:00
arvidn
a7406de2b8
remove the global cache of the current time, just use clock::now() instead
2018-04-07 21:43:18 +02:00
Alden Torres
d6edf26e11
minor code tidy
2018-04-07 00:30:36 +02:00
Alden Torres
1f06a6684c
avoid calling address to test protocol, more consts and minor lint oriented code changes
2018-03-29 12:20:59 +02:00
Alden Torres
f963f2c726
minor lint oriented code refactor
2018-03-28 15:55:05 +02:00
arvidn
5413eae900
declare tag types in-line
2018-03-23 11:21:08 +01:00
arvidn
9696082355
merged RC_1_1 into master
2018-02-25 09:36:12 +01:00
arvidn
53b4725da3
clean up noexcept specifiers to adapt to what the implementation provides
2018-02-20 08:43:52 +01:00
arvidn
1ede34da8a
undo the patch to restore incoming TCP connections over SOCKS5
2018-02-19 00:01:42 +01:00
Alden Torres
fedee2b5fa
more headers code cleanup and some lint oriented refactor
2018-02-13 00:46:13 +01:00
arvidn
e126d7bce0
move socket_type into aux-namespace
2018-01-29 08:33:45 +01:00
arvidn
a33c81ad33
shave down session_interface by one function, reduce the dependencies between torrent and session
2018-01-29 03:00:59 +01:00
arvidn
308cbfe097
merged RC_1_1 into master
2018-01-27 02:36:55 +01:00
arvidn
bc4d53c71f
restore support for incoming connections over SOCKS5 (disabled by default)
2018-01-25 09:14:14 +01:00
arvidn
4fef787212
merged RC_1_1 into master
2018-01-24 00:37:05 +01:00
arvidn
efd096d879
use unique peer_ids per connection
2018-01-23 16:40:16 +01:00
arvidn
89c6f0b4a8
merged RC_1_1 into master
2018-01-21 15:51:22 +01:00
arvidn
0ee6b7d142
build for iOS on travis
2018-01-18 22:37:37 +01:00
arvidn
65fef972a2
apply some c++11 modernization
2018-01-11 04:51:39 -05:00
arvidn
3a9861e237
complete the error handling test and make it part of the default simulation test suite. It will run a file transfer between two clients repeatedly, each time cause another memory allocation fail, until every single memory allocation has failed once. Any invariant check failure, assertion or signal will cause the test to fail
2018-01-08 04:44:52 -05:00
arvidn
fac9931eb6
fix noexcept marking on entry, and make move assignment
2018-01-04 19:34:42 -05:00
arvidn
5f0c9a0c1d
improve error handling during session shutdown
2017-12-28 13:52:07 +01:00
arvidn
c3bdc6f825
use an intrusive linked list for peer_cache_entry instead an unordered set, to avoid heap allocations and make cache operations not able to fail. This simplifies error handling
2017-12-28 00:52:09 +01:00
arvidn
c1abafc0cc
reserve space in the undead peers list up-front, to not have to allocate memory when disconnecting
2017-12-27 21:24:16 +01:00
arvidn
347555ea8f
handle errors in peer_connection
2017-12-26 10:39:54 +01:00
arvidn
56ca5fa63c
support asio handler allocators in deferred_handler
2017-12-26 09:44:51 +01:00
arvidn
40292a1d51
don't heap-allocate handlers for incoming UDP packets
2017-12-24 11:22:30 +01:00
arvidn
62bf524e75
disable DHT logging with the TORRENT_DISABLE_LOGGING macros as well
2017-12-23 12:01:18 +01:00
arvidn
a54f76d5df
deprecate status_code from tracker_error_alert (it's already part of the error_code), simplify code a bit
2017-12-19 00:55:51 +01:00
Alden Torres
db61d9cc20
minor cleanup, refactor and typos ( #2593 )
2017-12-07 07:51:55 +01:00
arvidn
c16eb32b94
merge RC_1_1 into master
2017-12-03 18:12:35 +01:00
arvidn
4b467f82ac
fix issue with initializing settings on session construction
2017-12-02 12:20:36 +01:00
arvidn
a6656aeb93
generate random keys for use in tracker announces. keys are unique for each torrent and the listen interface they announce via
2017-11-29 00:10:35 +01:00
arvidn
5e7666526e
fix IPv6 tracker announce issue
2017-11-23 10:11:59 +01:00
Arvid Norberg
c734f42ac3
make tracker announces happen even if there are no open listen sockets ( #2529 )
...
support announcing to IPv6 trackers and running an IPv6 DHT when not listening for incoming connections
2017-11-20 23:42:22 +01:00
arvidn
237856f7f1
more fixes of unwanted macro expansions of min/max in headers (windows.h compatibility)
2017-11-13 15:36:42 +01:00
arvidn
0378ae47f4
fix some macro expansions of 'max' in headers, to improve compatibility with windows.h
2017-11-12 23:01:47 +01:00
arvidn
b6a73eeaaa
simplify trigger_unchoke and trigger_optimistic_unchoke on session_impl, abd make them noexcept
2017-11-12 15:48:46 +01:00
arvidn
254f813626
factor out handler allocator and reuse it for posting deferred peer removals on torrents
2017-11-11 10:41:39 +01:00
arvidn
fc74c032f0
minor cleanup and modernization of torrent_peer
2017-11-09 15:48:27 +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
Alden Torres
5480c08184
enable/disable the internal ip notifier with new setting ( #2487 )
2017-11-01 10:51:51 +01:00
Alden Torres
f040d6d860
added reopen_network_sockets method to allow manual reopen of listen/outgoing sockets ( #2476 )
2017-10-28 12:15:35 +02:00
arvidn
9e69bf3618
introduce a type to refer to a torrent-list-index, to improve type safety
2017-10-25 13:39:37 +02:00
Alden Torres
6409cb42e1
fix implicit-fallthrough warnings with gcc 7
2017-10-23 19:18:33 +02:00
Alden Torres
bb409c5ee9
missing return if error in session_impl::on_port_mapping, doc typo ( #2459 )
2017-10-23 12:36:51 +02:00