diff options
author | Erik Johnston <erik@matrix.org> | 2019-08-22 13:17:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-22 13:17:05 +0100 |
commit | 1b09cf86585cca8bb5a77b9e418d02373d7f0476 (patch) | |
tree | 17f382b1d4f5aef26d61fbcab118344364baacbf /synapse/http/federation/matrix_federation_agent.py | |
parent | Opentrace e2e keys (#5855) (diff) | |
parent | Change jitter to be a factor rather than absolute value (diff) | |
download | synapse-1b09cf86585cca8bb5a77b9e418d02373d7f0476.tar.xz |
Merge pull request #5850 from matrix-org/erikj/retry_well_known_on_fail
Retry well known on fail
Diffstat (limited to 'synapse/http/federation/matrix_federation_agent.py')
-rw-r--r-- | synapse/http/federation/matrix_federation_agent.py | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/synapse/http/federation/matrix_federation_agent.py b/synapse/http/federation/matrix_federation_agent.py index 71a15f434d..64f62aaeec 100644 --- a/synapse/http/federation/matrix_federation_agent.py +++ b/synapse/http/federation/matrix_federation_agent.py @@ -51,9 +51,9 @@ class MatrixFederationAgent(object): SRVResolver impl to use for looking up SRV records. None to use a default implementation. - _well_known_cache (TTLCache|None): - TTLCache impl for storing cached well-known lookups. None to use a default - implementation. + _well_known_resolver (WellKnownResolver|None): + WellKnownResolver to use to perform well-known lookups. None to use a + default implementation. """ def __init__( @@ -61,7 +61,7 @@ class MatrixFederationAgent(object): reactor, tls_client_options_factory, _srv_resolver=None, - _well_known_cache=None, + _well_known_resolver=None, ): self._reactor = reactor self._clock = Clock(reactor) @@ -76,15 +76,17 @@ class MatrixFederationAgent(object): self._pool.maxPersistentPerHost = 5 self._pool.cachedConnectionTimeout = 2 * 60 - self._well_known_resolver = WellKnownResolver( - self._reactor, - agent=Agent( + if _well_known_resolver is None: + _well_known_resolver = WellKnownResolver( self._reactor, - pool=self._pool, - contextFactory=tls_client_options_factory, - ), - well_known_cache=_well_known_cache, - ) + agent=Agent( + self._reactor, + pool=self._pool, + contextFactory=tls_client_options_factory, + ), + ) + + self._well_known_resolver = _well_known_resolver @defer.inlineCallbacks def request(self, method, uri, headers=None, bodyProducer=None): |