Commit Graph

725 Commits

Author SHA1 Message Date
Matt Joiner dc39e98cfb Fix race in requestStrategyThree request timeout callback 2020-01-20 11:51:24 +11:00
Matt Joiner cfc68d3ae6 Fix bad init of Torrent.requestStrategy 2020-01-14 10:51:09 +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
James Lawrence ad73cf8611 fixes various vet errors 2020-01-14 09:09:09 +10:00
Matt Joiner 98bd488466 Fix a log level 2020-01-07 10:50:18 +11:00
Matt Joiner c9f9235117 Fix panic in logging
Found by @ccampbell.
2020-01-07 10:44:58 +11:00
Matt Joiner 3a733e530c Improve logging and errors for accept rate limiting 2020-01-04 17:14:18 +11:00
Sick Yoon 32579e72c7 disable listeners if proxy is configured 2020-01-02 09:18:14 +10:00
Matt Joiner 5f1d937b62 Add connection trust flag, and more tests with small caches
Thanks to observations and feedback from @ccampbell.
2019-12-18 13:52:00 +11:00
Matt Joiner f448f55e88 Coalesce piece state change notifications on client unlock
Reported by Craig Campbell <iamcraigcampbell@gmail.com>.
2019-12-13 15:55:56 +11:00
Matt Joiner 659f7e0371 Include traversal stats in completed bootstrap log message 2019-11-07 08:51:14 +11:00
Matt Joiner 0aef469a4c Use missinggo/v2/conntrack 2019-11-02 22:35:57 +11:00
Matt Joiner 289293f3cc Rename peer source constants 2019-10-17 17:46:35 +11:00
Matt Joiner 93de711d42 Update dht to include interface change to OnAnnouncePeer 2019-10-17 17:46:09 +11:00
Matt Joiner 99fea719a6 Add Client.String 2019-10-03 19:11:45 +10:00
Matt Joiner 0fd282019e Add some logging for connections and metadata requests 2019-10-03 19:09:55 +10:00
Matt Joiner 2885426e7e Prefix torrent logger message text 2019-10-01 21:16:02 +10:00
Matt Joiner 6c8c4a6518 Pass logger to DHTs 2019-09-13 08:46:30 +10:00
Matt Joiner eb4dad73ae Lots of improvements to logging 2019-08-22 13:59:04 +10:00
Matt Joiner cb1bf0f413 goimports -local 2019-08-21 20:58:40 +10:00
Matt Joiner 5a2c1c9b76 Upgrade to simplified logger 2019-08-21 20:44:12 +10:00
Matt Joiner e3e4a11b16 Add some timing code to Client.dialFirst 2019-08-15 10:17:39 +10:00
Matt Joiner 6013f09f8a Don't include the handshake in the dial timeout for outgoing connections 2019-08-11 13:17:47 +10:00
Matt Joiner 9224303c1e Update all imports of dht to v2 2019-08-10 18:46:07 +10:00
Matt Joiner 5f0b040f25 Include remote address when logging failure to establish outbound connection 2019-07-30 17:26:12 +10:00
Matt Joiner 0b15fda7a8 NewClient nil ClientConfig should use dynamic port
It's pretty hard to test otherwise, if something's already on the default port.
2019-07-30 17:19:14 +10:00
Matt Joiner cbc98e17aa Fix race spewing Client stats 2019-07-30 17:18:09 +10:00
Matt Joiner 3c0588d661 Add some commented out logging 2019-07-19 16:17:38 +10:00
Matt Joiner 338287486f Always return errors when handshakes or dialing fails
I intend to use xerrors-style error handling for special cases.
2019-07-19 16:15:46 +10:00
Matt Joiner 76513bfe0b Restart dial timeout for fallback header obfuscation attempt 2019-07-19 14:46:48 +10:00
Matt Joiner 5774859701 Try with the non-preferred header obfuscation if there's an error
The function called was more selective about what it returned as an error, but that style is outdated (should use xerrors), and no longer returns as expected.
2019-07-19 14:13:42 +10:00
Matt Joiner 1d8873552a Rework header obfuscation and add tests for fallbacks 2019-07-19 13:23:36 +10:00
Matt Joiner 90355b3dc7 Add dummy code for emulating the bug in #114
Useful for ensuring that the test can still reproduce the issue with changes to encryption handling.
2019-07-19 13:07:40 +10:00
Matt Joiner 12958ad384 Refactor Client.dialFirst 2019-06-21 14:50:49 +10:00
Matt Joiner 06ada2ef0f Remove unnecessary import alias 2019-06-21 14:49:43 +10:00
Matt Joiner 30c705f2f8 Count client listener accepts 2019-06-21 14:49:21 +10:00
BruceWang 60e215aa81 Add OnQuery Hook 2019-05-29 15:08:46 +10:00
Matt Joiner bc249730aa Fix segfault on nil conntrack.EntryHandle instance when dialing
Fixes https://github.com/anacrolix/torrent/issues/314. Comments were added to the the conntrack package master, but have no functional change required here.
2019-04-10 18:27:54 +10:00
Matt Joiner 485d6bb6e7 Fix leaked conntrack.EntryHandle 2019-03-29 08:48:56 +11:00
Matt Joiner 5829c30146 Make use of the new context parameter in conntrack Wait 2019-03-11 10:46:06 +11:00
Matt Joiner ee5a941203 Switch entirely to anacrolix/log 2019-01-15 18:18:30 +00:00
Matt Joiner cc531b8c4a Improve bootstrap result log message 2018-11-29 18:33:33 +11:00
Matt Joiner d9fe3f50d3 Discount dial errors that won't affect connection tracking
This will reduce pressure on the conntrack instance.
2018-11-28 10:32:08 +11:00
Matt Joiner d9e1ebde70 Improve network handling and only listen networks we will use
Fixes #290.
2018-11-28 10:30:21 +11:00
Matt Joiner 70f63b2991 Remove unused type 2018-11-28 10:26:13 +11:00
Matt Joiner 3ba991e38a Remove unused code 2018-11-27 23:57:17 +11:00
Matt Joiner 33006eeb20 Use new conntrack priorities
Fixes #295
2018-11-27 23:22:24 +11:00
Matt Joiner 40d7a709ee Log initial DHT bootstrap results 2018-11-21 17:05:56 +11:00
Matt Joiner f4e30656d6 Add initial connection tracking 2018-11-21 17:02:22 +11:00