diff options
author | Erik Johnston <erik@matrix.org> | 2016-09-15 10:36:19 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-09-15 10:36:19 +0100 |
commit | 5810cffd335f96ac448497e7caf46c5cbf29d6a8 (patch) | |
tree | bd9edc96cb470204d1e9245512bacf2ef6430766 /synapse/federation/federation_client.py | |
parent | Allow paginating both forwards and backwards (diff) | |
download | synapse-5810cffd335f96ac448497e7caf46c5cbf29d6a8.tar.xz |
Pass since/from parameters over federation
Diffstat (limited to 'synapse/federation/federation_client.py')
-rw-r--r-- | synapse/federation/federation_client.py | 22 |
1 files changed, 4 insertions, 18 deletions
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py index 91bed4746f..f0a684fc13 100644 --- a/synapse/federation/federation_client.py +++ b/synapse/federation/federation_client.py @@ -24,7 +24,6 @@ from synapse.api.errors import ( CodeMessageException, HttpResponseException, SynapseError, ) from synapse.util import unwrapFirstError -from synapse.util.async import concurrently_execute from synapse.util.caches.expiringcache import ExpiringCache from synapse.util.logutils import log_function from synapse.util.logcontext import preserve_fn, preserve_context_over_deferred @@ -719,24 +718,11 @@ class FederationClient(FederationBase): raise RuntimeError("Failed to send to any server.") - @defer.inlineCallbacks - def get_public_rooms(self, destinations): - results_by_server = {} - - @defer.inlineCallbacks - def _get_result(s): - if s == self.server_name: - defer.returnValue() - - try: - result = yield self.transport_layer.get_public_rooms(s) - results_by_server[s] = result - except: - logger.exception("Error getting room list from server %r", s) - - yield concurrently_execute(_get_result, destinations, 3) + def get_public_rooms(self, destination, limit=None, since_token=None): + if destination == self.server_name: + return - defer.returnValue(results_by_server) + return self.transport_layer.get_public_rooms(destination, limit, since_token) @defer.inlineCallbacks def query_auth(self, destination, room_id, event_id, local_auth): |