Commit Graph

174 Commits

Author SHA1 Message Date
Andrei Kurushin 62eb956c54 fix x64 build with VS2015 UP2 compiler (#640)
fix VS2015 compiler warnings for: address-model=64, deprecated-functions=on, link=shared
2016-04-25 17:22:09 -04:00
Arvid Norberg 7251575d98 This patch does: (#633)
1. simplifies and regularizies creation of listen sockets based on the listen
   interfaces setting.
2. simplifies and improves the behavior of UDP sockets, which are now explicitly
   opened per listen interface
3. transitions udp tracker, DHT and uTP socket manager over to using the new
   udp sockets
4. greatly simplified udp_socket to only wrap a single underlying socket (as
   opposed to one IPv4 and IPv6 socket)
5. improved behavior of bind-to-device
6. introduce an array_view type to make udp packet passing code simpler
7. simplify and make setting of DF flag more robust
8. simplify and regularize port mapping of listen sockets
2016-04-24 15:26:28 -04:00
arvidn ccc227f446 minor cleanup 2016-04-18 00:29:50 -04:00
Andrei Kurushin 7b5d48c02a fix default release build with VS2015 UP2 compiler warnings (#624)
* fix default release build with VS2015 UP2 compiler warnings
this will allow to successfully build:
bjam toolset=msvc-14.0 release deprecated-functions=off character-set=unicode link=static warnings-as-errors=on
2016-04-17 16:56:07 -04:00
Alden Torres bb8d1d0e56 Revert utp log file to disable by default
Documentation typos
2016-04-03 22:32:06 -04:00
arvidn 58e73c1469 fix typo 2016-03-13 20:47:50 -04:00
arvidn 2178d1ad2b improve robustness and performance of uTP PMTU discovery. fix duplicate ACK issue in uTP. demote an invariant check to 'expensive' 2016-03-13 12:40:59 -04:00
arvidn fbef47d3ec fix edge case in uTP stream when receiving a close-reason code 2016-03-02 22:30:02 -05:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
arvidn 05c580572d disable simulation on travis osx. fix more warnings 2015-09-06 22:55:42 -04:00
arvidn a2ea8b32db fix more warnings 2015-09-06 22:55:41 -04:00
arvidn 17c5759829 disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings 2015-09-06 22:55:41 -04:00
arvidn d43af6e3b7 remove functionality to initiate MTU based on the MTU on the nic (this is error prone and has questionable value) 2015-08-22 08:09:09 +02:00
arvidn 5c8fc818c1 fix more warnings 2015-08-19 01:39:01 +02:00
arvidn a3c4a0a3e6 attempt to fix msvc build 2015-08-18 21:40:22 +02:00
arvidn eecdd3121d fix some build warnings 2015-08-17 09:01:43 -04:00
arvidn 9a0092c120 fix some warnings 2015-08-16 12:17:23 -04:00
Alden Torres 12fb68e8e3 Refactor of utp stream logging functions.
Renamed utp-stats option to utp-log.
2015-08-13 18:43:58 -04:00
Alden Torres 02afc8b640 Added utp-stats bjam option to enable utp stream log (utp.log file). 2015-08-13 18:43:58 -04:00
arvidn 213958f98d uTP timeout fix. introduced when fixing the recent vulnerability 2015-08-12 23:05:33 -04:00
arvidn 1cbd9a9d5e make ssthresh set less aggressive in uTP 2015-08-07 21:31:59 -04:00
arvidn e0c3d28321 fix some warnings 2015-08-02 15:55:05 -04:00
arvidn 4d89c7da97 fixed uTP vulnerability 2015-07-29 22:25:59 -04:00
arvidn 6c5aec3476 fix request queue size performance issue 2015-07-20 08:20:17 -07:00
arvidn 389ffc622c don't pull in the asio namespace in libtorrent. refer to it by boost::asio 2015-06-06 01:24:25 -04:00
Arvid Norberg d43f7b56a2 update copyright year 2015-06-03 05:18:48 +00:00
Arvid Norberg e7d369646d fix gcc warnings 2015-05-18 01:30:32 +00:00
Arvid Norberg 8fdacf9534 address coverity issues and build issue with non atomic 64 bit operations 2015-05-03 22:21:19 +00:00
Arvid Norberg 4a304273fd fix some coverity issues 2015-05-03 03:28:39 +00:00
Arvid Norberg 2fff222235 silence some warnings on msvc 2015-04-27 02:21:12 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg c1dc982f4f deprecate the ptime type and related time types. just use boost::chrono / std::chrono 2015-03-12 04:34:54 +00:00
Arvid Norberg 0c8aee014c implemented utp extension header to indicate the reason to close the connection 2015-02-28 19:51:15 +00:00
Arvid Norberg a831a78fd5 simplify and clean up utp_stream. fix missing error check in read handler in peer_connection 2015-02-15 00:25:56 +00:00
Arvid Norberg 35b41858cf deprecated session_status and session::status() in favor of performance counters 2015-01-04 21:31:02 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg 4376d26399 merged changes from RC_1_0 2014-12-01 10:43:34 +00:00
Arvid Norberg a655047cb0 support SSL over uTP (unit test is still failing with same errors as previously, this has not been fixed yet) 2014-10-06 03:03:01 +00:00
Arvid Norberg 1c915f2e95 merge changes from RC_1_0 2014-09-28 20:02:43 +00:00
Arvid Norberg 07af6f6216 merged changes from RC_1_0 2014-08-20 07:02:03 +00:00
Arvid Norberg 9f8916a7a0 merged changes from RC_1_0 2014-08-18 23:05:10 +00:00
Arvid Norberg 524384045c transition to use boost.random instead of rand() and custom pseudo random generator 2014-08-16 20:26:00 +00:00
Arvid Norberg a6f345181f fixed some unused argument warnings 2014-07-07 06:28:48 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg 6ef1b98717 merged compiler warning fixes from RC_1_0 2014-07-05 14:10:25 +00:00
Arvid Norberg 6c6fe4dfe2 merged fixes of warnings from RC_1_0 2014-07-04 23:40:31 +00:00
Arvid Norberg 8d44d87556 merge build fix from RC_0_16 2014-06-19 03:34:42 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +00:00
Arvid Norberg 2d5f0dddf7 merged mingw fix from RC_0_16 2014-02-15 02:45:04 +00:00
Arvid Norberg 6c22d426d4 make all unit tests pass msvc's /RTCc instrumentation (no implicit integer truncation in casts) 2014-02-05 09:38:32 +00:00
Arvid Norberg e0644ce8f5 invariant check macro fixes 2014-01-21 19:26:09 +00:00
Arvid Norberg 9ab349f1d0 improve dht error reporting 2014-01-20 09:20:47 +00:00
Arvid Norberg 702b68ecc4 clean up assert related defines and debuf-only fields less error-prone. fix missing initialization in file_pool caused by mistake in defines under which the debug field was initialized 2014-01-19 19:45:50 +00:00
Arvid Norberg 13b1628f7a fix memory leak in uTP 2014-01-18 08:15:13 +00:00
Arvid Norberg 93e7c42c7b merged typo fix from RC_0_16 2013-12-29 20:26:17 +00:00
Arvid Norberg de6a715092 merged uTP fixes from RC_0_16 2013-12-29 19:35:39 +00:00
Arvid Norberg 4e6b1cfbfb update copyright 2013-12-25 17:07:16 +00:00
Arvid Norberg 52613b312c don't buffer incoming uTP packets indefinitely 2013-09-25 01:37:12 +00:00
Arvid Norberg 86864b0a0c merged todo comment from RC_0_16 2013-09-18 18:48:01 +00:00
Arvid Norberg 908e29957e include error code in metadata failure alert 2013-09-14 10:09:30 +00:00
Arvid Norberg 1aa47fc13e add more utp statistics and make the congestion controller less aggressive when the up-link is not saturated 2013-09-14 10:06:48 +00:00
Arvid Norberg 84fcc0baf0 merged utp fix from RC_0_16 2013-09-12 11:28:54 +00:00
Arvid Norberg 275c340231 make socket buffer sizes affect the udp socket as well. for high_performance_seed preset, set 1 MB socket buffers. only run test_rate() in proper release mode (without invariant checks and debug-iterators). lower the time limit of test_rate. update regression tests to disable invariant checks and debug iterators when building release mode 2013-09-02 09:24:34 +00:00
Arvid Norberg 50ecb07d19 merged silencing of warnings from RC_0_16 2013-06-14 16:41:47 +00:00
Arvid Norberg d21243dc9f make release asserts build 2013-03-27 23:46:13 +00:00
Arvid Norberg c40a35e90b uTP fix for loopback on mac 2013-02-25 05:09:35 +00:00
Arvid Norberg a0caa0f4b2 disable invariant_check functions when invariant checks are disabled 2013-02-25 04:13:46 +00:00
Arvid Norberg b3b1180069 clean up uTP implementation by not using any timers 2013-02-06 04:38:30 +00:00
Arvid Norberg f73fa778d6 slight refactoring to remove a dependency on session_impl in rpc_manager 2013-02-05 04:18:44 +00:00
Arvid Norberg ecc42c0a78 merged utp fix from RC_0_16 2013-01-28 03:47:36 +00:00
Arvid Norberg 2f995f77a8 fix the source context for todo-items 2013-01-21 16:25:43 +00:00
Arvid Norberg d9b37f05cc merged changes from RC_0_16 2013-01-21 10:18:25 +00:00
Arvid Norberg 652bf8323b prioritize some more todo mark-ups 2013-01-21 01:40:59 +00:00
Arvid Norberg f1b8582a95 add gen_todo.py script. include todo.html and mark up some todos in the code with priority 2013-01-20 23:21:53 +00:00
Arvid Norberg 5a23ca5855 add some asserts to utp_stream.cpp 2012-12-10 08:07:50 +00:00
Arvid Norberg 6a3ee5a7cf whenever checking for EWOULDBLOCK, also check for EAGAIN 2012-11-20 02:08:12 +00:00
Arvid Norberg e23e417ef9 fix race condition in destroyed uTP socket that was waiting for the underlying udp socket to become writable 2012-11-20 01:58:09 +00:00
Arvid Norberg 63532b2c9b the sack header needs to be removed from a nagle packet or a re-sent packet if there are no longer any unordered incoming packets 2012-10-20 14:53:54 +00:00
Arvid Norberg 3555b01b85 merged utp_socket and simultaneous connections fix from RC_0_16 2012-10-10 04:40:18 +00:00
Arvid Norberg bff648a89e update copyright dates and add tool to do so 2012-10-02 03:16:33 +00:00
Arvid Norberg 2f985de420 merge uTP slow start fix from RC_0_16 2012-09-26 01:27:58 +00:00
Arvid Norberg cee9b6d5cb PMTUD improvements 2012-08-13 16:49:28 +00:00
Arvid Norberg a84c5e0e85 disable support for large MTUs in uTP until it is more reliable 2012-08-12 15:54:59 +00:00
Arvid Norberg 135a14ad75 minor uTP fix 2012-07-25 16:14:21 +00:00
Arvid Norberg 6aabc14e19 fix memory leak in utp_socket_impl 2012-07-21 14:33:01 +00:00
Arvid Norberg bd4f173bc5 fix uTP edge case where udp socket buffer fills up 2012-07-01 18:44:46 +00:00
Arvid Norberg 2f26d62f1c one more utp fix 2012-06-30 08:06:20 +00:00
Arvid Norberg 8fffb4bb35 pmtud fix 2012-06-29 19:40:27 +00:00
Arvid Norberg d4d53e6a5a fix windows build 2012-06-29 05:41:30 +00:00
Arvid Norberg a583c2fe88 fix uTP NAGLE algorithm some more (seems stable now) 2012-06-28 03:53:52 +00:00
Arvid Norberg 1419b5c14c some more asserts in utp 2012-06-26 23:52:48 +00:00
Arvid Norberg 5797430b4a fix invalid NAGLE assert 2012-06-26 04:10:53 +00:00
Arvid Norberg c6b368a763 add invariant check to utp_socket_impl 2012-06-26 03:42:01 +00:00
Arvid Norberg aeea1cd2af fix to new NAGLE implementation 2012-06-26 03:41:04 +00:00
Arvid Norberg 57769bab11 fix some compiler warnings 2012-06-25 14:17:51 +00:00
Arvid Norberg e51e953cb9 fix nagle implementation in uTP 2012-06-25 06:27:37 +00:00
Arvid Norberg dad544dfd0 tighten up the cwnd saturating timeout rule for allowing increasing cwnd 2012-06-25 06:05:28 +00:00
Arvid Norberg 6be3357759 improve some uTP logging 2012-06-25 05:57:59 +00:00
Arvid Norberg c24b372191 never set cwnd to less than mtu on time-out 2012-06-25 05:39:36 +00:00
Arvid Norberg 34694bf91f log packet sizes at the normal logging level in uTP and also parse it out in parse_utp_log.py 2012-06-25 05:38:29 +00:00