]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
3 years agoUpdate deps v1.23.0
Matt Joiner [Mon, 1 Feb 2021 23:47:38 +0000 (10:47 +1100)]
Update deps

3 years agoFix for go<1.16
Matt Joiner [Mon, 1 Feb 2021 05:55:22 +0000 (16:55 +1100)]
Fix for go<1.16

3 years agoFix sqlite storage for numconns 1
Matt Joiner [Mon, 1 Feb 2021 04:47:28 +0000 (15:47 +1100)]
Fix sqlite storage for numconns 1

3 years agoFix stalls for responsive transfer tests
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.

3 years agoSwitch to reading consecutive 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.

3 years agoAdd tests for numconns 2
Matt Joiner [Mon, 1 Feb 2021 00:33:56 +0000 (11:33 +1100)]
Add tests for numconns 2

3 years agoUse go1.16 release branch in CI
Matt Joiner [Sat, 30 Jan 2021 01:31:01 +0000 (12:31 +1100)]
Use go1.16 release branch in CI

3 years agofixed code quality issues using DeepSource
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

3 years agoUse iotest.TestReader
Matt Joiner [Fri, 29 Jan 2021 12:32:01 +0000 (23:32 +1100)]
Use iotest.TestReader

3 years agoSome deps got tagged
Matt Joiner [Fri, 29 Jan 2021 11:05:09 +0000 (22:05 +1100)]
Some deps got tagged

3 years agoUpdate crawshaw.io/sqlite v1.22.0
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.

3 years agoWe're not expecting chunks if we have no outstanding requests
Matt Joiner [Fri, 29 Jan 2021 05:14:08 +0000 (16:14 +1100)]
We're not expecting chunks if we have no outstanding requests

3 years agoSet not interested when we have no pending requests
Matt Joiner [Fri, 29 Jan 2021 05:13:46 +0000 (16:13 +1100)]
Set not interested when we have no pending requests

3 years agoRework webseed peers to use a pool of requesters
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.

3 years agoPass callbacks to webseed peers
Matt Joiner [Thu, 28 Jan 2021 07:25:06 +0000 (18:25 +1100)]
Pass callbacks to webseed peers

3 years agoRemove requests as soon as chunk data is received
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.

3 years agoAdd peer upload order analysis
Matt Joiner [Thu, 28 Jan 2021 05:31:13 +0000 (16:31 +1100)]
Add peer upload order analysis

3 years agoDon't cancel request on current peer when receiving chunk
Matt Joiner [Thu, 28 Jan 2021 03:26:10 +0000 (14:26 +1100)]
Don't cancel request on current peer when receiving chunk

3 years agoUpdate deps
Matt Joiner [Thu, 28 Jan 2021 03:23:34 +0000 (14:23 +1100)]
Update deps

3 years agoExpose more callbacks and Request and ChunkSpec
Matt Joiner [Thu, 28 Jan 2021 03:23:22 +0000 (14:23 +1100)]
Expose more callbacks and Request and ChunkSpec

3 years agoPORT message belongs to BEP 5
Matt Joiner [Wed, 27 Jan 2021 06:06:31 +0000 (17:06 +1100)]
PORT message belongs to BEP 5

3 years agoEscape URI path
Matt Joiner [Tue, 26 Jan 2021 10:49:53 +0000 (21:49 +1100)]
Escape URI path

3 years agoUpdate deps
Matt Joiner [Tue, 19 Jan 2021 11:56:59 +0000 (22:56 +1100)]
Update deps

3 years agoRemove cast(data as blob) workaround
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.

3 years agoCreate index on blob(last_used)
Matt Joiner [Tue, 19 Jan 2021 05:55:45 +0000 (16:55 +1100)]
Create index on blob(last_used)

3 years agoAdd sqlite-storage-cli
Matt Joiner [Tue, 19 Jan 2021 05:55:14 +0000 (16:55 +1100)]
Add sqlite-storage-cli

3 years agoRemove obsolete reference to piece storage opts
Matt Joiner [Tue, 19 Jan 2021 04:31:09 +0000 (15:31 +1100)]
Remove obsolete reference to piece storage opts

