]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
3 months agoExtra comment for File.Path
Matt Joiner [Wed, 21 May 2025 02:44:23 +0000 (12:44 +1000)]
Extra comment for File.Path

3 months agoPrevent webseed request update while receiving chunk
Matt Joiner [Wed, 21 May 2025 02:43:23 +0000 (12:43 +1000)]
Prevent webseed request update while receiving chunk

3 months agoAdd webseed response content length checks
Matt Joiner [Wed, 21 May 2025 02:42:26 +0000 (12:42 +1000)]
Add webseed response content length checks

3 months agoTrack num webseed requests, pause on webseed read errors
Matt Joiner [Wed, 21 May 2025 02:41:54 +0000 (12:41 +1000)]
Track num webseed requests, pause on webseed read errors

3 months agoCheck for changing deferred action counts
Matt Joiner [Wed, 21 May 2025 02:40:25 +0000 (12:40 +1000)]
Check for changing deferred action counts

3 months agoHave old Logger wrap Slogger if provided
Matt Joiner [Wed, 21 May 2025 02:40:04 +0000 (12:40 +1000)]
Have old Logger wrap Slogger if provided

3 months agoKeep webseed requests below client limit and update synchronously
Matt Joiner [Mon, 19 May 2025 04:52:25 +0000 (14:52 +1000)]
Keep webseed requests below client limit and update synchronously

3 months agoMove a few functions around
Matt Joiner [Mon, 19 May 2025 04:51:49 +0000 (14:51 +1000)]
Move a few functions around

3 months agoImprove metainfo pprinting since BT v2 support
Matt Joiner [Mon, 19 May 2025 04:50:28 +0000 (14:50 +1000)]
Improve metainfo pprinting since BT v2 support

4 months agoCorrections to CI
Matt Joiner [Fri, 16 May 2025 05:27:32 +0000 (15:27 +1000)]
Corrections to CI

4 months agoImplement multiple chunk reads for webseed
Matt Joiner [Fri, 16 May 2025 05:19:24 +0000 (15:19 +1000)]
Implement multiple chunk reads for webseed

4 months agoImprove Torrent slogger use
Matt Joiner [Fri, 16 May 2025 05:17:37 +0000 (15:17 +1000)]
Improve Torrent slogger use

4 months agoAdd acksCancels and rename _cancel
Matt Joiner [Thu, 15 May 2025 08:05:02 +0000 (18:05 +1000)]
Add acksCancels and rename _cancel

4 months agoMisc tidy
Matt Joiner [Thu, 15 May 2025 04:55:32 +0000 (14:55 +1000)]
Misc tidy

4 months agoAdd missing closed check in sqlite piece completion Get
Matt Joiner [Tue, 13 May 2025 13:11:35 +0000 (23:11 +1000)]
Add missing closed check in sqlite piece completion Get

4 months agoUpdate some file/piece helpers
Matt Joiner [Tue, 13 May 2025 11:42:52 +0000 (21:42 +1000)]
Update some file/piece helpers

4 months agoAdd a test for sizeof(Piece)
Matt Joiner [Tue, 13 May 2025 10:45:24 +0000 (20:45 +1000)]
Add a test for sizeof(Piece)

4 months agoRemove deprecated golangci configuration
Matt Joiner [Tue, 13 May 2025 10:44:34 +0000 (20:44 +1000)]
Remove deprecated golangci configuration

4 months agoRestructure things ready for new webseed algorithm
Matt Joiner [Tue, 13 May 2025 01:39:12 +0000 (11:39 +1000)]
Restructure things ready for new webseed algorithm

4 months agoRemove a bunch of unused stuff from linting
Matt Joiner [Tue, 13 May 2025 01:36:01 +0000 (11:36 +1000)]
Remove a bunch of unused stuff from linting

4 months agoRename request updating stuff to better fit how it's actually used in preparation...
Matt Joiner [Mon, 12 May 2025 23:26:39 +0000 (09:26 +1000)]
Rename request updating stuff to better fit how it's actually used in preparation for redoing webseeds

4 months agoGuard storage/possum behind cgo
Matt Joiner [Mon, 12 May 2025 11:35:03 +0000 (21:35 +1000)]
Guard storage/possum behind cgo

