Return RoundTripper even if we fail to vet masquerades by the given t… #38
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…imeout
For getlantern/engineering#180
The short version is that if the network is down when we bootstrap fronted, it will never work even after the network recovers.
What's happening is this:
The solution is to not bother waiting for vetted masquerades before returning the RoundTripper. When someone then attempts to dial with it, if it has successfully vetted masquerades, those will be preferred, but if it hasn't yet vetted any, we'll dial with a random candidate, which at least has a hope of succeeding once connectivity is restored.
I tested this by following the steps in getlantern/engineering#180 and was able to verify that the fix worked. It also seems to just generally speed up startup if we're starting with decent network connectivity.
Note that even though the logged ticket is for Android, this affects Desktop and iOS as well.