Commit Graph

213 Commits

Author SHA1 Message Date
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
Arvid Norberg 3f1bfb5477 fix linux build and make use of the system INT64_MAX define 2012-06-24 19:50:49 +00:00
Arvid Norberg 98737a2c4d disable uTP logging 2012-06-21 16:47:13 +00:00
Arvid Norberg 351e34f9d1 polish uTP slow start 2012-06-21 16:41:05 +00:00
Arvid Norberg 2b9b2a188a remove uTP delayed ack and instead send acks when the udp socket has been drained. simplify the udp socket to use null_buffers and allocate less memory for buffers. this also eliminated the race condition when resizing the udp socket receive buffer which greatly simplified it 2012-06-21 15:05:57 +00:00
Arvid Norberg 1b2805118d make uTP less aggressive resetting cwnd when idle 2012-06-16 02:16:45 +00:00
Arvid Norberg 0d7e3cb8c7 uTP timeout fix 2012-05-05 23:54:41 +00:00
Arvid Norberg cafbf2ca1d more work on minimizing shared object export symbol table 2012-03-20 03:53:07 +00:00
Arvid Norberg df2e891a2d set uTP target delay to 100 ms. expose setting for packet loss multiplier for cwnd 2012-03-11 05:46:15 +00:00
Arvid Norberg 30d02f6b7a fix potential integer overflows and a typo in boost_version conditional 2012-02-27 06:26:11 +00:00
Arvid Norberg 3d04b5cc49 fix logging formatting bug in utp_stream 2011-11-19 20:06:20 +00:00
Arvid Norberg f39b6b19e9 fix initialization issue of fast_resend_seq_nr for incoming uTP connections. Also log the fast_resend_seq_nr 2011-11-06 00:11:33 +00:00
Arvid Norberg 8c0672a9b7 fix overflow in utp logging 2011-11-05 18:28:32 +00:00
Arvid Norberg 4a6e012a5f some uTP tweaks. experimental slow start mode (disabled) 2011-11-05 09:30:38 +00:00
Arvid Norberg d54c85d31b log uTP receive delay in stats log 2011-09-28 00:03:12 +00:00
Arvid Norberg 0a250c8f36 minor fixes 2011-08-29 00:59:42 +00:00
Arvid Norberg 7a48e90246 some utp asserts 2011-08-24 05:13:25 +00:00
Arvid Norberg 4abf581f0a utp fix 2011-08-10 05:23:59 +00:00
Arvid Norberg 069b022c6d fixed uTP socket leak 2011-07-14 03:46:03 +00:00
Arvid Norberg c390dd5858 measure uTP send delay and log it in stats log. change unit on times to seconds (from milliseconds and microseconds) 2011-06-21 07:44:13 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg 1074fc1f31 fixed some uninitalized variables 2010-12-24 23:54:03 +00:00
Arvid Norberg 2f115bc1aa factor out incremeant of m_acked_seq_nr, m_fast_resend_seq_nr and m_loss_seq_nr to make it more robust. Should fix issues where m_acked_seq_nr sometimes could get stuck pointing behind the last acked sequence number 2010-12-05 03:03:56 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00