4 months agoFix static linking for Linux
Matt Joiner [Mon, 12 May 2025 09:59:12 +0000 (19:59 +1000)]
Fix static linking for Linux

4 months agoSkip GOARCH=386 test on darwin and try to minimize step outputs
Matt Joiner [Mon, 12 May 2025 07:49:43 +0000 (17:49 +1000)]
Skip GOARCH=386 test on darwin and try to minimize step outputs

4 months agoPull possible fuse fix for linux
Matt Joiner [Mon, 12 May 2025 07:39:36 +0000 (17:39 +1000)]
Pull possible fuse fix for linux

4 months agoOnly test with go1.24
Matt Joiner [Mon, 12 May 2025 07:10:20 +0000 (17:10 +1000)]
Only test with go1.24

4 months agoAdd just act
Matt Joiner [Mon, 12 May 2025 07:08:09 +0000 (17:08 +1000)]
Add just act

4 months agoFix broken file benchmark
Matt Joiner [Mon, 12 May 2025 07:03:29 +0000 (17:03 +1000)]
Fix broken file benchmark

4 months agoCheckout submodules
Matt Joiner [Mon, 12 May 2025 03:37:34 +0000 (13:37 +1000)]
Checkout submodules

4 months agoAdd LDFLAGS for possum
Matt Joiner [Mon, 12 May 2025 03:23:27 +0000 (13:23 +1000)]
Add LDFLAGS for possum

4 months agoInclude Rust toolchain
Matt Joiner [Mon, 12 May 2025 03:02:57 +0000 (13:02 +1000)]
Include Rust toolchain

4 months agogorond
Matt Joiner [Mon, 12 May 2025 02:20:36 +0000 (12:20 +1000)]
gorond

4 months agoAdd comment on gotMetainfoC
Matt Joiner [Mon, 12 May 2025 02:20:15 +0000 (12:20 +1000)]
Add comment on gotMetainfoC

4 months agoWow Zed AI actually passed my refactoring test
Matt Joiner [Mon, 12 May 2025 02:20:01 +0000 (12:20 +1000)]
Wow Zed AI actually passed my refactoring test

4 months agoReinit storage reader on read errors
Matt Joiner [Thu, 8 May 2025 06:01:43 +0000 (16:01 +1000)]
Reinit storage reader on read errors

4 months agoUse analog.Slogger by default so GO_LOG still works
Matt Joiner [Thu, 8 May 2025 05:51:21 +0000 (15:51 +1000)]
Use analog.Slogger by default so GO_LOG still works

4 months agoAdd missing return and tidy waitAvailable
Matt Joiner [Thu, 8 May 2025 05:50:56 +0000 (15:50 +1000)]
Add missing return and tidy waitAvailable

4 months agoFix some corner case chunk prefix handling
Matt Joiner [Wed, 7 May 2025 11:57:32 +0000 (21:57 +1000)]
Fix some corner case chunk prefix handling

4 months agoFinish the storage reader implementation
Matt Joiner [Wed, 7 May 2025 11:27:00 +0000 (21:27 +1000)]
Finish the storage reader implementation

4 months agoWork towards allowing optimized torrent storage readers
Matt Joiner [Mon, 28 Apr 2025 01:18:43 +0000 (11:18 +1000)]
Work towards allowing optimized torrent storage readers

4 months agoMove a few things around to save a bit of memory
Matt Joiner [Wed, 7 May 2025 09:37:57 +0000 (19:37 +1000)]
Move a few things around to save a bit of memory

4 months agoUpdate anacrolix/sync to reduce memory use
Matt Joiner [Wed, 7 May 2025 04:04:20 +0000 (14:04 +1000)]
Update anacrolix/sync to reduce memory use

4 months agoUse Extent.End method
Matt Joiner [Wed, 7 May 2025 03:59:49 +0000 (13:59 +1000)]
Use Extent.End method

4 months agoFix ReadAt after close on mmap span not returning
Matt Joiner [Wed, 7 May 2025 03:59:35 +0000 (13:59 +1000)]
Fix ReadAt after close on mmap span not returning

4 months agoRemove some recursive read locking
Matt Joiner [Wed, 7 May 2025 03:59:05 +0000 (13:59 +1000)]
Remove some recursive read locking

