]>
 
 
Sergey Matveev's repositories - btrtrc.git/log 
 
 
 
 
 
 
Matt Joiner [Fri, 29 Jan 2021 06:59:56 +0000 (17:59 +1100)] 
 
Update crawshaw.io/sqlite 
 
Now includes the fix for the pool race. I've removed the replace, the only thing left in the getlantern fork is the linking fix, and I forget when it's an issue. 
 
Matt Joiner [Fri, 29 Jan 2021 05:14:08 +0000 (16:14 +1100)] 
 
We're not expecting chunks if we have no outstanding requests 
 
Matt Joiner [Fri, 29 Jan 2021 05:13:46 +0000 (16:13 +1100)] 
 
Set not interested when we have no pending requests 
 
Matt Joiner [Fri, 29 Jan 2021 05:01:35 +0000 (16:01 +1100)] 
 
Rework webseed peers to use a pool of requesters 
 
This fixes the limitation that the max outstanding requests for a webseed peer must match the request concurrency. It should mean less recalculation, and more pipelining. 
 
Matt Joiner [Thu, 28 Jan 2021 07:25:06 +0000 (18:25 +1100)] 
 
Pass callbacks to webseed peers 
 
Matt Joiner [Thu, 28 Jan 2021 05:36:35 +0000 (16:36 +1100)] 
 
Remove requests as soon as chunk data is received 
 
Note that this breaks the backpressure on webseed responses again, and should be fixed shortly. 
 
Matt Joiner [Thu, 28 Jan 2021 05:31:13 +0000 (16:31 +1100)] 
 
Add peer upload order analysis 
 
Matt Joiner [Thu, 28 Jan 2021 03:26:10 +0000 (14:26 +1100)] 
 
Don't cancel request on current peer when receiving chunk 
 
Matt Joiner [Thu, 28 Jan 2021 03:23:34 +0000 (14:23 +1100)] 
 
Update deps 
 
Matt Joiner [Thu, 28 Jan 2021 03:23:22 +0000 (14:23 +1100)] 
 
Expose more callbacks and Request and ChunkSpec 
 
Matt Joiner [Wed, 27 Jan 2021 06:06:31 +0000 (17:06 +1100)] 
 
PORT message belongs to BEP 5 
 
Matt Joiner [Tue, 26 Jan 2021 10:49:53 +0000 (21:49 +1100)] 
 
Escape URI path 
 
Matt Joiner [Tue, 19 Jan 2021 11:56:59 +0000 (22:56 +1100)] 
 
Update deps 
 
Matt Joiner [Tue, 19 Jan 2021 06:54:17 +0000 (17:54 +1100)] 
 
Remove cast(data as blob) workaround 
 
Upstream merged the fix. Good performance boost. 
 
Matt Joiner [Tue, 19 Jan 2021 05:55:45 +0000 (16:55 +1100)] 
 
Create index on blob(last_used) 
 
Matt Joiner [Tue, 19 Jan 2021 05:55:14 +0000 (16:55 +1100)] 
 
Add sqlite-storage-cli 
 
Matt Joiner [Tue, 19 Jan 2021 04:31:09 +0000 (15:31 +1100)] 
 
Remove obsolete reference to piece storage opts 
 
Matt Joiner [Tue, 19 Jan 2021 04:25:56 +0000 (15:25 +1100)] 
 
Fix race in writes to closed provider 
 
Matt Joiner [Tue, 19 Jan 2021 04:10:33 +0000 (15:10 +1100)] 
 
Fix transfer tests involving sqlite memory storage 
 
Matt Joiner [Mon, 18 Jan 2021 23:47:46 +0000 (10:47 +1100)] 
 
Rejig some storage options 
 
Matt Joiner [Mon, 18 Jan 2021 23:47:25 +0000 (10:47 +1100)] 
 
Fix unused opts param 
 
Matt Joiner [Mon, 18 Jan 2021 22:51:47 +0000 (09:51 +1100)] 
 
