2
0
mirror of synced 2025-02-24 06:38:14 +00:00

3072 Commits

Author SHA1 Message Date
Matt Joiner
ab78c449b7 Reduce idle request updates due to choke and unchoke messages 2021-11-29 12:12:30 +11:00
Matt Joiner
5dba8f96e4 Merge branch 'udp-tracker-no-dial' into te 2021-11-29 11:19:54 +11:00
Matt Joiner
8e707c9b15 Remove unused peer stuff in request strategy 2021-11-29 10:14:16 +11:00
Matt Joiner
0f495ce97d Optimize the use of worstConnSlice again 2021-11-29 10:07:48 +11:00
Matt Joiner
4f3db19ca3 Optimize Torrent.haveAnyPieces 2021-11-29 00:44:24 +11:00
Matt Joiner
97e1e2469b Announce to DHT if we want conns, not just peers 2021-11-28 22:46:45 +11:00
Matt Joiner
b196fe7765 Wanting peers is a subset of wanting conns 2021-11-28 22:40:55 +11:00
Matt Joiner
f621f0f5a8 Don't want conns for seeding unless we have a piece 2021-11-28 22:40:53 +11:00
Matt Joiner
51f6f07633 Peers with all pieces have wanted pieces only if we want any piece 2021-11-28 22:36:19 +11:00
Matt Joiner
91e8f3e127 Abstract worseConn comparisons and add tests 2021-11-28 17:06:10 +11:00
Matt Joiner
878a3e468b Rename worst_conns.go 2021-11-28 12:53:18 +11:00
Matt Joiner
3626bb9fa9 Merge branch 'bsi-pending-requests' into te 2021-11-27 09:38:58 +11:00
Matt Joiner
3829c22062 Use modernc.org/sqlite version that fixes temp dir race 2021-11-26 17:06:13 +11:00
Matt Joiner
560b463983 Comment out pending requests tests and asserts
These need to be updated. BSI for pending requests removes an enormous amount of memory use for very large torrents.
2021-11-25 22:59:20 +11:00
Matt Joiner
8ddbf5a852 Revert "Use a flat slice for pending request counts"
This reverts commit dfc421824ce6c146ff9d9062ad25748c0f8c9990.
2021-11-25 22:55:02 +11:00
Matt Joiner
aaec4dbd80 tracker/udp: Panic on read errors if ConnClient not closed
There's nothing exposed to handle this error currently, and if it occurs, it's better not to fail in silence. I'm currently debugging a situation where ConnClients stop working, this would be a condition we'd want to know about.
2021-11-23 08:35:45 +11:00
Matt Joiner
615669ecf8 Improve logging of UDP tracker packet dispatch error 2021-11-23 08:33:29 +11:00
Matt Joiner
aae32e2a31 Wrap UDP tracker response error 2021-11-23 08:32:25 +11:00
Matt Joiner
6cb65f4ecf Don't dial in UDP tracking
This could fix an issue where tracker addresses change, but we're already bound to a particular address and so fail to receive any more responses.
It should also make it easier to share UDP sockets between UDP tracker clients, although that's not currently implemented.
2021-11-22 18:11:09 +11:00
Matt Joiner
8555ab7f21 Doc comments 2021-11-22 18:10:47 +11:00
Matt Joiner
65ceef557a Remove CGO build flags for pure-Go squirrel branch 2021-11-19 20:29:30 +11:00
Matt Joiner
3ab251fcf5 Use zombiezen branch of squirrel 2021-11-19 20:10:07 +11:00
Matt Joiner
357896fb65 gofumpt 2021-11-19 16:19:32 +11:00
Matt Joiner
24f3ecc7cd Use zombiezen sqlite for piece completion 2021-11-19 16:18:41 +11:00
Matt Joiner
8e5ae65837 Quote peer extension names to expvar 2021-11-19 13:02:42 +11:00
Matt Joiner
370fc56c16 Pull synchronous firewall callback performance improvement
Reduces CPU overhead when receiving lot of UDP traffic.
2021-11-17 14:24:38 +11:00
Matt Joiner
2f907e84a8 Optimize PeerConn.peerHasAllPieces 2021-11-17 14:01:11 +11:00
Matt Joiner
0f81e0011f Avoid calling net.Conn methods with the Client mutex locked
The utp firewall callback might want to use it. I can't think of a better way to determine with an incoming connection request should be blocked.
2021-11-17 14:00:50 +11:00
Matt Joiner
e81e12fab1 Use tagged version of github.com/anacrolix/fuse 2021-11-16 18:27:11 +11:00
Matt Joiner
8a7ddab785 Switch to github.com/anacrolix/fuse 2021-11-16 18:20:02 +11:00
Matt Joiner
8e44c702c1 Remove dependency on and exclude of github.com/willf/bitset 2021-11-16 17:36:48 +11:00
Matt Joiner
c442a22ac2 Provide context to readahead func 2021-11-15 00:53:42 +11:00
Matt Joiner
9cc3201df9 Add Reader.SetReadaheadFunc
Fixes https://github.com/anacrolix/torrent/issues/687.
2021-11-15 00:53:42 +11:00
Matt Joiner
71cbea2fbc Add a comment about not discarding in webseed OK response bodies 2021-11-14 14:01:46 +11:00
Matt Joiner
60dd68ede9 Don't log legitimate non-range requests 2021-11-12 15:58:32 +11:00
Matt Joiner
8af369c11a Should fix failing go1.16 CI build 2021-11-12 15:18:20 +11:00
Matt Joiner
63b7215892 Improve error handling for bad webseeds
DNS "no such host" errors didn't interrupt the stream of outbound requests.
2021-11-12 14:43:22 +11:00
Matt Joiner
a90ae5aed4 Pass HTTP Proxy config into webseeding HTTP client 2021-11-12 14:16:14 +11:00
Matt Joiner
1071e261e1 Remove unused Client.updateRequests 2021-11-12 13:55:43 +11:00
Matt Joiner
dea0e41e29 Boost webseed max requests 2021-11-12 13:51:58 +11:00
Matt Joiner
a7dff20e3f Increment webseed peer piece availability 2021-11-12 13:41:55 +11:00
Matt Joiner
09d9a070e9 Allow non-partial webseed part responses for small files 2021-11-12 13:30:13 +11:00
Matt Joiner
411ebdbe28 webseed: Close unused part responses after error
Also don't bother to read their response bodies.
2021-11-12 12:40:15 +11:00
Matt Joiner
2fd928b918 Don't use non-directory webseed URLs for multi-file torrents 2021-11-12 12:37:40 +11:00
Matt Joiner
de95cf6db6 Make TorrentSpecFromMetaInfoErr still usable on info error 2021-11-12 10:46:35 +11:00
Matt Joiner
1bf7019340 Comment that BEP 19 is WebSeeds 2021-11-12 10:45:47 +11:00
Matt Joiner
801fa59d5a cmd/torrentfs: Add missing envpprof.Stop 2021-11-12 10:37:21 +11:00
Matt Joiner
4b9dfa0af7 Pull uninitialized DHT store fix from anacrolix/dht
Fixes https://github.com/anacrolix/torrent/issues/686.
2021-11-10 09:48:01 +11:00
Matt Joiner
c6ee03f449 gofumpt 2021-11-08 14:47:01 +11:00
Matt Joiner
f86af21cd2 Improve dht bootstrap stats logging 2021-11-05 09:30:25 +11:00