]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
4 years agoUpdate anacrolix/log
Matt Joiner [Thu, 16 Apr 2020 07:20:58 +0000 (17:20 +1000)]
Update anacrolix/log

4 years agoFix false positive Goland code lint
Matt Joiner [Thu, 16 Apr 2020 04:52:52 +0000 (14:52 +1000)]
Fix false positive Goland code lint

4 years agoFix small cache transfer tests
Matt Joiner [Thu, 16 Apr 2020 04:12:17 +0000 (14:12 +1000)]
Fix small cache transfer tests

Since hashing Peer Addrs in the Torrent pending peers, clients are getting more than one connection to the seeder in the tests and failing.

4 years agoFix pending peer counts in transfer tests
Matt Joiner [Thu, 16 Apr 2020 04:09:45 +0000 (14:09 +1000)]
Fix pending peer counts in transfer tests

Also expose number of peers successfully added in some method returns.

4 years agoAdjust recently added logging
Matt Joiner [Thu, 16 Apr 2020 02:17:18 +0000 (12:17 +1000)]
Adjust recently added logging

4 years agoOnly announce to DHT if we have dialers or listeners
Matt Joiner [Thu, 16 Apr 2020 02:03:27 +0000 (12:03 +1000)]
Only announce to DHT if we have dialers or listeners

4 years agoSet tracker announce numWant to 0 if we're unable to dial
Matt Joiner [Thu, 16 Apr 2020 02:02:34 +0000 (12:02 +1000)]
Set tracker announce numWant to 0 if we're unable to dial

4 years agoDon't try to do conventional dials if we have no dialers
Matt Joiner [Thu, 16 Apr 2020 02:00:49 +0000 (12:00 +1000)]
Don't try to do conventional dials if we have no dialers

Stops us from consuming all the peers we store for no reason.

4 years agoInclude hashed addr when comparing prioritized peers
Matt Joiner [Thu, 16 Apr 2020 01:59:31 +0000 (11:59 +1000)]
Include hashed addr when comparing prioritized peers

In particular, fixes the issue where peers where can't calculate a priority and fallback on 0 clobber each other.

4 years agoUpdate the peersAddedBySource expvar
Matt Joiner [Thu, 16 Apr 2020 01:56:58 +0000 (11:56 +1000)]
Update the peersAddedBySource expvar

4 years agoFix crash with conventional trackers when tcp and utp are disabled
Matt Joiner [Thu, 16 Apr 2020 00:27:17 +0000 (10:27 +1000)]
Fix crash with conventional trackers when tcp and utp are disabled

Fixes #396.

4 years agocmd/torrent: Fix -{utp,tcp}Peers defaults
Matt Joiner [Thu, 16 Apr 2020 00:26:37 +0000 (10:26 +1000)]
cmd/torrent: Fix -{utp,tcp}Peers defaults

Addresses https://github.com/anacrolix/torrent/issues/396#issuecomment-614210103.

4 years agoPEX: integrate with send throttling
Yaroslav Kolomiiets [Wed, 15 Apr 2020 12:02:34 +0000 (13:02 +0100)]
PEX: integrate with send throttling

4 years agoCount outgoing extended messages by extension protocol
Matt Joiner [Wed, 15 Apr 2020 08:09:15 +0000 (18:09 +1000)]
Count outgoing extended messages by extension protocol

4 years agoFix change in Client.newConnection
Matt Joiner [Wed, 15 Apr 2020 07:28:39 +0000 (17:28 +1000)]
Fix change in Client.newConnection

4 years agoMerge branch 'webtorrent'
Matt Joiner [Wed, 15 Apr 2020 07:26:46 +0000 (17:26 +1000)]
Merge branch 'webtorrent'

4 years agoClone the AnnounceList out of Torrent.Metainfo
Matt Joiner [Wed, 15 Apr 2020 03:07:17 +0000 (13:07 +1000)]
Clone the AnnounceList out of Torrent.Metainfo

Should fix a race with Torrent.AddTrackers

4 years agoComments and reduced locking in trackerScraper.Run
Matt Joiner [Wed, 15 Apr 2020 03:05:41 +0000 (13:05 +1000)]
Comments and reduced locking in trackerScraper.Run

4 years agoPEX: add periodic deltas
Yaroslav Kolomiiets [Wed, 8 Apr 2020 16:03:29 +0000 (17:03 +0100)]
PEX: add periodic deltas

