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

3047 Commits

Author SHA1 Message Date
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
Matt Joiner
eaeb38b18c cmd/torrent: Add serve subcommand 2021-11-04 20:02:55 +11:00
Matt Joiner
59d5e17ace bencode: Fix marshalling of unaddressable array of bytes 2021-11-04 20:01:25 +11:00
Matt Joiner
c7ff32f01c Export addTorrentOpts
Now I see what the lint was complaining about.
2021-11-04 20:00:31 +11:00
Matt Joiner
bc5cce8dca Move download subcmd code into separate file 2021-11-04 11:36:34 +11:00
Matt Joiner
002de0ebe3 cmd/torrent: Add bencode {json,spew} commands 2021-11-03 13:49:06 +11:00
Matt Joiner
68fdd41d89 bencode.Bytes: Tests and stricter checks 2021-11-02 17:28:05 +11:00
Matt Joiner
1f22c51366 Run Go GitHub action with Go 1.16 as well as 1.17
1.16 is still used by some downstream projects, and it might ensure support for pkg.go.dev (via old build constraint tags).
2021-11-01 12:21:20 +11:00
Matt Joiner
70d15d405c Run Go GitHub action on all branches 2021-11-01 12:21:20 +11:00
Matt Joiner
b088c08acd Remove some unused parameter names
https://deepsource.io/gh/anacrolix/torrent/run/cfd6fa3d-c65b-4bf7-83f7-3bee87c21a4b/go/RVV-B0012
2021-11-01 11:53:58 +11:00
Matt Joiner
1788303405 Alter some directory permissioning in storage 2021-11-01 11:50:12 +11:00
Matt Joiner
8d193edb7e Remove unused Torrent.numActivePeers 2021-11-01 11:49:36 +11:00
Matt Joiner
87a67db680 Remove unused conn piece inclinations 2021-11-01 11:49:27 +11:00
afjoseph
487352fa5b fixup! [trackerscraper] Add custom DNS lookup function 2021-11-01 11:26:58 +11:00
afjoseph
b33b45baf4 [fuzz] Put +build tags to support go1.16 as well 2021-11-01 11:26:58 +11:00
afjoseph
013634d9f1 Revert "Remove old-style build tags"
This reverts commit 11ae25660ad3048ee5736694793fead3305f5c5b.
2021-11-01 11:26:58 +11:00
afjoseph
2a6152b832 [trackerscraper] Add custom DNS lookup function 2021-11-01 11:26:58 +11:00
Matt Joiner
c2ed60f9f2
Link to godocs.io for documentation 2021-10-29 11:57:57 +11:00
Matt Joiner
2c70c23ac4 Fix unnecessary modification of Torrent.CancelPieces API
https://github.com/anacrolix/torrent/issues/681
2021-10-29 11:52:28 +11:00
Matt Joiner
446016cb27 bencode: Encode arrays of bytes as strings
This looks appropriate with the use of byte arrays in DHT for BEP44.
2021-10-28 16:21:23 +11:00
Matt Joiner
8b368b3832 Run all tests and benchmarks twice
This helps detect bad cleanup in tests, which is very common.
2021-10-27 15:15:27 +11:00
Matt Joiner
d1e2d7ff92 Remove unnecessary intermediate steps in Go workflow 2021-10-27 15:14:48 +11:00
Matt Joiner
f2e9eeba3b Check if torrent is closed before handling peer request data read failures
Should fix panics using storage after its been closed, like in https://github.com/anacrolix/torrent/runs/4017475163.
2021-10-27 15:14:11 +11:00
Matt Joiner
eb2fc6dbef Fix panic in benchmark 2021-10-27 13:57:19 +11:00
Matt Joiner
ae28d0e0e4 Merge branch 'peer-requesting' 2021-10-27 12:42:26 +11:00
Matt Joiner
a7e7cbcb04 Retain the desired request ordering
This means we don't have to randomize the request order when we finally apply it to avoid favouring lower indices. The difference is very subtle but should be impactful with smaller connection counts and rarer torrents.
2021-10-27 10:13:39 +11:00