Commit Graph

3200 Commits

Author SHA1 Message Date
Matt Joiner d28b5a2193 Ensure gotip bin is used for go 2022-02-07 16:29:34 +11:00
Matt Joiner 068f885f8c go CI: Add GOPATH bin to GITHUB_PATH
This should fix godo not being in the path in a later step.
2022-02-07 16:16:10 +11:00
Matt Joiner 0f90f394a3 Merge branch 'master' into go1.18 2022-02-07 15:33:05 +11:00
Matt Joiner d6534ea7e8 fs/test.sh: Add torrents before mounting 2022-01-31 17:35:53 +11:00
Matt Joiner a324fbfee3 Make use of the lazylog branch of anacrolix/log
This avoids significant allocations and overhead.
2022-01-31 17:22:36 +11:00
Matt Joiner 6568928bfd Debug CI godo installation 2022-01-31 12:57:14 +11:00
Matt Joiner 21163f3f37 Continue on wasm build error 2022-01-31 11:55:07 +11:00
Matt Joiner eeb04bf654 Run fs/test.sh on 32 bit 2022-01-31 11:52:57 +11:00
Matt Joiner 7349eda7ef fs/test.sh: Use Sintel file so webrtc is tested 2022-01-31 11:48:39 +11:00
Matt Joiner 79959587cd Revert "fs/test.sh: Use go run instead of godo"
This reverts commit e8bd16257c.
2022-01-31 11:47:40 +11:00
Matt Joiner 68e47c4bea Include peer net.Conn endpoint addresses in webrtc conn string 2022-01-27 15:24:48 +11:00
Matt Joiner b68ab1db12 When banning an IP drop peers that match 2022-01-27 15:12:26 +11:00
Matt Joiner f1e250672f Fix v4 in v6 IPs from being banned as IPv4 2022-01-27 15:11:01 +11:00
Matt Joiner 60057327b3 Ban peers for dirtying pieces if they are solely responsible 2022-01-27 15:09:05 +11:00
Matt Joiner b5edd9ce89 Merge branch 'lazylog' into smartban 2022-01-27 14:06:45 +11:00
Matt Joiner 7b7f1207b2 Merge branch 'master' into lazylog 2022-01-27 13:49:16 +11:00
Matt Joiner 1512857348 Include peer net.Conn endpoint addresses in webrtc conn string 2022-01-27 13:45:36 +11:00
Matt Joiner 52e793ff6d Resolve deps 2022-01-23 14:59:31 +11:00
Matt Joiner 7a20e9fe8a Lazy logging 2022-01-23 09:37:11 +11:00
Matt Joiner 1cff4fe95e Switch to external anacrolix/generics 2022-01-22 18:43:04 +11:00
Matt Joiner 9e5dac9514 Forget smart ban blocks after piece passes hash check 2022-01-22 18:43:04 +11:00
Matt Joiner 4fb4541297 Apply smart bans under Client lock 2022-01-22 18:43:04 +11:00
Matt Joiner 4a8611b23e Do smart banning on existing badPeerIPs 2022-01-22 18:43:04 +11:00
Matt Joiner f4d4b59d89 Add some generic map helpers 2022-01-22 18:43:04 +11:00
Matt Joiner 53cf508061 Implement smart ban using generics 2022-01-22 18:43:04 +11:00
Matt Joiner 245c728762 Use gotip for CI build 2022-01-22 18:40:33 +11:00
Matt Joiner 935dc3da0a Switch to ajwerner/btree in piece request ordering 2022-01-22 18:40:33 +11:00
Matt Joiner 934944e498 Add AjwernerBtree as an alternative btree backing for piece request order
Also add some scans to benchmarks. Make a few changes to reduce allocations using piece request order.
2022-01-22 18:40:33 +11:00
Matt Joiner c54dc22592 Benchmark PieceRequestOrder with varying styles of path hint usage
Add per-piece piece request order path hints
2022-01-22 18:39:36 +11:00
Matt Joiner 62060fb897 Use tidwall/btree generics for piece request ordering 2022-01-22 18:39:36 +11:00
Matt Joiner c47e6b1f60 Use webrtc selected ICE candidate for peer addresses 2022-01-22 18:35:06 +11:00
Matt Joiner b668c826e2 Rename webtorrent source files 2022-01-22 18:34:35 +11:00
Matt Joiner f074b30bcb Use tagged anacrolix/squirrel 2022-01-14 09:22:08 +11:00
Matt Joiner c17186bf85 Switch from missinggo/MultiLess to anacrolix/multiless 2022-01-12 15:07:26 +11:00
Matt Joiner 83a8284d6a Add tests for preferred network direction 2022-01-12 15:01:33 +11:00
Matt Joiner 0c7754da63 Add const noCacheBlobs in sqlite storage benchmarks 2022-01-10 16:20:03 +11:00
Matt Joiner 31243ad4fd go mod tidy 2022-01-07 19:15:59 +11:00
Matt Joiner 726eec2f8d bencode: Support decoding "" as dict key 2022-01-07 19:11:41 +11:00
Matt Joiner 071ade67ae bencode: Return ErrUnexpectedEOF instead of EOF in the middle of values 2022-01-07 19:11:41 +11:00
Matt Joiner 32097526fc Add bencode.Decoder.MaxStrLen 2022-01-07 19:11:41 +11:00
Matt Joiner e8bd16257c fs/test.sh: Use go run instead of godo 2021-12-28 12:06:29 +11:00
Matt Joiner 50fcd908ca tracker/udp.ConnClient: Make logging configurable
Should fix https://github.com/anacrolix/torrent/issues/701#issue-1088130173
2021-12-28 12:05:01 +11:00
Matt Joiner 2e9ecd5a32 Reject peer requests on data read failures 2021-12-27 22:19:04 +11:00
Matt Joiner f7494791d0 Reduce some logging 2021-12-27 22:06:52 +11:00
Matt Joiner 14d636ec50 Fix TestTorrentDroppedDuringResponsiveRead flakiness 2021-12-27 21:16:51 +11:00
Matt Joiner fc857d4557 Allow stealing from slower connections within priority classes 2021-12-24 08:56:10 +11:00
Matt Joiner 1bae62fd22 Dynamic outbound max requests
This might be one solution to https://github.com/anacrolix/torrent/issues/698.
2021-12-24 08:55:57 +11:00
Matt Joiner 89b8b78980 Include requests pending cancel in current request count
This fix a situation where peers might be dropping our requests, and since we depend on all requests being satisfied before re-requesting, we get stuck waiting for the request to be filled.
2021-12-23 18:55:57 +11:00
Matt Joiner 9d07f3ea77 Replace piece availability with frequencies in Torrent status 2021-12-23 17:01:39 +11:00
Matt Joiner dbbe2fa71e Revert go directive to 1.16 2021-12-23 14:00:01 +11:00