Move Measure calls into `resolve_events_with_store`
parent
ba700074c6
commit
8412c08a87
|
@ -448,14 +448,13 @@ class StateHandler:
|
||||||
|
|
||||||
state_map = {ev.event_id: ev for st in state_sets for ev in st}
|
state_map = {ev.event_id: ev for st in state_sets for ev in st}
|
||||||
|
|
||||||
with Measure(self.clock, "state._resolve_events"):
|
new_state = await self._state_resolution_handler.resolve_events_with_store(
|
||||||
new_state = await self._state_resolution_handler.resolve_events_with_store(
|
event.room_id,
|
||||||
event.room_id,
|
room_version,
|
||||||
room_version,
|
state_set_ids,
|
||||||
state_set_ids,
|
event_map=state_map,
|
||||||
event_map=state_map,
|
state_res_store=StateResolutionStore(self.store),
|
||||||
state_res_store=StateResolutionStore(self.store),
|
)
|
||||||
)
|
|
||||||
|
|
||||||
return {key: state_map[ev_id] for key, ev_id in new_state.items()}
|
return {key: state_map[ev_id] for key, ev_id in new_state.items()}
|
||||||
|
|
||||||
|
@ -529,14 +528,13 @@ class StateResolutionHandler:
|
||||||
|
|
||||||
state_groups_histogram.observe(len(state_groups_ids))
|
state_groups_histogram.observe(len(state_groups_ids))
|
||||||
|
|
||||||
with Measure(self.clock, "state._resolve_events"):
|
new_state = await self.resolve_events_with_store(
|
||||||
new_state = await self.resolve_events_with_store(
|
room_id,
|
||||||
room_id,
|
room_version,
|
||||||
room_version,
|
list(state_groups_ids.values()),
|
||||||
list(state_groups_ids.values()),
|
event_map=event_map,
|
||||||
event_map=event_map,
|
state_res_store=state_res_store,
|
||||||
state_res_store=state_res_store,
|
)
|
||||||
)
|
|
||||||
|
|
||||||
# if the new state matches any of the input state groups, we can
|
# if the new state matches any of the input state groups, we can
|
||||||
# use that state group again. Otherwise we will generate a state_id
|
# use that state group again. Otherwise we will generate a state_id
|
||||||
|
@ -550,14 +548,14 @@ class StateResolutionHandler:
|
||||||
|
|
||||||
return cache
|
return cache
|
||||||
|
|
||||||
def resolve_events_with_store(
|
async def resolve_events_with_store(
|
||||||
self,
|
self,
|
||||||
room_id: str,
|
room_id: str,
|
||||||
room_version: str,
|
room_version: str,
|
||||||
state_sets: Sequence[StateMap[str]],
|
state_sets: Sequence[StateMap[str]],
|
||||||
event_map: Optional[Dict[str, EventBase]],
|
event_map: Optional[Dict[str, EventBase]],
|
||||||
state_res_store: "StateResolutionStore",
|
state_res_store: "StateResolutionStore",
|
||||||
) -> Awaitable[StateMap[str]]:
|
) -> StateMap[str]:
|
||||||
"""
|
"""
|
||||||
Args:
|
Args:
|
||||||
room_id: the room we are working in
|
room_id: the room we are working in
|
||||||
|
@ -580,20 +578,21 @@ class StateResolutionHandler:
|
||||||
Returns:
|
Returns:
|
||||||
a map from (type, state_key) to event_id.
|
a map from (type, state_key) to event_id.
|
||||||
"""
|
"""
|
||||||
v = KNOWN_ROOM_VERSIONS[room_version]
|
with Measure(self.clock, "state._resolve_events"):
|
||||||
if v.state_res == StateResolutionVersions.V1:
|
v = KNOWN_ROOM_VERSIONS[room_version]
|
||||||
return v1.resolve_events_with_store(
|
if v.state_res == StateResolutionVersions.V1:
|
||||||
room_id, state_sets, event_map, state_res_store.get_events
|
return await v1.resolve_events_with_store(
|
||||||
)
|
room_id, state_sets, event_map, state_res_store.get_events
|
||||||
else:
|
)
|
||||||
return v2.resolve_events_with_store(
|
else:
|
||||||
self.clock,
|
return await v2.resolve_events_with_store(
|
||||||
room_id,
|
self.clock,
|
||||||
room_version,
|
room_id,
|
||||||
state_sets,
|
room_version,
|
||||||
event_map,
|
state_sets,
|
||||||
state_res_store,
|
event_map,
|
||||||
)
|
state_res_store,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def _make_state_cache_entry(
|
def _make_state_cache_entry(
|
||||||
|
|
Loading…
Reference in New Issue