]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
3 months agoLimit webseeds by host and reduce default to 5 per Client
Matt Joiner [Wed, 4 Jun 2025 00:39:35 +0000 (10:39 +1000)]
Limit webseeds by host and reduce default to 5 per Client

3 months agoRemove internal/panicif
Matt Joiner [Wed, 4 Jun 2025 00:25:37 +0000 (10:25 +1000)]
Remove internal/panicif

3 months agoMove expvars into expvar.go
Matt Joiner [Wed, 4 Jun 2025 00:24:56 +0000 (10:24 +1000)]
Move expvars into expvar.go

3 months agoInstall fuse-t on macos CI and use the Go unit test instead of fs/test.sh
Matt Joiner [Tue, 3 Jun 2025 11:12:32 +0000 (21:12 +1000)]
Install fuse-t on macos CI and use the Go unit test instead of fs/test.sh

3 months agoFix unique defers for unary functions
Matt Joiner [Tue, 3 Jun 2025 11:03:12 +0000 (21:03 +1000)]
Fix unique defers for unary functions

3 months agoAdd Go version of fs/test.sh
Matt Joiner [Tue, 3 Jun 2025 11:02:04 +0000 (21:02 +1000)]
Add Go version of fs/test.sh

3 months agoAdd panic when defer occurs during unlock
Matt Joiner [Mon, 2 Jun 2025 04:55:23 +0000 (14:55 +1000)]
Add panic when defer occurs during unlock

Will help debug if it occurs

3 months agoFix test Dockerfile
Matt Joiner [Mon, 2 Jun 2025 04:55:00 +0000 (14:55 +1000)]
Fix test Dockerfile

3 months agoFix race in TestPeerConnEstablished
Matt Joiner [Mon, 2 Jun 2025 04:54:22 +0000 (14:54 +1000)]
Fix race in TestPeerConnEstablished

3 months agoGuess at Windows link flags because I can't get a local build system working
Matt Joiner [Mon, 2 Jun 2025 03:25:05 +0000 (13:25 +1000)]
Guess at Windows link flags because I can't get a local build system working

3 months agoCI: Run fs/test.sh on native arch
Matt Joiner [Fri, 30 May 2025 09:20:22 +0000 (19:20 +1000)]
CI: Run fs/test.sh on native arch

3 months agoRemove unnecessary CGO_LDFLAGS in CI
Matt Joiner [Fri, 30 May 2025 08:47:25 +0000 (18:47 +1000)]
Remove unnecessary CGO_LDFLAGS in CI

3 months agoDisable part files for an old benchmark
Matt Joiner [Fri, 30 May 2025 04:08:06 +0000 (14:08 +1000)]
Disable part files for an old benchmark

3 months agoAdd some synchronization on partial file renames
Matt Joiner [Fri, 30 May 2025 03:50:32 +0000 (13:50 +1000)]
Add some synchronization on partial file renames

3 months agoNotes on cross-torrent request priority
Matt Joiner [Thu, 29 May 2025 08:43:09 +0000 (18:43 +1000)]
Notes on cross-torrent request priority

3 months agoPanic if renaming from and to same file
Matt Joiner [Thu, 29 May 2025 08:42:57 +0000 (18:42 +1000)]
Panic if renaming from and to same file

3 months agoPanic if request piece being marked
Matt Joiner [Thu, 29 May 2025 08:42:47 +0000 (18:42 +1000)]
Panic if request piece being marked

3 months agoIt's not an error if the write file does not exist after trying to rename from the...
Matt Joiner [Thu, 29 May 2025 07:43:01 +0000 (17:43 +1000)]
It's not an error if the write file does not exist after trying to rename from the read file

3 months agoexclRenameIfExists: Restore Stat from and and minor tweaks
Matt Joiner [Thu, 29 May 2025 07:44:28 +0000 (17:44 +1000)]
exclRenameIfExists: Restore Stat from and and minor tweaks

3 months agoNotes on webseed performance improvements
Matt Joiner [Thu, 29 May 2025 07:37:45 +0000 (17:37 +1000)]
Notes on webseed performance improvements

3 months agoDisable shared file reader for now
Matt Joiner [Thu, 29 May 2025 06:10:32 +0000 (16:10 +1000)]
Disable shared file reader for now

3 months agoFix data race in memory piece completion. iters FTL
Matt Joiner [Wed, 28 May 2025 15:23:26 +0000 (01:23 +1000)]
Fix data race in memory piece completion. iters FTL

3 months agoFix some file permission issues
Matt Joiner [Wed, 28 May 2025 05:26:49 +0000 (15:26 +1000)]
Fix some file permission issues

3 months agoReorder exclusive rename operations in file storage
Matt Joiner [Wed, 28 May 2025 05:26:18 +0000 (15:26 +1000)]
Reorder exclusive rename operations in file storage