Include context.Context and pprof label in withConn 
 
Matt Joiner [Mon, 18 Jan 2021 22:28:09 +0000 (09:28 +1100)] 
 
Move storage piece benchmarks to storage/test and add a lot more dials 
 
Matt Joiner [Mon, 18 Jan 2021 08:29:53 +0000 (19:29 +1100)] 
 
Improve configurability and add PutSized to sqlite storage 
 
Matt Joiner [Mon, 18 Jan 2021 03:48:24 +0000 (14:48 +1100)] 
 
Add MarkComplete benchmark for sqlite 
 
Matt Joiner [Mon, 25 Jan 2021 04:43:28 +0000 (15:43 +1100)] 
 
Expose Peer.Network to replace Peer.RemoteAddr.Network 
 
Matt Joiner [Mon, 25 Jan 2021 03:22:24 +0000 (14:22 +1100)] 
 
Don't expose Peer network through RemoteAddr 
 
Matt Joiner [Wed, 20 Jan 2021 03:23:25 +0000 (14:23 +1100)] 
 
Generate a RemoteAddr for webseed Peers 
 
Matt Joiner [Wed, 20 Jan 2021 03:22:44 +0000 (14:22 +1100)] 
 
Add ReceivedUsefulData Callback 
 
Matt Joiner [Wed, 20 Jan 2021 02:10:32 +0000 (13:10 +1100)] 
 
Export Peer 
 
Matt Joiner [Thu, 21 Jan 2021 22:49:51 +0000 (09:49 +1100)] 
 
Implement encoding.TextMarshaler to match unmarshaler for metainfo.Hash 
 
Fixes https://github.com/anacrolix/torrent/issues/463 
 
Matt Joiner [Mon, 18 Jan 2021 22:18:07 +0000 (09:18 +1100)] 
 
Fix unreferenced variable 
 
Matt Joiner [Mon, 18 Jan 2021 22:17:41 +0000 (09:17 +1100)] 
 
Fix call to wrong postCancel? 
 
Looks like this would forget to also cancel the request on the peer, and only send the message. 
 
Matt Joiner [Mon, 18 Jan 2021 22:16:49 +0000 (09:16 +1100)] 
 
Fix duplicate import under different aliases 
 
Matt Joiner [Mon, 18 Jan 2021 03:41:06 +0000 (14:41 +1100)] 
 
Update DHT 
 
Matt Joiner [Mon, 18 Jan 2021 03:40:48 +0000 (14:40 +1100)] 
 
Fix boundary conditions trimming sqlite3 storage cache 
 
Justin M [Sun, 17 Jan 2021 02:30:27 +0000 (02:30  +0000)] 
 
Fix panic on Ping/WriteMessage for webtorrent 
 
Introduced in anacrolix/torrent #455 
 
Matt Joiner [Wed, 6 Jan 2021 22:50:46 +0000 (09:50 +1100)] 
 
Add link for @anacrolix 
 
ucwong [Wed, 6 Jan 2021 09:27:17 +0000 (17:27 +0800)] 
 
connection drop log debug level 
 
Justin M [Tue, 5 Jan 2021 05:40:44 +0000 (05:40  +0000)] 
 
Ping websocket to ensure connect remains online. 
 
OpenWebTorrent disconnects clients after two minutes of inactivity. In a scenario where an 
announce occurs and no other activity occurs for the (default) 120-second idle timer, the 
websocket will be torn down by OpenWebTorrent. This in turn causes the tracker client to wait one 
minute, reconnect, and reannounce its peers. 
 
This patch sends a websocket.PingMessage every 60 seconds to maintain the connection. 
 
Matt Joiner [Tue, 5 Jan 2021 05:58:45 +0000 (16:58 +1100)] 
 
Add the DropMutuallyCompletePeers ClientConfig field 
 
Justin M [Mon, 4 Jan 2021 22:54:07 +0000 (22:54 +0000)] 
 
