]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
19 months agoUpdate github.com/anacrolix/dht/v2 v1.47.0
Matt Joiner [Sun, 18 Sep 2022 01:26:58 +0000 (11:26 +1000)]
Update github.com/anacrolix/dht/v2

20 months agoMerge branch 'webrtc-conn-leak'
Matt Joiner [Wed, 31 Aug 2022 01:09:47 +0000 (11:09 +1000)]
Merge branch 'webrtc-conn-leak'

20 months agoMerge branch 'bargle'
Matt Joiner [Wed, 31 Aug 2022 01:06:00 +0000 (11:06 +1000)]
Merge branch 'bargle'

20 months agoWin limit amount of peers per udp packet (#771)
Alex Sharov [Mon, 8 Aug 2022 05:38:19 +0000 (12:38 +0700)]
Win limit amount of peers per udp packet (#771)

21 months agouse rLock where can, part2 (#767)
Alex Sharov [Wed, 13 Jul 2022 10:04:03 +0000 (17:04 +0700)]
use rLock where can, part2 (#767)

21 months agouse RLock where can (#766)
Alex Sharov [Wed, 13 Jul 2022 10:03:42 +0000 (17:03 +0700)]
use RLock where can (#766)

21 months agocmd/torrent: Restore the announce and bencode subcommands
Matt Joiner [Wed, 13 Jul 2022 01:34:02 +0000 (11:34 +1000)]
cmd/torrent: Restore the announce and bencode subcommands

21 months agoClose data channel on offer init errors
Matt Joiner [Tue, 12 Jul 2022 01:46:03 +0000 (11:46 +1000)]
Close data channel on offer init errors

21 months agoAlso close created data channels when cleaning up webrtc conns
Matt Joiner [Tue, 12 Jul 2022 00:42:35 +0000 (10:42 +1000)]
Also close created data channels when cleaning up webrtc conns

21 months agoSupport announcing to webtorrent trackers without offers
Matt Joiner [Mon, 11 Jul 2022 05:01:30 +0000 (15:01 +1000)]
Support announcing to webtorrent trackers without offers

21 months agowebtorrent: Create data channel earlier per webrtc examples
Matt Joiner [Mon, 11 Jul 2022 01:39:54 +0000 (11:39 +1000)]
webtorrent: Create data channel earlier per webrtc examples

21 months agoTrace some webrtcNetConn use
Matt Joiner [Mon, 11 Jul 2022 01:38:06 +0000 (11:38 +1000)]
Trace some webrtcNetConn use

21 months agocmd/torrent: Time and log TracerProvider.Shutdown
Matt Joiner [Mon, 11 Jul 2022 01:37:14 +0000 (11:37 +1000)]
cmd/torrent: Time and log TracerProvider.Shutdown

21 months agoClose detached data channel and end span on webrtc conn close
Matt Joiner [Sat, 9 Jul 2022 07:54:08 +0000 (17:54 +1000)]
Close detached data channel and end span on webrtc conn close

21 months agocmd/torrent: Use tracing SDK
Matt Joiner [Sat, 9 Jul 2022 04:03:34 +0000 (14:03 +1000)]
cmd/torrent: Use tracing SDK

21 months agoAdd tracing to webtorrent webrtc resources
Matt Joiner [Tue, 12 Jul 2022 06:05:19 +0000 (16:05 +1000)]
Add tracing to webtorrent webrtc resources

21 months agocmd/torrent serve: Support multiple file paths
Matt Joiner [Sun, 3 Jul 2022 11:46:28 +0000 (21:46 +1000)]
cmd/torrent serve: Support multiple file paths

21 months agocmd/torrent create: Add piece length and private options
Matt Joiner [Sat, 9 Jul 2022 04:06:27 +0000 (14:06 +1000)]
cmd/torrent create: Add piece length and private options

21 months agoRestore torrent metainfo pprint
Matt Joiner [Mon, 27 Jun 2022 09:24:43 +0000 (19:24 +1000)]
Restore torrent metainfo pprint

21 months agoMove cmd/torrent-create into torrent create
Matt Joiner [Tue, 12 Jul 2022 06:12:01 +0000 (16:12 +1000)]
Move cmd/torrent-create into torrent create

21 months agoUpdate anacrolix/bargle
Matt Joiner [Mon, 27 Jun 2022 08:36:27 +0000 (18:36 +1000)]
Update anacrolix/bargle

21 months agoUpdate bargle use
Matt Joiner [Tue, 21 Jun 2022 06:38:19 +0000 (16:38 +1000)]
Update bargle use

21 months agoTrack latest bargle
Matt Joiner [Mon, 20 Jun 2022 08:40:53 +0000 (18:40 +1000)]
Track latest bargle

21 months agoFix webrtcNetAddr.String for IPv6
Matt Joiner [Tue, 12 Jul 2022 00:41:56 +0000 (10:41 +1000)]
Fix webrtcNetAddr.String for IPv6

(cherry picked from commit d37354e6743e905d42689e88068058dd45e5be43)

21 months agoUse webrtc local addr for webrtc conn peer priority
Matt Joiner [Mon, 11 Jul 2022 08:22:23 +0000 (18:22 +1000)]
Use webrtc local addr for webrtc conn peer priority

WebRTC conns are providing the correct IP for peer priority calculations, so use that instead of trying to guess (which doesn't work if there are no regular conn listeners attached to the Client.

(cherry picked from commit e86bb5fee3958dc90a3d012469b1352005d6c9ad)

21 months agoRemove relevant webtorrent offers when closing Torrent
Matt Joiner [Mon, 11 Jul 2022 05:02:24 +0000 (15:02 +1000)]
Remove relevant webtorrent offers when closing Torrent

(cherry picked from commit 73a0b5e4d2fe679aac31d87171537c70f91f46ee)

21 months agoAdd ability to set DialContext/ListenPacket for tracker announcements (#760)
Craig Campbell [Thu, 7 Jul 2022 05:51:58 +0000 (01:51 -0400)]
Add ability to set DialContext/ListenPacket for tracker announcements (#760)

This is useful if you want to use a custom dialer to proxy requests via
an external server since the HTTPProxy can only be used with tcp
trackers and not udp.

21 months agoDo torrent storage flush on piece completion (#755)
Alex Sharov [Thu, 7 Jul 2022 05:46:27 +0000 (11:46 +0600)]
Do torrent storage flush on piece completion (#755)

22 months agogo get -u ./... && go mod tidy
Matt Joiner [Sun, 3 Jul 2022 11:56:42 +0000 (21:56 +1000)]
go get -u ./... && go mod tidy

22 months agoUse metainfo.ChoosePieceLength from more locations
Matt Joiner [Mon, 27 Jun 2022 09:25:38 +0000 (19:25 +1000)]
Use metainfo.ChoosePieceLength from more locations

22 months agoCheck that incoming peer request chunk lengths don't exceed the upload rate limiter... v1.46.0
Matt Joiner [Sat, 25 Jun 2022 13:16:58 +0000 (23:16 +1000)]
Check that incoming peer request chunk lengths don't exceed the upload rate limiter burst size

Should fix #759.

22 months agoAdd exatorrent and finish tidying downstream projects
Matt Joiner [Sat, 25 Jun 2022 07:28:23 +0000 (17:28 +1000)]
Add exatorrent and finish tidying downstream projects

22 months agooptimise torrent piece length (#758)
Marco Vidonis [Thu, 23 Jun 2022 12:44:06 +0000 (13:44 +0100)]
optimise torrent piece length (#758)

22 months agoAdd Client.PublicIPs
Matt Joiner [Wed, 22 Jun 2022 13:59:18 +0000 (23:59 +1000)]
Add Client.PublicIPs

22 months agoFix typo
Matt Joiner [Wed, 22 Jun 2022 03:52:48 +0000 (13:52 +1000)]
Fix typo

22 months agoUpdate tidwall/btree (0.7.2 -> 1.3.1) (#757)
FIGBERT [Wed, 22 Jun 2022 04:16:20 +0000 (21:16 -0700)]
Update tidwall/btree (0.7.2 -> 1.3.1) (#757)

22 months agoUpdate anacrolix/generics v1.45.0
Matt Joiner [Mon, 20 Jun 2022 01:37:25 +0000 (11:37 +1000)]
Update anacrolix/generics

22 months agoUpdate downstream projects
Matt Joiner [Mon, 20 Jun 2022 22:34:38 +0000 (08:34 +1000)]
Update downstream projects

22 months agotorrent serve: Add some reasonable tracker defaults
Matt Joiner [Wed, 15 Jun 2022 04:23:18 +0000 (14:23 +1000)]
torrent serve: Add some reasonable tracker defaults

22 months agoBump up the local client reqq
Matt Joiner [Wed, 15 Jun 2022 04:22:17 +0000 (14:22 +1000)]
Bump up the local client reqq

This seems to boost upload speeds to Transmission to 16MB/s. It may require a corresponding amount of buffering in memory, that could require work later.

22 months agotorrent serve: Print magnet link
Matt Joiner [Tue, 14 Jun 2022 08:23:00 +0000 (18:23 +1000)]
torrent serve: Print magnet link

22 months agoAdd comments for #752 and #753
Matt Joiner [Tue, 14 Jun 2022 00:07:09 +0000 (10:07 +1000)]
Add comments for #752 and #753

22 months agoUpdate github.com/frankban/quicktest
Matt Joiner [Tue, 14 Jun 2022 00:05:12 +0000 (10:05 +1000)]
Update github.com/frankban/quicktest

22 months agoRework peer connection writer to keep individual writes smaller
Matt Joiner [Tue, 14 Jun 2022 04:07:45 +0000 (14:07 +1000)]
Rework peer connection writer to keep individual writes smaller

This fixes an issue with WebRTC when the write buffers get too big.

22 months agointernal/testutil.Info: Support multi-file Torrents
Matt Joiner [Tue, 14 Jun 2022 00:06:36 +0000 (10:06 +1000)]
internal/testutil.Info: Support multi-file Torrents

22 months agoExportStatusWriter: take testing.TB instead of *testing.T
Matt Joiner [Tue, 14 Jun 2022 04:06:36 +0000 (14:06 +1000)]
ExportStatusWriter: take testing.TB instead of *testing.T

22 months agogithub.com/edsrzf/mmap-go v1.1.0
Alex Sharov [Tue, 14 Jun 2022 05:57:08 +0000 (12:57 +0700)]
github.com/edsrzf/mmap-go v1.1.0

23 months agoRevert "Switch requestState to be a slice" v1.44.0
Matt Joiner [Wed, 1 Jun 2022 08:24:50 +0000 (18:24 +1000)]
Revert "Switch requestState to be a slice"

This reverts commit 9eb80abc29498ecc8ba2b174457b46ca75296dec.

Via email I received a report of excessive memory use: Memory use with a slice is proportional to the total size of all torrents loaded into the Client, which can be very large.

23 months agoDemote webrtc conn error logging level to debug
Matt Joiner [Wed, 1 Jun 2022 08:18:37 +0000 (18:18 +1000)]
Demote webrtc conn error logging level to debug

Fixes #716.

23 months agoImplement a public `Peer.DownloadRate` (#750)
Nathanael Demacon [Mon, 23 May 2022 00:42:51 +0000 (02:42 +0200)]
Implement a public `Peer.DownloadRate` (#750)

23 months agoUse Option for cached Torrent length v1.43.1
Matt Joiner [Thu, 12 May 2022 03:47:12 +0000 (13:47 +1000)]
Use Option for cached Torrent length

Fixes https://github.com/anacrolix/torrent/issues/630.

23 months agoSet debug log level for outgoing connection error
Matt Joiner [Thu, 12 May 2022 03:33:57 +0000 (13:33 +1000)]
Set debug log level for outgoing connection error

Contributed by @tsynik in https://github.com/anacrolix/torrent/issues/702#issuecomment-1010523079.

23 months agoUse reusable roaring iterators v1.43.0
Matt Joiner [Wed, 11 May 2022 01:20:52 +0000 (11:20 +1000)]
Use reusable roaring iterators

23 months agoAdd fallback piece ordering for non-readahead priorities
Matt Joiner [Wed, 11 May 2022 10:40:58 +0000 (20:40 +1000)]
Add fallback piece ordering for non-readahead priorities

23 months agocmd/torrent: Respect default client max unverified bytes
Matt Joiner [Wed, 11 May 2022 10:23:14 +0000 (20:23 +1000)]
cmd/torrent: Respect default client max unverified bytes

23 months agoDisable update requests timer
Matt Joiner [Wed, 11 May 2022 06:08:19 +0000 (16:08 +1000)]
Disable update requests timer

23 months agoMake piece states a slice and reuse it and request indexes between runs
Matt Joiner [Wed, 11 May 2022 04:15:33 +0000 (14:15 +1000)]
Make piece states a slice and reuse it and request indexes between runs

23 months agoUse intermediate t in Peer.getDesiredRequestState
Matt Joiner [Wed, 11 May 2022 04:14:25 +0000 (14:14 +1000)]
Use intermediate t in Peer.getDesiredRequestState

23 months agoSwitch requestState to be a slice
Matt Joiner [Wed, 11 May 2022 02:24:27 +0000 (12:24 +1000)]
Switch requestState to be a slice

23 months agoReuse piece order state for request ordering
Matt Joiner [Mon, 9 May 2022 09:37:35 +0000 (19:37 +1000)]
Reuse piece order state for request ordering

23 months agoDefault 64 MiB max unverified bytes
Matt Joiner [Mon, 9 May 2022 09:37:08 +0000 (19:37 +1000)]
Default 64 MiB max unverified bytes

23 months agoCache chunksPerRegularPiece
Matt Joiner [Thu, 12 May 2022 00:34:26 +0000 (10:34 +1000)]
Cache chunksPerRegularPiece

23 months agoCombine pending and last requested
Matt Joiner [Mon, 9 May 2022 09:34:43 +0000 (19:34 +1000)]
Combine pending and last requested

23 months agoUpdate ajwerner/btree
Matt Joiner [Mon, 9 May 2022 02:53:47 +0000 (12:53 +1000)]
Update ajwerner/btree

23 months agocmd/torrent: Improve context error handling
Matt Joiner [Mon, 9 May 2022 02:49:52 +0000 (12:49 +1000)]
cmd/torrent: Improve context error handling

23 months agoRemove redundant type conversions
Matt Joiner [Mon, 9 May 2022 00:51:50 +0000 (10:51 +1000)]
Remove redundant type conversions

23 months agoMove undirtiedChunksIter into its own file
Matt Joiner [Mon, 9 May 2022 02:51:01 +0000 (12:51 +1000)]
Move undirtiedChunksIter into its own file

23 months agoUse a generic heap implementation for request selection
Matt Joiner [Fri, 6 May 2022 06:44:53 +0000 (16:44 +1000)]
Use a generic heap implementation for request selection

23 months agoOrder readahead requests by piece index
Matt Joiner [Fri, 6 May 2022 06:27:43 +0000 (16:27 +1000)]
Order readahead requests by piece index

23 months agoRetain peer local request ordering
Matt Joiner [Fri, 6 May 2022 06:24:46 +0000 (16:24 +1000)]
Retain peer local request ordering

23 months agoAdd and use typed roaring bitmap
Matt Joiner [Mon, 9 May 2022 01:34:08 +0000 (11:34 +1000)]
Add and use typed roaring bitmap

23 months agocmd/torrent download: Fix waiting for pieces when some are already complete
Matt Joiner [Mon, 9 May 2022 02:01:14 +0000 (12:01 +1000)]
cmd/torrent download: Fix waiting for pieces when some are already complete

23 months agoAdd Torrent.pieceIndexOfRequestIndex
Matt Joiner [Thu, 5 May 2022 07:45:17 +0000 (17:45 +1000)]
Add Torrent.pieceIndexOfRequestIndex

23 months agoAdd a test for allocations in undirtiedChunksIter.Iter
Matt Joiner [Mon, 9 May 2022 01:10:57 +0000 (11:10 +1000)]
Add a test for allocations in undirtiedChunksIter.Iter

23 months agoInfer pp.Decoder.MaxLength from chunk size (#743)
Alex Sharov [Sun, 8 May 2022 01:36:43 +0000 (08:36 +0700)]
Infer pp.Decoder.MaxLength from chunk size (#743)

2 years agocmd/torrent: Export Prometheus metrics
Matt Joiner [Wed, 27 Apr 2022 23:45:49 +0000 (09:45 +1000)]
cmd/torrent: Export Prometheus metrics

2 years ago[client] Handle nil IP in badPeerAddr()
afjoseph [Mon, 25 Apr 2022 14:11:15 +0000 (16:11 +0200)]
[client] Handle nil IP in badPeerAddr()

2 years agoSupport custom path escaping for WebSeeds
Matt Joiner [Tue, 26 Apr 2022 00:57:40 +0000 (10:57 +1000)]
Support custom path escaping for WebSeeds

2 years agoWebSeed PathEscaper API tweaks
Matt Joiner [Tue, 26 Apr 2022 00:46:01 +0000 (10:46 +1000)]
WebSeed PathEscaper API tweaks

2 years agoUse Torrent logger instead of default logger (#740)
FIGBERT [Mon, 25 Apr 2022 08:49:59 +0000 (01:49 -0700)]
Use Torrent logger instead of default logger (#740)

2 years agofixup! [webseed] Add a custom URL encoder for webseeds
afjoseph [Fri, 22 Apr 2022 02:23:43 +0000 (04:23 +0200)]
fixup! [webseed] Add a custom URL encoder for webseeds

2 years ago[webseed] Add a custom URL encoder for webseeds
afjoseph [Thu, 21 Apr 2022 14:21:29 +0000 (16:21 +0200)]
[webseed] Add a custom URL encoder for webseeds

2 years agoUse PeerConn logger instead of default logger (#736)
FIGBERT [Thu, 14 Apr 2022 09:02:45 +0000 (02:02 -0700)]
Use PeerConn logger instead of default logger (#736)

2 years agoFix races around Reader and Torrent.Drop when Torrent is closed v1.42.0
Matt Joiner [Mon, 11 Apr 2022 05:44:24 +0000 (15:44 +1000)]
Fix races around Reader and Torrent.Drop when Torrent is closed

2 years agoMerge branch 'supress_webrtc_logs'
Matt Joiner [Mon, 11 Apr 2022 04:53:35 +0000 (14:53 +1000)]
Merge branch 'supress_webrtc_logs'

2 years agoFix webrtc logging for JS build
Matt Joiner [Mon, 11 Apr 2022 04:53:02 +0000 (14:53 +1000)]
Fix webrtc logging for JS build

2 years agoAvoid heap allocation in GetRequestablePieces (#734)
Jonathan McDowell [Mon, 11 Apr 2022 04:22:05 +0000 (05:22 +0100)]
Avoid heap allocation in GetRequestablePieces (#734)

The calculation of whether we should ignore a piece in
GetRequestablePieces ends up doing an allocation for every piece, when
all we really need to do is query the index in the torrent. Provide an
IgnorePiece function instead, which avoids the need for a temporary
allocation.

Observed to cut out 40% of object allocations in some workloads (large
download, lots of seeds).

2 years agocmd/torrent: Fix panic with IPv6 public IP
Matt Joiner [Mon, 11 Apr 2022 04:00:06 +0000 (14:00 +1000)]
cmd/torrent: Fix panic with IPv6 public IP

2 years agodiscard logger factory
alex.sharov [Sat, 9 Apr 2022 07:06:05 +0000 (14:06 +0700)]
discard logger factory

2 years agoUpdate anacrolix/envpprof
Matt Joiner [Fri, 8 Apr 2022 04:12:23 +0000 (14:12 +1000)]
Update anacrolix/envpprof

2 years agoEnsure unlock occurs on panic in reader
Matt Joiner [Thu, 31 Mar 2022 06:04:36 +0000 (17:04 +1100)]
Ensure unlock occurs on panic in reader

2 years agoUse Info.BestName in a few more places
Matt Joiner [Thu, 17 Mar 2022 22:15:50 +0000 (09:15 +1100)]
Use Info.BestName in a few more places

2 years agoRearrange transfer tests so build directives are applied by the right packages
Matt Joiner [Thu, 17 Mar 2022 05:08:00 +0000 (16:08 +1100)]
Rearrange transfer tests so build directives are applied by the right packages

2 years agoMerge branch 'master' into crawshaw-386-wasm
Matt Joiner [Thu, 17 Mar 2022 04:30:07 +0000 (15:30 +1100)]
Merge branch 'master' into crawshaw-386-wasm

2 years agoMerge branch 'go1.18'
Matt Joiner [Thu, 17 Mar 2022 04:16:04 +0000 (15:16 +1100)]
Merge branch 'go1.18'

2 years agocmd/torrent: Add download --save-metainfos and fix up signal notification
Matt Joiner [Thu, 17 Mar 2022 04:08:06 +0000 (15:08 +1100)]
cmd/torrent: Add download --save-metainfos and fix up signal notification

2 years agoPrefer UTF-8 fields when present
Matt Joiner [Thu, 17 Mar 2022 04:07:10 +0000 (15:07 +1100)]
Prefer UTF-8 fields when present

2 years agoAdd Info "name.utf-8" field
Matt Joiner [Thu, 17 Mar 2022 03:59:36 +0000 (14:59 +1100)]
Add Info "name.utf-8" field

Comes up frequently with non-English torrents

2 years agoExpose File.{Begin,End}PieceIndex
Matt Joiner [Thu, 17 Mar 2022 03:59:02 +0000 (14:59 +1100)]
Expose File.{Begin,End}PieceIndex

2 years agoUpdate dht logging
Matt Joiner [Thu, 17 Mar 2022 03:58:32 +0000 (14:58 +1100)]
Update dht logging