Commit Graph

41 Commits

Author SHA1 Message Date
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 93408a02ff fix classification of UDP packets as peer traffic 2016-04-18 01:29:46 -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 13e9eb6680 forward-port outgoing interface fix from RC_1_0 2016-02-20 20:35:52 -05:00
arvidn 1f9f588e75 merge copyright year update and changelog from RC_1_0 2016-01-17 18:57:46 -05:00
arvidn 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -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 9a0092c120 fix some warnings 2015-08-16 12:17:23 -04:00
arvidn 4fa0aa62da simulate IP routes, interfaces and page size when building in simulation mode 2015-08-09 15:01:01 -04:00
arvidn 9af8841244 remove some unnecessary asio typedefs in the libtorrent namespace, just pull ip::tcp and ip::udp 2015-06-06 13:49:18 -04: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 9ee98b3ed1 fix build warnings 2015-05-18 05:04:55 +00:00
Arvid Norberg e7d369646d fix gcc warnings 2015-05-18 01:30:32 +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 35b41858cf deprecated session_status and session::status() in favor of performance counters 2015-01-04 21:31:02 +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 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00
Arvid Norberg e225259481 fix some msvc warnings 2014-05-10 03:23:05 +00:00
Arvid Norberg a943fec777 update copyright 2014-02-23 19:12:25 +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 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 0a230d4b25 fix utp counter initialization 2013-10-04 03:49:04 +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 c40a35e90b uTP fix for loopback on mac 2013-02-25 05:09:35 +00:00
Arvid Norberg b3b1180069 clean up uTP implementation by not using any timers 2013-02-06 04:38:30 +00:00
Arvid Norberg 5b26d5d962 merged utp_socket_manager optimization from libtorrent_aio 2012-11-12 09:49:00 +00:00
Arvid Norberg 99e3fbaed5 merged utp performance fix from RC_0_16 2012-11-08 09:16:40 +00:00
Arvid Norberg 158f59cb22 merged fix from RC_0_16 2012-10-18 07:42:15 +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 bd4f173bc5 fix uTP edge case where udp socket buffer fills up 2012-07-01 18:44:46 +00:00
Arvid Norberg d73bbf5053 clean up the udp socket and its consumers by adding an observer interface and have the udp tracker, utp socket manager and dht tracker subscribe to it instead of going through the session_impl. This probably improves performance a tiny bit but primarily improves modularization and testability 2012-06-22 04:21:20 +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 ddbae1da86 don't accept incoming uTP connections indefinitely 2012-05-19 20:39:55 +00:00
Arvid Norberg 71c7956645 fix warnings 2012-02-16 06:12:36 +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 daea6d507e fixed uninitialized variable in utp MTU logic. Fixed array overrun in disk cache 2010-12-24 22:53:00 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00