Align webtorrent tracker to BEP-3 
 
Adding "omitempty" to json marshalling, bringing the webtorrent tracker AnnounceRequest in line 
with BEP-3, which states omitting the the "event" field is acceptable. 
 
Justin M [Mon, 4 Jan 2021 23:20:51 +0000 (23:20 +0000)] 
 
Reannounce webtorrent webrtc offers on reconnect 
 
On socket reconnect, reannounce any webrtc offers that might have been half-open before the 
socket reconnected. This implementation closes any existing half-open offers and republishes them, 
but does nothing to existing webrtc connections which are still running (these are cleaned up 
elsewhere and are not owned by this code) 
 
Matt Joiner [Mon, 4 Jan 2021 04:51:23 +0000 (15:51 +1100)] 
 
Some peerImpl observations 
 
Matt Joiner [Mon, 4 Jan 2021 02:37:44 +0000 (13:37 +1100)] 
 
Reinstate cmd/announce announce subcommand 
 
Matt Joiner [Mon, 4 Jan 2021 00:34:04 +0000 (11:34 +1100)] 
 
mse: Optimize allocations receiving handshakes 
 
Matt Joiner [Mon, 4 Jan 2021 00:33:46 +0000 (11:33 +1100)] 
 
Add benchmark for receiving handshakes with large skey counts 
 
Matt Joiner [Sun, 3 Jan 2021 23:49:28 +0000 (10:49 +1100)] 
 
Add mse.ReceiveHandshakeEx 
 
Matt Joiner [Sun, 3 Jan 2021 23:39:28 +0000 (10:39 +1100)] 
 
Upgrade github.com/frankban/quicktest 
 
Matt Joiner [Wed, 30 Dec 2020 00:43:48 +0000 (11:43 +1100)] 
 
Fix "none" event for WebTorrent announces 
 
Matt Joiner [Mon, 21 Dec 2020 02:57:59 +0000 (13:57 +1100)] 
 
Document ClientConfig.DisableAcceptRateLimiting 
 
Matt Joiner [Mon, 21 Dec 2020 08:12:40 +0000 (19:12 +1100)] 
 
Merge branch 'v1.19' 
 
* v1.19: 
  Further fixes to webseed path encoding 
  Update README.md 
  Move request strategy doc comments onto their public functions 
  Add deprecated ParseMagnetURI 
 
Matt Joiner [Mon, 21 Dec 2020 01:24:24 +0000 (12:24 +1100)] 
 
Further fixes to webseed path encoding 
 
Matt Joiner [Sun, 20 Dec 2020 23:04:44 +0000 (10:04 +1100)] 
 
Update README.md
Add Console 32 mention
(cherry picked from commit 
f3d3fd37244fabd2642214023f636a778a284864 )
 
Matt Joiner [Sat, 19 Dec 2020 03:43:21 +0000 (14:43 +1100)] 
 
Move request strategy doc comments onto their public functions
(cherry picked from commit 
8c059ae1583f48e295fd69001aae9eee4b721ba6 )
 
Matt Joiner [Sun, 20 Dec 2020 23:16:08 +0000 (10:16 +1100)] 
 
Add deprecated ParseMagnetURI 
 
Matt Joiner [Sun, 20 Dec 2020 23:04:44 +0000 (10:04 +1100)] 
 
Update README.md 
 
Add Console 32 mention 
 
Matt Joiner [Sun, 20 Dec 2020 22:39:02 +0000 (09:39 +1100)] 
 
Generalize internal/string-limiter Key type 
 
Matt Joiner [Sun, 20 Dec 2020 22:29:20 +0000 (09:29 +1100)] 
 
Pass trackerScraper context to announces 
 
This will cancel announces for Closed Torrents and let them move more quickly to announcing the stopped event. Spotted by @hwh33. 
 
Matt Joiner [Sat, 19 Dec 2020 03:43:21 +0000 (14:43 +1100)] 
 
Move request strategy doc comments onto their public functions 
 
