]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
3 months agocmd/torrent download: Handle interrupt when linear discarding
Matt Joiner [Tue, 27 Feb 2024 12:22:07 +0000 (23:22 +1100)]
cmd/torrent download: Handle interrupt when linear discarding

3 months agocmd/torrent download: Propagate write errors
Matt Joiner [Wed, 28 Feb 2024 04:47:31 +0000 (15:47 +1100)]
cmd/torrent download: Propagate write errors

3 months agocmd/torrent: Remove stutter in error message
Matt Joiner [Wed, 28 Feb 2024 04:46:41 +0000 (15:46 +1100)]
cmd/torrent: Remove stutter in error message

3 months agoRemove unused Torrent.fileIndex
Matt Joiner [Tue, 27 Feb 2024 13:15:14 +0000 (00:15 +1100)]
Remove unused Torrent.fileIndex

3 months agoCache sqlite storage capacity for a short while
Matt Joiner [Tue, 27 Feb 2024 06:28:13 +0000 (17:28 +1100)]
Cache sqlite storage capacity for a short while

3 months agoAdd timeout to Go CI test
Matt Joiner [Tue, 27 Feb 2024 06:47:11 +0000 (17:47 +1100)]
Add timeout to Go CI test

3 months agogorond
Matt Joiner [Tue, 27 Feb 2024 06:29:17 +0000 (17:29 +1100)]
gorond

3 months agoFilter out possum without making it a separate module
Matt Joiner [Tue, 27 Feb 2024 00:16:51 +0000 (11:16 +1100)]
Filter out possum without making it a separate module

3 months agoBump google.golang.org/grpc from 1.46.2 to 1.56.3
dependabot[bot] [Tue, 27 Feb 2024 02:15:52 +0000 (02:15 +0000)]
Bump google.golang.org/grpc from 1.46.2 to 1.56.3

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.2 to 1.56.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.46.2...v1.56.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months agoUse Go 1.22 in CI
Matt Joiner [Mon, 26 Feb 2024 11:36:44 +0000 (22:36 +1100)]
Use Go 1.22 in CI

3 months agoCI adjustments
Matt Joiner [Tue, 27 Feb 2024 03:49:39 +0000 (14:49 +1100)]
CI adjustments

3 months agoCI: Ensure godo v1 and run mount after FS test
Matt Joiner [Mon, 26 Feb 2024 11:42:00 +0000 (22:42 +1100)]
CI: Ensure godo v1 and run mount after FS test

3 months agoRemove mutex in MSE cipher reader
Matt Joiner [Sun, 25 Feb 2024 22:28:05 +0000 (09:28 +1100)]
Remove mutex in MSE cipher reader

It has a very noticeable overhead when the race detector is running. It probably has some unattributed performance impact otherwise.

3 months agoAdd BitTorrent v2 fields, consts and reference torrents
Matt Joiner [Sun, 25 Feb 2024 06:00:16 +0000 (17:00 +1100)]
Add BitTorrent v2 fields, consts and reference torrents

3 months agoLower use source and webseeding log levels
Matt Joiner [Thu, 22 Feb 2024 10:54:39 +0000 (21:54 +1100)]
Lower use source and webseeding log levels

3 months agoBuild possum inside test Dockerfile
Matt Joiner [Thu, 22 Feb 2024 07:57:38 +0000 (18:57 +1100)]
Build possum inside test Dockerfile

3 months agoAdd test case from issue #906
Matt Joiner [Thu, 22 Feb 2024 06:27:18 +0000 (17:27 +1100)]
Add test case from issue #906

3 months agoAdd possum storage
Matt Joiner [Thu, 22 Feb 2024 03:49:03 +0000 (14:49 +1100)]
Add possum storage

3 months agoAdd low level support for BEP 10 user protocols
Matt Joiner [Thu, 22 Feb 2024 03:36:47 +0000 (14:36 +1100)]
Add low level support for BEP 10 user protocols

3 months agoSupport operating when IPv6 isn't available
Matt Joiner [Thu, 22 Feb 2024 03:30:21 +0000 (14:30 +1100)]
Support operating when IPv6 isn't available

3 months agoshellcheck
Matt Joiner [Sun, 18 Feb 2024 04:20:26 +0000 (15:20 +1100)]
shellcheck

3 months agoMerge branch 'issue-905': Smart ban hash performance improvements
Matt Joiner [Tue, 20 Feb 2024 11:07:59 +0000 (22:07 +1100)]
Merge branch 'issue-905': Smart ban hash performance improvements

