]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
7 days agocmd/btrtrc client btrtrc
Sergey Matveev [Thu, 20 Apr 2023 07:42:38 +0000 (10:42 +0300)]
cmd/btrtrc client

8 days agoMerge pull request #936 from anacrolix/ci_up
Alex Sharov [Thu, 25 Apr 2024 07:23:58 +0000 (14:23 +0700)]
Merge pull request #936 from anacrolix/ci_up

CI: upgrade `actions/checkout`

8 days agoMerge pull request #935 from anacrolix/dependabot/go_modules/tests/issue-930/golang...
Alex Sharov [Thu, 25 Apr 2024 06:03:20 +0000 (13:03 +0700)]
Merge pull request #935 from anacrolix/dependabot/go_modules/tests/issue-930/golang.org/x/net-0.23.0

Bump golang.org/x/net from 0.10.0 to 0.23.0 in /tests/issue-930

8 days agosave
alex.sharov [Thu, 25 Apr 2024 05:56:29 +0000 (12:56 +0700)]
save

8 days agoOptimize memory usage by avoiding intermediate buffer in message serialization (...
Luo Zhengjie [Thu, 25 Apr 2024 05:19:54 +0000 (13:19 +0800)]
Optimize memory usage by avoiding intermediate buffer in message serialization (#928)

* Optimize memory usage by avoiding intermediate buffer in message serialization

This commit replaces the use of an intermediate buffer in the message serialization process with a direct write-to-buffer approach. The original implementation used MustMarshalBinary() which involved an extra memory copy to an intermediate buffer before writing to the final writeBuffer, leading to high memory consumption for large messages. The new WriteTo function writes message data directly to the writeBuffer, significantly reducing memory overhead and CPU time spent on garbage collection.

* add benchmark for write

* benchmark for 1M/4M/8M

* Tidy up new benchmarks

* Maintain older payload write implementation

---------

Co-authored-by: luozhengjie.lzj <luozhengjie.lzj@alibaba-inc.com>
Co-authored-by: Matt Joiner <anacrolix@gmail.com>
8 days agoPull zig cross compile fixes for go-llsqlite/crawshaw
Matt Joiner [Thu, 25 Apr 2024 03:54:37 +0000 (13:54 +1000)]
Pull zig cross compile fixes for go-llsqlite/crawshaw

8 days agoBump golang.org/x/net from 0.10.0 to 0.23.0 in /tests/issue-930
dependabot[bot] [Thu, 25 Apr 2024 03:52:23 +0000 (03:52 +0000)]
Bump golang.org/x/net from 0.10.0 to 0.23.0 in /tests/issue-930

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.10.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.10.0...v0.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
8 days agoAdd envpprof to issue-930 test
Matt Joiner [Sat, 20 Apr 2024 00:56:59 +0000 (10:56 +1000)]
Add envpprof to issue-930 test

8 days agoAdd issue-930 demo
Matt Joiner [Fri, 19 Apr 2024 23:58:11 +0000 (09:58 +1000)]
Add issue-930 demo

9 days agoMerge pull request #933 from erigontech/body_close_simplify
Alex Sharov [Wed, 24 Apr 2024 09:12:43 +0000 (16:12 +0700)]
Merge pull request #933 from erigontech/body_close_simplify

Webseed Client - Close body in same go routine as request

12 days agoclose body in same go routine as request
Mark Holt [Sun, 21 Apr 2024 10:49:49 +0000 (11:49 +0100)]
close body in same go routine as request

13 days agoRemove unused pendingRequests
Matt Joiner [Fri, 19 Apr 2024 23:32:52 +0000 (09:32 +1000)]
Remove unused pendingRequests

Includes a large global allocation that we don't need.

https://github.com/anacrolix/torrent/issues/930#issuecomment-2066055987

13 days agoAdd Mangayomi to downstream projects
Matt Joiner [Fri, 19 Apr 2024 23:25:12 +0000 (09:25 +1000)]
Add Mangayomi to downstream projects

https://github.com/anacrolix/torrent/issues/929#issuecomment-2067389032

13 days agoBump golang.org/x/net from 0.10.0 to 0.23.0 (#931)
dependabot[bot] [Fri, 19 Apr 2024 23:10:04 +0000 (09:10 +1000)]
Bump golang.org/x/net from 0.10.0 to 0.23.0 (#931)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.10.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.10.0...v0.23.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 weeks agoremove code repetition (#926)
Marco Vidonis [Thu, 4 Apr 2024 01:29:22 +0000 (02:29 +0100)]
remove code repetition (#926)

4 weeks agoSome fixes to tests/issue-798 main
Matt Joiner [Tue, 2 Apr 2024 07:22:05 +0000 (18:22 +1100)]
Some fixes to tests/issue-798 main

4 weeks agoDon't starve unverified bytes limit on unrequestable pieces
Matt Joiner [Tue, 2 Apr 2024 07:30:19 +0000 (18:30 +1100)]
Don't starve unverified bytes limit on unrequestable pieces

Solves issue described at https://github.com/anacrolix/torrent/discussions/916#discussioncomment-8970828.

4 weeks agoDon't starve unverified bytes limit on unrequestable pieces
Matt Joiner [Tue, 2 Apr 2024 07:21:22 +0000 (18:21 +1100)]
Don't starve unverified bytes limit on unrequestable pieces

4 weeks agoupdates test
Aritra Basu [Thu, 28 Mar 2024 09:27:33 +0000 (14:57 +0530)]
updates test

4 weeks agoAdd TestWebseedPartialSeed
Matt Joiner [Fri, 22 Mar 2024 04:27:30 +0000 (15:27 +1100)]
Add TestWebseedPartialSeed

4 weeks agoUse Option with request piece states cache
Matt Joiner [Tue, 2 Apr 2024 03:02:48 +0000 (14:02 +1100)]
Use Option with request piece states cache

4 weeks agoTidy up GetRequestablePieces variables
Matt Joiner [Tue, 2 Apr 2024 02:06:10 +0000 (13:06 +1100)]
Tidy up GetRequestablePieces variables

5 weeks agoSupport ICE servers auth (#920)
Marco Vidonis [Tue, 26 Mar 2024 09:42:08 +0000 (09:42 +0000)]
Support ICE servers auth (#920)

* change ICEServers type in config to Pion-defined type
This allows specifying credentials for access to servers,
in particular TURN servers.

* add legacy support for ICEServers as []string

5 weeks agoFix data race setting v2 piece hash
Matt Joiner [Mon, 25 Mar 2024 02:35:53 +0000 (13:35 +1100)]
Fix data race setting v2 piece hash

5 weeks agoSupport v2 hashes on files that don't have piece layers
Matt Joiner [Mon, 25 Mar 2024 02:35:35 +0000 (13:35 +1100)]
Support v2 hashes on files that don't have piece layers

5 weeks agocmd/torrent2: Add merkle subcommand
Matt Joiner [Mon, 25 Mar 2024 02:33:15 +0000 (13:33 +1100)]
cmd/torrent2: Add merkle subcommand

5 weeks agocmd/torrent metainfo magnet: Support v2 torrents
Matt Joiner [Mon, 25 Mar 2024 02:32:46 +0000 (13:32 +1100)]
cmd/torrent metainfo magnet: Support v2 torrents

5 weeks agoPad v1 piece hashes for v2 files
Matt Joiner [Sun, 24 Mar 2024 10:55:30 +0000 (21:55 +1100)]
Pad v1 piece hashes for v2 files

5 weeks agoAdd Jipok/torrent-webdav to README
Matt Joiner [Sun, 24 Mar 2024 00:02:16 +0000 (11:02 +1100)]
Add Jipok/torrent-webdav to README

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

6 weeks agoTorrent.AddPieceLayers: Fix data race
Matt Joiner [Fri, 22 Mar 2024 04:22:56 +0000 (15:22 +1100)]
Torrent.AddPieceLayers: Fix data race

6 weeks agoFix deadlocking panic when checking for v2 upgrade when receiving handshake
Matt Joiner [Fri, 22 Mar 2024 04:22:30 +0000 (15:22 +1100)]
Fix deadlocking panic when checking for v2 upgrade when receiving handshake

6 weeks agoSome logging improvements
Matt Joiner [Thu, 21 Mar 2024 23:51:35 +0000 (10:51 +1100)]
Some logging improvements

6 weeks agoSeparate some long lines
Matt Joiner [Thu, 21 Mar 2024 23:41:22 +0000 (10:41 +1100)]
Separate some long lines

6 weeks agoDocument use of the ExtensionBitV2Upgrade reserved bit
Matt Joiner [Thu, 21 Mar 2024 21:15:37 +0000 (08:15 +1100)]
Document use of the ExtensionBitV2Upgrade reserved bit

6 weeks agoUpdate PiecePriority
Matt Joiner [Thu, 21 Mar 2024 21:15:10 +0000 (08:15 +1100)]
Update PiecePriority

6 weeks agoImprove some internal piece priority naming
Matt Joiner [Wed, 20 Mar 2024 03:39:06 +0000 (14:39 +1100)]
Improve some internal piece priority naming

6 weeks agoExport PiecePriority
Matt Joiner [Wed, 20 Mar 2024 03:37:48 +0000 (14:37 +1100)]
Export PiecePriority

It's used in some public methods already anyway, so it was a mistake.

6 weeks agoFix downloading occurring without piece priority
Matt Joiner [Wed, 20 Mar 2024 03:26:34 +0000 (14:26 +1100)]
Fix downloading occurring without piece priority

6 weeks agoUpdate piece completion after setting v2 hash
Matt Joiner [Wed, 20 Mar 2024 03:03:33 +0000 (14:03 +1100)]
Update piece completion after setting v2 hash

6 weeks agoVerify piece layers while adding
Matt Joiner [Wed, 20 Mar 2024 03:03:22 +0000 (14:03 +1100)]
Verify piece layers while adding

6 weeks agoInclude piece layers in dynamically generated metainfo
Matt Joiner [Wed, 20 Mar 2024 03:02:41 +0000 (14:02 +1100)]
Include piece layers in dynamically generated metainfo

6 weeks agoImprove handling of v2 hashes
Matt Joiner [Wed, 20 Mar 2024 01:34:35 +0000 (12:34 +1100)]
Improve handling of v2 hashes

6 weeks agoFix up some logging
Matt Joiner [Wed, 20 Mar 2024 01:06:12 +0000 (12:06 +1100)]
Fix up some logging

6 weeks agoTrack v2 state in peer conn
Matt Joiner [Tue, 19 Mar 2024 04:21:48 +0000 (15:21 +1100)]
Track v2 state in peer conn

6 weeks agoSend v2 upgrade bit
Matt Joiner [Tue, 19 Mar 2024 04:20:54 +0000 (15:20 +1100)]
Send v2 upgrade bit

6 weeks agoDocument preference for metainfo.FileInfo.PathUtf8
Matt Joiner [Mon, 18 Mar 2024 05:09:01 +0000 (16:09 +1100)]
Document preference for metainfo.FileInfo.PathUtf8

6 weeks agofix: can not download invalid utf8 name with BestName and BestPath (#915)
Evrins Hu [Mon, 18 Mar 2024 05:15:40 +0000 (13:15 +0800)]
fix: can not download invalid utf8 name with BestName and BestPath (#915)

6 weeks agoDon't reinit gotMetainfoC when invalidating metadata
Matt Joiner [Mon, 18 Mar 2024 04:48:48 +0000 (15:48 +1100)]
Don't reinit gotMetainfoC when invalidating metadata

Fixes a data race.

7 weeks agoUpgrade anacrolix/squirrel away from bad version
Matt Joiner [Sat, 9 Mar 2024 23:41:04 +0000 (10:41 +1100)]
Upgrade anacrolix/squirrel away from bad version

7 weeks agoFix benchmark failures
Matt Joiner [Sat, 9 Mar 2024 23:39:27 +0000 (10:39 +1100)]
Fix benchmark failures

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

8 weeks 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

8 weeks 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

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

8 weeks 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

8 weeks 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

8 weeks 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

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

8 weeks 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

8 weeks 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

8 weeks 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

2 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

2 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

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

2 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

2 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

2 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

2 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

2 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

2 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

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

2 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

2 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

2 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

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

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

2 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

2 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

2 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

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

2 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

2 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

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

2 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

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

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

2 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

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

2 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

2 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

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

2 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

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

2 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

2 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

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

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

2 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

2 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