]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
6 weeks agoFix panicif.Nil not working correctly
Matt Joiner [Tue, 29 Jul 2025 04:03:48 +0000 (14:03 +1000)]
Fix panicif.Nil not working correctly

7 weeks agoSet piece incomplete if part file size incorrect
Matt Joiner [Mon, 28 Jul 2025 03:23:22 +0000 (13:23 +1000)]
Set piece incomplete if part file size incorrect

7 weeks agoMake peer conns minimize request overlap with webseeds
Matt Joiner [Mon, 28 Jul 2025 02:17:50 +0000 (12:17 +1000)]
Make peer conns minimize request overlap with webseeds

7 weeks agoUpdate code comments
Matt Joiner [Mon, 28 Jul 2025 02:16:19 +0000 (12:16 +1000)]
Update code comments

7 weeks agoWebseeds favour requesting partial files
Matt Joiner [Wed, 23 Jul 2025 03:44:10 +0000 (13:44 +1000)]
Webseeds favour requesting partial files

7 weeks agofile storage: Rename anyway if both files exist
Matt Joiner [Wed, 23 Jul 2025 03:42:46 +0000 (13:42 +1000)]
file storage: Rename anyway if both files exist

7 weeks agoSkip holes in file piece WriteTo
Matt Joiner [Mon, 21 Jul 2025 12:06:19 +0000 (22:06 +1000)]
Skip holes in file piece WriteTo

Overkill optimization, saves about 10% reading from disk in test. Probably not worth it.

7 weeks agoIgnore webseed request start offset in prioritization
Matt Joiner [Mon, 21 Jul 2025 12:04:34 +0000 (22:04 +1000)]
Ignore webseed request start offset in prioritization

7 weeks agoFix peer request handling concurrency
Matt Joiner [Tue, 22 Jul 2025 13:17:41 +0000 (23:17 +1000)]
Fix peer request handling concurrency

8 weeks agoLimit piece hashers per client
Matt Joiner [Mon, 21 Jul 2025 12:01:38 +0000 (22:01 +1000)]
Limit piece hashers per client

8 weeks agoTry Claude branch of possum to fix Windows CI
Matt Joiner [Sun, 20 Jul 2025 02:52:00 +0000 (12:52 +1000)]
Try Claude branch of possum to fix Windows CI

8 weeks agoDon't build ./fs on Windows
Matt Joiner [Sun, 20 Jul 2025 02:47:26 +0000 (12:47 +1000)]
Don't build ./fs on Windows

8 weeks agofs test: Get interrupt to work as expected
Matt Joiner [Sun, 20 Jul 2025 02:08:56 +0000 (12:08 +1000)]
fs test: Get interrupt to work as expected

8 weeks agoCI: Add 20 minute timeout
Matt Joiner [Sun, 20 Jul 2025 02:10:06 +0000 (12:10 +1000)]
CI: Add 20 minute timeout

8 weeks agoCount actual webseed data read rather than expected
Matt Joiner [Sun, 20 Jul 2025 01:41:14 +0000 (11:41 +1000)]
Count actual webseed data read rather than expected

Note they probably never differ at this point but still.

8 weeks agoCoalesce synchronous webseed request updates
Matt Joiner [Sat, 19 Jul 2025 11:45:58 +0000 (21:45 +1000)]
Coalesce synchronous webseed request updates

8 weeks agoFix piece hashing expvars update condition
Matt Joiner [Sat, 19 Jul 2025 11:45:34 +0000 (21:45 +1000)]
Fix piece hashing expvars update condition

8 weeks agoSkip smartban hashing if there's no peers to ban for a piece
Matt Joiner [Sat, 19 Jul 2025 11:44:39 +0000 (21:44 +1000)]
Skip smartban hashing if there's no peers to ban for a piece

Also take smartban.Cache lock only once per piece when forgetting blocks

8 weeks agoImplement io.WriterTo for file storage pieces
Matt Joiner [Sat, 19 Jul 2025 11:41:18 +0000 (21:41 +1000)]
Implement io.WriterTo for file storage pieces

8 weeks agogo mod tidy && gorond
Matt Joiner [Fri, 18 Jul 2025 13:22:18 +0000 (23:22 +1000)]
go mod tidy && gorond

8 weeks agoFix webseed request update timer callback queuing when it takes too long
Matt Joiner [Fri, 18 Jul 2025 13:10:32 +0000 (23:10 +1000)]
Fix webseed request update timer callback queuing when it takes too long

8 weeks agoFix panic when setting info bytes after Torrent closed
Matt Joiner [Fri, 18 Jul 2025 13:08:33 +0000 (23:08 +1000)]
Fix panic when setting info bytes after Torrent closed

