Commit Graph

3193 Commits

Author SHA1 Message Date
DeepSource Bot 81d6d4ac86 Update .deepsource.toml 2022-02-21 21:23:20 +00:00
Matt Joiner 0e4546b738 Add scrape subcommand to cmd/torrent 2022-02-20 16:16:57 +11:00
Matt Joiner fe43ce07c8 Quote UDP tracker response error bodies with %#q 2022-02-20 16:15:45 +11:00
FIGBERT 7d41b9b21c
Pass client logger to anacrolix/go-libutp sockets (#722)
* Update anacrolix/go-libutp (v1.1.0 -> v1.2.0)

* Pass client logger to anacrolix/go-libutp

* Pass logger instead of option

The project now compiles properly when CGO is not enabled.

Additionally, the new argument (now log.Logger instead of
utp.NewSocketOpt) is now required. The tests have been updated to match
this change, and now pass logger.Default to NewUtpSocket.

* Correct function signature of NewUtpSocket
2022-02-15 16:18:32 +11:00
deepsource-autofix[bot] e3d08999e1
Format code with gofumpt (#724)
This commit fixes the style issues introduced in b81470d according to the output
from gofumpt.

Details: https://deepsource.io/gh/anacrolix/torrent/transform/ccafd976-fc9a-4c8a-bbfe-bc36426e79cb/

Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2022-02-11 22:45:12 +11:00
DeepSource Bot b81470dc39 Update .deepsource.toml 2022-02-11 06:33:32 +00:00
Matt Joiner e0f489bfb2 Checkout go from github 2022-02-10 15:32:01 +11:00
Matt Joiner a18e96b471 Run tests on tip 2022-02-10 15:32:01 +11:00
Matt Joiner 3a57995bfc Fix and add caching to gotip CI actions
Fix and add caching to gotip CI actions
2022-02-10 15:32:01 +11:00
Matt Joiner 205266cb60 go CI: Use common action and parallel jobs 2022-02-10 15:31:43 +11:00
Matt Joiner f9664389d5 Align Peer stats for webseed peers 2022-02-10 10:13:53 +11:00
Matt Joiner 3181b6d667 fs/test.sh: Fail if hash does not match 2022-02-10 09:20:23 +11:00
Matt Joiner 6fbcfe0695 Re-enable CI wasm/js package build checks 2022-02-09 14:12:43 +11:00
Matt Joiner aa3569b863 Pull webrtc SCTP Transport wasm support 2022-02-09 14:12:42 +11:00
Eng Zer Jun 841a702e34
test: use `T.TempDir` to create temporary test directory (#718)
The directory created by `T.TempDir` is automatically removed when the
test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-02-02 18:26:46 +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 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
Matt Joiner 9f2e2e39fa cmd/torrent: Add --linear-discard 2021-12-23 14:00:01 +11:00
Matt Joiner 9739afce93 Fix panic in webseeds updating requests when Torrent is closed
I think this was caused by PieceRequestOrder being removed if all pieces in a storage capacity key are deleted.
2021-12-23 14:00:01 +11:00
Matt Joiner 7772d50f74 cmd/torrent: Lower burst when there's a download rate limit 2021-12-23 14:00:01 +11:00
Matt Joiner cc0d223a65 Apply download rate limiter to webseeds 2021-12-23 14:00:00 +11:00
Matt Joiner 87dfef7778 Don't wait for DHT pings
Fixes a growing backlog of pings if DHT servers are rate-limited in their queries.
2021-12-23 14:00:00 +11:00
Matt Joiner 80aec73cb5 Make Torrent.cancelRequestsForPiece more efficient 2021-12-23 14:00:00 +11:00
Matt Joiner 506ff8d037 Use relative availabilities to determine piece request order
Most overhead comes from peers that connect that have everything, and we just increment every single piece's availability. There may be some unresolved determinism with torrents that share the same ordering.
2021-12-23 14:00:00 +11:00