4 months agoRemove extra Torrent closed context goroutine for trackers
Matt Joiner [Wed, 7 May 2025 00:20:05 +0000 (10:20 +1000)]
Remove extra Torrent closed context goroutine for trackers

4 months agoHarden read/write part file ordering
Matt Joiner [Tue, 6 May 2025 23:37:25 +0000 (09:37 +1000)]
Harden read/write part file ordering

4 months agolint
Matt Joiner [Tue, 6 May 2025 23:36:47 +0000 (09:36 +1000)]
lint

4 months agoCreate webseed requester goroutines as required
Matt Joiner [Tue, 6 May 2025 23:36:33 +0000 (09:36 +1000)]
Create webseed requester goroutines as required

4 months agoAdd ClientConfig.Slogger
Matt Joiner [Tue, 6 May 2025 06:06:36 +0000 (16:06 +1000)]
Add ClientConfig.Slogger

4 months agoMerge branch 'master' into part-files
Matt Joiner [Tue, 6 May 2025 05:59:48 +0000 (15:59 +1000)]
Merge branch 'master' into part-files

4 months agoLower log level for peer upload read errors when Torrent is closed
Matt Joiner [Tue, 6 May 2025 02:17:36 +0000 (12:17 +1000)]
Lower log level for peer upload read errors when Torrent is closed

Fixes #980.

4 months agoRemove missing storage read test that no longer makes sense with part files
Matt Joiner [Tue, 29 Apr 2025 06:37:49 +0000 (16:37 +1000)]
Remove missing storage read test that no longer makes sense with part files

4 months agoRaise torrent source failure log level to Warning
Matt Joiner [Tue, 29 Apr 2025 06:22:15 +0000 (16:22 +1000)]
Raise torrent source failure log level to Warning

4 months agoAdd slog.Logger to trackerScraper
Matt Joiner [Tue, 29 Apr 2025 08:28:18 +0000 (18:28 +1000)]
Add slog.Logger to trackerScraper

4 months agoHandle downgrading part files
Matt Joiner [Tue, 29 Apr 2025 06:21:21 +0000 (16:21 +1000)]
Handle downgrading part files

4 months agoFix %T in log message that is no longer useful
Matt Joiner [Tue, 29 Apr 2025 03:17:48 +0000 (13:17 +1000)]
Fix %T in log message that is no longer useful

4 months agoFix overlapping torrent data in a test helper
Matt Joiner [Tue, 29 Apr 2025 03:17:25 +0000 (13:17 +1000)]
Fix overlapping torrent data in a test helper

4 months agoExtract file and dir perm constants
Matt Joiner [Tue, 29 Apr 2025 02:01:10 +0000 (12:01 +1000)]
Extract file and dir perm constants

4 months agocmd/torrent: Dump full Client stats after download
Matt Joiner [Tue, 29 Apr 2025 00:20:10 +0000 (10:20 +1000)]
cmd/torrent: Dump full Client stats after download

4 months agoStart implementing part file support for file storage
Matt Joiner [Fri, 25 Apr 2025 06:36:53 +0000 (16:36 +1000)]
Start implementing part file support for file storage

4 months agoRefactor Reader.readOnceAt
Matt Joiner [Mon, 28 Apr 2025 01:36:11 +0000 (11:36 +1000)]
Refactor Reader.readOnceAt

Looks like there was some errors that could be dropped.
We also handle a few corner cases and ReadAt returning 0 being handled non-canonically.

4 months agoUpdate requests when piece order changes if there's a storage cap
Matt Joiner [Mon, 28 Apr 2025 01:05:44 +0000 (11:05 +1000)]
Update requests when piece order changes if there's a storage cap

4 months agoStorage cap wasn't passed to piece resource implementation
Matt Joiner [Mon, 28 Apr 2025 00:42:00 +0000 (10:42 +1000)]
Storage cap wasn't passed to piece resource implementation

This breaks the tests, because it was actually masking bad behaviour.

4 months agoExpose PieceRequestOrder.Iter and PieceRequestOrderItem for debugging
Matt Joiner [Mon, 28 Apr 2025 00:33:59 +0000 (10:33 +1000)]
Expose PieceRequestOrder.Iter and PieceRequestOrderItem for debugging

