2
0
mirror of synced 2025-02-23 06:08:07 +00:00

3531 Commits

Author SHA1 Message Date
Matt Joiner
d27d1c809e
Skip test failures due to Go uTP implementation 2023-05-19 12:33:54 +10:00
Matt Joiner
11af55fa0b
Retry some utp tests on failure 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
92bba56b87
Relax TestTcpSimultaneousOpen 2023-05-18 09:46:08 +10:00
Matt Joiner
5d4bbd8dda
Improve test assertion for Linux 2023-05-17 13:45:18 +10:00
Matt Joiner
9d32240942
Switch Go CI to go1.20 2023-05-17 12:26:34 +10:00
Matt Joiner
f643521f1d
Fix overflow in average download rate 2023-05-17 12:13:16 +10:00
Matt Joiner
5f2b09a818
Use netip.AddrPort in PEX code and filter unusable addrs much sooner 2023-05-16 17:55:53 +10:00
Matt Joiner
9be2500729
Include PeerConn prefix for log messages 2023-05-16 16:35:26 +10:00
Matt Joiner
3a92268f10
Handle more PeerRemoteAddr variants when calculating dial addr
This should fix https://github.com/anacrolix/torrent/issues/820.
2023-05-16 16:35:03 +10:00
Matt Joiner
044be4820f
gorond test files 2023-05-12 13:47:47 +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
20b437730d
Include count of peer conns in status 2023-05-09 15:46:53 +10:00
Matt Joiner
12db16c478
Drop peer request alloc reservations when peer is closed
Might fix a goroutine leak.
2023-05-09 15:46:53 +10:00
Matt Joiner
c202126a62
Add many more extension bit definitions 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
5a4456a7df
Fix race in TestUtpLocalPortIsReusable 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
d1845bbede
go mod tidy 2023-05-09 15:45:52 +10:00
Matt Joiner
9624f6ff9c
Don't dial out TCP from the listen port 2023-05-09 15:45:52 +10:00
Matt Joiner
c0c7536caa
Add test showing that reusing TCP ports isn't a good idea 2023-05-09 15:45:52 +10:00
Matt Joiner
599846546e
Dial TCP with the listener's local addr 2023-05-09 15:45:52 +10:00
Matt Joiner
b290350ba2
Prefer outgoing connections from higher to lower peer IDs
I think it may have been wrong all this time.
2023-05-09 15:45:52 +10:00
Matt Joiner
16139e1168
Add more hole punching NOTES 2023-05-09 15:45:52 +10:00
Matt Joiner
267fab622d
Break PeerConn status into more lines and improve pex status 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
6818a9f773
Rate limit received PEX messages per connection 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
7e65e55c35
Rename prioritized_peers go files 2023-04-29 14:54:49 +10:00
Matt Joiner
a4989ec165
Camel case requestStrategy package 2023-04-29 14:54:49 +10:00
Matt Joiner
79ab1ffe2b
Try to balance incoming and outgoing conns per torrent 2023-04-29 14:54:49 +10:00
Matt Joiner
fdb0911e28
Don't log using torrent source as warning for context cancellation
This probably occurs because the info was obtained and we don't need to try the source anymore.
2023-04-04 19:13:14 +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
e13fd755ee
bencode: Only use unsafe.String for go>=1.20 2023-04-03 15:10:38 +10:00
Matt Joiner
872b11bd57
bencode: Support parsing strings into bool 2023-03-20 10:50:22 +11:00
Matt Joiner
c069849b40
Add Peer.Torrent
This was for accessing from callback events.
2023-03-01 14:17:29 +11:00