]>
 
 
Sergey Matveev's repositories - btrtrc.git/log 
 
 
 
 
 
 
Yaroslav Kolomiiets [Wed, 8 Dec 2021 10:16:54 +0000 (10:16 +0000)] 
 
PEX: use new NodeAddr search methods in krpc 
 
Yaroslav Kolomiiets [Mon, 6 Dec 2021 18:46:25 +0000 (18:46 +0000)] 
 
PEX: fluid event log 
 
Matt Joiner [Tue, 7 Dec 2021 02:07:58 +0000 (13:07 +1100)] 
 
Fix wasm build 
 
This was broken in the move to zombiezen sqlite, which still doesn't work on WASM/JS. 
 
Matt Joiner [Tue, 7 Dec 2021 01:42:35 +0000 (12:42 +1100)] 
 
Don't fail-fast on go versions 
 
Matt Joiner [Mon, 6 Dec 2021 04:14:59 +0000 (15:14 +1100)] 
 
Handle 503 returns from webseed peer endpoints 
 
Matt Joiner [Thu, 2 Dec 2021 02:48:52 +0000 (13:48 +1100)] 
 
Record an observation about why webseed peers are doing most of the work in recent testing 
 
Matt Joiner [Thu, 2 Dec 2021 02:47:06 +0000 (13:47 +1100)] 
 
Do webseed request parts sequentially 
 
This means we can treat the number of bytes in the result with enough accuracy to decide if we should count it as a wasted chunk. Also I'm not sure why it was a good idea to do parts of a request in parallel anyway, it could just lead to spikes in outstanding requests to the webseed, rather than sticking to the predictable maxRequests limit. 
 
Matt Joiner [Thu, 2 Dec 2021 02:10:54 +0000 (13:10 +1100)] 
 
Handle cancelled webseed peer requests if they're not active 
 
Matt Joiner [Fri, 3 Dec 2021 10:31:16 +0000 (21:31 +1100)] 
 
Check if Torrent is closed before receiving webseed chunks 
 
Matt Joiner [Fri, 3 Dec 2021 09:36:34 +0000 (20:36 +1100)] 
 
Fix minimum peer extensions error message 
 
Matt Joiner [Mon, 29 Nov 2021 01:12:30 +0000 (12:12 +1100)] 
 
Reduce idle request updates due to choke and unchoke messages 
 
Matt Joiner [Mon, 29 Nov 2021 00:19:54 +0000 (11:19 +1100)] 
 
Merge branch 'udp-tracker-no-dial' into te 
 
Matt Joiner [Sun, 28 Nov 2021 23:14:16 +0000 (10:14 +1100)] 
 
Remove unused peer stuff in request strategy 
 
Matt Joiner [Sun, 28 Nov 2021 23:07:48 +0000 (10:07 +1100)] 
 
Optimize the use of worstConnSlice again 
 
Matt Joiner [Sun, 28 Nov 2021 13:44:24 +0000 (00:44  +1100)] 
 
Optimize Torrent.haveAnyPieces 
 
Matt Joiner [Sun, 28 Nov 2021 11:46:45 +0000 (22:46 +1100)] 
 
Announce to DHT if we want conns, not just peers 
 
Matt Joiner [Sun, 28 Nov 2021 11:37:56 +0000 (22:37 +1100)] 
 
Wanting peers is a subset of wanting conns 
 
Matt Joiner [Sun, 28 Nov 2021 11:40:53 +0000 (22:40 +1100)] 
 
Don't want conns for seeding unless we have a piece 
 
Matt Joiner [Sun, 28 Nov 2021 11:36:19 +0000 (22:36 +1100)] 
 
Peers with all pieces have wanted pieces only if we want any piece 
 
Matt Joiner [Sun, 28 Nov 2021 06:06:10 +0000 (17:06 +1100)] 
 
Abstract worseConn comparisons and add tests 
 
Matt Joiner [Sun, 28 Nov 2021 01:53:18 +0000 (12:53 +1100)] 
 
Rename worst_conns.go 
 
Matt Joiner [Fri, 26 Nov 2021 22:38:58 +0000 (09:38 +1100)] 
 
Merge branch 'bsi-pending-requests' into te 
 
Matt Joiner [Fri, 26 Nov 2021 06:06:13 +0000 (17:06 +1100)] 
 
Use modernc.org/sqlite version that fixes temp dir race 
 
Matt Joiner [Thu, 25 Nov 2021 11:59:20 +0000 (22:59 +1100)] 
 
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. 
 
Matt Joiner [Thu, 25 Nov 2021 11:32:52 +0000 (22:32 +1100)] 
 
