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