]>
 
 
Sergey Matveev's repositories - btrtrc.git/log 
 
 
 
 
 
 
Matt Joiner [Wed, 18 Aug 2021 06:23:04 +0000 (16:23 +1000)] 
 
Fix deadlock when checking whether to send keep alive 
 
Matt Joiner [Wed, 18 Aug 2021 04:49:13 +0000 (14:49 +1000)] 
 
Limit keep alives for rate limited download test 
 
Matt Joiner [Wed, 18 Aug 2021 04:48:25 +0000 (14:48 +1000)] 
 
Fix race in assigning keep alive timer 
 
Matt Joiner [Wed, 18 Aug 2021 01:27:21 +0000 (11:27 +1000)] 
 
Use different keep alive timeout in tests 
 
Exposes bug found in email discussions resulting from https://github.com/anacrolix/torrent/discussions/547. 
 
Bora M. Alper [Mon, 16 Aug 2021 01:11:31 +0000 (04:11  +0300)] 
 
Add linter CI (#542) 
 
* Add linter CI 
 
Signed-off-by: Bora M. Alper <bora@boramalper.org>  
* Make gosec CI ignore SHA1 and upload sarif 
 
Signed-off-by: Bora M. Alper <bora@boramalper.org>  
* Fix formatting of source files 
 
Signed-off-by: Bora M. Alper <bora@boramalper.org>  
* Make go vet ignore unkeyed composite literals and fix other warnings 
 
Signed-off-by: Bora M. Alper <bora@boramalper.org>  
* Make staticcheck ignore unused methods and fix other warnings 
 
Signed-off-by: Bora M. Alper <bora@boramalper.org>  
* Use golangci-lint 
 
Signed-off-by: Bora M. Alper <bora@boramalper.org>  
Matt Joiner [Mon, 16 Aug 2021 01:07:10 +0000 (11:07 +1000)] 
 
Use roaring.Bitmap directly for completed pieces
Looking at improving the performance around this per https://github.com/anacrolix/torrent/discussions/547#discussion-
3522317 .
 
Matt Joiner [Mon, 16 Aug 2021 00:38:43 +0000 (10:38 +1000)] 
 
Set go 1.17 in go.mod 
 
Matt Joiner [Mon, 16 Aug 2021 00:37:19 +0000 (10:37 +1000)] 
 
go get -u 
 
Matt Joiner [Fri, 13 Aug 2021 04:02:37 +0000 (14:02 +1000)] 
 
Fix mmap panic on darwin with Go 1.17 
 
Matt Joiner [Thu, 12 Aug 2021 03:46:02 +0000 (13:46 +1000)] 
 
Don't panic on int parse failures 
 
This means for UnmarshalTypeErrors we now include context. There are still some other error types remaining that are thrown up via panic. 
 
Matt Joiner [Thu, 12 Aug 2021 02:16:53 +0000 (12:16 +1000)] 
 
Fix panic unmarshalling bencode dict into unsupported type 
 
Matt Joiner [Wed, 11 Aug 2021 02:27:00 +0000 (12:27 +1000)] 
 
Fix allocation of empty DhtNodes in TorrentSpec
https://github.com/anacrolix/torrent/pull/536#issuecomment-
896392738 
 
Matt Joiner [Tue, 10 Aug 2021 23:43:40 +0000 (09:43 +1000)] 
 
Fix race in sqlite direct storage init 
 
There's a race between starting the blob flusher and assigning the timer to the storage client. 
 
Alfonso Montero [Tue, 10 Aug 2021 01:13:00 +0000 (03:13  +0200)] 
 
Readme: Add downstream project (#543) 
 
Matt Joiner [Sun, 1 Aug 2021 12:52:51 +0000 (22:52 +1000)] 
 
Increase request update interval if there's no signalling 
 
Matt Joiner [Sun, 1 Aug 2021 12:02:40 +0000 (22:02 +1000)] 
 
Minimize allocations and resizing in request computation 
 
Matt Joiner [Sun, 1 Aug 2021 12:01:24 +0000 (22:01 +1000)] 
 
Precompute File.DisplayPath 
 
This is an optimization for dir lookups in torrentfs. 
 
Matt Joiner [Sun, 1 Aug 2021 11:38:35 +0000 (21:38 +1000)] 
 
cmd/torrentfs: Fix panic on missing info 
 
Matt Joiner [Mon, 26 Jul 2021 00:18:24 +0000 (10:18 +1000)] 
 
Trim UDP tracker client read allocations 
 
Matt Joiner [Sat, 17 Jul 2021 09:10:07 +0000 (19:10 +1000)] 
 
Close torrent storage asynchronously on drop 
 
Matt Joiner [Sat, 17 Jul 2021 08:52:41 +0000 (18:52 +1000)] 
 
Add debug level to piece hash failure log message 
 
Matt Joiner [Wed, 14 Jul 2021 04:35:52 +0000 (14:35 +1000)] 
 
Fix go:build directives 
 
Matt Joiner [Fri, 2 Jul 2021 04:43:13 +0000 (14:43 +1000)] 
 
Remove unused badges 
 
Matt Joiner [Sun, 27 Jun 2021 01:57:11 +0000 (11:57 +1000)] 
 
Fix race in concurrent connects in UDP tracker 
 
ucwong [Sat, 26 Jun 2021 00:31:50 +0000 (08:31 +0800)] 
 
missinggo go.mod fix (#526) 
 
Matt Joiner [Fri, 25 Jun 2021 05:00:39 +0000 (15:00 +1000)] 
 
Check that udp conn ID age is non-zero 
 
Matt Joiner [Fri, 25 Jun 2021 05:00:09 +0000 (15:00 +1000)] 
 
Add http tracker AllowKeepAlive 
 
Matt Joiner [Fri, 25 Jun 2021 01:29:59 +0000 (11:29 +1000)] 
 
Update and expose default client identifiers 
 
Matt Joiner [Thu, 24 Jun 2021 04:38:16 +0000 (14:38 +1000)] 
 
Add udp tracker scrape support 
 
Matt Joiner [Thu, 24 Jun 2021 03:10:28 +0000 (13:10 +1000)] 
 
Pull AnnounceOpt into tracker package 
 
Matt Joiner [Thu, 24 Jun 2021 03:10:18 +0000 (13:10 +1000)] 
 
Cancel writer after request 
 
Matt Joiner [Thu, 24 Jun 2021 03:10:00 +0000 (13:10 +1000)] 
 
Don't log dispatch errors 
 
Matt Joiner [Thu, 24 Jun 2021 00:39:56 +0000 (10:39 +1000)] 
 
Extract protocol agnostic tracker Client 
 
Matt Joiner [Wed, 23 Jun 2021 23:53:18 +0000 (09:53 +1000)] 
 
Rewrite udp announce to use udp client 
 
ucwong [Wed, 23 Jun 2021 11:27:18 +0000 (19:27 +0800)] 
 
package expect fix (#524) 
 
Matt Joiner [Wed, 23 Jun 2021 07:25:07 +0000 (17:25 +1000)] 
 
Fix some error wrapping in mse 
 
Matt Joiner [Wed, 23 Jun 2021 07:24:50 +0000 (17:24 +1000)] 
 
Fixes for wasm 
 
Matt Joiner [Wed, 23 Jun 2021 02:41:25 +0000 (12:41 +1000)] 
 
Reject accepted connections if we don't want conns 
 
This prevents unnecessarily stalling peers dialling us if we have no intention to ever accept. 
 
Matt Joiner [Tue, 22 Jun 2021 13:32:27 +0000 (23:32 +1000)] 
 
Rearrange some tracker tests and files 
 
Matt Joiner [Tue, 22 Jun 2021 13:28:26 +0000 (23:28 +1000)] 
 
Extract HTTP tracker client into separate package 
 
Matt Joiner [Tue, 22 Jun 2021 12:48:49 +0000 (22:48 +1000)] 
 
Move tracker test server code to test file 
 
Matt Joiner [Tue, 22 Jun 2021 12:45:56 +0000 (22:45 +1000)] 
 
Update test tracker urls 
 
Matt Joiner [Tue, 22 Jun 2021 12:45:50 +0000 (22:45 +1000)] 
 
Fix tracker test timeouts 
 
Matt Joiner [Tue, 22 Jun 2021 12:36:43 +0000 (22:36 +1000)] 
 
Rewrite UDP tracker client 
 
Matt Joiner [Tue, 22 Jun 2021 06:52:55 +0000 (16:52 +1000)] 
 
Add UDP tracker announce and connect expvars 
 
Matt Joiner [Mon, 21 Jun 2021 07:58:04 +0000 (17:58 +1000)] 
 
Add to bencode.Unmarshal doc comment 
 
Matt Joiner [Mon, 21 Jun 2021 03:29:26 +0000 (13:29 +1000)] 
 
Tidy up the Dialer interface 
 
Matt Joiner [Mon, 21 Jun 2021 03:00:20 +0000 (13:00 +1000)] 
 
Minor tidying 
 
Matt Joiner [Mon, 21 Jun 2021 02:54:57 +0000 (12:54 +1000)] 
 
Expose DialFirst 
 
Matt Joiner [Mon, 21 Jun 2021 02:30:05 +0000 (12:30 +1000)] 
 
Mark client transfer test as parallel 
 
Matt Joiner [Mon, 21 Jun 2021 02:29:37 +0000 (12:29 +1000)] 
 
Remove sqlite piece-resource storage 
 
Matt Joiner [Fri, 18 Jun 2021 05:04:07 +0000 (15:04 +1000)] 
 
Add explicit metadata extension types 
 
Matt Joiner [Fri, 18 Jun 2021 04:59:20 +0000 (14:59 +1000)] 
 
Add ClientConfig.AcceptPeerConnections 
 
Matt Joiner [Fri, 18 Jun 2021 01:05:23 +0000 (11:05 +1000)] 
 
Remove conntrack, expose Torrent.AnnounceToDht, ClientConfig.PeriodicallyAnnounceTorrentsToDht 
 
Matt Joiner [Mon, 21 Jun 2021 02:04:06 +0000 (12:04 +1000)] 
 
Merge branch 'request-strategy-rewrite' 
 
Zilog8 [Tue, 8 Jun 2021 05:45:35 +0000 (01:45  -0400)] 
 
Allow Storage Backends to do their own Hashing (#518) 
 
* Allow Storage Backends to do their own Hashing 
 
- Describes an optional interface 'SelfHashing' that a storage backend's type implementing 'PieceImpl' may also implement in order to calculate piece hashsums itself. 
 
- Alters the 'hashPiece' function in the torrent package to look for types implementing 'SelfHashing' . If not implemented, calculate the hash as usual. 
 
deepsource-autofix[bot] [Mon, 7 Jun 2021 03:24:32 +0000 (03:24  +0000)] 
 
Fix nil context being passed to function 
 
Matt Joiner [Mon, 24 May 2021 08:06:42 +0000 (18:06 +1000)] 
 
Add default param name in TorrentImpl.Piece func 
 
Matt Joiner [Mon, 24 May 2021 07:38:09 +0000 (17:38 +1000)] 
 
Add storage/disabled 
 
The default storage will create empty files on torrent open, which is undesirable in some circumstances. This storage implementation is explicit about not storing anything. 
 
Matt Joiner [Mon, 24 May 2021 07:37:04 +0000 (17:37 +1000)] 
 
Expose AnacrolixDhtServerWrapper 
 
Matt Joiner [Mon, 24 May 2021 07:36:39 +0000 (17:36 +1000)] 
 
Extract chansync to github.com/anacrolix/chansync 
 
Matt Joiner [Mon, 24 May 2021 07:31:52 +0000 (17:31 +1000)] 
 
bencode: Improve support for embedded structs 
 
Matt Joiner [Sat, 22 May 2021 01:02:39 +0000 (11:02 +1000)] 
 
bencode: Support anonymous embedded struct pointers 
 
More to come if this line of improvement is retained. 
 
Matt Joiner [Fri, 21 May 2021 13:50:29 +0000 (23:50 +1000)] 
 
Rework bencode decoding so it might support embedded structs 
 
Matt Joiner [Fri, 21 May 2021 04:02:45 +0000 (14:02 +1000)] 
 
Fix issue with duplicate preallocated requests 
 
Likely introduced by allowing actual and next request states to differ. 
 
Matt Joiner [Fri, 21 May 2021 04:01:41 +0000 (14:01 +1000)] 
 
Fix bitmap-related benchmark 
 
Matt Joiner [Fri, 21 May 2021 01:49:57 +0000 (11:49 +1000)] 
 
Track chunks read for webseed peers too 
 
Matt Joiner [Thu, 20 May 2021 10:33:17 +0000 (20:33 +1000)] 
 
Rename file 
 
Matt Joiner [Thu, 20 May 2021 10:28:23 +0000 (20:28 +1000)] 
 
Add peerConnMsgWriter file 
 
Forgot this earlier, new to Sublime Merge. 
 
Matt Joiner [Thu, 20 May 2021 10:27:54 +0000 (20:27 +1000)] 
 
Add chansync interfaces 
 
Matt Joiner [Thu, 20 May 2021 10:24:34 +0000 (20:24 +1000)] 
 
Fix race in piece availability runs 
 
Matt Joiner [Thu, 20 May 2021 10:23:45 +0000 (20:23 +1000)] 
 
Apply next request state asynchronously 
 
Matt Joiner [Thu, 20 May 2021 08:55:23 +0000 (18:55 +1000)] 
 
Move peerConnMsgWriter into its own file 
 
Matt Joiner [Thu, 20 May 2021 08:51:08 +0000 (18:51 +1000)] 
 
Break out peerConnWriter 
 
Matt Joiner [Thu, 20 May 2021 04:08:38 +0000 (14:08 +1000)] 
 
Resolve local replaces 
 
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