Matt Joiner
e9e21b9bb5
Add stats for connections that only occur due to holepunching
2023-05-09 15:46:52 +10:00
Matt Joiner
884b71ea6d
Add Client.Stats with ActiveHalfOpenAttempts
2023-05-09 15:46:52 +10:00
Matt Joiner
0f2604e3e9
Support multiple ongoing half-open attempts
2023-05-09 15:46:52 +10:00
Matt Joiner
f3b61f09a8
Add internal panicif, check and nestedmaps packages
...
Fuckit I'm sick of reinventing the wheel.
2023-05-09 15:46:52 +10:00
Matt Joiner
5703f9b5eb
Locate target peer using dial addr when receiving a holepunch rendezvous
2023-05-09 15:46:51 +10:00
Matt Joiner
dc68e63298
Set torrent logger default level to debug
2023-05-09 15:45:51 +10:00
Matt Joiner
06a1aa0769
Synchronize holepunch connect messages with existing rendezvous
2023-05-09 15:45:50 +10:00
Matt Joiner
e86e624415
WIP support for ut_holepunch
2023-05-01 10:19:26 +10:00
Matt Joiner
60370d60d4
Order peer conn status by peer priority and show webseeds separately
2023-05-01 10:19:26 +10:00
Matt Joiner
1e13625c73
Misc debug status, pex conn tracking improvements
2023-05-01 10:19:24 +10:00
Matt Joiner
79ab1ffe2b
Try to balance incoming and outgoing conns per torrent
2023-04-29 14:54:49 +10:00
Matt Joiner
e8971ea0f1
Add unit test for relative availability after HaveNone
...
Could help with https://github.com/anacrolix/torrent/issues/813 .
2023-02-19 13:24:25 +11:00
Matt Joiner
14cf045b6a
Sleep webseed peers after unhandled errors
2022-12-31 11:27:47 +11:00
Matt Joiner
f75989863c
Validate received chunks before conversion to indexes
...
https://github.com/anacrolix/torrent/issues/791
2022-12-11 15:21:23 +11:00
Matt Joiner
93f911ed01
Metadata size handling and DHT logging noise
2022-11-24 10:33:06 +11:00
Matt Joiner
3e0f34934d
gorond ./...
2022-11-15 23:31:27 +11:00
Alex Sharov
61302332cf
Win limit amount of peers per udp packet ( #771 )
2022-08-08 15:38:19 +10:00
Matt Joiner
214fe6b93c
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)
2022-07-12 15:52:03 +10:00
Matt Joiner
aedf2583cc
Remove relevant webtorrent offers when closing Torrent
...
(cherry picked from commit 73a0b5e4d2fe679aac31d87171537c70f91f46ee)
2022-07-12 15:49:58 +10:00
Alex Sharov
75cc4e98d4
Do torrent storage flush on piece completion ( #755 )
2022-07-07 15:46:27 +10:00
Matt Joiner
32cdaf4ada
Update anacrolix/generics
2022-06-21 08:51:33 +10:00
Matt Joiner
8ccacbfd17
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.
2022-06-01 18:24:50 +10:00
Matt Joiner
f21aeed90e
Demote webrtc conn error logging level to debug
...
Fixes #716 .
2022-06-01 18:18:37 +10:00
Matt Joiner
eeb021b134
Use Option for cached Torrent length
...
Fixes https://github.com/anacrolix/torrent/issues/630 .
2022-05-12 13:47:12 +10:00
Matt Joiner
39bd8fc5a0
Use reusable roaring iterators
2022-05-12 10:42:16 +10:00
Matt Joiner
0235dd3801
Add fallback piece ordering for non-readahead priorities
2022-05-12 10:37:50 +10:00
Matt Joiner
590d1ac265
Make piece states a slice and reuse it and request indexes between runs
2022-05-12 10:37:36 +10:00
Matt Joiner
9eb80abc29
Switch requestState to be a slice
2022-05-12 10:34:28 +10:00
Matt Joiner
eb7811f909
Cache chunksPerRegularPiece
2022-05-12 10:34:26 +10:00
Matt Joiner
7d4f64ce3c
Combine pending and last requested
2022-05-11 11:33:11 +10:00
Matt Joiner
23a0e7f7d3
Remove redundant type conversions
2022-05-09 12:51:02 +10:00
Matt Joiner
9a9c7dee00
Add and use typed roaring bitmap
2022-05-09 12:05:50 +10:00
Matt Joiner
78c36e4c2f
Add Torrent.pieceIndexOfRequestIndex
2022-05-09 12:05:12 +10:00
Matt Joiner
a3a5a81e84
Support custom path escaping for WebSeeds
2022-04-26 10:57:40 +10:00
Matt Joiner
d2d8125eea
WebSeed PathEscaper API tweaks
2022-04-26 10:46:01 +10:00
FIGBERT
2c8a3219db
Use Torrent logger instead of default logger ( #740 )
2022-04-25 18:49:59 +10:00
afjoseph
a79c3bd5d3
fixup! [webseed] Add a custom URL encoder for webseeds
2022-04-22 04:23:43 +02:00
afjoseph
02cc723750
[webseed] Add a custom URL encoder for webseeds
2022-04-21 16:21:29 +02:00
Matt Joiner
d8611ecf2d
Fix races around Reader and Torrent.Drop when Torrent is closed
2022-04-11 15:44:24 +10:00
Matt Joiner
dd1ca6f514
Use Info.BestName in a few more places
2022-03-18 09:15:50 +11:00
Matt Joiner
e801f8518f
Merge branch 'go1.18'
2022-03-17 15:16:04 +11:00
Matt Joiner
32d89830ed
Use generic pubsub
2022-03-17 14:55:55 +11:00
Matt Joiner
39af2fe8f2
Merge branch 'http-proxying'
2022-03-15 12:41:22 +11:00
Matt Joiner
a319506dda
Expose Torrent.AddWebSeeds
2022-03-11 14:23:05 +11:00
Matt Joiner
ec2b1b2073
Support banning webseeds
2022-03-11 14:05:31 +11:00
Matt Joiner
32501740f2
Support banning webseeds
2022-03-11 13:33:34 +11:00
Matt Joiner
d06f990b81
Use HTTP proxy config for torrent sources
2022-02-25 19:59:16 +11:00
Matt Joiner
a324fbfee3
Make use of the lazylog branch of anacrolix/log
...
This avoids significant allocations and overhead.
2022-01-31 17:22:36 +11:00
Matt Joiner
68e47c4bea
Include peer net.Conn endpoint addresses in webrtc conn string
2022-01-27 15:24:48 +11:00
Matt Joiner
60057327b3
Ban peers for dirtying pieces if they are solely responsible
2022-01-27 15:09:05 +11:00