Fixes #905.

3 months agoTry to do smart ban block hashing without client lock
Matt Joiner [Sun, 18 Feb 2024 03:50:02 +0000 (14:50 +1100)]
Try to do smart ban block hashing without client lock

3 months agoWrite whole piece in BenchmarkConnectionMainReadLoop
Matt Joiner [Sun, 18 Feb 2024 02:39:48 +0000 (13:39 +1100)]
Write whole piece in BenchmarkConnectionMainReadLoop

This should reduce the scheduling overhead

3 months agoDisable writeChunk perf timer
Matt Joiner [Sun, 18 Feb 2024 01:59:59 +0000 (12:59 +1100)]
Disable writeChunk perf timer

3 months agoSwitch to xxHash for smartban cache
Matt Joiner [Sun, 18 Feb 2024 01:59:42 +0000 (12:59 +1100)]
Switch to xxHash for smartban cache

3 months agoInclude smart ban block recording in BenchmarkConnectionMainReadLoop
Matt Joiner [Sun, 18 Feb 2024 01:18:54 +0000 (12:18 +1100)]
Include smart ban block recording in BenchmarkConnectionMainReadLoop

3 months agoAdd smart ban hash benchmarks and reduce allocations
Matt Joiner [Sun, 18 Feb 2024 01:21:11 +0000 (12:21 +1100)]
Add smart ban hash benchmarks and reduce allocations

3 months agoOptimize request strategy for torrent storage with unlimited capacity
Matt Joiner [Thu, 8 Feb 2024 13:15:18 +0000 (00:15 +1100)]
Optimize request strategy for torrent storage with unlimited capacity

