mirror of
https://github.com/element-hq/synapse
synced 2024-09-12 09:25:11 +00:00
make FederationHandler._update_context_for_auth_events async
This commit is contained in:
parent
a25ddf26a3
commit
0d5f2f4bb0
1 changed files with 10 additions and 10 deletions
|
@ -2371,21 +2371,21 @@ class FederationHandler(BaseHandler):
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
async def _update_context_for_auth_events(
|
||||||
def _update_context_for_auth_events(self, event, context, auth_events):
|
self, event: EventBase, context: EventContext, auth_events: StateMap[EventBase]
|
||||||
|
) -> EventContext:
|
||||||
"""Update the state_ids in an event context after auth event resolution,
|
"""Update the state_ids in an event context after auth event resolution,
|
||||||
storing the changes as a new state group.
|
storing the changes as a new state group.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
event (Event): The event we're handling the context for
|
event: The event we're handling the context for
|
||||||
|
|
||||||
context (synapse.events.snapshot.EventContext): initial event context
|
context: initial event context
|
||||||
|
|
||||||
auth_events (dict[(str, str)->EventBase]): Events to update in the event
|
auth_events: Events to update in the event context.
|
||||||
context.
|
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Deferred[EventContext]: new event context
|
new event context
|
||||||
"""
|
"""
|
||||||
# exclude the state key of the new event from the current_state in the context.
|
# exclude the state key of the new event from the current_state in the context.
|
||||||
if event.is_state():
|
if event.is_state():
|
||||||
|
@ -2396,19 +2396,19 @@ class FederationHandler(BaseHandler):
|
||||||
k: a.event_id for k, a in iteritems(auth_events) if k != event_key
|
k: a.event_id for k, a in iteritems(auth_events) if k != event_key
|
||||||
}
|
}
|
||||||
|
|
||||||
current_state_ids = yield context.get_current_state_ids()
|
current_state_ids = await context.get_current_state_ids()
|
||||||
current_state_ids = dict(current_state_ids)
|
current_state_ids = dict(current_state_ids)
|
||||||
|
|
||||||
current_state_ids.update(state_updates)
|
current_state_ids.update(state_updates)
|
||||||
|
|
||||||
prev_state_ids = yield context.get_prev_state_ids()
|
prev_state_ids = await context.get_prev_state_ids()
|
||||||
prev_state_ids = dict(prev_state_ids)
|
prev_state_ids = dict(prev_state_ids)
|
||||||
|
|
||||||
prev_state_ids.update({k: a.event_id for k, a in iteritems(auth_events)})
|
prev_state_ids.update({k: a.event_id for k, a in iteritems(auth_events)})
|
||||||
|
|
||||||
# create a new state group as a delta from the existing one.
|
# create a new state group as a delta from the existing one.
|
||||||
prev_group = context.state_group
|
prev_group = context.state_group
|
||||||
state_group = yield self.state_store.store_state_group(
|
state_group = await self.state_store.store_state_group(
|
||||||
event.event_id,
|
event.event_id,
|
||||||
event.room_id,
|
event.room_id,
|
||||||
prev_group=prev_group,
|
prev_group=prev_group,
|
||||||
|
|
Loading…
Reference in a new issue