summary refs log tree commit diff
path: root/synapse/federation/federation_client.py
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2020-02-03 20:55:11 +0000
committerRichard van der Hoff <richard@matrix.org>2020-02-03 22:28:45 +0000
commita46fabf17bca51eb3a73feb5b3de4072030033e4 (patch)
treef446a2f75244b299525c4c5d6ba8a1b0238df590 /synapse/federation/federation_client.py
parentmake FederationClient.send_join async (diff)
downloadsynapse-a46fabf17bca51eb3a73feb5b3de4072030033e4.tar.xz
make FederationClient.send_leave async
Diffstat (limited to '')
-rw-r--r--synapse/federation/federation_client.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py
index c98b276805..8d33d27137 100644
--- a/synapse/federation/federation_client.py
+++ b/synapse/federation/federation_client.py
@@ -730,7 +730,7 @@ class FederationClient(FederationBase):
         )
         return content
 
-    def send_leave(self, destinations, pdu):
+    async def send_leave(self, destinations: Iterable[str], pdu: EventBase) -> None:
         """Sends a leave event to one of a list of homeservers.
 
         Doing so will cause the remote server to add the event to the graph,
@@ -739,17 +739,14 @@ class FederationClient(FederationBase):
         This is mostly useful to reject received invites.
 
         Args:
-            destinations (str): Candidate homeservers which are probably
+            destinations: Candidate homeservers which are probably
                 participating in the room.
-            pdu (BaseEvent): event to be sent
-
-        Return:
-            Deferred: resolves to None.
+            pdu: event to be sent
 
-            Fails with a ``SynapseError`` if the chosen remote server
-            returns a 300/400 code.
+        Raises:
+            SynapseError if the chosen remote server returns a 300/400 code.
 
-            Fails with a ``RuntimeError`` if no servers were reachable.
+            RuntimeError if no servers were reachable.
         """
 
         @defer.inlineCallbacks
@@ -759,7 +756,9 @@ class FederationClient(FederationBase):
             logger.debug("Got content: %s", content)
             return None
 
-        return self._try_destination_list("send_leave", destinations, send_request)
+        return await self._try_destination_list(
+            "send_leave", destinations, send_request
+        )
 
     @defer.inlineCallbacks
     def _do_send_leave(self, destination, pdu):