]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
5 months agoSeparate things in Peer that belong in PeerConn
Matt Joiner [Tue, 1 Jul 2025 03:28:58 +0000 (13:28 +1000)]
Separate things in Peer that belong in PeerConn

5 months agoStop reading webseed responses if chunks aren't wanted
Matt Joiner [Tue, 1 Jul 2025 03:28:33 +0000 (13:28 +1000)]
Stop reading webseed responses if chunks aren't wanted

5 months agoBunch of global webseed request comments and tidy
Matt Joiner [Mon, 30 Jun 2025 05:52:10 +0000 (15:52 +1000)]
Bunch of global webseed request comments and tidy

5 months agoShould fix download rate for webseed peers
Matt Joiner [Mon, 30 Jun 2025 05:51:03 +0000 (15:51 +1000)]
Should fix download rate for webseed peers

5 months agoReuse pp.Message when receiving chunks from webseeds
Matt Joiner [Thu, 26 Jun 2025 08:19:42 +0000 (18:19 +1000)]
Reuse pp.Message when receiving chunks from webseeds

5 months agoAdd checkReceivedChunk per-Peer impl
Matt Joiner [Thu, 26 Jun 2025 08:18:45 +0000 (18:18 +1000)]
Add checkReceivedChunk per-Peer impl

5 months agogorond
Matt Joiner [Wed, 25 Jun 2025 01:23:44 +0000 (11:23 +1000)]
gorond

5 months agoUpdate anacrolix/fuse
Matt Joiner [Wed, 25 Jun 2025 01:23:21 +0000 (11:23 +1000)]
Update anacrolix/fuse

5 months agoUse fuse.ErrOSXFUSENotFound in test
Matt Joiner [Wed, 25 Jun 2025 01:23:13 +0000 (11:23 +1000)]
Use fuse.ErrOSXFUSENotFound in test

5 months agoWe need fuse stuff before running unit tests now
Matt Joiner [Wed, 25 Jun 2025 01:21:06 +0000 (11:21 +1000)]
We need fuse stuff before running unit tests now

5 months agoAdd global webseed requests on a timer
Matt Joiner [Thu, 26 Jun 2025 12:51:05 +0000 (22:51 +1000)]
Add global webseed requests on a timer

5 months agoRemove package logonce
Matt Joiner [Mon, 23 Jun 2025 06:07:16 +0000 (16:07 +1000)]
Remove package logonce

I can't believe it's been around this long.

5 months agoRename mmap_span -> mmap-span
Matt Joiner [Mon, 23 Jun 2025 06:04:46 +0000 (16:04 +1000)]
Rename mmap_span -> mmap-span

Go's magic treatment of _suffix is not a good naming convention.

5 months agoUpdate dht/v2 so we can remove package logonce
Matt Joiner [Mon, 23 Jun 2025 06:06:18 +0000 (16:06 +1000)]
Update dht/v2 so we can remove package logonce

5 months agoMove request-strategy into internal
Matt Joiner [Mon, 23 Jun 2025 05:53:12 +0000 (15:53 +1000)]
Move request-strategy into internal

5 months agoUpdate storage/possum/lib
Matt Joiner [Mon, 23 Jun 2025 01:38:59 +0000 (11:38 +1000)]
Update storage/possum/lib

5 months agoRefactor all use of github.com/frankban/quicktest to new go-quicktest/qt
Matt Joiner [Mon, 23 Jun 2025 00:50:07 +0000 (10:50 +1000)]
Refactor all use of github.com/frankban/quicktest to new go-quicktest/qt

Claude did this. Pretty neat. Only took 18 months of waiting for it to get decent.

6 months agoUpdate Pion Interceptor
Matt Joiner [Tue, 17 Jun 2025 00:12:39 +0000 (10:12 +1000)]
Update Pion Interceptor

Seems reasonable: https://github.com/erigontech/erigon/security/dependabot/46

6 months agoFix webseed.Client.Logger not being set for content length checks
Matt Joiner [Mon, 16 Jun 2025 11:05:32 +0000 (21:05 +1000)]
Fix webseed.Client.Logger not being set for content length checks

6 months agoUse missinggo/v2 with deprecated xprometheus
Matt Joiner [Tue, 10 Jun 2025 02:59:43 +0000 (12:59 +1000)]
Use missinggo/v2 with deprecated xprometheus

6 months agoAdd mapstructure tags in MetaInfo
Matt Joiner [Tue, 10 Jun 2025 02:58:57 +0000 (12:58 +1000)]
Add mapstructure tags in MetaInfo

6 months agoTweaks to Sintel fs test
Matt Joiner [Wed, 4 Jun 2025 01:07:03 +0000 (11:07 +1000)]
Tweaks to Sintel fs test

6 months agoAdd webseed error counter and reduce error log level
Matt Joiner [Wed, 4 Jun 2025 00:39:56 +0000 (10:39 +1000)]
Add webseed error counter and reduce error log level

6 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

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

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

6 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

6 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

6 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

6 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

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

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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

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

6 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

6 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

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

6 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

6 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

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

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

6 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

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

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

6 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

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

6 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

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

6 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

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

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

6 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

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

6 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

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

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

6 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

6 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

6 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

6 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

7 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

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

7 months agoExtra comment for File.Path
Matt Joiner [Wed, 21 May 2025 02:44:23 +0000 (12:44 +1000)]
Extra comment for File.Path

7 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

7 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

7 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

7 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

7 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

7 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

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

7 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

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

7 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

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

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

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

7 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

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

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

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

7 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

7 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

7 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

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

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

7 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

7 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

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

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

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

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