8 weeks agoAllocate Torrent file segments index just once
Matt Joiner [Fri, 18 Jul 2025 13:08:15 +0000 (23:08 +1000)]
Allocate Torrent file segments index just once

2 months agoClaude moved PeerConn methods from peer.go to peerconn.go
Matt Joiner [Wed, 16 Jul 2025 04:59:18 +0000 (14:59 +1000)]
Claude moved PeerConn methods from peer.go to peerconn.go

2 months agoMove requestState into PeerConn so cancelAllRequests doesn't crash
Matt Joiner [Tue, 15 Jul 2025 06:36:01 +0000 (16:36 +1000)]
Move requestState into PeerConn so cancelAllRequests doesn't crash

2 months agoDebug webseed read length after cancellation
Matt Joiner [Mon, 14 Jul 2025 12:16:14 +0000 (22:16 +1000)]
Debug webseed read length after cancellation

2 months agoSet webseed.PrintDebug from environment
Matt Joiner [Mon, 14 Jul 2025 12:15:55 +0000 (22:15 +1000)]
Set webseed.PrintDebug from environment

2 months agoFix shortened webseed request debugging condition
Matt Joiner [Mon, 14 Jul 2025 12:15:34 +0000 (22:15 +1000)]
Fix shortened webseed request debugging condition

2 months agoRemove useless error type debugging
Matt Joiner [Mon, 14 Jul 2025 12:15:11 +0000 (22:15 +1000)]
Remove useless error type debugging

2 months agoFix logging of method ptr instead of calling it
Matt Joiner [Mon, 14 Jul 2025 12:14:57 +0000 (22:14 +1000)]
Fix logging of method ptr instead of calling it

2 months agoReduce webseed download waste
Matt Joiner [Mon, 14 Jul 2025 06:05:02 +0000 (16:05 +1000)]
Reduce webseed download waste

Don't close request on cancellation, try to drain it.

Shorten webseed requests to wanted region.

2 months agoPanic on unhandled completion error
Matt Joiner [Mon, 14 Jul 2025 05:38:41 +0000 (15:38 +1000)]
Panic on unhandled completion error

2 months agoFix code comment
Matt Joiner [Mon, 14 Jul 2025 05:37:37 +0000 (15:37 +1000)]
Fix code comment

2 months agoFix test that sets zero download rate limiter
Matt Joiner [Mon, 14 Jul 2025 05:37:10 +0000 (15:37 +1000)]
Fix test that sets zero download rate limiter

2 months agoRemove rate limit test
Matt Joiner [Mon, 14 Jul 2025 05:36:08 +0000 (15:36 +1000)]
Remove rate limit test

It's old and too hard to update to new Read implementation

2 months agoSet pieces incomplete when files go missing or are truncated
Matt Joiner [Mon, 14 Jul 2025 05:34:15 +0000 (15:34 +1000)]
Set pieces incomplete when files go missing or are truncated

2 months agoReduce ban logging
Matt Joiner [Mon, 14 Jul 2025 05:32:31 +0000 (15:32 +1000)]
Reduce ban logging

2 months agoMisc webseed tweaks
Matt Joiner [Fri, 11 Jul 2025 05:02:33 +0000 (15:02 +1000)]
Misc webseed tweaks

2 months agoFix webseed max discard chunk condition
Matt Joiner [Fri, 11 Jul 2025 04:31:18 +0000 (14:31 +1000)]
Fix webseed max discard chunk condition

2 months agoRemove unused field
Matt Joiner [Fri, 11 Jul 2025 04:30:15 +0000 (14:30 +1000)]
Remove unused field

2 months agoAlter log levels webseed chunk reading errors for ENHANCE_YOUR_CALM
Matt Joiner [Fri, 11 Jul 2025 04:30:03 +0000 (14:30 +1000)]
Alter log levels webseed chunk reading errors for ENHANCE_YOUR_CALM

2 months agoUpdate golang.org/x/net
Matt Joiner [Fri, 11 Jul 2025 04:28:36 +0000 (14:28 +1000)]
Update golang.org/x/net

Make absolutely sure our errors.As for ENHANCE_YOUR_CALM works as expected.

2 months agoMake webseed.PrintDebug a var
Matt Joiner [Thu, 10 Jul 2025 14:15:01 +0000 (00:15 +1000)]
Make webseed.PrintDebug a var

2 months agoSimplify and probably fix rate limited reader
Matt Joiner [Thu, 10 Jul 2025 14:14:52 +0000 (00:14 +1000)]
Simplify and probably fix rate limited reader

2 months agoSet default webseed download rate burst
Matt Joiner [Thu, 10 Jul 2025 14:13:20 +0000 (00:13 +1000)]
Set default webseed download rate burst