Revert "Use a flat slice for pending request counts"
This reverts commit 
dfc421824ce6c146ff9d9062ad25748c0f8c9990 .
 
Matt Joiner [Mon, 22 Nov 2021 21:35:45 +0000 (08:35 +1100)] 
 
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. 
 
Matt Joiner [Mon, 22 Nov 2021 21:33:29 +0000 (08:33 +1100)] 
 
Improve logging of UDP tracker packet dispatch error 
 
Matt Joiner [Mon, 22 Nov 2021 21:32:25 +0000 (08:32 +1100)] 
 
Wrap UDP tracker response error 
 
Matt Joiner [Mon, 22 Nov 2021 07:05:50 +0000 (18:05 +1100)] 
 
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. 
 
Matt Joiner [Mon, 22 Nov 2021 07:06:27 +0000 (18:06 +1100)] 
 
Doc comments 
 
Matt Joiner [Fri, 19 Nov 2021 09:29:30 +0000 (20:29 +1100)] 
 
Remove CGO build flags for pure-Go squirrel branch 
 
Matt Joiner [Fri, 19 Nov 2021 09:10:07 +0000 (20:10 +1100)] 
 
Use zombiezen branch of squirrel 
 
Matt Joiner [Fri, 19 Nov 2021 05:19:32 +0000 (16:19 +1100)] 
 
gofumpt 
 
Matt Joiner [Fri, 19 Nov 2021 05:18:41 +0000 (16:18 +1100)] 
 
Use zombiezen sqlite for piece completion 
 
Matt Joiner [Fri, 19 Nov 2021 02:02:42 +0000 (13:02 +1100)] 
 
Quote peer extension names to expvar 
 
Matt Joiner [Wed, 17 Nov 2021 03:24:38 +0000 (14:24 +1100)] 
 
Pull synchronous firewall callback performance improvement 
 
Reduces CPU overhead when receiving lot of UDP traffic. 
 
Matt Joiner [Wed, 17 Nov 2021 03:01:11 +0000 (14:01 +1100)] 
 
Optimize PeerConn.peerHasAllPieces 
 
Matt Joiner [Wed, 17 Nov 2021 03:00:50 +0000 (14:00 +1100)] 
 
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. 
 
Matt Joiner [Tue, 16 Nov 2021 07:27:11 +0000 (18:27 +1100)] 
 
Use tagged version of github.com/anacrolix/fuse 
 
Matt Joiner [Tue, 16 Nov 2021 07:20:02 +0000 (18:20 +1100)] 
 
Switch to github.com/anacrolix/fuse 
 
Matt Joiner [Tue, 16 Nov 2021 06:36:48 +0000 (17:36 +1100)] 
 
Remove dependency on and exclude of github.com/willf/bitset 
 
Matt Joiner [Sun, 14 Nov 2021 02:52:05 +0000 (13:52 +1100)] 
 
Provide context to readahead func 
 
Matt Joiner [Wed, 10 Nov 2021 23:24:28 +0000 (10:24 +1100)] 
 
Add Reader.SetReadaheadFunc 
 
Fixes https://github.com/anacrolix/torrent/issues/687. 
 
Matt Joiner [Sun, 14 Nov 2021 03:01:46 +0000 (14:01 +1100)] 
 
Add a comment about not discarding in webseed OK response bodies 
 
Matt Joiner [Fri, 12 Nov 2021 04:58:32 +0000 (15:58 +1100)] 
 
Don't log legitimate non-range requests 
 
Matt Joiner [Fri, 12 Nov 2021 04:18:20 +0000 (15:18 +1100)] 
 
Should fix failing go1.16 CI build 
 
Matt Joiner [Fri, 12 Nov 2021 03:43:22 +0000 (14:43 +1100)] 
 
Improve error handling for bad webseeds 
 
DNS "no such host" errors didn't interrupt the stream of outbound requests. 
 
Matt Joiner [Fri, 12 Nov 2021 03:16:14 +0000 (14:16 +1100)] 
 
Pass HTTP Proxy config into webseeding HTTP client 
 
Matt Joiner [Fri, 12 Nov 2021 02:55:43 +0000 (13:55 +1100)] 
 
Remove unused Client.updateRequests 
 
Matt Joiner [Fri, 12 Nov 2021 02:51:58 +0000 (13:51 +1100)] 
 
Boost webseed max requests 
 
Matt Joiner [Fri, 12 Nov 2021 02:41:55 +0000 (13:41 +1100)] 
 
Increment webseed peer piece availability 
 
