]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
3 months agoImprove segment handling for discontiguous extents
Matt Joiner [Sat, 2 Mar 2024 02:00:28 +0000 (13:00 +1100)]
Improve segment handling for discontiguous extents

3 months agoFix file storage segments for v2 torrents
Matt Joiner [Fri, 1 Mar 2024 12:54:56 +0000 (23:54 +1100)]
Fix file storage segments for v2 torrents

3 months agoMisc improvements
Matt Joiner [Fri, 1 Mar 2024 12:40:05 +0000 (23:40 +1100)]
Misc improvements

3 months agoImplement reading piece hashes from peers
Matt Joiner [Fri, 1 Mar 2024 03:42:22 +0000 (14:42 +1100)]
Implement reading piece hashes from peers

3 months agoImplement decoding hash request, reject and hashes
Matt Joiner [Fri, 1 Mar 2024 03:22:41 +0000 (14:22 +1100)]
Implement decoding hash request, reject and hashes

3 months agoSend hash requests for missing v2 hashes
Matt Joiner [Thu, 29 Feb 2024 13:11:13 +0000 (00:11 +1100)]
Send hash requests for missing v2 hashes

3 months agoAnnounce to both v1 and v2 swarms
Matt Joiner [Wed, 28 Feb 2024 08:19:16 +0000 (19:19 +1100)]
Announce to both v1 and v2 swarms

3 months agoFix metainfo.Piece.Length for v2 torrents
Matt Joiner [Tue, 27 Feb 2024 13:15:40 +0000 (00:15 +1100)]
Fix metainfo.Piece.Length for v2 torrents

3 months agoWarn on unhandled v2 protocol messages
Matt Joiner [Tue, 27 Feb 2024 12:31:43 +0000 (23:31 +1100)]
Warn on unhandled v2 protocol messages

3 months agov2 torrent piece hashing
Matt Joiner [Tue, 27 Feb 2024 12:31:29 +0000 (23:31 +1100)]
v2 torrent piece hashing

3 months agoGet infohash selection working when adding v2 torrents
Matt Joiner [Tue, 27 Feb 2024 12:30:53 +0000 (23:30 +1100)]
Get infohash selection working when adding v2 torrents

3 months agoMerkle hashing and v2 file handling
Matt Joiner [Mon, 26 Feb 2024 06:35:14 +0000 (17:35 +1100)]
Merkle hashing and v2 file handling

3 months agoAdd BEP 47 extended file attributes fields
Matt Joiner [Sun, 25 Feb 2024 22:28:58 +0000 (09:28 +1100)]
Add BEP 47 extended file attributes fields

3 months agoAdd MagnetV2 and infohash_v2
Matt Joiner [Tue, 27 Feb 2024 00:06:17 +0000 (11:06 +1100)]
Add MagnetV2 and infohash_v2

3 months agoCI: Just build on 386
Matt Joiner [Wed, 28 Feb 2024 04:53:03 +0000 (15:53 +1100)]
CI: Just build on 386

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