]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
3 years agoUpdate deps v1.26.0-alpha.1
Matt Joiner [Thu, 11 Mar 2021 22:45:38 +0000 (09:45 +1100)]
Update deps

3 years agoFix dht Server Ping call v1.26.0-alpha
Matt Joiner [Thu, 11 Mar 2021 00:32:31 +0000 (11:32 +1100)]
Fix dht Server Ping call

3 years agoDon't bench with -race
Matt Joiner [Wed, 24 Feb 2021 02:48:05 +0000 (13:48 +1100)]
Don't bench with -race

3 years agoInclude webseed urls in MetaInfo.Magnet output
Matt Joiner [Wed, 24 Feb 2021 01:11:41 +0000 (12:11 +1100)]
Include webseed urls in MetaInfo.Magnet output

Fixes #469.

3 years agoImprove metainfo.MetaInfo.Magnet interface and add tests
Matt Joiner [Wed, 24 Feb 2021 01:03:16 +0000 (12:03 +1100)]
Improve metainfo.MetaInfo.Magnet interface and add tests

3 years agoPEX: impede full-meching in tracker-less swarms by adding a cooldown minute
Yaroslav Kolomiiets [Mon, 14 Dec 2020 16:04:45 +0000 (16:04 +0000)]
PEX: impede full-meching in tracker-less swarms by adding a cooldown minute

3 years agoAdd missing closeMu use in ReadConsecutiveChunks
Matt Joiner [Mon, 22 Feb 2021 05:39:21 +0000 (16:39 +1100)]
Add missing closeMu use in ReadConsecutiveChunks

3 years agoOnly write update bolt piece completion if the existing value differs
Matt Joiner [Mon, 22 Feb 2021 03:51:34 +0000 (14:51 +1100)]
Only write update bolt piece completion if the existing value differs

3 years agoReplace internal/tmproot with Testing.TB.TempDir
Matt Joiner [Mon, 22 Feb 2021 03:30:09 +0000 (14:30 +1100)]
Replace internal/tmproot with Testing.TB.TempDir

3 years agoMerge Sean-Der's webrtc/v3 update
Matt Joiner [Mon, 22 Feb 2021 00:22:49 +0000 (11:22 +1100)]
Merge Sean-Der's webrtc/v3 update

3 years agoComment and log change on torrentfs behaviour change
Matt Joiner [Sun, 21 Feb 2021 23:10:43 +0000 (10:10 +1100)]
Comment and log change on torrentfs behaviour change

3 years agoMerge branch 'fuse-email-issue'
Matt Joiner [Sun, 21 Feb 2021 23:05:32 +0000 (10:05 +1100)]
Merge branch 'fuse-email-issue'

3 years agogo mod tidy
Matt Joiner [Sun, 21 Feb 2021 23:01:56 +0000 (10:01 +1100)]
go mod tidy

3 years agoPull dht peer store interface
Matt Joiner [Sun, 21 Feb 2021 23:00:51 +0000 (10:00 +1100)]
Pull dht peer store interface

3 years agoUpgrade to pion/webrtc@v3
Sean DuBois [Sun, 21 Feb 2021 21:30:34 +0000 (13:30 -0800)]
Upgrade to pion/webrtc@v3

3 years agoAdd PeerStorer interface
Matt Joiner [Sun, 21 Feb 2021 06:17:57 +0000 (17:17 +1100)]
Add PeerStorer interface

3 years agoAdd ClientConfig.ConfigureAnacrolixDhtServer
Matt Joiner [Sat, 20 Feb 2021 11:16:54 +0000 (22:16 +1100)]
Add ClientConfig.ConfigureAnacrolixDhtServer

3 years agoClose all peer types when Torrent closed
Matt Joiner [Fri, 19 Feb 2021 01:58:20 +0000 (12:58 +1100)]
Close all peer types when Torrent closed

3 years agoCode comment
Matt Joiner [Fri, 19 Feb 2021 01:37:26 +0000 (12:37 +1100)]
Code comment