3 years agoFix race in writes to closed provider
Matt Joiner [Tue, 19 Jan 2021 04:25:56 +0000 (15:25 +1100)]
Fix race in writes to closed provider

3 years agoFix transfer tests involving sqlite memory storage
Matt Joiner [Tue, 19 Jan 2021 04:10:33 +0000 (15:10 +1100)]
Fix transfer tests involving sqlite memory storage

3 years agoRejig some storage options
Matt Joiner [Mon, 18 Jan 2021 23:47:46 +0000 (10:47 +1100)]
Rejig some storage options

3 years agoFix unused opts param
Matt Joiner [Mon, 18 Jan 2021 23:47:25 +0000 (10:47 +1100)]
Fix unused opts param

3 years agoInclude context.Context and pprof label in withConn
Matt Joiner [Mon, 18 Jan 2021 22:51:47 +0000 (09:51 +1100)]
Include context.Context and pprof label in withConn

3 years agoMove storage piece benchmarks to storage/test and add a lot more dials
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

3 years agoImprove configurability and add PutSized to sqlite storage
Matt Joiner [Mon, 18 Jan 2021 08:29:53 +0000 (19:29 +1100)]
Improve configurability and add PutSized to sqlite storage

3 years agoAdd MarkComplete benchmark for sqlite
Matt Joiner [Mon, 18 Jan 2021 03:48:24 +0000 (14:48 +1100)]
Add MarkComplete benchmark for sqlite

3 years agoExpose Peer.Network to replace Peer.RemoteAddr.Network
Matt Joiner [Mon, 25 Jan 2021 04:43:28 +0000 (15:43 +1100)]
Expose Peer.Network to replace Peer.RemoteAddr.Network

3 years agoDon't expose Peer network through RemoteAddr
Matt Joiner [Mon, 25 Jan 2021 03:22:24 +0000 (14:22 +1100)]
Don't expose Peer network through RemoteAddr

3 years agoGenerate a RemoteAddr for webseed Peers
Matt Joiner [Wed, 20 Jan 2021 03:23:25 +0000 (14:23 +1100)]
Generate a RemoteAddr for webseed Peers

3 years agoAdd ReceivedUsefulData Callback
Matt Joiner [Wed, 20 Jan 2021 03:22:44 +0000 (14:22 +1100)]
Add ReceivedUsefulData Callback

3 years agoExport Peer
Matt Joiner [Wed, 20 Jan 2021 02:10:32 +0000 (13:10 +1100)]
Export Peer

3 years agoImplement encoding.TextMarshaler to match unmarshaler for metainfo.Hash
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

3 years agoFix unreferenced variable v1.21.0
Matt Joiner [Mon, 18 Jan 2021 22:18:07 +0000 (09:18 +1100)]
Fix unreferenced variable

3 years agoFix call to wrong postCancel?
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.

3 years agoFix duplicate import under different aliases
Matt Joiner [Mon, 18 Jan 2021 22:16:49 +0000 (09:16 +1100)]
Fix duplicate import under different aliases

3 years agoUpdate DHT
Matt Joiner [Mon, 18 Jan 2021 03:41:06 +0000 (14:41 +1100)]
Update DHT

3 years agoFix boundary conditions trimming sqlite3 storage cache
Matt Joiner [Mon, 18 Jan 2021 03:40:48 +0000 (14:40 +1100)]
Fix boundary conditions trimming sqlite3 storage cache

3 years agoFix panic on Ping/WriteMessage for webtorrent
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

3 years agoAdd link for @anacrolix
Matt Joiner [Wed, 6 Jan 2021 22:50:46 +0000 (09:50 +1100)]
Add link for @anacrolix

3 years agoconnection drop log debug level
ucwong [Wed, 6 Jan 2021 09:27:17 +0000 (17:27 +0800)]
connection drop log debug level

3 years agoPing websocket to ensure connect remains online.
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.

3 years agoAdd the DropMutuallyCompletePeers ClientConfig field
Matt Joiner [Tue, 5 Jan 2021 05:58:45 +0000 (16:58 +1100)]
Add the DropMutuallyCompletePeers ClientConfig field

3 years agoAlign webtorrent tracker to BEP-3
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.

3 years agoReannounce webtorrent webrtc offers on reconnect
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)