3 months agoUse local possum submodule without extra env
Matt Joiner [Wed, 28 May 2025 05:25:17 +0000 (15:25 +1000)]
Use local possum submodule without extra env

3 months agoPrevent concurrent piece marking
Matt Joiner [Tue, 27 May 2025 14:29:39 +0000 (00:29 +1000)]
Prevent concurrent piece marking

3 months agoEnforce bad integer division math
Matt Joiner [Tue, 27 May 2025 14:29:13 +0000 (00:29 +1000)]
Enforce bad integer division math

3 months agoDerive PeerConn logger from Torrent after setTorrent
Matt Joiner [Tue, 27 May 2025 14:28:46 +0000 (00:28 +1000)]
Derive PeerConn logger from Torrent after setTorrent

3 months agoFix "sources" concurrency
Matt Joiner [Tue, 27 May 2025 14:27:44 +0000 (00:27 +1000)]
Fix "sources" concurrency

3 months agoRemove unused sources logger
Matt Joiner [Tue, 27 May 2025 07:53:25 +0000 (17:53 +1000)]
Remove unused sources logger

3 months agoFix panic in Client.WriteStatus if info isn't available
Matt Joiner [Tue, 27 May 2025 07:52:24 +0000 (17:52 +1000)]
Fix panic in Client.WriteStatus if info isn't available

3 months agoResolve deps
Matt Joiner [Mon, 26 May 2025 14:53:51 +0000 (00:53 +1000)]
Resolve deps

3 months agoAdd optimized in-memory PieceCompletion.GetRange
Matt Joiner [Mon, 26 May 2025 14:29:07 +0000 (00:29 +1000)]
Add optimized in-memory PieceCompletion.GetRange

3 months agoFix logging fmt error
Matt Joiner [Mon, 26 May 2025 14:28:29 +0000 (00:28 +1000)]
Fix logging fmt error

3 months agoSort torrents in client status by completion for easier debugging
Matt Joiner [Mon, 26 May 2025 14:28:09 +0000 (00:28 +1000)]
Sort torrents in client status by completion for easier debugging

3 months agoTidy up some storage logging
Matt Joiner [Mon, 26 May 2025 08:39:21 +0000 (18:39 +1000)]
Tidy up some storage logging

3 months agoMinor storage tweaks
Matt Joiner [Mon, 26 May 2025 07:13:35 +0000 (17:13 +1000)]
Minor storage tweaks

3 months agoDon't warn on announce failure when torrent closes
Matt Joiner [Mon, 26 May 2025 06:51:48 +0000 (16:51 +1000)]
Don't warn on announce failure when torrent closes

3 months agoAdd file handle caching
Matt Joiner [Mon, 26 May 2025 06:51:32 +0000 (16:51 +1000)]
Add file handle caching

3 months agoUse newer go-llsqlite/crawshaw with the build time improvement
Matt Joiner [Mon, 26 May 2025 06:50:52 +0000 (16:50 +1000)]
Use newer go-llsqlite/crawshaw with the build time improvement

3 months agoRearrange file storage code
Matt Joiner [Fri, 23 May 2025 04:53:54 +0000 (14:53 +1000)]
Rearrange file storage code

Needed because complex refactors and optional interfaces get tricky to reason about without good organization.

3 months agoPiece.WriteTo wrap Piece.NewReader
Matt Joiner [Fri, 23 May 2025 04:46:48 +0000 (14:46 +1000)]
Piece.WriteTo wrap Piece.NewReader

3 months agoReorder spawn requests conditions
Matt Joiner [Fri, 23 May 2025 04:41:12 +0000 (14:41 +1000)]
Reorder spawn requests conditions

Should just be faster

3 months agoFix data race on webseedRequest.next
Matt Joiner [Fri, 23 May 2025 04:40:49 +0000 (14:40 +1000)]
Fix data race on webseedRequest.next

3 months agoDerive initial completion from part files by default
Matt Joiner [Fri, 23 May 2025 04:40:18 +0000 (14:40 +1000)]
Derive initial completion from part files by default

3 months agoRearrange hashing so goroutines are reused
Matt Joiner [Fri, 23 May 2025 04:38:50 +0000 (14:38 +1000)]
Rearrange hashing so goroutines are reused

3 months agoAdd IgnoreUnverifiedPieceCompletion and move fields to AddTorrentOpts
Matt Joiner [Wed, 21 May 2025 05:22:33 +0000 (15:22 +1000)]
Add IgnoreUnverifiedPieceCompletion and move fields to AddTorrentOpts

3 months agoUpdate request reason rejigging
Matt Joiner [Wed, 21 May 2025 02:44:55 +0000 (12:44 +1000)]
Update request reason rejigging

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.