2 months agoAdd DialForPeerConns config option so you can disable peer conns
Matt Joiner [Thu, 10 Jul 2025 14:12:12 +0000 (00:12 +1000)]
Add DialForPeerConns config option so you can disable peer conns

2 months agoFix panic writing webseed peer status
Matt Joiner [Thu, 10 Jul 2025 14:10:06 +0000 (00:10 +1000)]
Fix panic writing webseed peer status

2 months agoTidy
Matt Joiner [Thu, 10 Jul 2025 06:34:38 +0000 (16:34 +1000)]
Tidy

2 months agoFix race on webtorrent RTC peer conn stats map
Matt Joiner [Thu, 10 Jul 2025 06:32:45 +0000 (16:32 +1000)]
Fix race on webtorrent RTC peer conn stats map

2 months agoFix benign race on webseed cancellation flag
Matt Joiner [Thu, 10 Jul 2025 06:32:02 +0000 (16:32 +1000)]
Fix benign race on webseed cancellation flag

2 months agofile storage: When file verification fails, we forgot to pass back incomplete
Matt Joiner [Thu, 10 Jul 2025 06:31:28 +0000 (16:31 +1000)]
file storage: When file verification fails, we forgot to pass back incomplete

2 months agocmd/torrent: Rip out OTLP bullshit
Matt Joiner [Thu, 10 Jul 2025 06:30:31 +0000 (16:30 +1000)]
cmd/torrent: Rip out OTLP bullshit

It spams crap to the standard log and I hates it.

2 months agocmd/torrent: Use default download rate limit burst
Matt Joiner [Thu, 10 Jul 2025 06:29:54 +0000 (16:29 +1000)]
cmd/torrent: Use default download rate limit burst

2 months agocmd/torrent: Dump client stats atomically
Matt Joiner [Thu, 10 Jul 2025 06:29:21 +0000 (16:29 +1000)]
cmd/torrent: Dump client stats atomically

2 months agoFixes for webseed peers not having request state
Matt Joiner [Fri, 4 Jul 2025 06:13:59 +0000 (16:13 +1000)]
Fixes for webseed peers not having request state

2 months agoDeprecate WebSeedTorrentMaxRequests
Matt Joiner [Thu, 3 Jul 2025 06:04:52 +0000 (16:04 +1000)]
Deprecate WebSeedTorrentMaxRequests

2 months agoMove some peer request stuff out of Peer
Matt Joiner [Thu, 3 Jul 2025 06:17:51 +0000 (16:17 +1000)]
Move some peer request stuff out of Peer

2 months agoAdd separate webseed rate limit option
Matt Joiner [Thu, 3 Jul 2025 06:05:15 +0000 (16:05 +1000)]
Add separate webseed rate limit option

2 months agoMaybe fix a warning serving peer requests?
Matt Joiner [Wed, 2 Jul 2025 07:53:17 +0000 (17:53 +1000)]
Maybe fix a warning serving peer requests?

2 months agoFix panic iterating webseed request that hasn't closed out yet
Matt Joiner [Wed, 2 Jul 2025 05:11:34 +0000 (15:11 +1000)]
Fix panic iterating webseed request that hasn't closed out yet

2 months agoImprove some webseed debugging
Matt Joiner [Wed, 2 Jul 2025 05:10:51 +0000 (15:10 +1000)]
Improve some webseed debugging

2 months agoRemove unused request stuff for webseed peers
Matt Joiner [Wed, 2 Jul 2025 05:10:20 +0000 (15:10 +1000)]
Remove unused request stuff for webseed peers

2 months agoStop reading webseed response if enough chunks are no longer wanted
Matt Joiner [Wed, 2 Jul 2025 05:09:16 +0000 (15:09 +1000)]
Stop reading webseed response if enough chunks are no longer wanted

2 months agoConsider dirty chunks in apriori webseed request generation
Matt Joiner [Wed, 2 Jul 2025 05:06:34 +0000 (15:06 +1000)]
Consider dirty chunks in apriori webseed request generation

2 months agoFix leaked goroutines when webseed requests are cancelled
Matt Joiner [Wed, 2 Jul 2025 05:04:40 +0000 (15:04 +1000)]
Fix leaked goroutines when webseed requests are cancelled

2 months agoRespect rate limiting active webseed requests
Matt Joiner [Wed, 2 Jul 2025 05:12:17 +0000 (15:12 +1000)]
Respect rate limiting active webseed requests

2 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

2 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

2 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

2 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

2 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

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

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

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

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

2 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

2 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

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

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

2 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

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

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

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

2 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

2 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

3 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

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

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

3 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

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