Matt Joiner [Fri, 12 Nov 2021 02:30:13 +0000 (13:30 +1100)] 
 
Allow non-partial webseed part responses for small files 
 
Matt Joiner [Fri, 12 Nov 2021 01:40:15 +0000 (12:40 +1100)] 
 
webseed: Close unused part responses after error 
 
Also don't bother to read their response bodies. 
 
Matt Joiner [Fri, 12 Nov 2021 01:37:40 +0000 (12:37 +1100)] 
 
Don't use non-directory webseed URLs for multi-file torrents 
 
Matt Joiner [Thu, 11 Nov 2021 23:46:35 +0000 (10:46 +1100)] 
 
Make TorrentSpecFromMetaInfoErr still usable on info error 
 
Matt Joiner [Thu, 11 Nov 2021 23:45:47 +0000 (10:45 +1100)] 
 
Comment that BEP 19 is WebSeeds 
 
Matt Joiner [Thu, 11 Nov 2021 23:37:21 +0000 (10:37 +1100)] 
 
cmd/torrentfs: Add missing envpprof.Stop 
 
Matt Joiner [Tue, 9 Nov 2021 22:48:01 +0000 (09:48 +1100)] 
 
Pull uninitialized DHT store fix from anacrolix/dht 
 
Fixes https://github.com/anacrolix/torrent/issues/686. 
 
Matt Joiner [Mon, 8 Nov 2021 03:47:01 +0000 (14:47 +1100)] 
 
gofumpt 
 
Matt Joiner [Thu, 4 Nov 2021 22:30:25 +0000 (09:30 +1100)] 
 
Improve dht bootstrap stats logging 
 
Matt Joiner [Thu, 4 Nov 2021 09:02:55 +0000 (20:02 +1100)] 
 
cmd/torrent: Add serve subcommand 
 
Matt Joiner [Thu, 4 Nov 2021 09:01:25 +0000 (20:01 +1100)] 
 
bencode: Fix marshalling of unaddressable array of bytes 
 
Matt Joiner [Thu, 4 Nov 2021 09:00:31 +0000 (20:00 +1100)] 
 
Export addTorrentOpts 
 
Now I see what the lint was complaining about. 
 
Matt Joiner [Thu, 4 Nov 2021 00:36:34 +0000 (11:36 +1100)] 
 
Move download subcmd code into separate file 
 
Matt Joiner [Wed, 3 Nov 2021 02:49:06 +0000 (13:49 +1100)] 
 
cmd/torrent: Add bencode {json,spew} commands 
 
Matt Joiner [Tue, 2 Nov 2021 06:28:05 +0000 (17:28 +1100)] 
 
bencode.Bytes: Tests and stricter checks 
 
Matt Joiner [Mon, 1 Nov 2021 00:46:22 +0000 (11:46 +1100)] 
 
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). 
 
Matt Joiner [Mon, 1 Nov 2021 00:45:08 +0000 (11:45 +1100)] 
 
Run Go GitHub action on all branches 
 
Matt Joiner [Mon, 1 Nov 2021 00:53:58 +0000 (11:53 +1100)] 
 
Remove some unused parameter names
https://deepsource.io/gh/anacrolix/torrent/run/
cfd6fa3d -c65b-4bf7-83f7-
3bee87c21a4b /go/RVV-B0012
 
Matt Joiner [Mon, 1 Nov 2021 00:50:12 +0000 (11:50 +1100)] 
 
Alter some directory permissioning in storage 
 
Matt Joiner [Mon, 1 Nov 2021 00:49:36 +0000 (11:49 +1100)] 
 
Remove unused Torrent.numActivePeers 
 
Matt Joiner [Mon, 1 Nov 2021 00:49:27 +0000 (11:49 +1100)] 
 
Remove unused conn piece inclinations 
 
afjoseph [Fri, 29 Oct 2021 08:34:38 +0000 (10:34 +0200)] 
 
fixup! [trackerscraper] Add custom DNS lookup function 
 
afjoseph [Thu, 28 Oct 2021 08:54:46 +0000 (10:54 +0200)] 
 
[fuzz] Put +build tags to support go1.16 as well 
 
afjoseph [Thu, 28 Oct 2021 08:53:04 +0000 (10:53 +0200)] 
 
Revert "Remove old-style build tags"
This reverts commit 
11ae25660ad3048ee5736694793fead3305f5c5b .
 
afjoseph [Thu, 28 Oct 2021 08:13:21 +0000 (10:13 +0200)] 
 
[trackerscraper] Add custom DNS lookup function 
 
