summary refs log tree commit diff
path: root/synapse/storage/state.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-11-13 11:40:17 +0000
committerErik Johnston <erik@matrix.org>2015-11-13 11:40:17 +0000
commitda3dd4867dfb6414a4402089cbe3ef70fb605d23 (patch)
treea80ccd094d9dacafdbe02dc4a6705b0f3d217c2b /synapse/storage/state.py
parentUpdate date (diff)
parentImplementation of state rollback in /sync (diff)
downloadsynapse-da3dd4867dfb6414a4402089cbe3ef70fb605d23.tar.xz
Merge branch 'develop' into release-v0.11.0
Diffstat (limited to '')
-rw-r--r--synapse/storage/state.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/synapse/storage/state.py b/synapse/storage/state.py

index acfb322a53..80e9b63f50 100644 --- a/synapse/storage/state.py +++ b/synapse/storage/state.py
@@ -237,6 +237,20 @@ class StateStore(SQLBaseStore): defer.returnValue({event: event_to_state[event] for event in event_ids}) + @defer.inlineCallbacks + def get_state_for_event(self, event_id, types=None): + """ + Get the state dict corresponding to a particular event + + :param str event_id: event whose state should be returned + :param list[(str, str)]|None types: List of (type, state_key) tuples + which are used to filter the state fetched. May be None, which + matches any key + :return: a deferred dict from (type, state_key) -> state_event + """ + state_map = yield self.get_state_for_events([event_id], types) + defer.returnValue(state_map[event_id]) + @cached(num_args=2, lru=True, max_entries=10000) def _get_state_group_for_event(self, room_id, event_id): return self._simple_select_one_onecol(