Matt Joiner [Thu, 17 Dec 2020 01:22:02 +0000 (12:22 +1100)] 
 
Factor out internal/string_limiter 
 
Matt Joiner [Tue, 15 Dec 2020 04:29:45 +0000 (15:29 +1100)] 
 
Rework active announce limiter to reduce contention 
 
Matt Joiner [Thu, 10 Dec 2020 00:13:27 +0000 (11:13 +1100)] 
 
Don't send keepalives if a connection isn't useful to us 
 
This might help break the situation where anacrolix/torrent Clients that are connected to each other never release a connection until there's new connections that look more promising. 
 
Aranjedeath [Wed, 9 Dec 2020 05:27:50 +0000 (21:27 -0800)] 
 
Update metainfo.go 
 
delete "yoloham" so that is no longer the default comment string on torrents made without a comment specified. Should resolve https://github.com/anacrolix/torrent/issues/342 
 
Matt Joiner [Wed, 9 Dec 2020 11:36:57 +0000 (22:36 +1100)] 
 
Strictly adher to tracker announce response intervals if a torrent is private 
 
Matt Joiner [Wed, 9 Dec 2020 09:01:53 +0000 (20:01 +1100)] 
 
cmd/torrent: Add spew-bencoding command 
 
Matt Joiner [Wed, 9 Dec 2020 09:01:33 +0000 (20:01 +1100)] 
 
cmd/torrent: Fix download command default flags 
 
Matt Joiner [Wed, 9 Dec 2020 09:01:05 +0000 (20:01 +1100)] 
 
Log announce return 
 
Matt Joiner [Wed, 9 Dec 2020 09:00:42 +0000 (20:00 +1100)] 
 
cmd/torrent: Add file pick flag 
 
Matt Joiner [Wed, 9 Dec 2020 08:59:38 +0000 (19:59 +1100)] 
 
Update github.com/anacrolix/dht/v2 
 
Matt Joiner [Wed, 9 Dec 2020 05:18:54 +0000 (16:18 +1100)] 
 
cmd/torrent: Use alexflint/go-arg for argument parsing 
 
Also add list-files command to test it out. 
 
Matt Joiner [Mon, 30 Nov 2020 03:26:12 +0000 (14:26 +1100)] 
 
Update required go version 
 
I believe 1.15 is required for testing.T.TempDir. 
 
Matt Joiner [Sat, 21 Nov 2020 02:42:42 +0000 (13:42 +1100)] 
 
piece resource storage: Delete incomplete chunks concurrently after writing complete piece 
 
Matt Joiner [Sat, 21 Nov 2020 02:41:45 +0000 (13:41 +1100)] 
 
Use ConsecutiveChunkWriter in MarkComplete for piece resource storage if available 
 
Matt Joiner [Sat, 21 Nov 2020 02:40:09 +0000 (13:40 +1100)] 
 
Track piece marking state separately 
 
Matt Joiner [Sat, 21 Nov 2020 02:39:04 +0000 (13:39 +1100)] 
 
sqlite storage: Ensure that chunks are consecutive 
 
pataquets [Wed, 18 Nov 2020 14:49:22 +0000 (15:49 +0100)] 
 
Readme: downstream projects info. 
 
Matt Joiner [Mon, 16 Nov 2020 05:25:11 +0000 (16:25 +1100)] 
 
sqlite storage: Remove num batched write queries log message 
 
Matt Joiner [Mon, 16 Nov 2020 01:39:46 +0000 (12:39 +1100)] 
 
Update to race fixes in filecache and sqlite 
 
Matt Joiner [Sat, 14 Nov 2020 11:57:19 +0000 (22:57 +1100)] 
 
sqlite storage: Buffer write requests 
 
Matt Joiner [Sat, 14 Nov 2020 11:56:55 +0000 (22:56 +1100)] 
 
sqlite storage: Add some expvars 
 
Matt Joiner [Sat, 14 Nov 2020 11:56:27 +0000 (22:56 +1100)] 
 