4 months agoSwitch to github.com/anacrolix/fuse@v0.4.0
Matt Joiner [Mon, 28 Apr 2025 00:28:38 +0000 (10:28 +1000)]
Switch to github.com/anacrolix/fuse@v0.4.0

I'm sick of osxfuse asking about kext on macOS

4 months agoAdd Reader.SetContext to deprecated ReadContext
Matt Joiner [Mon, 28 Apr 2025 00:27:17 +0000 (10:27 +1000)]
Add Reader.SetContext to deprecated ReadContext

4 months agoComments and tidies
Matt Joiner [Mon, 28 Apr 2025 00:15:18 +0000 (10:15 +1000)]
Comments and tidies

4 months agoUse iters in a few places around segments and v2 file trees and ensure mmap storage...
Matt Joiner [Fri, 25 Apr 2025 05:04:47 +0000 (15:04 +1000)]
Use iters in a few places around segments and v2 file trees and ensure mmap storage has v2 compatible segment index

4 months agoReturn errors in mmap storage piece completion
Matt Joiner [Fri, 25 Apr 2025 01:46:07 +0000 (11:46 +1000)]
Return errors in mmap storage piece completion

4 months agogorond
Matt Joiner [Thu, 24 Apr 2025 13:08:59 +0000 (23:08 +1000)]
gorond

4 months agoAdd a few TODOs and fixes to trackerScraper
Matt Joiner [Thu, 24 Apr 2025 13:07:52 +0000 (23:07 +1000)]
Add a few TODOs and fixes to trackerScraper

4 months agoSet rate limiter bursts automatically if limit is not Inf
Matt Joiner [Thu, 24 Apr 2025 13:06:50 +0000 (23:06 +1000)]
Set rate limiter bursts automatically if limit is not Inf

4 months agoInclude torrent info hash as logger context text
Matt Joiner [Thu, 24 Apr 2025 13:06:15 +0000 (23:06 +1000)]
Include torrent info hash as logger context text

4 months agoAdd Request.String
Matt Joiner [Thu, 24 Apr 2025 13:05:42 +0000 (23:05 +1000)]
Add Request.String

4 months agoMake WebSeed max requests configurable
Matt Joiner [Thu, 24 Apr 2025 13:05:32 +0000 (23:05 +1000)]
Make WebSeed max requests configurable

4 months agoChange ClientConfig.MaxAllocPeerRequestDataPerConn to be an int
Matt Joiner [Thu, 24 Apr 2025 13:04:33 +0000 (23:04 +1000)]
Change ClientConfig.MaxAllocPeerRequestDataPerConn to be an int

4 months agoInclude incomplete torrent count in client status
Matt Joiner [Thu, 24 Apr 2025 13:03:50 +0000 (23:03 +1000)]
Include incomplete torrent count in client status

4 months agoFix dumpStats to reuse spew config
Matt Joiner [Thu, 24 Apr 2025 13:03:12 +0000 (23:03 +1000)]
Fix dumpStats to reuse spew config

4 months agoStrongly type client piece request order keys
Matt Joiner [Thu, 24 Apr 2025 13:08:38 +0000 (23:08 +1000)]
Strongly type client piece request order keys

4 months agoAdd new metrics and PeerStats
Matt Joiner [Thu, 17 Apr 2025 00:34:42 +0000 (10:34 +1000)]
Add new metrics and PeerStats

5 months agoAdd BytesHashed count and refactor for other Torrent-level counts
Matt Joiner [Wed, 9 Apr 2025 06:21:06 +0000 (16:21 +1000)]
Add BytesHashed count and refactor for other Torrent-level counts

5 months agocmd/torrent: Add verify and flag for large chunk uploads
Matt Joiner [Wed, 9 Apr 2025 09:45:53 +0000 (19:45 +1000)]
cmd/torrent: Add verify and flag for large chunk uploads

Fix nil deref if flag isn't provided

5 months agoAdd Torrent.VerifyDataContext
Matt Joiner [Wed, 9 Apr 2025 05:05:26 +0000 (15:05 +1000)]
Add Torrent.VerifyDataContext

5 months agoAdd infohash to torrent logger
Matt Joiner [Wed, 9 Apr 2025 05:03:36 +0000 (15:03 +1000)]
Add infohash to torrent logger