3 years agoSome peerImpl observations v1.20.0
Matt Joiner [Mon, 4 Jan 2021 04:51:23 +0000 (15:51 +1100)]
Some peerImpl observations

3 years agoReinstate cmd/announce announce subcommand
Matt Joiner [Mon, 4 Jan 2021 02:37:44 +0000 (13:37 +1100)]
Reinstate cmd/announce announce subcommand

3 years agomse: Optimize allocations receiving handshakes
Matt Joiner [Mon, 4 Jan 2021 00:34:04 +0000 (11:34 +1100)]
mse: Optimize allocations receiving handshakes

3 years agoAdd benchmark for receiving handshakes with large skey counts
Matt Joiner [Mon, 4 Jan 2021 00:33:46 +0000 (11:33 +1100)]
Add benchmark for receiving handshakes with large skey counts

3 years agoAdd mse.ReceiveHandshakeEx
Matt Joiner [Sun, 3 Jan 2021 23:49:28 +0000 (10:49 +1100)]
Add mse.ReceiveHandshakeEx

3 years agoUpgrade github.com/frankban/quicktest
Matt Joiner [Sun, 3 Jan 2021 23:39:28 +0000 (10:39 +1100)]
Upgrade github.com/frankban/quicktest

3 years agoFix "none" event for WebTorrent announces
Matt Joiner [Wed, 30 Dec 2020 00:43:48 +0000 (11:43 +1100)]
Fix "none" event for WebTorrent announces

3 years agoDocument ClientConfig.DisableAcceptRateLimiting
Matt Joiner [Mon, 21 Dec 2020 02:57:59 +0000 (13:57 +1100)]
Document ClientConfig.DisableAcceptRateLimiting

3 years agoMerge branch 'v1.19'
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

3 years agoFurther fixes to webseed path encoding v1.19.2
Matt Joiner [Mon, 21 Dec 2020 01:24:24 +0000 (12:24 +1100)]
Further fixes to webseed path encoding

3 years agoUpdate README.md v1.19.1
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)

3 years agoMove request strategy doc comments onto their public functions
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)

3 years agoAdd deprecated ParseMagnetURI
Matt Joiner [Sun, 20 Dec 2020 23:16:08 +0000 (10:16 +1100)]
Add deprecated ParseMagnetURI

3 years agoUpdate README.md
Matt Joiner [Sun, 20 Dec 2020 23:04:44 +0000 (10:04 +1100)]
Update README.md

Add Console 32 mention

3 years agoGeneralize internal/string-limiter Key type
Matt Joiner [Sun, 20 Dec 2020 22:39:02 +0000 (09:39 +1100)]
Generalize internal/string-limiter Key type

3 years agoPass trackerScraper context to announces
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.

3 years agoMove request strategy doc comments onto their public functions
Matt Joiner [Sat, 19 Dec 2020 03:43:21 +0000 (14:43 +1100)]
Move request strategy doc comments onto their public functions

3 years agoFactor out internal/string_limiter v1.19.0
Matt Joiner [Thu, 17 Dec 2020 01:22:02 +0000 (12:22 +1100)]
Factor out internal/string_limiter

3 years agoRework active announce limiter to reduce contention
Matt Joiner [Tue, 15 Dec 2020 04:29:45 +0000 (15:29 +1100)]
Rework active announce limiter to reduce contention

3 years agoDon't send keepalives if a connection isn't useful to us
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.

3 years agoUpdate metainfo.go
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

3 years agoStrictly adher to tracker announce response intervals if a torrent is private
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

3 years agocmd/torrent: Add spew-bencoding command
Matt Joiner [Wed, 9 Dec 2020 09:01:53 +0000 (20:01 +1100)]
cmd/torrent: Add spew-bencoding command

3 years agocmd/torrent: Fix download command default flags
Matt Joiner [Wed, 9 Dec 2020 09:01:33 +0000 (20:01 +1100)]
cmd/torrent: Fix download command default flags

3 years agoLog announce return
Matt Joiner [Wed, 9 Dec 2020 09:01:05 +0000 (20:01 +1100)]
Log announce return

3 years agocmd/torrent: Add file pick flag
Matt Joiner [Wed, 9 Dec 2020 09:00:42 +0000 (20:00 +1100)]
cmd/torrent: Add file pick flag

