]>
Sergey Matveev's repositories - btrtrc.git/log
Matt Joiner [Tue, 9 Feb 2021 08:21:54 +0000 (19:21 +1100)]
Fix closing of webseed peers
Matt Joiner [Tue, 9 Feb 2021 08:17:22 +0000 (19:17 +1100)]
Buff issue 465 test command
Matt Joiner [Tue, 9 Feb 2021 06:05:02 +0000 (17:05 +1100)]
Add minimal reproducing code for issue 465
From https://github.com/anacrolix/torrent/issues/465#issuecomment-
774869977 .
Matt Joiner [Thu, 4 Feb 2021 23:01:33 +0000 (10:01 +1100)]
Fix panic in benchmark
Matt Joiner [Thu, 4 Feb 2021 07:42:43 +0000 (18:42 +1100)]
Use locks on piece per resource pieces to prevent races in reading incomplete data
Matt Joiner [Thu, 4 Feb 2021 07:29:34 +0000 (18:29 +1100)]
Expose mmap_size in sqlite storage, and change default to 8 MiB
Matt Joiner [Wed, 3 Feb 2021 08:42:46 +0000 (19:42 +1100)]
Fix some go vet warnings
Matt Joiner [Wed, 3 Feb 2021 08:27:26 +0000 (19:27 +1100)]
Fix Close race in sqlite storage when batch writes disabled
Matt Joiner [Wed, 3 Feb 2021 07:55:54 +0000 (18:55 +1100)]
Revert "Fix stalls for responsive transfer tests"
This reverts commit
d48c6ae6dc69b7ce23a109cc9ba401e6ab44d831 .
Matt Joiner [Wed, 3 Feb 2021 07:55:14 +0000 (18:55 +1100)]
Add batch writes cases to sqlite storage benchmarks
Matt Joiner [Mon, 1 Feb 2021 23:47:38 +0000 (10:47 +1100)]
Update deps
Matt Joiner [Mon, 1 Feb 2021 05:55:22 +0000 (16:55 +1100)]
Fix for go<1.16
Matt Joiner [Mon, 1 Feb 2021 04:47:28 +0000 (15:47 +1100)]
Fix sqlite storage for numconns 1
Matt Joiner [Mon, 1 Feb 2021 04:25:34 +0000 (15:25 +1100)]
Fix stalls for responsive transfer tests
Looks like there's a timing issue between marking things complete, and already having decided to read the data from incomplete chunks.
Matt Joiner [Mon, 1 Feb 2021 01:22:31 +0000 (12:22 +1100)]
Switch to reading consecutive incomplete chunks
This fixes a race where a sqlite conn isn't reserved for the read part of a MarkComplete operation after the write has already begun.
Matt Joiner [Mon, 1 Feb 2021 00:33:56 +0000 (11:33 +1100)]
Add tests for numconns 2
Matt Joiner [Sat, 30 Jan 2021 01:31:01 +0000 (12:31 +1100)]
Use go1.16 release branch in CI
Shubhendra Singh Chauhan [Sat, 16 Jan 2021 10:59:36 +0000 (16:29 +0530)]
fixed code quality issues using DeepSource
* Added .deepsource.toml
* Removed empty default in select
* Removed unnecessary use of slice
* Fixed check for empty string
Matt Joiner [Fri, 29 Jan 2021 12:32:01 +0000 (23:32 +1100)]
Use iotest.TestReader
Matt Joiner [Fri, 29 Jan 2021 11:05:09 +0000 (22:05 +1100)]
Some deps got tagged
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