From 363aed60e747ca36136cbd13345bbdbe72cba184 Mon Sep 17 00:00:00 2001 From: Eric Eastwood Date: Wed, 3 Nov 2021 18:31:32 -0500 Subject: Revert unused refactor to get PDU raw Code split out into https://github.com/matrix-org/synapse/pull/11242 --- synapse/federation/federation_client.py | 84 +++++++++------------------------ 1 file changed, 22 insertions(+), 62 deletions(-) diff --git a/synapse/federation/federation_client.py b/synapse/federation/federation_client.py index 67056be7f7..670186f548 100644 --- a/synapse/federation/federation_client.py +++ b/synapse/federation/federation_client.py @@ -277,62 +277,6 @@ class FederationClient(FederationBase): return pdus - async def get_pdu_from_destination_raw( - self, - destination: str, - event_id: str, - room_version: RoomVersion, - outlier: bool = False, - timeout: Optional[int] = None, - ) -> Optional[EventBase]: - """Requests the PDU with given origin and ID from the remote home - server. - - Does not have any caching or rate limiting! - - Args: - destination: Which homeserver to query - event_id: event to fetch - room_version: version of the room - outlier: Indicates whether the PDU is an `outlier`, i.e. if - it's from an arbitrary point in the context as opposed to part - of the current block of PDUs. Defaults to `False` - timeout: How long to try (in ms) each destination for before - moving to the next destination. None indicates no timeout. - - Returns: - The requested PDU, or None if we were unable to find it. - - Raises: - SynapseError, NotRetryingDestination, FederationDeniedError - """ - - signed_pdu = None - - transaction_data = await self.transport_layer.get_event( - destination, event_id, timeout=timeout - ) - - logger.info( - "retrieved event id %s from %s: %r", - event_id, - destination, - transaction_data, - ) - - pdu_list: List[EventBase] = [ - event_from_pdu_json(p, room_version, outlier=outlier) - for p in transaction_data["pdus"] - ] - - if pdu_list and pdu_list[0]: - pdu = pdu_list[0] - - # Check signatures are correct. - signed_pdu = await self._check_sigs_and_hash(room_version, pdu) - - return signed_pdu - async def get_pdu( self, destinations: Iterable[str], @@ -377,14 +321,30 @@ class FederationClient(FederationBase): continue try: - signed_pdu = await self.get_pdu_from_destination_raw( - destination=destination, - event_id=event_id, - room_version=room_version, - outlier=outlier, - timeout=timeout, + transaction_data = await self.transport_layer.get_event( + destination, event_id, timeout=timeout + ) + + logger.debug( + "retrieved event id %s from %s: %r", + event_id, + destination, + transaction_data, ) + pdu_list: List[EventBase] = [ + event_from_pdu_json(p, room_version, outlier=outlier) + for p in transaction_data["pdus"] + ] + + if pdu_list and pdu_list[0]: + pdu = pdu_list[0] + + # Check signatures are correct. + signed_pdu = await self._check_sigs_and_hash(room_version, pdu) + + break + pdu_attempts[destination] = now except SynapseError as e: -- cgit 1.4.1