sqlite storage: Add error return from withConn 
 
Matt Joiner [Sat, 14 Nov 2020 11:54:40 +0000 (22:54 +1100)] 
 
Fix panic in when bbolt storage has Closed 
 
Matt Joiner [Sat, 14 Nov 2020 11:53:55 +0000 (22:53 +1100)] 
 
Mark piece complete without Client lock 
 
Matt Joiner [Fri, 13 Nov 2020 04:50:08 +0000 (15:50 +1100)] 
 
Read peer request data without Client lock 
 
Matt Joiner [Thu, 12 Nov 2020 04:25:06 +0000 (15:25 +1100)] 
 
Add support for the x.pe magnet link parameter 
 
Yaroslav Kolomiiets [Thu, 12 Nov 2020 21:24:33 +0000 (21:24 +0000)] 
 
optimise PEX by avoiding intermediate storage while preparing PEX messages 
 
Yaroslav Kolomiiets [Tue, 10 Nov 2020 12:32:40 +0000 (12:32 +0000)] 
 
optimise generation of the initial PEX 
 
Yaroslav Kolomiiets [Mon, 9 Nov 2020 15:05:47 +0000 (15:05 +0000)] 
 
simplify pexMsgFactory 
 
Yaroslav Kolomiiets [Mon, 9 Nov 2020 13:20:23 +0000 (13:20 +0000)] 
 
add test covering a recently fixed regression in initial PEX 
 
Yaroslav Kolomiiets [Wed, 11 Nov 2020 15:10:05 +0000 (15:10 +0000)] 
 
Fix excessive logging from mmap-backed storage (anacrolix/torrent#436) 
 
Matt Joiner [Wed, 11 Nov 2020 04:31:55 +0000 (15:31 +1100)] 
 
Implement fmt.Formatter for metainfo.Hash 
 
It's so easy to make mistakes by specifying %x when printing these. 
 
Matt Joiner [Wed, 11 Nov 2020 04:30:53 +0000 (15:30 +1100)] 
 
Improve cmd/tracker-announce 
 
Add -tracker flag, support specifying infohashes directly, spew announce responses so they're more readable. 
 
Matt Joiner [Sun, 8 Nov 2020 23:56:27 +0000 (10:56 +1100)] 
 
Tidy up doc, file names, naming 
 
Matt Joiner [Sun, 8 Nov 2020 22:20:05 +0000 (09:20 +1100)] 
 
Update README.md 
 
Matt Joiner [Fri, 6 Nov 2020 05:23:23 +0000 (16:23 +1100)] 
 
Fix initial pex message regression
As pointed out by @yarikk https://github.com/anacrolix/torrent/commit/
c1d189ed31af99cbf6f10d9ffdc2cc4e19a73b91 #r43920706
 
Matt Joiner [Thu, 5 Nov 2020 23:36:49 +0000 (10:36 +1100)] 
 
Replace storage.IncompletePieceToWriter with io.Writer 
 
It was incorrect to assume piece hashing only operates on incomplete chunk data. This actually uncovered a bug where duplicate hash checks occurred, and the redundant checks would fail due to not reading the completed data. 
 
Code7unner [Thu, 5 Nov 2020 07:10:14 +0000 (17:10 +1000)] 
 
Fix PkgGoDev reference in README 
 
Matt Joiner [Thu, 5 Nov 2020 21:39:56 +0000 (08:39 +1100)] 
 
Fix piece getting queued for hash multiple times 
 
Pieces could get queued for hash multiple times when we receive chunks if the piece starts getting hashed before we're done writing all the chunks out. This was only found because piece hashing currently only checks the incomplete data, which is missing after the first piece hash passes, the data is marked complete, then the subsequently queued hash has nothing to read. 
 
Matt Joiner [Thu, 5 Nov 2020 02:28:45 +0000 (13:28 +1100)] 
 
Add the ReceiveEncryptedHandshakeSkeys callback