Matt Joiner
78e48f71dd
bencode incorrectly parsed integers with leading zeroes
2021-12-12 16:56:01 +11:00
Matt Joiner
42dca16753
Add bencode FuzzInterfaceRoundTrip
2021-12-12 16:56:01 +11:00
Matt Joiner
4cfdc2f497
Shuffle duplicate requests
...
Add missing import
2021-12-12 16:56:00 +11:00
Matt Joiner
4913f17c01
Generate full sintel magnet link in fs test
2021-12-12 15:01:50 +11:00
Matt Joiner
e16c799638
Add sintel.torrent
2021-12-12 15:01:50 +11:00
Matt Joiner
8dc897d4a2
Fix races using resources on Close
2021-12-12 15:01:50 +11:00
Matt Joiner
69f3b6064e
Don't use the Client's IP blocklist after the Client is closed
...
Fixes a segfault due to using a memory mapped blocklist in confluence.
2021-12-12 15:01:50 +11:00
Matt Joiner
54d529aac0
Remove unused torrent_pending_pieces.go
...
Unfortunately github.com/elliotchance/orderedmap is still used in ./analysis, so no deps are removed.
2021-12-12 15:01:50 +11:00
Matt Joiner
ba592028e5
Filter update requests on piece priority change by peer choking and allowed fast
2021-12-12 15:01:50 +11:00
Matt Joiner
a9485e8796
Ensure peerRequests.torrentStrategyInput is set
2021-12-12 15:01:50 +11:00
Yaroslav Kolomiiets
102f3182fc
PEX: remove workaround for krpc marshaller
2021-12-11 19:44:42 +00:00
Yaroslav Kolomiiets
bdb218a698
PEX: use new NodeAddr search methods in krpc
2021-12-11 19:18:30 +00:00
Yaroslav Kolomiiets
4a06517856
PEX: fluid event log
2021-12-12 00:27:28 +11:00
Matt Joiner
7197c5f493
Fix wasm build
...
This was broken in the move to zombiezen sqlite, which still doesn't work on WASM/JS.
2021-12-07 13:08:06 +11:00
Matt Joiner
22053c9238
Don't fail-fast on go versions
2021-12-07 12:42:35 +11:00
Matt Joiner
a2c50ea2bd
Handle 503 returns from webseed peer endpoints
2021-12-06 15:24:28 +11:00
Matt Joiner
32d9ec900c
Record an observation about why webseed peers are doing most of the work in recent testing
2021-12-06 15:22:06 +11:00
Matt Joiner
c653cf2070
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.
2021-12-06 15:22:00 +11:00
Matt Joiner
9bee7c3bc4
Handle cancelled webseed peer requests if they're not active
2021-12-06 15:21:51 +11:00
Matt Joiner
56bb8a9713
Check if Torrent is closed before receiving webseed chunks
2021-12-06 15:19:00 +11:00
Matt Joiner
a9373fc8fd
Fix minimum peer extensions error message
2021-12-03 20:36:50 +11:00
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 dfc421824c
.
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