4 years agoPEX: add connection tracking
Yaroslav Kolomiiets [Tue, 31 Mar 2020 20:14:43 +0000 (21:14 +0100)]
PEX: add connection tracking

4 years agoShare current connections with peers over PEX (anacrolix#341)
Yaroslav Kolomiiets [Wed, 11 Dec 2019 11:45:04 +0000 (11:45 +0000)]
Share current connections with peers over PEX (anacrolix#341)

4 years agoMore error handling and logging clean up
Matt Joiner [Tue, 14 Apr 2020 00:47:26 +0000 (10:47 +1000)]
More error handling and logging clean up

4 years agoFix locks around Torrent.announceRequest
Matt Joiner [Mon, 13 Apr 2020 09:13:59 +0000 (19:13 +1000)]
Fix locks around Torrent.announceRequest

4 years agowebtorrent logging improvements
Matt Joiner [Mon, 13 Apr 2020 09:13:23 +0000 (19:13 +1000)]
webtorrent logging improvements

4 years agoRename webtorrent.NewClient->NewTrackerClient
Matt Joiner [Mon, 13 Apr 2020 09:12:54 +0000 (19:12 +1000)]
Rename webtorrent.NewClient->NewTrackerClient

4 years agoTidy up the webtorrent package, remove buffer
Matt Joiner [Mon, 13 Apr 2020 04:31:39 +0000 (14:31 +1000)]
Tidy up the webtorrent package, remove buffer

4 years agoImprove webtorrent tracker client logging
Matt Joiner [Mon, 13 Apr 2020 04:17:46 +0000 (14:17 +1000)]
Improve webtorrent tracker client logging

4 years agoFix panic in status for webrtc connections
Matt Joiner [Mon, 13 Apr 2020 04:08:32 +0000 (14:08 +1000)]
Fix panic in status for webrtc connections

4 years agoUse offer_id for webrtc conn string
Matt Joiner [Mon, 13 Apr 2020 04:04:34 +0000 (14:04 +1000)]
Use offer_id for webrtc conn string

4 years agocmd/torrent: Add download -tcpPeers and -utpPeers
Matt Joiner [Sat, 11 Apr 2020 03:03:41 +0000 (13:03 +1000)]
cmd/torrent: Add download -tcpPeers and -utpPeers

4 years agoUpdate anacrolix/tagflag
Matt Joiner [Sat, 11 Apr 2020 03:03:23 +0000 (13:03 +1000)]
Update anacrolix/tagflag

4 years agoMerge branch 'torrent-cli' into webtorrent
Matt Joiner [Sat, 11 Apr 2020 02:58:12 +0000 (12:58 +1000)]
Merge branch 'torrent-cli' into webtorrent

4 years agoAdd announce and download commands to cmd/torrent
Matt Joiner [Fri, 10 Apr 2020 05:27:30 +0000 (15:27 +1000)]
Add announce and download commands to cmd/torrent

4 years agoBig tidy up of webtorrent code
Matt Joiner [Tue, 7 Apr 2020 04:30:27 +0000 (14:30 +1000)]
Big tidy up of webtorrent code

4 years agoRefactoring in webtorrent.Transport
Matt Joiner [Tue, 7 Apr 2020 02:17:21 +0000 (12:17 +1000)]
Refactoring in webtorrent.Transport

4 years agoFix missing return when creating websocket tracker announcer
Matt Joiner [Tue, 7 Apr 2020 02:16:53 +0000 (12:16 +1000)]
Fix missing return when creating websocket tracker announcer

4 years agoCreate peer connections when WebRTC connections obtain a data channel
Matt Joiner [Tue, 7 Apr 2020 00:59:10 +0000 (10:59 +1000)]
Create peer connections when WebRTC connections obtain a data channel

4 years agoStart using the webtorrent package
Matt Joiner [Mon, 6 Apr 2020 06:45:47 +0000 (16:45 +1000)]
Start using the webtorrent package

4 years agoCreate stub for websocket trackers
Matt Joiner [Mon, 6 Apr 2020 05:38:01 +0000 (15:38 +1000)]
Create stub for websocket trackers

4 years agoFix formatting directives
Matt Joiner [Mon, 6 Apr 2020 04:14:13 +0000 (14:14 +1000)]
Fix formatting directives

4 years agoImport code https://github.com/backkem/gowttest
Matt Joiner [Sun, 5 Apr 2020 03:55:14 +0000 (13:55 +1000)]
Import code https://github.com/backkem/gowttest

4 years agoAdd Piece.UpdateCompletion() method
Craig Campbell [Sun, 5 Jan 2020 02:12:02 +0000 (21:12 -0500)]
Add Piece.UpdateCompletion() method

This should be all that is needed to handle pieces that are evicted or
removed from storage if you are using a storage implementation such as an LRU
cache.

4 years agocmd/torrent-pick | add missing ticker.Stop() call
ucwong [Fri, 3 Apr 2020 03:06:01 +0000 (03:06 +0000)]
cmd/torrent-pick | add missing ticker.Stop() call

4 years agoSwitch CI to go1.14
Matt Joiner [Sun, 29 Mar 2020 00:38:25 +0000 (11:38 +1100)]
Switch CI to go1.14

4 years agoUse default bbolt package alias v1.15.0
Matt Joiner [Tue, 24 Mar 2020 01:54:57 +0000 (12:54 +1100)]
Use default bbolt package alias

4 years agoFix bbolt compatibility with go1.14
Matt Joiner [Tue, 24 Mar 2020 01:52:33 +0000 (12:52 +1100)]
Fix bbolt compatibility with go1.14

4 years agoReadme: Add downstream project
Alfonso Montero [Fri, 20 Mar 2020 19:16:32 +0000 (20:16 +0100)]
Readme: Add downstream project

4 years agoRewrite file.bytesLeft
Matt Joiner [Tue, 24 Mar 2020 01:15:35 +0000 (12:15 +1100)]
Rewrite file.bytesLeft

Avoids iteration, and should handle files that are entirely inside a single piece, as well as zero-sized at the beginning of a torrent. Should fix #387.

4 years agoRename variables in fileBytesLeft
Matt Joiner [Tue, 24 Mar 2020 00:21:42 +0000 (11:21 +1100)]
Rename variables in fileBytesLeft

4 years agoAdd abstraction and tests for #387
Matt Joiner [Tue, 24 Mar 2020 00:19:11 +0000 (11:19 +1100)]
Add abstraction and tests for #387

4 years agoLogging improvements for DHT
Matt Joiner [Tue, 17 Mar 2020 02:48:09 +0000 (13:48 +1100)]
Logging improvements for DHT

4 years agoUpdate to latest anacrolix/dht
Matt Joiner [Tue, 17 Mar 2020 02:47:53 +0000 (13:47 +1100)]
Update to latest anacrolix/dht

4 years agoAdd doc comments related to #383
Matt Joiner [Mon, 16 Mar 2020 05:30:39 +0000 (16:30 +1100)]
Add doc comments related to #383

4 years agoUse stable bit set for pending pieces PriorityBitmap
Matt Joiner [Thu, 27 Feb 2020 07:33:44 +0000 (18:33 +1100)]
Use stable bit set for pending pieces PriorityBitmap

Fixes #382.

4 years agocmd/torrent: Ditch the progress bar
Matt Joiner [Thu, 27 Feb 2020 05:50:14 +0000 (16:50 +1100)]
cmd/torrent: Ditch the progress bar

I'm not happy with any implementations. The one in use was racy anyway. Helps progress toward fixing #382.

4 years agoMake io.EOF an expected error from storage.Piece.ReadAt
Matt Joiner [Thu, 27 Feb 2020 05:45:57 +0000 (16:45 +1100)]
Make io.EOF an expected error from storage.Piece.ReadAt

Fixes #381.

4 years agoExpose PieceStateRun formatting
Matt Joiner [Thu, 27 Feb 2020 05:42:33 +0000 (16:42 +1100)]
Expose PieceStateRun formatting

4 years agoAdd Piece.State
Matt Joiner [Thu, 27 Feb 2020 05:41:33 +0000 (16:41 +1100)]
Add Piece.State

4 years agoMove requestStrategyDefaults into its own file
Matt Joiner [Wed, 26 Feb 2020 22:45:13 +0000 (09:45 +1100)]
Move requestStrategyDefaults into its own file

4 years agoDisable data downloading on storage write errors
Matt Joiner [Sat, 22 Feb 2020 08:40:50 +0000 (19:40 +1100)]
Disable data downloading on storage write errors

Also add a hook and Torrent methods to modify this.

4 years agoMisc cleanup
Matt Joiner [Sat, 22 Feb 2020 08:38:56 +0000 (19:38 +1100)]
Misc cleanup

4 years agoAdd a test for storage write errors
Matt Joiner [Fri, 21 Feb 2020 03:56:21 +0000 (14:56 +1100)]
Add a test for storage write errors

Addresses #377

4 years agoDifferentiate between storage.ClientImpl{,Closer}
Matt Joiner [Fri, 21 Feb 2020 03:12:44 +0000 (14:12 +1100)]
Differentiate between storage.ClientImpl{,Closer}

4 years agoMove envpprof imports around
Matt Joiner [Fri, 21 Feb 2020 01:58:47 +0000 (12:58 +1100)]
Move envpprof imports around

4 years agoExpose PeerConn.PeerPieces
Matt Joiner [Fri, 21 Feb 2020 00:51:24 +0000 (11:51 +1100)]
Expose PeerConn.PeerPieces

Fixes #375.

4 years agoRename connection->PeerConn and fix exports
Matt Joiner [Fri, 21 Feb 2020 00:07:50 +0000 (11:07 +1100)]
Rename connection->PeerConn and fix exports

4 years agoTweak DHT status output
Matt Joiner [Thu, 20 Feb 2020 22:47:46 +0000 (09:47 +1100)]
Tweak DHT status output

4 years agoSupport custom DHT servers
Matt Joiner [Thu, 20 Feb 2020 06:46:29 +0000 (17:46 +1100)]
Support custom DHT servers

Addresses #266.

4 years agoRemove ClientConfig.ProxyURL and DefaultHTTPUserAgent v1.14.0
Matt Joiner [Thu, 20 Feb 2020 06:04:11 +0000 (17:04 +1100)]
Remove ClientConfig.ProxyURL and DefaultHTTPUserAgent

ProxyURL is no longer used for implicit sockets, this will ensure consumers are aware. It's other behaviour is already more correct specified through HTTPProxy.

DefaultHTTPUserAgent was vestigial, and is specified now through the ClientConfig.

4 years agoTestClientDisabledImplicitNetworksButDhtEnabled
Matt Joiner [Thu, 20 Feb 2020 05:57:28 +0000 (16:57 +1100)]
TestClientDisabledImplicitNetworksButDhtEnabled

4 years agoAdd support for non-IP-based networks
Matt Joiner [Thu, 20 Feb 2020 05:47:37 +0000 (16:47 +1100)]
Add support for non-IP-based networks

Includes a test with unix sockets. Exposes AddDialer, AddListener, and reworks Peer.

4 years agoExtract the transfer tests
Matt Joiner [Thu, 20 Feb 2020 02:57:24 +0000 (13:57 +1100)]
Extract the transfer tests

We need them external the torrent package so we can test the API for adding dialers and listeners.

4 years agoSplit Client dialers and listeners
Matt Joiner [Wed, 19 Feb 2020 23:57:02 +0000 (10:57 +1100)]
Split Client dialers and listeners

4 years agoApply staticcheck
Matt Joiner [Thu, 20 Feb 2020 00:09:57 +0000 (11:09 +1100)]
Apply staticcheck

4 years agoRemove funding file v1.13.0
Matt Joiner [Tue, 28 Jan 2020 22:12:49 +0000 (09:12 +1100)]
Remove funding file

It's drawn automatically from anacrolix/.github now.

4 years agoMake use of requestStrategyDefaults in more places
Matt Joiner [Fri, 24 Jan 2020 08:24:28 +0000 (19:24 +1100)]
Make use of requestStrategyDefaults in more places

4 years agoMove all the request strategy stuff into its file
Matt Joiner [Fri, 24 Jan 2020 06:55:20 +0000 (17:55 +1100)]
Move all the request strategy stuff into its file

4 years agoRestore the default duplicate request timeout strategy
Matt Joiner [Fri, 24 Jan 2020 06:34:07 +0000 (17:34 +1100)]
Restore the default duplicate request timeout strategy

4 years agoExpose request strategies
Matt Joiner [Fri, 24 Jan 2020 06:30:57 +0000 (17:30 +1100)]
Expose request strategies

4 years agoFix unimplemented hooks in request strategies one and two
Matt Joiner [Fri, 24 Jan 2020 04:09:39 +0000 (15:09 +1100)]
Fix unimplemented hooks in request strategies one and two

4 years agogo get -u && go mod tidy v1.12.0
Matt Joiner [Thu, 23 Jan 2020 03:16:46 +0000 (14:16 +1100)]
go get -u && go mod tidy

4 years agoUse CopyN to ensure early io.EOF isn't ignored when hashing pieces
Matt Joiner [Thu, 23 Jan 2020 02:56:39 +0000 (13:56 +1100)]
Use CopyN to ensure early io.EOF isn't ignored when hashing pieces

4 years agoSkip 1 frame in reader.log
Matt Joiner [Thu, 23 Jan 2020 02:55:40 +0000 (13:55 +1100)]
Skip 1 frame in reader.log

4 years agoFinish fixing IP banning on storage errors
Matt Joiner [Thu, 23 Jan 2020 02:54:37 +0000 (13:54 +1100)]
Finish fixing IP banning on storage errors

4 years agoRecord connection dirtied piece before queuing for hash
Matt Joiner [Thu, 23 Jan 2020 02:52:17 +0000 (13:52 +1100)]
Record connection dirtied piece before queuing for hash

Not a bug, but probably more robust.

4 years agoUpdate code comments
Matt Joiner [Thu, 23 Jan 2020 02:51:14 +0000 (13:51 +1100)]
Update code comments

4 years agoReflow some comments
Matt Joiner [Wed, 22 Jan 2020 04:56:16 +0000 (15:56 +1100)]
Reflow some comments

4 years agoFix race in requestStrategyThree request timeout callback
Matt Joiner [Mon, 20 Jan 2020 00:51:24 +0000 (11:51 +1100)]
Fix race in requestStrategyThree request timeout callback

4 years agoUpgrade github.com/pkg/errors@v0.9.0
Matt Joiner [Tue, 14 Jan 2020 04:42:27 +0000 (15:42 +1100)]
Upgrade github.com/pkg/errors@v0.9.0

4 years agoFix bad init of Torrent.requestStrategy
Matt Joiner [Mon, 13 Jan 2020 23:30:20 +0000 (10:30 +1100)]
Fix bad init of Torrent.requestStrategy

4 years agoFix panic in benchmark due to requestStrategy changes
Matt Joiner [Fri, 10 Jan 2020 06:22:46 +0000 (17:22 +1100)]
Fix panic in benchmark due to requestStrategy changes

4 years agoExtract the request timeout stuff into requestStrategyThree
Matt Joiner [Fri, 10 Jan 2020 05:18:55 +0000 (16:18 +1100)]
Extract the request timeout stuff into requestStrategyThree

4 years agoExtract the request strategy logic
Matt Joiner [Fri, 10 Jan 2020 04:09:21 +0000 (15:09 +1100)]
Extract the request strategy logic

Bit messy. Now it'll be easier to clean-up what it depends on, and test.

4 years agoFormatting
Matt Joiner [Thu, 9 Jan 2020 23:27:05 +0000 (10:27 +1100)]
Formatting

4 years agoFix typos and spellos in comments
Matt Joiner [Thu, 9 Jan 2020 22:43:44 +0000 (09:43 +1100)]
Fix typos and spellos in comments

4 years agoUpdate missinggo
Matt Joiner [Thu, 9 Jan 2020 12:13:59 +0000 (23:13 +1100)]
Update missinggo

4 years agoResource per piece storage: Store incomplete chunks separately
Matt Joiner [Thu, 9 Jan 2020 11:58:23 +0000 (22:58 +1100)]
Resource per piece storage: Store incomplete chunks separately

4 years agoWhen piece checks fail only ban untrusted peers and only when the entire piece is...
Matt Joiner [Tue, 7 Jan 2020 04:13:28 +0000 (15:13 +1100)]
When piece checks fail only ban untrusted peers and only when the entire piece is dirty

This should help with addressing https://github.com/anacrolix/torrent/issues/364.

4 years agoImprove hash piece error logging
Matt Joiner [Wed, 8 Jan 2020 22:51:36 +0000 (09:51 +1100)]
Improve hash piece error logging

4 years agoDon't create piece hashers for closed Torrents
Matt Joiner [Tue, 7 Jan 2020 20:29:12 +0000 (07:29 +1100)]
Don't create piece hashers for closed Torrents