5 months agocmd/torrent: Switch to a status output more suited for lots of torrents
Matt Joiner [Wed, 9 Apr 2025 05:03:06 +0000 (15:03 +1000)]
cmd/torrent: Switch to a status output more suited for lots of torrents

5 months agoFix races in client tracker status event callback tests
Matt Joiner [Wed, 9 Apr 2025 02:40:53 +0000 (12:40 +1000)]
Fix races in client tracker status event callback tests

5 months agoAdd Piece.VerifyDataContext and improve piece VerifyData concurrency
Matt Joiner [Wed, 9 Apr 2025 02:27:19 +0000 (12:27 +1000)]
Add Piece.VerifyDataContext and improve piece VerifyData concurrency

5 months agogorond
Matt Joiner [Wed, 9 Apr 2025 02:25:34 +0000 (12:25 +1000)]
gorond

5 months agoSwitch client_test.go to go-quicktest/qt and add errTorrentClosed
Matt Joiner [Wed, 9 Apr 2025 02:24:45 +0000 (12:24 +1000)]
Switch client_test.go to go-quicktest/qt and add errTorrentClosed

5 months agocmd/torrent: Remove redundant signal notification
Matt Joiner [Wed, 9 Apr 2025 00:03:44 +0000 (10:03 +1000)]
cmd/torrent: Remove redundant signal notification

5 months agoPull possum fix for Go 1.24
Matt Joiner [Mon, 7 Apr 2025 03:02:09 +0000 (13:02 +1000)]
Pull possum fix for Go 1.24

5 months agocmd/torrent: Some log, ctx and error handling cleanup
Matt Joiner [Fri, 4 Apr 2025 05:21:23 +0000 (16:21 +1100)]
cmd/torrent: Some log, ctx and error handling cleanup

5 months agoExpose torrent Peer status updates (#987)
Marco Vidonis [Tue, 18 Mar 2025 23:29:32 +0000 (23:29 +0000)]
Expose torrent Peer status updates (#987)

* handle connection to torrent peer status update messages

* basic observer framework
* connects to a valid tracker
* added observer channel for announce status
* set up Peer Connection status Observers
* add PeerConn test: connection established
* added Observers factory method
* Added Event to AnnounceStatus, with embedded TrackerStatus
* state updates must be non-blocking
* add unit tests on PeerConn Observer status reading
* add test and debug log on dropped connection
* add PeerID check to test

---------

Co-authored-by: Parker Whittle <pwhittle@medicom.us>
* do not support webtorrent/transport_test on wasm

* make AnnounceStatus InfoHash into a HexString

* replace MakeMapIfNilAndSet

* add StatusUpdated to callbacks

* replace Observers on Peer Conn status with callbacks

* replace tracker status updates with callbacks

* replace tracker announce status updates with callbacks

* remove references to observers

* test callbacks in client-peerconn_test

* add check that all callbacks were called in peer connection test

* test callbacks in client-tracker_test

---------

Co-authored-by: Parker Whittle <pwhittle@medicom.us>
6 months agoupdates to actions/cache v3 (#1000)
Phil Cummins [Sun, 16 Mar 2025 11:34:53 +0000 (12:34 +0100)]
updates to actions/cache v3 (#1000)

Co-authored-by: Phil Cummins <philip.cummins@bsc.es>
6 months agoFix building go-libutp with C17 v1.58.1
Matt Joiner [Sun, 16 Feb 2025 01:22:40 +0000 (12:22 +1100)]
Fix building go-libutp with C17

Fixes #995

8 months agoWebSeed seems supported (#993)
Mitar [Sat, 28 Dec 2024 23:55:04 +0000 (00:55 +0100)]
WebSeed seems supported (#993)

10 months agoIgnore /.env v1.58.0
Matt Joiner [Thu, 17 Oct 2024 23:55:16 +0000 (10:55 +1100)]
Ignore /.env

I use this to set up CGO_LDFLAGS for possum

10 months agoAdd just check
Matt Joiner [Thu, 17 Oct 2024 23:54:02 +0000 (10:54 +1100)]
Add just check

10 months agoOnly apply WebRTC data channel write limit to webtorrent peer conns
Matt Joiner [Thu, 17 Oct 2024 23:57:59 +0000 (10:57 +1100)]
Only apply WebRTC data channel write limit to webtorrent peer conns