]>
Sergey Matveev's repositories - btrtrc.git/log
YenForYang [Fri, 3 Sep 2021 03:03:47 +0000 (22:03 -0500)]
Simplify haveDhtServers()
A bit too much functional programming, lol.
Matt Joiner [Thu, 2 Sep 2021 04:19:29 +0000 (14:19 +1000)]
Merge branch 'master' into squirrel
Matt Joiner [Thu, 2 Sep 2021 00:31:47 +0000 (10:31 +1000)]
go get -u ./...
Matt Joiner [Thu, 2 Sep 2021 00:21:56 +0000 (10:21 +1000)]
Add generics TODO
Matt Joiner [Thu, 2 Sep 2021 00:21:46 +0000 (10:21 +1000)]
Add "no name" handling and storage.NewFileOpts
This came out of testing against Transmission in https://github.com/anacrolix/torrent/discussions/556#discussioncomment-
1263670 .
Matt Joiner [Wed, 1 Sep 2021 23:28:29 +0000 (09:28 +1000)]
./cmd/torrent-create: Update the builtin announce list
Matt Joiner [Wed, 1 Sep 2021 06:17:23 +0000 (16:17 +1000)]
Fix info name when building from . and ..
Matt Joiner [Wed, 1 Sep 2021 05:26:12 +0000 (15:26 +1000)]
cmd/torrent download: Don't seed if no torrents are specified
Matt Joiner [Wed, 1 Sep 2021 05:25:46 +0000 (15:25 +1000)]
Fix panic on double Close of sqlite piece completion DB
YenForYang [Wed, 1 Sep 2021 04:06:25 +0000 (23:06 -0500)]
PieceStateRuns: reduce copying and make inlineable
Just a heads up: using `range` and/or `defer` prevents function inlining. This is fine for infrequently called functions and/or large functions, but for simple public methods like these, I'd assume it's better for them to be inlined.
Matt Joiner [Mon, 30 Aug 2021 01:48:34 +0000 (11:48 +1000)]
Fix some DeepSource lints
Matt Joiner [Mon, 30 Aug 2021 01:19:16 +0000 (11:19 +1000)]
Set Go CI workflow to use Go 1.17
Matt Joiner [Thu, 26 Aug 2021 01:20:52 +0000 (11:20 +1000)]
go mod tidy
Matt Joiner [Thu, 26 Aug 2021 01:20:37 +0000 (11:20 +1000)]
Add function to wrap squirrel.Cache as storage.ClientImpl
Matt Joiner [Thu, 26 Aug 2021 01:19:39 +0000 (11:19 +1000)]
Update squirrel
Matt Joiner [Wed, 25 Aug 2021 04:37:00 +0000 (14:37 +1000)]
Use separate squirrel module
Matt Joiner [Wed, 25 Aug 2021 02:35:07 +0000 (12:35 +1000)]
Removed unused sqlite "provider" storage
Matt Joiner [Tue, 24 Aug 2021 12:24:39 +0000 (22:24 +1000)]
Embed SQL
Matt Joiner [Tue, 24 Aug 2021 08:37:38 +0000 (18:37 +1000)]
Implement {Set,Get}Tag on SquirrelBlob
Matt Joiner [Tue, 24 Aug 2021 07:52:31 +0000 (17:52 +1000)]
Begin extracting 'squirrel' from storage/sqlite
Matt Joiner [Sun, 22 Aug 2021 10:05:53 +0000 (20:05 +1000)]
Avoid reallocating keep alive timer on each pass
Matt Joiner [Sun, 22 Aug 2021 06:59:40 +0000 (16:59 +1000)]
Don't run linter on master branch
Super unimpressed with this pedantic rubbish. PRs to adjust the settings welcome.
Matt Joiner [Sun, 22 Aug 2021 05:52:35 +0000 (15:52 +1000)]
Update install command
Matt Joiner [Thu, 19 Aug 2021 06:12:28 +0000 (16:12 +1000)]
Change linter workflow branches and name
Matt Joiner [Thu, 19 Aug 2021 06:06:46 +0000 (16:06 +1000)]
Remove unused code
Matt Joiner [Thu, 19 Aug 2021 06:06:24 +0000 (16:06 +1000)]
Update staticcheck go target to 1.16
Matt Joiner [Thu, 19 Aug 2021 06:05:58 +0000 (16:05 +1000)]
Disable excessively pedantic linters
Matt Joiner [Thu, 19 Aug 2021 03:35:52 +0000 (13:35 +1000)]
Fix data race closing incoming PeerConn
Matt Joiner [Wed, 18 Aug 2021 06:56:05 +0000 (16:56 +1000)]
Set direct sqlite storage conn to nil on close
This might help catch the reason for SQLITE_MISUSE in getCapacity.
Matt Joiner [Wed, 18 Aug 2021 06:51:30 +0000 (16:51 +1000)]
Rewrite peerConnMsgWriter.run
Matt Joiner [Wed, 18 Aug 2021 06:23:51 +0000 (16:23 +1000)]
Set testing keep alive timeout to 1 millisecond
If it's too fast, we get stuck trying to send keep alives rather than actually communicating with the peer.
Matt Joiner [Wed, 18 Aug 2021 06:23:04 +0000 (16:23 +1000)]
Fix deadlock when checking whether to send keep alive
Matt Joiner [Wed, 18 Aug 2021 04:49:13 +0000 (14:49 +1000)]
Limit keep alives for rate limited download test
Matt Joiner [Wed, 18 Aug 2021 04:48:25 +0000 (14:48 +1000)]
Fix race in assigning keep alive timer
Matt Joiner [Wed, 18 Aug 2021 01:27:21 +0000 (11:27 +1000)]
Use different keep alive timeout in tests
Exposes bug found in email discussions resulting from https://github.com/anacrolix/torrent/discussions/547.
Bora M. Alper [Mon, 16 Aug 2021 01:11:31 +0000 (04:11 +0300)]
Add linter CI (#542)
* Add linter CI
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Make gosec CI ignore SHA1 and upload sarif
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Fix formatting of source files
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Make go vet ignore unkeyed composite literals and fix other warnings
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Make staticcheck ignore unused methods and fix other warnings
Signed-off-by: Bora M. Alper <bora@boramalper.org>
* Use golangci-lint
Signed-off-by: Bora M. Alper <bora@boramalper.org>
Matt Joiner [Mon, 16 Aug 2021 01:07:10 +0000 (11:07 +1000)]
Use roaring.Bitmap directly for completed pieces
Looking at improving the performance around this per https://github.com/anacrolix/torrent/discussions/547#discussion-
3522317 .
Matt Joiner [Mon, 16 Aug 2021 00:38:43 +0000 (10:38 +1000)]
Set go 1.17 in go.mod
Matt Joiner [Mon, 16 Aug 2021 00:37:19 +0000 (10:37 +1000)]
go get -u
Matt Joiner [Fri, 13 Aug 2021 04:02:37 +0000 (14:02 +1000)]
Fix mmap panic on darwin with Go 1.17
Matt Joiner [Thu, 12 Aug 2021 03:46:02 +0000 (13:46 +1000)]
Don't panic on int parse failures
This means for UnmarshalTypeErrors we now include context. There are still some other error types remaining that are thrown up via panic.
Matt Joiner [Thu, 12 Aug 2021 02:16:53 +0000 (12:16 +1000)]
Fix panic unmarshalling bencode dict into unsupported type
Matt Joiner [Wed, 11 Aug 2021 02:27:00 +0000 (12:27 +1000)]
Fix allocation of empty DhtNodes in TorrentSpec
https://github.com/anacrolix/torrent/pull/536#issuecomment-
896392738
Matt Joiner [Tue, 10 Aug 2021 23:43:40 +0000 (09:43 +1000)]
Fix race in sqlite direct storage init
There's a race between starting the blob flusher and assigning the timer to the storage client.
Alfonso Montero [Tue, 10 Aug 2021 01:13:00 +0000 (03:13 +0200)]
Readme: Add downstream project (#543)
Matt Joiner [Sun, 1 Aug 2021 12:52:51 +0000 (22:52 +1000)]
Increase request update interval if there's no signalling
Matt Joiner [Sun, 1 Aug 2021 12:02:40 +0000 (22:02 +1000)]
Minimize allocations and resizing in request computation
Matt Joiner [Sun, 1 Aug 2021 12:01:24 +0000 (22:01 +1000)]
Precompute File.DisplayPath
This is an optimization for dir lookups in torrentfs.
Matt Joiner [Sun, 1 Aug 2021 11:38:35 +0000 (21:38 +1000)]
cmd/torrentfs: Fix panic on missing info
Matt Joiner [Mon, 26 Jul 2021 00:18:24 +0000 (10:18 +1000)]
Trim UDP tracker client read allocations
Matt Joiner [Sat, 17 Jul 2021 09:10:07 +0000 (19:10 +1000)]
Close torrent storage asynchronously on drop
Matt Joiner [Sat, 17 Jul 2021 08:52:41 +0000 (18:52 +1000)]
Add debug level to piece hash failure log message
Matt Joiner [Wed, 14 Jul 2021 04:35:52 +0000 (14:35 +1000)]
Fix go:build directives
Matt Joiner [Fri, 2 Jul 2021 04:43:13 +0000 (14:43 +1000)]
Remove unused badges
Matt Joiner [Sun, 27 Jun 2021 01:57:11 +0000 (11:57 +1000)]
Fix race in concurrent connects in UDP tracker
ucwong [Sat, 26 Jun 2021 00:31:50 +0000 (08:31 +0800)]
missinggo go.mod fix (#526)
Matt Joiner [Fri, 25 Jun 2021 05:00:39 +0000 (15:00 +1000)]
Check that udp conn ID age is non-zero
Matt Joiner [Fri, 25 Jun 2021 05:00:09 +0000 (15:00 +1000)]
Add http tracker AllowKeepAlive
Matt Joiner [Fri, 25 Jun 2021 01:29:59 +0000 (11:29 +1000)]
Update and expose default client identifiers
Matt Joiner [Thu, 24 Jun 2021 04:38:16 +0000 (14:38 +1000)]
Add udp tracker scrape support
Matt Joiner [Thu, 24 Jun 2021 03:10:28 +0000 (13:10 +1000)]
Pull AnnounceOpt into tracker package
Matt Joiner [Thu, 24 Jun 2021 03:10:18 +0000 (13:10 +1000)]
Cancel writer after request
Matt Joiner [Thu, 24 Jun 2021 03:10:00 +0000 (13:10 +1000)]
Don't log dispatch errors
Matt Joiner [Thu, 24 Jun 2021 00:39:56 +0000 (10:39 +1000)]
Extract protocol agnostic tracker Client
Matt Joiner [Wed, 23 Jun 2021 23:53:18 +0000 (09:53 +1000)]
Rewrite udp announce to use udp client
ucwong [Wed, 23 Jun 2021 11:27:18 +0000 (19:27 +0800)]
package expect fix (#524)
Matt Joiner [Wed, 23 Jun 2021 07:25:07 +0000 (17:25 +1000)]
Fix some error wrapping in mse
Matt Joiner [Wed, 23 Jun 2021 07:24:50 +0000 (17:24 +1000)]
Fixes for wasm
Matt Joiner [Wed, 23 Jun 2021 02:41:25 +0000 (12:41 +1000)]
Reject accepted connections if we don't want conns
This prevents unnecessarily stalling peers dialling us if we have no intention to ever accept.
Matt Joiner [Tue, 22 Jun 2021 13:32:27 +0000 (23:32 +1000)]
Rearrange some tracker tests and files
Matt Joiner [Tue, 22 Jun 2021 13:28:26 +0000 (23:28 +1000)]
Extract HTTP tracker client into separate package
Matt Joiner [Tue, 22 Jun 2021 12:48:49 +0000 (22:48 +1000)]
Move tracker test server code to test file
Matt Joiner [Tue, 22 Jun 2021 12:45:56 +0000 (22:45 +1000)]
Update test tracker urls
Matt Joiner [Tue, 22 Jun 2021 12:45:50 +0000 (22:45 +1000)]
Fix tracker test timeouts
Matt Joiner [Tue, 22 Jun 2021 12:36:43 +0000 (22:36 +1000)]
Rewrite UDP tracker client
Matt Joiner [Tue, 22 Jun 2021 06:52:55 +0000 (16:52 +1000)]
Add UDP tracker announce and connect expvars
Matt Joiner [Mon, 21 Jun 2021 07:58:04 +0000 (17:58 +1000)]
Add to bencode.Unmarshal doc comment
Matt Joiner [Mon, 21 Jun 2021 03:29:26 +0000 (13:29 +1000)]
Tidy up the Dialer interface
Matt Joiner [Mon, 21 Jun 2021 03:00:20 +0000 (13:00 +1000)]
Minor tidying
Matt Joiner [Mon, 21 Jun 2021 02:54:57 +0000 (12:54 +1000)]
Expose DialFirst
Matt Joiner [Mon, 21 Jun 2021 02:30:05 +0000 (12:30 +1000)]
Mark client transfer test as parallel
Matt Joiner [Mon, 21 Jun 2021 02:29:37 +0000 (12:29 +1000)]
Remove sqlite piece-resource storage
Matt Joiner [Fri, 18 Jun 2021 05:04:07 +0000 (15:04 +1000)]
Add explicit metadata extension types
Matt Joiner [Fri, 18 Jun 2021 04:59:20 +0000 (14:59 +1000)]
Add ClientConfig.AcceptPeerConnections
Matt Joiner [Fri, 18 Jun 2021 01:05:23 +0000 (11:05 +1000)]
Remove conntrack, expose Torrent.AnnounceToDht, ClientConfig.PeriodicallyAnnounceTorrentsToDht
Matt Joiner [Mon, 21 Jun 2021 02:04:06 +0000 (12:04 +1000)]
Merge branch 'request-strategy-rewrite'
Zilog8 [Tue, 8 Jun 2021 05:45:35 +0000 (01:45 -0400)]
Allow Storage Backends to do their own Hashing (#518)
* Allow Storage Backends to do their own Hashing
- Describes an optional interface 'SelfHashing' that a storage backend's type implementing 'PieceImpl' may also implement in order to calculate piece hashsums itself.
- Alters the 'hashPiece' function in the torrent package to look for types implementing 'SelfHashing' . If not implemented, calculate the hash as usual.
deepsource-autofix[bot] [Mon, 7 Jun 2021 03:24:32 +0000 (03:24 +0000)]
Fix nil context being passed to function
Matt Joiner [Mon, 24 May 2021 08:06:42 +0000 (18:06 +1000)]
Add default param name in TorrentImpl.Piece func
Matt Joiner [Mon, 24 May 2021 07:38:09 +0000 (17:38 +1000)]
Add storage/disabled
The default storage will create empty files on torrent open, which is undesirable in some circumstances. This storage implementation is explicit about not storing anything.
Matt Joiner [Mon, 24 May 2021 07:37:04 +0000 (17:37 +1000)]
Expose AnacrolixDhtServerWrapper
Matt Joiner [Mon, 24 May 2021 07:36:39 +0000 (17:36 +1000)]
Extract chansync to github.com/anacrolix/chansync
Matt Joiner [Mon, 24 May 2021 07:31:52 +0000 (17:31 +1000)]
bencode: Improve support for embedded structs
Matt Joiner [Sat, 22 May 2021 01:02:39 +0000 (11:02 +1000)]
bencode: Support anonymous embedded struct pointers
More to come if this line of improvement is retained.
Matt Joiner [Fri, 21 May 2021 13:50:29 +0000 (23:50 +1000)]
Rework bencode decoding so it might support embedded structs
Matt Joiner [Fri, 21 May 2021 04:02:45 +0000 (14:02 +1000)]
Fix issue with duplicate preallocated requests
Likely introduced by allowing actual and next request states to differ.
Matt Joiner [Fri, 21 May 2021 04:01:41 +0000 (14:01 +1000)]
Fix bitmap-related benchmark
Matt Joiner [Fri, 21 May 2021 01:49:57 +0000 (11:49 +1000)]
Track chunks read for webseed peers too
Matt Joiner [Thu, 20 May 2021 10:33:17 +0000 (20:33 +1000)]
Rename file
Matt Joiner [Thu, 20 May 2021 10:28:23 +0000 (20:28 +1000)]
Add peerConnMsgWriter file
Forgot this earlier, new to Sublime Merge.