summary refs log tree commit diff
path: root/synapse/federation/transport
diff options
context:
space:
mode:
authorBrendan Abolivier <babolivier@matrix.org>2019-11-11 16:26:53 +0000
committerBrendan Abolivier <babolivier@matrix.org>2019-11-11 16:26:53 +0000
commit1e202a90f15a8f518e4350075d40d0423b64318d (patch)
treee58c3a7bbe40e90a73a9c6e51601c960bd58fb05 /synapse/federation/transport
parentAdd missing yield (diff)
downloadsynapse-1e202a90f15a8f518e4350075d40d0423b64318d.tar.xz
Implement v2 API for send_leave
Diffstat (limited to 'synapse/federation/transport')
-rw-r--r--synapse/federation/transport/client.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/synapse/federation/transport/client.py b/synapse/federation/transport/client.py

index ba68f7c0b4..df2b5dc91b 100644 --- a/synapse/federation/transport/client.py +++ b/synapse/federation/transport/client.py
@@ -289,7 +289,7 @@ class TransportLayerClient(object): @defer.inlineCallbacks @log_function - def send_leave(self, destination, room_id, event_id, content): + def send_leave_v1(self, destination, room_id, event_id, content): path = _create_v1_path("/send_leave/%s/%s", room_id, event_id) response = yield self.client.put_json( @@ -307,6 +307,24 @@ class TransportLayerClient(object): @defer.inlineCallbacks @log_function + def send_leave_v2(self, destination, room_id, event_id, content): + path = _create_v2_path("/send_leave/%s/%s", room_id, event_id) + + response = yield self.client.put_json( + destination=destination, + path=path, + data=content, + # we want to do our best to send this through. The problem is + # that if it fails, we won't retry it later, so if the remote + # server was just having a momentary blip, the room will be out of + # sync. + ignore_backoff=True, + ) + + return response + + @defer.inlineCallbacks + @log_function def send_invite_v1(self, destination, room_id, event_id, content): path = _create_v1_path("/invite/%s/%s", room_id, event_id)