3 months agoGetRequestablePieces: remove runtime correctness check (#902)
Oleg Guba [Fri, 9 Feb 2024 04:44:09 +0000 (20:44 -0800)]
GetRequestablePieces: remove runtime correctness check (#902)

3 months agoMisc tidying
Matt Joiner [Thu, 8 Feb 2024 13:11:33 +0000 (00:11 +1100)]
Misc tidying

3 months agoRemove unused request strategy chunk iter types
Matt Joiner [Thu, 8 Feb 2024 08:51:57 +0000 (19:51 +1100)]
Remove unused request strategy chunk iter types

3 months agoStay interested when the peer has pieces we don't have
Matt Joiner [Thu, 8 Feb 2024 07:07:32 +0000 (18:07 +1100)]
Stay interested when the peer has pieces we don't have

3 months agoRestore request strategy Torrent.Piece use, without a heap allocation
Matt Joiner [Thu, 8 Feb 2024 06:58:12 +0000 (17:58 +1100)]
Restore request strategy Torrent.Piece use, without a heap allocation

3 months agoSave extra http Request alloc in webseed request
Matt Joiner [Wed, 7 Feb 2024 02:56:49 +0000 (13:56 +1100)]
Save extra http Request alloc in webseed request

4 months agoRename exported Peer and PeerConn receivers
Matt Joiner [Tue, 16 Jan 2024 09:15:14 +0000 (20:15 +1100)]
Rename exported Peer and PeerConn receivers

4 months agoFix race in ExportStatusWriter
Matt Joiner [Fri, 19 Jan 2024 05:35:36 +0000 (16:35 +1100)]
Fix race in ExportStatusWriter

4 months agotorrent.KnownSwarm: keep client lock when iterating over connections (#893)
Oleg Guba [Wed, 17 Jan 2024 11:06:31 +0000 (03:06 -0800)]
torrent.KnownSwarm: keep client lock when iterating over connections (#893)

4 months agoRetract versions affected by indefinite outgoing requests bug
Matt Joiner [Mon, 15 Jan 2024 06:03:05 +0000 (17:03 +1100)]
Retract versions affected by indefinite outgoing requests bug

4 months agoFix anacrolix/torrent version detection
Matt Joiner [Mon, 15 Jan 2024 03:51:13 +0000 (14:51 +1100)]
Fix anacrolix/torrent version detection

Still doesn't work for devel builds of main however.

https://github.com/anacrolix/torrent/issues/889#issuecomment-1891242553

4 months agoAdd missing return to avoiding filling slow write buffer
Matt Joiner [Mon, 15 Jan 2024 02:26:07 +0000 (13:26 +1100)]
Add missing return to avoiding filling slow write buffer

4 months agoBreak up long condition expression
Matt Joiner [Mon, 15 Jan 2024 01:44:33 +0000 (12:44 +1100)]
Break up long condition expression

4 months agoExpect cancel acknowledgement from Transmission v4 clients
Matt Joiner [Mon, 15 Jan 2024 01:43:55 +0000 (12:43 +1100)]
Expect cancel acknowledgement from Transmission v4 clients

4 months agoFix requests still being made when downloading is disallowed
Matt Joiner [Mon, 15 Jan 2024 01:55:04 +0000 (12:55 +1100)]
Fix requests still being made when downloading is disallowed

https://github.com/anacrolix/torrent/issues/889

4 months agoUpdate anacrolix/log
Matt Joiner [Mon, 15 Jan 2024 01:23:04 +0000 (12:23 +1100)]
Update anacrolix/log

4 months agoRearrange a few methods on the correct receivers
Matt Joiner [Tue, 9 Jan 2024 04:51:23 +0000 (15:51 +1100)]
Rearrange a few methods on the correct receivers

5 months agoBump golang.org/x/crypto from 0.5.0 to 0.17.0 (#885)
dependabot[bot] [Sat, 23 Dec 2023 11:25:13 +0000 (22:25 +1100)]
Bump golang.org/x/crypto from 0.5.0 to 0.17.0 (#885)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.5.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.5.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5 months agoUse fixed width for example commands
Matt Joiner [Sun, 10 Dec 2023 12:32:25 +0000 (23:32 +1100)]
Use fixed width for example commands

5 months agoAdd more downstream projects
Matt Joiner [Sun, 10 Dec 2023 12:32:03 +0000 (23:32 +1100)]
Add more downstream projects

5 months agoTorrent.WebseedPeerConns() method (#883)
Alex Sharov [Mon, 4 Dec 2023 11:31:34 +0000 (18:31 +0700)]
Torrent.WebseedPeerConns() method (#883)

7 months agoDrop support for go 1.20 master
Matt Joiner [Tue, 10 Oct 2023 08:49:39 +0000 (19:49 +1100)]
Drop support for go 1.20

7 months agoDon't run fs tests on Windows
Matt Joiner [Tue, 10 Oct 2023 08:28:50 +0000 (19:28 +1100)]
Don't run fs tests on Windows

7 months agogo mod tidy
Matt Joiner [Mon, 9 Oct 2023 11:53:34 +0000 (22:53 +1100)]
go mod tidy

8 months agoUpdate to multiple-blobs-per-value squirrel
Matt Joiner [Fri, 29 Sep 2023 04:48:11 +0000 (14:48 +1000)]
Update to multiple-blobs-per-value squirrel

8 months agogorond
Matt Joiner [Tue, 26 Sep 2023 12:20:46 +0000 (22:20 +1000)]
gorond

8 months agoAdd testdata/The-Fanimatrix-(DivX-5.1-HQ).avi.torrent
Matt Joiner [Tue, 26 Sep 2023 12:20:34 +0000 (22:20 +1000)]
Add testdata/The-Fanimatrix-(DivX-5.1-HQ).avi.torrent

It's such a classic torrent. It should be integrated into some tests.

8 months agoSupport scraping from HTTP trackers
Matt Joiner [Tue, 26 Sep 2023 12:19:51 +0000 (22:19 +1000)]
Support scraping from HTTP trackers

8 months agoMerge fs module back into the root module
Matt Joiner [Mon, 25 Sep 2023 11:34:22 +0000 (21:34 +1000)]
Merge fs module back into the root module

It was a dumb idea. Go doesn't want to be modularized anyway.

8 months agoRaise log level for failure to mark piece complete
Matt Joiner [Mon, 25 Sep 2023 11:30:07 +0000 (21:30 +1000)]
Raise log level for failure to mark piece complete

8 months agoDon't do client transfer tests in parallel
Matt Joiner [Mon, 25 Sep 2023 11:29:08 +0000 (21:29 +1000)]
Don't do client transfer tests in parallel

This should make them a lot less flaky.

8 months agoBuffer metainfo loads from files
Matt Joiner [Sat, 16 Sep 2023 03:48:36 +0000 (13:48 +1000)]
Buffer metainfo loads from files

8 months agoBump CI 1.19 go versions to 1.21
Matt Joiner [Thu, 14 Sep 2023 12:58:31 +0000 (22:58 +1000)]
Bump CI 1.19 go versions to 1.21

8 months agoAlso change go requirement for fs module
Matt Joiner [Thu, 14 Sep 2023 12:57:46 +0000 (22:57 +1000)]
Also change go requirement for fs module

8 months agoChange go requirement to 1.20 from 1.21
Matt Joiner [Thu, 14 Sep 2023 12:49:32 +0000 (22:49 +1000)]
Change go requirement to 1.20 from 1.21

Should implement https://github.com/anacrolix/torrent/pull/868 effectively.

8 months agoConfigurable hashers amount per torrent (#867)
Alex Sharov [Wed, 13 Sep 2023 11:15:36 +0000 (18:15 +0700)]
Configurable hashers amount per torrent (#867)

8 months agoFix request heap pop bug
Matt Joiner [Mon, 11 Sep 2023 00:10:13 +0000 (10:10 +1000)]
Fix request heap pop bug

Missed in the changed interface from 613470861e67fdb11c9661930f3490cba0aa19b2. Caused very poor performance. Thanks to @AskAlexSharov for raising the flag in https://github.com/anacrolix/torrent/issues/859#issuecomment-1706059960.

8 months agoUpdate logger usage for received reject messages
Matt Joiner [Sun, 10 Sep 2023 11:29:43 +0000 (21:29 +1000)]
Update logger usage for received reject messages

8 months agoDrop anacrolix/squirrel cache blob usage
Matt Joiner [Mon, 11 Sep 2023 00:04:30 +0000 (10:04 +1000)]
Drop anacrolix/squirrel cache blob usage

8 months agoHandle torrentfs failure in test.sh
Matt Joiner [Fri, 8 Sep 2023 02:41:20 +0000 (12:41 +1000)]
Handle torrentfs failure in test.sh

8 months agoStop benchmark timer before initial run
Matt Joiner [Fri, 8 Sep 2023 01:47:00 +0000 (11:47 +1000)]
Stop benchmark timer before initial run

8 months agoMerge branch 'fuse-t'
Matt Joiner [Tue, 5 Sep 2023 09:03:24 +0000 (19:03 +1000)]
Merge branch 'fuse-t'

8 months agoSwitch to github.com/go-llsqlite/adapter
Matt Joiner [Tue, 5 Sep 2023 08:19:21 +0000 (18:19 +1000)]
Switch to github.com/go-llsqlite/adapter

9 months agoUpdate file_handle.go (#860)
Frederick Robinson [Wed, 23 Aug 2023 21:59:32 +0000 (14:59 -0700)]
Update file_handle.go (#860)

9 months agoFix race in webseed requester sleep duration calculation
Matt Joiner [Tue, 22 Aug 2023 02:45:24 +0000 (12:45 +1000)]
Fix race in webseed requester sleep duration calculation

9 months agoAdd ClientConfig.WebTransport
Matt Joiner [Tue, 22 Aug 2023 02:44:49 +0000 (12:44 +1000)]
Add ClientConfig.WebTransport

9 months agoNote that torrent.Reader is not concurrent-safe
Matt Joiner [Thu, 17 Aug 2023 08:14:46 +0000 (18:14 +1000)]
Note that torrent.Reader is not concurrent-safe

9 months agoDitch lispad/go-generics-tools for anacrolix/generics/heap
Matt Joiner [Wed, 16 Aug 2023 10:51:52 +0000 (20:51 +1000)]
Ditch lispad/go-generics-tools for anacrolix/generics/heap

Fixes https://github.com/anacrolix/torrent/issues/859

9 months agofs: Use a new torrent file reader per handled request
Matt Joiner [Wed, 16 Aug 2023 06:47:54 +0000 (16:47 +1000)]
fs: Use a new torrent file reader per handled request

FUSE-T reuses file handles and issues multiple concurrent reads

9 months agofs/cmd/torrentfs: Mount read-only
Matt Joiner [Wed, 16 Aug 2023 06:38:58 +0000 (16:38 +1000)]
fs/cmd/torrentfs: Mount read-only

9 months agofs: Return file permissions for root node
Matt Joiner [Wed, 16 Aug 2023 06:38:04 +0000 (16:38 +1000)]
fs: Return file permissions for root node

FUSE-T doesn't imply them like other backends.

9 months agofs/cmd/torrentfs: Add main logger
Matt Joiner [Wed, 16 Aug 2023 06:37:28 +0000 (16:37 +1000)]
fs/cmd/torrentfs: Add main logger

9 months agoRemove unnecessary use of SO_REUSEPORT
Matt Joiner [Mon, 14 Aug 2023 01:38:47 +0000 (11:38 +1000)]
Remove unnecessary use of SO_REUSEPORT

Fixes https://github.com/anacrolix/torrent/discussions/856.

9 months agoAdd cove to downstream projects
Matt Joiner [Mon, 14 Aug 2023 04:39:24 +0000 (14:39 +1000)]
Add cove to downstream projects

10 months agoRemove torrentfs-macos job from CI
Matt Joiner [Sun, 23 Jul 2023 06:09:21 +0000 (16:09 +1000)]
Remove torrentfs-macos job from CI

10 months agoIgnore torrentfs-macos CI errors
Matt Joiner [Sun, 23 Jul 2023 06:08:19 +0000 (16:08 +1000)]
Ignore torrentfs-macos CI errors

10 months agofix: torrent file real time completed bytes
liwei [Sat, 22 Jul 2023 16:30:45 +0000 (00:30 +0800)]
fix: torrent file real time completed bytes

10 months agoGet go-libutp fix for go1.21
Matt Joiner [Sun, 23 Jul 2023 06:05:51 +0000 (16:05 +1000)]
Get go-libutp fix for go1.21

10 months agofix: udp tracker panic
liwei [Tue, 4 Jul 2023 10:45:40 +0000 (18:45 +0800)]
fix: udp tracker panic

10 months agochore: remove refs to deprecated io/ioutil
guoguangwu [Sun, 9 Jul 2023 05:29:02 +0000 (13:29 +0800)]
chore: remove refs to deprecated io/ioutil

10 months agochore: unnecessary use of fmt.Sprintf
guoguangwu [Sun, 9 Jul 2023 05:33:05 +0000 (13:33 +0800)]
chore: unnecessary use of fmt.Sprintf

11 months agoAdd sqlite storage build conditions to sqlite storage closed test
Matt Joiner [Tue, 27 Jun 2023 01:36:54 +0000 (11:36 +1000)]
Add sqlite storage build conditions to sqlite storage closed test

Should fix test build failure to build when CGO is disabled.

11 months agoFix error unmarshalling bad metainfo nodes field
Matt Joiner [Mon, 26 Jun 2023 09:48:23 +0000 (19:48 +1000)]
Fix error unmarshalling bad metainfo nodes field

11 months agoTest and fix closed sqlite storage panicking during piece hashing
Matt Joiner [Mon, 26 Jun 2023 00:24:06 +0000 (10:24 +1000)]
Test and fix closed sqlite storage panicking during piece hashing

11 months agoFix UseSources panicking when sqlite storage is closed
Matt Joiner [Fri, 23 Jun 2023 12:14:38 +0000 (22:14 +1000)]
Fix UseSources panicking when sqlite storage is closed

11 months agoLog bad tracker URL error
Matt Joiner [Tue, 6 Jun 2023 00:40:15 +0000 (10:40 +1000)]
Log bad tracker URL error

12 months agoFix incorrect EOF when decoding some peer protocol message types
Matt Joiner [Mon, 29 May 2023 09:01:01 +0000 (19:01 +1000)]
Fix incorrect EOF when decoding some peer protocol message types

Hooray for pedantic fuzz tests. This was found through peer_protocol/FuzzDecoder, when I wrote a go-fuzz-all wrapper.

It probably never caused a problem in production, as EOF would be handled as stream termination anyway, but it isn't clean.

12 months agoReintroduce torrent-wide PEX throttling
Matt Joiner [Wed, 24 May 2023 02:11:10 +0000 (12:11 +1000)]
Reintroduce torrent-wide PEX throttling

https://github.com/anacrolix/torrent/discussions/836

12 months agoRun torrentfs CI on macos
Matt Joiner [Sun, 28 May 2023 03:51:16 +0000 (13:51 +1000)]
Run torrentfs CI on macos

12 months agoAttribute accepted connection to holepunching when connect message is late
Matt Joiner [Sun, 28 May 2023 03:34:58 +0000 (13:34 +1000)]
Attribute accepted connection to holepunching when connect message is late

Also perform holepunch metric adjustments sooner to reduce timing issues in tests.

12 months agofs/test.sh: Handle torrentfs failures synchronously
Matt Joiner [Sun, 28 May 2023 03:52:50 +0000 (13:52 +1000)]
fs/test.sh: Handle torrentfs failures synchronously