mirror of
https://github.com/element-hq/synapse
synced 2024-08-20 13:10:20 +00:00
Clarifications in FederationHandler
* add some comments on things that look a bit bogus * rename this `state` variable to avoid confusion with the `state` used elsewhere in this function. (There was no actual conflict, but it was a confusing bit of spaghetti.)
This commit is contained in:
parent
92abd3d6d6
commit
e3c159863d
1 changed files with 11 additions and 2 deletions
|
@ -341,14 +341,23 @@ class FederationHandler(BaseHandler):
|
||||||
)
|
)
|
||||||
|
|
||||||
with logcontext.nested_logging_context(p):
|
with logcontext.nested_logging_context(p):
|
||||||
state, got_auth_chain = (
|
# XXX if any of the missing prevs share missing state or auth
|
||||||
|
# events, we'll end up requesting those missing events for
|
||||||
|
# *each* missing prev, contributing to the hammering of /event
|
||||||
|
# as per https://github.com/matrix-org/synapse/issues/2164.
|
||||||
|
remote_state, got_auth_chain = (
|
||||||
yield self.federation_client.get_state_for_room(
|
yield self.federation_client.get_state_for_room(
|
||||||
origin, room_id, p,
|
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)
|
auth_chains.update(got_auth_chain)
|
||||||
|
|
||||||
state_group = {
|
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)
|
state_groups.append(state_group)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue