Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2836 from matrix-org/rav/resolve_state_events_doc…
Browse files Browse the repository at this point in the history
…string

Docstring fixes
  • Loading branch information
richvdh authored Feb 2, 2018
2 parents 33cac3d + 14737ba commit 9dcd667
Showing 1 changed file with 28 additions and 8 deletions.
36 changes: 28 additions & 8 deletions synapse/state.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,11 @@ class _StateCacheEntry(object):
__slots__ = ["state", "state_group", "state_id", "prev_group", "delta_ids"]

def __init__(self, state, state_group, prev_group=None, delta_ids=None):
# dict[(str, str), str] map from (type, state_key) to event_id
self.state = frozendict(state)

# the ID of a state group if one and only one is involved.
# otherwise, None otherwise?
self.state_group = state_group

self.prev_group = prev_group
Expand Down Expand Up @@ -288,11 +292,12 @@ def resolve_state_groups(self, room_id, event_ids):
""" Given a list of event_ids this method fetches the state at each
event, resolves conflicts between them and returns them.
Args:
room_id (str):
event_ids (list[str]):
Returns:
a Deferred tuple of (`state_group`, `state`, `prev_state`).
`state_group` is the name of a state group if one and only one is
involved. `state` is a map from (type, state_key) to event, and
`prev_state` is a list of event ids.
Deferred[_StateCacheEntry]: resolved state
"""
logger.debug("resolve_state_groups event_ids %s", event_ids)

Expand Down Expand Up @@ -437,8 +442,8 @@ def resolve_events_with_state_map(state_sets, state_map):
state_sets.
Returns
dict[(str, str), synapse.events.FrozenEvent]:
a map from (type, state_key) to event.
dict[(str, str), str]:
a map from (type, state_key) to event_id.
"""
if len(state_sets) == 1:
return state_sets[0]
Expand All @@ -460,6 +465,21 @@ def _seperate(state_sets):
"""Takes the state_sets and figures out which keys are conflicted and
which aren't. i.e., which have multiple different event_ids associated
with them in different state sets.
Args:
state_sets(list[dict[(str, str), str]]):
List of dicts of (type, state_key) -> event_id, which are the
different state groups to resolve.
Returns:
(dict[(str, str), str], dict[(str, str), set[str]]):
A tuple of (unconflicted_state, conflicted_state), where:
unconflicted_state is a dict mapping (type, state_key)->event_id
for unconflicted state keys.
conflicted_state is a dict mapping (type, state_key) to a set of
event ids for conflicted state keys.
"""
unconflicted_state = dict(state_sets[0])
conflicted_state = {}
Expand Down Expand Up @@ -500,8 +520,8 @@ def resolve_events_with_factory(state_sets, state_map_factory):
a Deferred of dict of event_id to event.
Returns
Deferred[dict[(str, str), synapse.events.FrozenEvent]]:
a map from (type, state_key) to event.
Deferred[dict[(str, str), str]]:
a map from (type, state_key) to event_id.
"""
if len(state_sets) == 1:
defer.returnValue(state_sets[0])
Expand Down

0 comments on commit 9dcd667

Please sign in to comment.