]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
15 months agoAdd PrefixDeleter support to ResourcePieces storage
Matt Joiner [Sat, 9 Mar 2024 23:29:05 +0000 (10:29 +1100)]
Add PrefixDeleter support to ResourcePieces storage

15 months agoNote about speeding possum storage up
Matt Joiner [Fri, 8 Mar 2024 05:59:16 +0000 (16:59 +1100)]
Note about speeding possum storage up

15 months agoSome tweaks for v1 and v2 short infohash handling
Matt Joiner [Wed, 6 Mar 2024 12:04:31 +0000 (23:04 +1100)]
Some tweaks for v1 and v2 short infohash handling

15 months agoTidy up
Matt Joiner [Wed, 6 Mar 2024 11:50:03 +0000 (22:50 +1100)]
Tidy up

15 months agoStorages that use piece hashes would panic with pure v2 torrents
Matt Joiner [Wed, 6 Mar 2024 11:49:48 +0000 (22:49 +1100)]
Storages that use piece hashes would panic with pure v2 torrents

15 months agoDon't close connection if they send unhandled BitTorrent v2 message
Matt Joiner [Wed, 6 Mar 2024 11:43:25 +0000 (22:43 +1100)]
Don't close connection if they send unhandled BitTorrent v2 message

15 months agoHandle v2 Torrents added by short infohash only
Matt Joiner [Wed, 6 Mar 2024 07:12:49 +0000 (18:12 +1100)]
Handle v2 Torrents added by short infohash only

15 months agoMerge branch 'bittorrent-v2'
Matt Joiner [Tue, 5 Mar 2024 07:13:45 +0000 (18:13 +1100)]
Merge branch 'bittorrent-v2'

15 months agoAdd seeder and files for issue #908
Matt Joiner [Thu, 29 Feb 2024 05:08:05 +0000 (16:08 +1100)]
Add seeder and files for issue #908

15 months agoUse UpvertedFiles instead of raw Info.Files in a few places
Matt Joiner [Mon, 4 Mar 2024 05:01:22 +0000 (16:01 +1100)]
Use UpvertedFiles instead of raw Info.Files in a few places

15 months agoAdd a timeout to fs tests in CI
Matt Joiner [Mon, 4 Mar 2024 05:00:47 +0000 (16:00 +1100)]
Add a timeout to fs tests in CI

15 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

15 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

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

15 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

15 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

15 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

15 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

15 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

15 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

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

15 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

15 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

15 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

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

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

15 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

15 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

15 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

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

15 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

15 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

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

15 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

15 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>
15 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

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

15 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

15 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.

15 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

15 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

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

15 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

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

15 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

15 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

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

15 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.

15 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

15 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

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

15 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

15 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

15 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

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

16 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)

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

16 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

16 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

16 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

16 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

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

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

16 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)

17 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

17 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

17 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

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

17 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

17 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

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

17 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

17 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>
18 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

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

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

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

20 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

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

20 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

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

20 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.

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

20 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.

20 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

20 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.

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

21 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

21 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

21 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.

21 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)

21 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.

21 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

21 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

21 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

21 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

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

21 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

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

21 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