2
0
mirror of synced 2025-02-24 14:48:27 +00:00

595 Commits

Author SHA1 Message Date
Matt Joiner
39171df0c6 Fix PeerConn outgoing field for webrtc
Due to jumping straight into handshakes, outgoing=true was assumed. This didn't actually solve the issue I thought it might, but is important for determining "preferred" connection direction, which may result in dropping connections.
2020-05-03 18:37:26 +10:00
Matt Joiner
15fff58d7b Rework tracker status lines 2020-04-28 09:13:44 +10:00
Matt Joiner
3226dc1ccd Rename per-torrent ws tracker and output stats 2020-04-22 11:42:31 +10:00
Matt Joiner
0ab6d108be Pool webtorrent tracker websockets at the Client level 2020-04-21 18:08:43 +10:00
Matt Joiner
c074b30d94 Log webrtc connection errors and rework webtorrent.TrackerClient 2020-04-20 13:42:25 +10:00
Matt Joiner
4a2802a702 Logging fixes 2020-04-18 17:45:01 +10:00
Matt Joiner
d05ce2d274 Update anacrolix/log 2020-04-16 17:20:58 +10:00
Matt Joiner
e5f7765dfa Fix small cache transfer tests
Since hashing Peer Addrs in the Torrent pending peers, clients are getting more than one connection to the seeder in the tests and failing.
2020-04-16 14:12:17 +10:00
Matt Joiner
c2210c058c Fix pending peer counts in transfer tests
Also expose number of peers successfully added in some method returns.
2020-04-16 14:09:45 +10:00
Matt Joiner
070e11a0dd Adjust recently added logging 2020-04-16 12:17:18 +10:00
Matt Joiner
730cebf5aa Only announce to DHT if we have dialers or listeners 2020-04-16 12:03:27 +10:00
Matt Joiner
eec337d4bc Set tracker announce numWant to 0 if we're unable to dial 2020-04-16 12:02:34 +10:00
Matt Joiner
74986db9ed Don't try to do conventional dials if we have no dialers
Stops us from consuming all the peers we store for no reason.
2020-04-16 12:00:49 +10:00
Matt Joiner
6a86e9e999 Include hashed addr when comparing prioritized peers
In particular, fixes the issue where peers where can't calculate a priority and fallback on 0 clobber each other.
2020-04-16 11:59:31 +10:00
Matt Joiner
5f47e808fb Update the peersAddedBySource expvar 2020-04-16 11:56:58 +10:00
Matt Joiner
c27e3f8de3 Merge branch 'webtorrent' 2020-04-15 17:26:46 +10:00
Matt Joiner
92162295af Clone the AnnounceList out of Torrent.Metainfo
Should fix a race with Torrent.AddTrackers
2020-04-15 17:26:02 +10:00
Yaroslav Kolomiiets
2b2c480706 PEX: add periodic deltas 2020-04-15 17:24:44 +10:00
Yaroslav Kolomiiets
93430aa01a PEX: add connection tracking 2020-04-15 17:24:44 +10:00
Yaroslav Kolomiiets
634edd2875 Share current connections with peers over PEX (anacrolix#341) 2020-04-15 17:24:44 +10:00
Matt Joiner
f90cbcce20 Fix locks around Torrent.announceRequest 2020-04-13 19:13:59 +10:00
Matt Joiner
05e448d132 webtorrent logging improvements 2020-04-13 19:13:23 +10:00
Matt Joiner
93366bb63a Rename webtorrent.NewClient->NewTrackerClient 2020-04-13 19:12:54 +10:00
Matt Joiner
e5fd9ede54 Tidy up the webtorrent package, remove buffer 2020-04-13 14:31:39 +10:00
Matt Joiner
1b3cbc1287 Improve webtorrent tracker client logging 2020-04-13 14:17:46 +10:00
Matt Joiner
f45dac1e38 Use offer_id for webrtc conn string 2020-04-13 14:04:34 +10:00
Matt Joiner
6f2c65fe33 Big tidy up of webtorrent code 2020-04-07 14:30:27 +10:00
Matt Joiner
c5bb913c9e Fix missing return when creating websocket tracker announcer 2020-04-07 12:16:53 +10:00
Matt Joiner
27bfdd0dbf Create peer connections when WebRTC connections obtain a data channel 2020-04-07 10:59:10 +10:00
Matt Joiner
77cbbec926 Start using the webtorrent package 2020-04-06 16:45:47 +10:00
Matt Joiner
4d516ddadd Create stub for websocket trackers 2020-04-06 15:38:01 +10:00
Matt Joiner
378ccd0932 Logging improvements for DHT 2020-03-17 13:48:09 +11:00
Matt Joiner
4a5b891a34 Add doc comments related to #383 2020-03-16 16:30:39 +11:00
Matt Joiner
19ce53e69f Make io.EOF an expected error from storage.Piece.ReadAt
Fixes #381.
2020-02-27 16:45:57 +11:00
Matt Joiner
ea71bf770c Expose PieceStateRun formatting 2020-02-27 16:42:33 +11:00
Matt Joiner
bae791a5a2 Disable data downloading on storage write errors
Also add a hook and Torrent methods to modify this.
2020-02-22 19:40:50 +11:00
Matt Joiner
ddc61845ac Misc cleanup 2020-02-22 19:38:56 +11:00
Matt Joiner
dff436f102 Rename connection->PeerConn and fix exports 2020-02-21 11:07:50 +11:00
Matt Joiner
afe4d8795d Support custom DHT servers
Addresses #266.
2020-02-20 17:46:29 +11:00
Matt Joiner
d24922dc09 Add support for non-IP-based networks
Includes a test with unix sockets. Exposes AddDialer, AddListener, and reworks Peer.
2020-02-20 16:47:37 +11:00
Matt Joiner
376ff763fe Apply staticcheck 2020-02-20 11:09:57 +11:00
Matt Joiner
913f6df80d Use CopyN to ensure early io.EOF isn't ignored when hashing pieces 2020-01-23 13:56:39 +11:00
Matt Joiner
cf0d0118ea Finish fixing IP banning on storage errors 2020-01-23 13:54:37 +11:00
Matt Joiner
1d5b8f7451 Reflow some comments 2020-01-22 15:56:16 +11:00
Matt Joiner
2559af0f9c Extract the request timeout stuff into requestStrategyThree 2020-01-14 10:51:09 +11:00
Matt Joiner
4c989da21e Extract the request strategy logic
Bit messy. Now it'll be easier to clean-up what it depends on, and test.
2020-01-14 10:51:09 +11:00
Matt Joiner
381fb293a5 Fix typos and spellos in comments 2020-01-14 10:51:09 +11:00
Matt Joiner
1039e00955 When piece checks fail only ban untrusted peers and only when the entire piece is dirty
This should help with addressing https://github.com/anacrolix/torrent/issues/364.
2020-01-14 10:51:09 +11:00
Matt Joiner
bf0498ed5a Improve hash piece error logging 2020-01-14 10:51:09 +11:00
Matt Joiner
b9fb0bf2a2 Don't create piece hashers for closed Torrents 2020-01-14 10:51:09 +11:00