Matt Joiner [Fri, 29 Oct 2021 00:57:57 +0000 (11:57 +1100)] 
 
Link to godocs.io for documentation 
 
Matt Joiner [Fri, 29 Oct 2021 00:52:28 +0000 (11:52 +1100)] 
 
Fix unnecessary modification of Torrent.CancelPieces API 
 
https://github.com/anacrolix/torrent/issues/681 
 
Matt Joiner [Thu, 28 Oct 2021 05:21:23 +0000 (16:21 +1100)] 
 
bencode: Encode arrays of bytes as strings 
 
This looks appropriate with the use of byte arrays in DHT for BEP44. 
 
Matt Joiner [Wed, 27 Oct 2021 04:15:27 +0000 (15:15 +1100)] 
 
Run all tests and benchmarks twice 
 
This helps detect bad cleanup in tests, which is very common. 
 
Matt Joiner [Wed, 27 Oct 2021 04:14:48 +0000 (15:14 +1100)] 
 
Remove unnecessary intermediate steps in Go workflow 
 
Matt Joiner [Wed, 27 Oct 2021 04:14:11 +0000 (15:14 +1100)] 
 
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 .
 
Matt Joiner [Wed, 27 Oct 2021 02:57:19 +0000 (13:57 +1100)] 
 
Fix panic in benchmark 
 
Matt Joiner [Wed, 27 Oct 2021 01:42:26 +0000 (12:42 +1100)] 
 
Merge branch 'peer-requesting' 
 
Matt Joiner [Tue, 26 Oct 2021 23:13:39 +0000 (10:13 +1100)] 
 
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. 
 
Matt Joiner [Tue, 26 Oct 2021 04:03:04 +0000 (15:03 +1100)] 
 
Add Peer.mustRequest 
 
Matt Joiner [Tue, 26 Oct 2021 03:42:42 +0000 (14:42 +1100)] 
 
Only assert pending requests when check is enabled 
 
Uses too much CPU for production from its current callsites. 
 
Matt Joiner [Mon, 25 Oct 2021 10:37:25 +0000 (21:37 +1100)] 
 
Add disabled code for limiting wasted chunks 
 
Matt Joiner [Mon, 25 Oct 2021 10:03:51 +0000 (21:03 +1100)] 
 
Quote webrtc offer ID as ASCII-only 
 
Matt Joiner [Mon, 25 Oct 2021 09:53:39 +0000 (20:53 +1100)] 
 
Fix iter pending chunk request offsets 
 
Matt Joiner [Mon, 25 Oct 2021 09:52:44 +0000 (20:52 +1100)] 
 
Support minimum peer extensions 
 
Matt Joiner [Mon, 25 Oct 2021 05:36:58 +0000 (16:36 +1100)] 
 
Always count unhandled requests as pending 
 
Fixes https://github.com/anacrolix/torrent/issues/679. 
 
Matt Joiner [Mon, 25 Oct 2021 05:17:55 +0000 (16:17 +1100)] 
 
Record webseed request result bytes against client stats 
 
Should fix the issue where webseeds cause >100% useful data readings. 
 
Matt Joiner [Mon, 25 Oct 2021 05:16:56 +0000 (16:16 +1100)] 
 
Add more comprehensive pending requests assertions 
 
Matt Joiner [Mon, 25 Oct 2021 05:16:06 +0000 (16:16 +1100)] 
 
Fix panic in update requests timer func on closed conn 
 
Matt Joiner [Mon, 25 Oct 2021 05:15:42 +0000 (16:15 +1100)] 
 
Fix race running and closing webtorrent tracker clients 
 
Matt Joiner [Mon, 25 Oct 2021 02:00:56 +0000 (13:00 +1100)] 
 
Fix panic when sustaining unrejected requests after being choked 
 
Fixes https://github.com/anacrolix/torrent/issues/680. 
 
Matt Joiner [Thu, 21 Oct 2021 00:40:06 +0000 (11:40 +1100)] 
 
Demote Torrent.runHandshookConnLoggingErr level to debug 
 
Matt Joiner [Wed, 20 Oct 2021 23:48:43 +0000 (10:48 +1100)] 
 
Add low requests check 
 
This is an optimization for webseeds, which have 10 synchronous request routines, and if the request count dips below 10, some sit idle. There is probably something similar to be done with PeerConns, which won't update until there are zero requests, but there there is a timer to refresh updates, and the queues are very long (typically 512-2048). 
 
Matt Joiner [Wed, 20 Oct 2021 23:28:57 +0000 (10:28 +1100)] 
 
Update webseeds for peer requesting