3 years agoCreate codeql-analysis.yml
Matt Joiner [Mon, 27 Jul 2020 23:00:53 +0000 (09:00 +1000)]
Create codeql-analysis.yml

3 years agoInclude webseed URLs in output of Torrent.Metainfo
Matt Joiner [Thu, 18 Feb 2021 03:37:06 +0000 (14:37 +1100)]
Include webseed URLs in output of Torrent.Metainfo

3 years agoTreat 404 responses from webseed peers as fatal
Matt Joiner [Thu, 18 Feb 2021 03:36:08 +0000 (14:36 +1100)]
Treat 404 responses from webseed peers as fatal

Fixes #464.

3 years agoAdd test case for #464
Matt Joiner [Thu, 18 Feb 2021 03:34:42 +0000 (14:34 +1100)]
Add test case for #464

3 years agoInstall godo
Matt Joiner [Mon, 15 Feb 2021 10:44:52 +0000 (21:44 +1100)]
Install godo

3 years agoRun torrentfs without race
Matt Joiner [Mon, 15 Feb 2021 10:44:35 +0000 (21:44 +1100)]
Run torrentfs without race

3 years agoAdd new debian torrent testdata file
Matt Joiner [Mon, 15 Feb 2021 05:12:58 +0000 (16:12 +1100)]
Add new debian torrent testdata file

3 years agoUse io.ReadFull in fs reads
Matt Joiner [Mon, 15 Feb 2021 04:53:32 +0000 (15:53 +1100)]
Use io.ReadFull in fs reads

3 years agofs/test.sh: Use godo for out of tree go run
Matt Joiner [Mon, 15 Feb 2021 04:45:07 +0000 (15:45 +1100)]
fs/test.sh: Use godo for out of tree go run

3 years agoRework fs/test.sh
Matt Joiner [Fri, 12 Feb 2021 08:21:28 +0000 (19:21 +1100)]
Rework fs/test.sh

Updates to use newer debian file, and operate in working directory. Temporary directory management should be done by the caller (such as in CI maybe).

3 years agoLimit conns per host across webseed clients v1.25.0
Matt Joiner [Tue, 9 Feb 2021 08:22:38 +0000 (19:22 +1100)]
Limit conns per host across webseed clients

3 years agoFix closing of webseed peers
Matt Joiner [Tue, 9 Feb 2021 08:21:54 +0000 (19:21 +1100)]
Fix closing of webseed peers

3 years agoBuff issue 465 test command
Matt Joiner [Tue, 9 Feb 2021 08:17:22 +0000 (19:17 +1100)]
Buff issue 465 test command

3 years agoAdd minimal reproducing code for issue 465
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.

3 years agoFix panic in benchmark v1.24.0
Matt Joiner [Thu, 4 Feb 2021 23:01:33 +0000 (10:01 +1100)]
Fix panic in benchmark

3 years agoUse locks on piece per resource pieces to prevent races in reading incomplete data
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

3 years agoExpose mmap_size in sqlite storage, and change default to 8 MiB
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

3 years agoFix some go vet warnings
Matt Joiner [Wed, 3 Feb 2021 08:42:46 +0000 (19:42 +1100)]
Fix some go vet warnings

3 years agoFix Close race in sqlite storage when batch writes disabled
Matt Joiner [Wed, 3 Feb 2021 08:27:26 +0000 (19:27 +1100)]
Fix Close race in sqlite storage when batch writes disabled

3 years agoRevert "Fix stalls for responsive transfer tests"
Matt Joiner [Wed, 3 Feb 2021 07:55:54 +0000 (18:55 +1100)]
Revert "Fix stalls for responsive transfer tests"

This reverts commit d48c6ae6dc69b7ce23a109cc9ba401e6ab44d831.

3 years agoAdd batch writes cases to sqlite storage benchmarks
Matt Joiner [Wed, 3 Feb 2021 07:55:14 +0000 (18:55 +1100)]
Add batch writes cases to sqlite storage benchmarks

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