2
0
mirror of synced 2025-02-24 14:48:27 +00:00

691 Commits

Author SHA1 Message Date
Matt Joiner
12958ad384 Refactor Client.dialFirst 2019-06-21 14:50:49 +10:00
Matt Joiner
06ada2ef0f Remove unnecessary import alias 2019-06-21 14:49:43 +10:00
Matt Joiner
30c705f2f8 Count client listener accepts 2019-06-21 14:49:21 +10:00
BruceWang
60e215aa81 Add OnQuery Hook 2019-05-29 15:08:46 +10:00
Matt Joiner
bc249730aa Fix segfault on nil conntrack.EntryHandle instance when dialing
Fixes https://github.com/anacrolix/torrent/issues/314. Comments were added to the the conntrack package master, but have no functional change required here.
2019-04-10 18:27:54 +10:00
Matt Joiner
485d6bb6e7 Fix leaked conntrack.EntryHandle 2019-03-29 08:48:56 +11:00
Matt Joiner
5829c30146 Make use of the new context parameter in conntrack Wait 2019-03-11 10:46:06 +11:00
Matt Joiner
ee5a941203 Switch entirely to anacrolix/log 2019-01-15 18:18:30 +00:00
Matt Joiner
cc531b8c4a Improve bootstrap result log message 2018-11-29 18:33:33 +11:00
Matt Joiner
d9fe3f50d3 Discount dial errors that won't affect connection tracking
This will reduce pressure on the conntrack instance.
2018-11-28 10:32:08 +11:00
Matt Joiner
d9e1ebde70 Improve network handling and only listen networks we will use
Fixes #290.
2018-11-28 10:30:21 +11:00
Matt Joiner
70f63b2991 Remove unused type 2018-11-28 10:26:13 +11:00
Matt Joiner
3ba991e38a Remove unused code 2018-11-27 23:57:17 +11:00
Matt Joiner
33006eeb20 Use new conntrack priorities
Fixes #295
2018-11-27 23:22:24 +11:00
Matt Joiner
40d7a709ee Log initial DHT bootstrap results 2018-11-21 17:05:56 +11:00
Matt Joiner
f4e30656d6 Add initial connection tracking 2018-11-21 17:02:22 +11:00
Matt Joiner
1dc406c81c Move IpPort to missinggo 2018-11-16 10:35:30 +11:00
Matt Joiner
0032b45a02 Store remoteAddr with each connection
It would appear net.Conns returned from proxies don't have a RemoteAddr the client expects.
2018-11-04 21:15:51 +11:00
Matt Joiner
1a4950ad4a Add default DHT servers when UTP disabled
Also ensures that UDP and TCP sockets are reserved, even if not used, and fixes tests. Fixes #289.
2018-11-04 17:43:47 +11:00
Matt Joiner
9a49f4b37e Add establish outgoing connection expvar 2018-11-04 16:12:16 +11:00
Matt Joiner
c50e59166d Add dial rate limiting
Fixes #273.
2018-11-02 23:09:52 +11:00
Denis Kuzmenok
9dc89ab6dc reverting usage of proxy for http requests 2018-10-31 10:54:10 +11:00
Matt Joiner
a8787e6632 Revert "Make requestStrategy 3 the default"
This reverts commit 60dd0eed538361490cbf29a1734e6cd8d21f794f.
2018-08-25 16:43:28 +10:00
Matt Joiner
81e6061a53 When Accept gives an error, don't use the Conn 2018-07-27 10:18:56 +10:00
Matt Joiner
2f14e5dbc0 Track received handshake encryption activity 2018-07-25 17:11:56 +10:00
Matt Joiner
2940f27f9f Use the new firewall callback support in go-libutp 2018-07-25 17:11:09 +10:00
Matt Joiner
6dd3b9c12c Law of Demeter Client.mu 2018-07-25 13:42:28 +10:00
Matt Joiner
8479f215e0 Don't return if there's an error accepting
This happens if there's too many file descriptors, and left the client unresponsive.
2018-07-22 12:58:41 +10:00
Matt Joiner
d4d3e24c6f Track metadata chunks read with its own Count 2018-07-15 10:09:58 +10:00
Matt Joiner
d4d8f78906 Send extended message before fast/bitfield
This is how Transmission does it.
2018-07-14 11:28:54 +10:00
Matt Joiner
f5bd377941 Change pieceIndex to peer_protocol.Integer 2018-07-12 09:15:15 +10:00
Matt Joiner
ba8ec1a787 Move back to net.IP for extended handshake message IPs 2018-07-12 00:00:07 +10:00
Matt Joiner
2685ef6aa9 Use half open limit directly from Config 2018-07-10 12:23:00 +10:00
Matt Joiner
1f6ba94882 Make extended handshake a struct, and move a bunch of extended stuff into peer_protocol 2018-07-10 12:20:36 +10:00
Matt Joiner
e3cb94006c Reinstate the reduce dial timeout and update some values
Fixes #263
2018-07-10 11:19:14 +10:00
Matt Joiner
fad06c7ddf sortimports 2018-07-07 11:36:58 +10:00
Matt Joiner
e1d6fc2341 Add torrent.InfoHash type alias 2018-07-07 11:32:52 +10:00
Matt Joiner
76a3c0891a Expose handshake stuff in peer_protocol 2018-07-07 11:31:29 +10:00
Matt Joiner
5f20a21c9d Change the duplicateRequestTimeout to 1s 2018-06-30 21:10:48 +10:00
Matt Joiner
60dd0eed53 Make requestStrategy 3 the default
Fixes #253.
2018-06-28 12:06:21 +10:00
Matt Joiner
7619994ef5 Remove premature initialization of Torrent.lastRequested 2018-06-25 14:03:22 +10:00
Matt Joiner
195695042d Add requestStrategy 3, which duplicates requests only after a timeout
Possible solution for #253.
2018-06-24 20:04:31 +10:00
Matt Joiner
159c4a0e28 Ensure 64-bit alignment of ConnStats fields
Fixes #262.
2018-06-23 18:33:56 +10:00
Matt Joiner
70093a4db3 Update accept limit parameters 2018-06-22 17:43:02 +10:00
Matt Joiner
f137bfdd61 Use RLock for Client.WriteStatus 2018-06-17 16:11:50 +10:00
Matt Joiner
70dfc1f518 Allow disabling accept limiting and modify some constants 2018-06-16 16:37:13 +10:00
Matt Joiner
0854161e99 Clear accept limits when adding a new torrent 2018-06-16 16:34:35 +10:00
Matt Joiner
e97f487d2e Rename Config->ClientConfig and change how defaults work
This is a very breaking change.
2018-06-16 16:30:04 +10:00
Matt Joiner
ad5e44eaf5 Add lots of new expvars and perf timers 2018-06-15 22:42:05 +10:00
Matt Joiner
81dcb9b779 Remove old Client.dialTCP 2018-06-15 22:39:37 +10:00