]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Thu, 20 May 2021 04:01:31 +0000 (14:01 +1000)]
Fix up some crashes around piece availability
Matt Joiner [Thu, 20 May 2021 01:26:08 +0000 (11:26 +1000)]
Don't always force piece reallocation
The balancing for unforced pieces may not be exactly what we want yet.
Matt Joiner [Thu, 20 May 2021 01:16:54 +0000 (11:16 +1000)]
Use rejiggered missinggo bitmap
Matt Joiner [Wed, 19 May 2021 22:56:53 +0000 (08:56 +1000)]
Determine peer max requests based on receive speed
Matt Joiner [Wed, 19 May 2021 22:34:20 +0000 (08:34 +1000)]
Merge maxRequests into localClientReqq
Matt Joiner [Sun, 16 May 2021 23:08:39 +0000 (09:08 +1000)]
Fix in decPieceAvailability when we don't have torrent info
Happens when we close a Peer before getting Torrent info.
Matt Joiner [Fri, 14 May 2021 05:19:49 +0000 (15:19 +1000)]
Fix sqlite piece completion
Matt Joiner [Fri, 14 May 2021 03:40:09 +0000 (13:40 +1000)]
Add client-level max unverified bytes
Matt Joiner [Fri, 14 May 2021 03:06:12 +0000 (13:06 +1000)]
Get max unverified bytes working
Matt Joiner [Fri, 14 May 2021 01:50:41 +0000 (11:50 +1000)]
Prepare to implement max unverified bytes
Matt Joiner [Fri, 14 May 2021 00:24:50 +0000 (10:24 +1000)]
Do checks for preallocated requests too
Otherwise we reserve requests with the assumption that they can be assigned later, and they actually might not be.
Matt Joiner [Fri, 14 May 2021 00:23:18 +0000 (10:23 +1000)]
Fix non-deterministic test
Matt Joiner [Thu, 13 May 2021 10:56:12 +0000 (20:56 +1000)]
Get request rebalancing working optimally!
Matt Joiner [Thu, 13 May 2021 08:35:49 +0000 (18:35 +1000)]
Move piece allocation to its own func
Matt Joiner [Thu, 13 May 2021 03:50:41 +0000 (13:50 +1000)]
New tests and fixes for them
Not complete. There's still a request-stealing balancing issue, but it's functional for now.
Matt Joiner [Thu, 13 May 2021 03:49:57 +0000 (13:49 +1000)]
Don't log each applied request
Matt Joiner [Thu, 13 May 2021 01:26:22 +0000 (11:26 +1000)]
Add a working request strategy test
Matt Joiner [Wed, 12 May 2021 23:56:58 +0000 (09:56 +1000)]
Extract request strategy stuff into a separate module
Matt Joiner [Wed, 12 May 2021 11:48:23 +0000 (21:48 +1000)]
Improve num requests per piece status output
Matt Joiner [Wed, 12 May 2021 11:48:11 +0000 (21:48 +1000)]
Improve piece availability status output
Matt Joiner [Wed, 12 May 2021 11:47:35 +0000 (21:47 +1000)]
Fixes to reassigning chunks in requests
Matt Joiner [Wed, 12 May 2021 07:45:36 +0000 (17:45 +1000)]
Rework to improve work stealing and try to thread peers through all request pieces
Matt Joiner [Tue, 11 May 2021 07:14:56 +0000 (17:14 +1000)]
Forgot to remove initial have all state for webseeds
Later when the webseed was closed, it was assumed that it had contributed to the piece availability count.
Matt Joiner [Mon, 10 May 2021 07:43:34 +0000 (17:43 +1000)]
Do requests every 100ms
Matt Joiner [Mon, 10 May 2021 07:43:23 +0000 (17:43 +1000)]
Don't need stable sort
Matt Joiner [Mon, 10 May 2021 07:43:10 +0000 (17:43 +1000)]
Improve naming on storage key
Matt Joiner [Mon, 10 May 2021 07:42:51 +0000 (17:42 +1000)]
Reuse pieceRequestOrder slice
Matt Joiner [Mon, 10 May 2021 07:05:08 +0000 (17:05 +1000)]
Missed piece availability code
Matt Joiner [Mon, 10 May 2021 07:04:27 +0000 (17:04 +1000)]
Comments
Matt Joiner [Mon, 10 May 2021 07:03:56 +0000 (17:03 +1000)]
Ignore pieces for request after accounting for storage
Matt Joiner [Mon, 10 May 2021 07:02:17 +0000 (17:02 +1000)]
Track peer availability at the Torrent-level
Matt Joiner [Mon, 10 May 2021 03:35:24 +0000 (13:35 +1000)]
Remove unused pieceRequestOrder in Client
Matt Joiner [Mon, 10 May 2021 02:40:42 +0000 (12:40 +1000)]
go mod tidy
Matt Joiner [Mon, 10 May 2021 02:30:44 +0000 (12:30 +1000)]
Use multiless with Float64
Matt Joiner [Mon, 10 May 2021 02:29:47 +0000 (12:29 +1000)]
PeerConn.post becomes PeerConn.write
Matt Joiner [Sun, 9 May 2021 14:53:32 +0000 (00:53 +1000)]
Fix download rate, status output
Matt Joiner [Sun, 9 May 2021 13:40:44 +0000 (23:40 +1000)]
Rework storage.TorrentImpl to support shared capacity key
Matt Joiner [Sun, 9 May 2021 13:38:38 +0000 (23:38 +1000)]
Tidy up request and cancel
Matt Joiner [Sun, 9 May 2021 13:34:56 +0000 (23:34 +1000)]
Remove empty file
Matt Joiner [Sun, 9 May 2021 04:41:03 +0000 (14:41 +1000)]
Limit outstanding requests
Matt Joiner [Sun, 9 May 2021 04:14:11 +0000 (14:14 +1000)]
Pass tests with new full-client request strategy implementation
Matt Joiner [Wed, 26 May 2021 12:49:52 +0000 (22:49 +1000)]
Log failure to complete metadata
Matt Joiner [Mon, 24 May 2021 08:08:32 +0000 (18:08 +1000)]
Count peers added from DHT for logging
Matt Joiner [Mon, 24 May 2021 07:38:36 +0000 (17:38 +1000)]
Add TODOs around setting info bytes
Matt Joiner [Mon, 7 Jun 2021 02:44:51 +0000 (12:44 +1000)]
Create go.yml (#497)
* Create go.yml
* Go version 1.16
* Add benchmarks
* Match CircleCI test coverage
* Add 15 minute timeout
* Don't log to file
* Download modules in separate step, minimize test runs
* Install godo before running torrentfs end-to-end test
* More fixes
* More fixes for GitHub Actions CI
gitpubber [Tue, 25 May 2021 08:48:59 +0000 (14:18 +0530)]
Added build tags to disable few packages if necessary (#499)
Matt Joiner [Fri, 21 May 2021 04:16:59 +0000 (14:16 +1000)]
Progress testing without cgo a bit
Matt Joiner [Mon, 17 May 2021 01:51:24 +0000 (11:51 +1000)]
Make wal the default for sqlite resource pieces
Fixes broken test as a result.
Matt Joiner [Mon, 17 May 2021 01:42:27 +0000 (11:42 +1000)]
Make synchronous=off the default
Matt Joiner [Mon, 17 May 2021 01:20:25 +0000 (11:20 +1000)]
Set smarter defaults
Matt Joiner [Mon, 17 May 2021 00:58:57 +0000 (10:58 +1000)]
Set page size before initializing connections
Setting page_size seems to be ignored if done after setting journal_mode, specifically to WAL I think. There's huge performance benefits to getting it right.
Matt Joiner [Fri, 14 May 2021 05:51:26 +0000 (15:51 +1000)]
Default to sqlite piece completion for dir if cgo enabled
Matt Joiner [Fri, 14 May 2021 05:45:54 +0000 (15:45 +1000)]
Fix sqlite piece completion
Matt Joiner [Fri, 14 May 2021 03:39:01 +0000 (13:39 +1000)]
Move envpprof.Stop to main
Matt Joiner [Fri, 14 May 2021 00:22:21 +0000 (10:22 +1000)]
Possible fix for GitHub code scanning warning
Matt Joiner [Wed, 12 May 2021 11:48:47 +0000 (21:48 +1000)]
Add CustomDirect BenchmarkMarkComplete sub-test
Matt Joiner [Wed, 12 May 2021 04:26:45 +0000 (14:26 +1000)]
Fix race in webtorrent dial stats
Matt Joiner [Wed, 12 May 2021 04:26:23 +0000 (14:26 +1000)]
cmd/torrent: Track download rate
Matt Joiner [Tue, 11 May 2021 07:14:02 +0000 (17:14 +1000)]
Remove github.com/pkg/errors use in peerconn.go
Was contributing to unexpected CPU use, and it's way out of date.
Matt Joiner [Tue, 11 May 2021 07:13:03 +0000 (17:13 +1000)]
Track chunks received in nexted expvar.Map
Matt Joiner [Tue, 11 May 2021 06:16:29 +0000 (16:16 +1000)]
Expose SetSynchronous as an option
Matt Joiner [Tue, 11 May 2021 02:46:13 +0000 (12:46 +1000)]
Fix race in MarkNotComplete
Matt Joiner [Tue, 11 May 2021 02:45:51 +0000 (12:45 +1000)]
Don't create blobs when reading
Matt Joiner [Tue, 11 May 2021 02:09:26 +0000 (12:09 +1000)]
Track peers supporting extension in a nested expvar.Map
Matt Joiner [Mon, 10 May 2021 07:05:37 +0000 (17:05 +1000)]
Tidy up sqlite direct piece receiver name
Matt Joiner [Mon, 10 May 2021 01:48:24 +0000 (11:48 +1000)]
Remove unused method
Matt Joiner [Mon, 10 May 2021 06:53:08 +0000 (16:53 +1000)]
Rename Torrent.{add,delete}Connection
Matt Joiner [Mon, 10 May 2021 02:30:16 +0000 (12:30 +1000)]
Remove separate postedKeepalives expvar
Matt Joiner [Sun, 9 May 2021 07:31:45 +0000 (17:31 +1000)]
Improve some lock handling under panics
Matt Joiner [Fri, 14 May 2021 05:36:35 +0000 (15:36 +1000)]
Merge branch 'sqlite-direct'
Matt Joiner [Fri, 14 May 2021 00:17:19 +0000 (10:17 +1000)]
Create SECURITY.md
gitpubber [Sun, 9 May 2021 09:34:41 +0000 (15:04 +0530)]
Allows one to use Custom PieceCompletion (#486)
* Change ClientImpl to ClientImplCloser
We cannot close underlying Boltdb PieceCompletion if it is not closable
* Update file.go
gitpubber [Fri, 7 May 2021 15:35:33 +0000 (21:05 +0530)]
Change ClientImpl to ClientImplCloser
We cannot close underlying Boltdb PieceCompletion if it is not closable
Matt Joiner [Sat, 8 May 2021 00:35:23 +0000 (10:35 +1000)]
Reduce allocations in iterBitmapsDistinct
Matt Joiner [Thu, 6 May 2021 05:25:01 +0000 (15:25 +1000)]
Don't set the page size by default
Matt Joiner [Thu, 6 May 2021 05:17:31 +0000 (15:17 +1000)]
Expose a variety of blob cleanup styles
Matt Joiner [Thu, 6 May 2021 02:00:20 +0000 (12:00 +1000)]
Benchmark different mmap sizes and journal modes
Matt Joiner [Wed, 5 May 2021 11:36:36 +0000 (21:36 +1000)]
Rework lots of option handling
Matt Joiner [Wed, 5 May 2021 05:55:08 +0000 (15:55 +1000)]
Rename new.go
Matt Joiner [Wed, 5 May 2021 05:53:43 +0000 (15:53 +1000)]
Use bench timer more effectively, and use Piece.WriteTo
Matt Joiner [Wed, 5 May 2021 05:48:57 +0000 (15:48 +1000)]
Use bytes.Reader instead of bytes.Buffer in a few places
Matt Joiner [Wed, 5 May 2021 02:38:26 +0000 (12:38 +1000)]
Use sync.Map in map piece completion
Matt Joiner [Wed, 5 May 2021 02:05:02 +0000 (12:05 +1000)]
Big rename of files and types in storage
Matt Joiner [Wed, 5 May 2021 01:47:39 +0000 (11:47 +1000)]
Handle expired blobs as they occur
Matt Joiner [Wed, 5 May 2021 00:02:15 +0000 (10:02 +1000)]
Rework to use a pool of blobs
Matt Joiner [Tue, 4 May 2021 12:56:43 +0000 (22:56 +1000)]
Get benchmarks working
Matt Joiner [Tue, 4 May 2021 09:51:42 +0000 (19:51 +1000)]
Implement sqlite directly without using piece resources
Matt Joiner [Tue, 4 May 2021 06:08:21 +0000 (16:08 +1000)]
cmd/torrent: Ensure progress is emitted at consistent intervals
Matt Joiner [Tue, 4 May 2021 06:00:22 +0000 (16:00 +1000)]
cmd/torrent: Restore parsing of units for upload and download rates
https://github.com/anacrolix/torrent/issues/447
Matt Joiner [Tue, 4 May 2021 02:39:52 +0000 (12:39 +1000)]
Big logging cleanup to improve experience from README
Matt Joiner [Wed, 28 Apr 2021 11:18:01 +0000 (21:18 +1000)]
piece resource storage: Do sized puts for WriteAts if possible
Matt Joiner [Wed, 28 Apr 2021 04:46:47 +0000 (14:46 +1000)]
Use BenchmarkMarkComplete for non-sqlite storages too
Matt Joiner [Wed, 28 Apr 2021 04:32:57 +0000 (14:32 +1000)]
go get -u
Matt Joiner [Tue, 4 May 2021 02:43:50 +0000 (12:43 +1000)]
Remove GoDoc badge
It now redirects to pkg.go.dev anyway.
Matt Joiner [Tue, 4 May 2021 02:26:13 +0000 (12:26 +1000)]
Update cmd examples
Remove references to godo which isn't really helpful anymore. Update the output from some of the commands.
Matt Joiner [Tue, 4 May 2021 01:08:59 +0000 (11:08 +1000)]
Redirect Gitter to Discussions
Matt Joiner [Wed, 24 Mar 2021 22:56:04 +0000 (09:56 +1100)]
Fix DeepSource anti-pattern
Matt Joiner [Wed, 24 Mar 2021 22:51:49 +0000 (09:51 +1100)]
Make tracker order in Metainfo.Magnet deterministic
Should fix test failures in CI.
Matt Joiner [Thu, 11 Mar 2021 22:45:38 +0000 (09:45 +1100)]
Update deps
Matt Joiner [Thu, 11 Mar 2021 00:32:31 +0000 (11:32 +1100)]
Fix dht Server Ping call