Matt Joiner
5efb4dd941
Attribute accepted connection to holepunching when connect message is late
...
Also perform holepunch metric adjustments sooner to reduce timing issues in tests.
2023-05-28 13:53:22 +10:00
Matt Joiner
617362ddf0
go1.19 compat
2023-05-28 00:41:35 +10:00
Matt Joiner
dee985f9bd
Fixes for storage tests on Windows
2023-05-28 00:41:35 +10:00
Marco Vidonis
e7087fde56
Add WebRTC ICE servers config ( #824 )
...
* add ICEServers config
* remove unnecessary check
2023-05-27 20:27:24 +10:00
Matt Joiner
c3622dea3d
Fix TestSeedAfterDownloading when cgo is disabled
2023-05-19 12:33:54 +10:00
Matt Joiner
cd3ab72272
Tweak logging
2023-05-18 21:25:58 +10:00
Matt Joiner
f45365fd98
Ignore dial rate limits for holepunch connects
2023-05-18 11:38:10 +10:00
Matt Joiner
6b18583a06
Add ClientConfig.DialRateLimiter, handle dial rate limiting errors
2023-05-18 10:41:51 +10:00
Matt Joiner
9352f6cf8e
Don't start another holepunch rendezvous if we're handling one
2023-05-18 10:26:00 +10:00
Matt Joiner
9be2500729
Include PeerConn prefix for log messages
2023-05-16 16:35:26 +10:00
Matt Joiner
0b6209062d
Add holepunching stats and tests
2023-05-12 13:47:24 +10:00
Matt Joiner
a11739a667
Attempt holepunch after initial dial fails
2023-05-11 13:03:54 +10:00
Matt Joiner
c8fd8884b1
Restore using just hex in peer extension expvar
2023-05-09 15:46:53 +10:00
Matt Joiner
e9e21b9bb5
Add stats for connections that only occur due to holepunching
2023-05-09 15:46:52 +10:00
Matt Joiner
ba0b955f72
Remove bad half open count assertion
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
599846546e
Dial TCP with the listener's local addr
2023-05-09 15:45:52 +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
42d29d95a6
Import generics as g
2023-04-04 19:12:26 +10:00
Matt Joiner
069b92a98c
Add AddTorrentOpts.InfoBytes
2023-04-04 19:12:01 +10:00
Matt Joiner
8d3e86e3c0
Expose StringAddr
2023-04-03 15:10:54 +10:00
Matt Joiner
31bbd435f9
gorond
2023-03-01 12:34:35 +11:00
Matt Joiner
2cb7121a93
Limit peer request data allocation
...
This follows up from abb5cbc96e301a4ca1f5df698b105ae8553ce1e9. We currently limit how many requests peers can send us, but didn't really check that peers didn't make us allocate huge amounts of space to buffer their requests. I'm sure there's some rough edges here.
2023-02-14 12:46:49 +11:00
Marco Vidonis
3909c6c125
Add customer headers when dialling WS connection to tracker ( #789 )
...
* expose WebtorrentTrackerHttpHeader field
2022-12-08 09:17:33 +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
Raphaël Thériault
455913c752
pass TrackerDialContext to webtorrent trackers ( #785 )
2022-11-14 19:20:08 +11:00
Raphaël Thériault
8e53dbaeb8
support providing a DialContext for the http client ( #786 )
2022-11-14 19:19:02 +11:00
Matt Joiner
e81c6569af
Run default DHT with table maintainer
2022-09-23 23:29:19 +10:00
Alex Sharov
67b55c222b
use RLock where can ( #766 )
2022-07-13 20:03:42 +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
12279621e4
Check that incoming peer request chunk lengths don't exceed the upload rate limiter burst size
...
Should fix #759 .
2022-06-25 23:16:58 +10:00
Matt Joiner
05cd58de85
Add Client.PublicIPs
2022-06-22 23:59:18 +10:00
Matt Joiner
f527180873
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.
2022-06-15 14:22:17 +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
9434fe58a2
Set debug log level for outgoing connection error
...
Contributed by @tsynik in https://github.com/anacrolix/torrent/issues/702#issuecomment-1010523079 .
2022-05-12 13:33:57 +10:00
Matt Joiner
39bd8fc5a0
Use reusable roaring iterators
2022-05-12 10:42:16 +10:00
Matt Joiner
669c69faac
Disable update requests timer
2022-05-12 10:37:36 +10:00
Matt Joiner
9a9c7dee00
Add and use typed roaring bitmap
2022-05-09 12:05:50 +10:00
afjoseph
5bcd5d1b13
[client] Handle nil IP in badPeerAddr()
2022-04-26 10:59:12 +10: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
e801f8518f
Merge branch 'go1.18'
2022-03-17 15:16:04 +11:00
Matt Joiner
472894d9dd
Update dht logging
2022-03-17 14:58:32 +11:00