3 years agoUpdate github.com/anacrolix/dht/v2
Matt Joiner [Wed, 9 Dec 2020 08:59:38 +0000 (19:59 +1100)]
Update github.com/anacrolix/dht/v2

3 years agocmd/torrent: Use alexflint/go-arg for argument parsing
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.

3 years agoUpdate required go version
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.

3 years agopiece resource storage: Delete incomplete chunks concurrently after writing complete...
Matt Joiner [Sat, 21 Nov 2020 02:42:42 +0000 (13:42 +1100)]
piece resource storage: Delete incomplete chunks concurrently after writing complete piece

3 years agoUse ConsecutiveChunkWriter in MarkComplete for piece resource storage if available
Matt Joiner [Sat, 21 Nov 2020 02:41:45 +0000 (13:41 +1100)]
Use ConsecutiveChunkWriter in MarkComplete for piece resource storage if available

3 years agoTrack piece marking state separately
Matt Joiner [Sat, 21 Nov 2020 02:40:09 +0000 (13:40 +1100)]
Track piece marking state separately

3 years agosqlite storage: Ensure that chunks are consecutive
Matt Joiner [Sat, 21 Nov 2020 02:39:04 +0000 (13:39 +1100)]
sqlite storage: Ensure that chunks are consecutive

3 years agoReadme: downstream projects info.
pataquets [Wed, 18 Nov 2020 14:49:22 +0000 (15:49 +0100)]
Readme: downstream projects info.

3 years agosqlite storage: Remove num batched write queries log message
Matt Joiner [Mon, 16 Nov 2020 05:25:11 +0000 (16:25 +1100)]
sqlite storage: Remove num batched write queries log message

3 years agoUpdate to race fixes in filecache and sqlite
Matt Joiner [Mon, 16 Nov 2020 01:39:46 +0000 (12:39 +1100)]
Update to race fixes in filecache and sqlite

3 years agosqlite storage: Buffer write requests
Matt Joiner [Sat, 14 Nov 2020 11:57:19 +0000 (22:57 +1100)]
sqlite storage: Buffer write requests

3 years agosqlite storage: Add some expvars
Matt Joiner [Sat, 14 Nov 2020 11:56:55 +0000 (22:56 +1100)]
sqlite storage: Add some expvars

3 years agosqlite storage: Add error return from withConn
Matt Joiner [Sat, 14 Nov 2020 11:56:27 +0000 (22:56 +1100)]
sqlite storage: Add error return from withConn

3 years agoFix panic in when bbolt storage has Closed
Matt Joiner [Sat, 14 Nov 2020 11:54:40 +0000 (22:54 +1100)]
Fix panic in when bbolt storage has Closed

3 years agoMark piece complete without Client lock
Matt Joiner [Sat, 14 Nov 2020 11:53:55 +0000 (22:53 +1100)]
Mark piece complete without Client lock

3 years agoRead peer request data without Client lock
Matt Joiner [Fri, 13 Nov 2020 04:50:08 +0000 (15:50 +1100)]
Read peer request data without Client lock

3 years agoAdd support for the x.pe magnet link parameter
Matt Joiner [Thu, 12 Nov 2020 04:25:06 +0000 (15:25 +1100)]
Add support for the x.pe magnet link parameter

3 years agooptimise PEX by avoiding intermediate storage while preparing PEX messages
Yaroslav Kolomiiets [Thu, 12 Nov 2020 21:24:33 +0000 (21:24 +0000)]
optimise PEX by avoiding intermediate storage while preparing PEX messages

3 years agooptimise generation of the initial PEX
Yaroslav Kolomiiets [Tue, 10 Nov 2020 12:32:40 +0000 (12:32 +0000)]
optimise generation of the initial PEX

3 years agosimplify pexMsgFactory
Yaroslav Kolomiiets [Mon, 9 Nov 2020 15:05:47 +0000 (15:05 +0000)]
simplify pexMsgFactory

3 years agoadd test covering a recently fixed regression in initial PEX
Yaroslav Kolomiiets [Mon, 9 Nov 2020 13:20:23 +0000 (13:20 +0000)]
add test covering a recently fixed regression in initial PEX