Merge pull request #3967 from matrix-org/rav/federation_handler_cleanups

Clarifications in FederationHandler
pull/14/head
Richard van der Hoff 6 years ago committed by GitHub
commit e1e3e77bfd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      changelog.d/3967.misc
  2. 2
      synapse/federation/federation_client.py
  3. 12
      synapse/handlers/federation.py

@ -0,0 +1 @@
Clarifications in FederationHandler

@ -209,8 +209,6 @@ class FederationClient(FederationBase):
Will attempt to get the PDU from each destination in the list until
one succeeds.
This will persist the PDU locally upon receipt.
Args:
destinations (list): Which home servers to query
event_id (str): event to fetch

@ -341,14 +341,22 @@ class FederationHandler(BaseHandler):
)
with logcontext.nested_logging_context(p):
state, got_auth_chain = (
# note that if any of the missing prevs share missing state or
# auth events, the requests to fetch those events are deduped
# by the get_pdu_cache in federation_client.
remote_state, got_auth_chain = (
yield self.federation_client.get_state_for_room(
origin, room_id, p,
)
)
# XXX hrm I'm not convinced that duplicate events will compare
# for equality, so I'm not sure this does what the author
# hoped.
auth_chains.update(got_auth_chain)
state_group = {
(x.type, x.state_key): x.event_id for x in state
(x.type, x.state_key): x.event_id for x in remote_state
}
state_groups.append(state_group)

Loading…
Cancel
Save