diff options
author | Erik Johnston <erik@matrix.org> | 2017-07-20 17:13:18 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-07-20 17:13:18 +0100 |
commit | 2cc998fed879357376edb35d5088d88a078dd576 (patch) | |
tree | 2f83c84fbadac09efe7eac91c38286217bb6105f /synapse/replication/tcp/streams.py | |
parent | Remember to cast to bool (diff) | |
download | synapse-2cc998fed879357376edb35d5088d88a078dd576.tar.xz |
Fix replication. And notify
Diffstat (limited to 'synapse/replication/tcp/streams.py')
-rw-r--r-- | synapse/replication/tcp/streams.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/synapse/replication/tcp/streams.py b/synapse/replication/tcp/streams.py index fbafe12cc2..4c60bf79f9 100644 --- a/synapse/replication/tcp/streams.py +++ b/synapse/replication/tcp/streams.py @@ -118,6 +118,12 @@ CurrentStateDeltaStreamRow = namedtuple("CurrentStateDeltaStream", ( "state_key", # str "event_id", # str, optional )) +GroupsStreamRow = namedtuple("GroupsStreamRow", ( + "group_id", # str + "user_id", # str + "type", # str + "content", # dict +)) class Stream(object): @@ -464,6 +470,19 @@ class CurrentStateDeltaStream(Stream): super(CurrentStateDeltaStream, self).__init__(hs) +class GroupServerStream(Stream): + NAME = "groups" + ROW_TYPE = GroupsStreamRow + + def __init__(self, hs): + store = hs.get_datastore() + + self.current_token = store.get_group_stream_token + self.update_function = store.get_all_groups_changes + + super(GroupServerStream, self).__init__(hs) + + STREAMS_MAP = { stream.NAME: stream for stream in ( @@ -482,5 +501,6 @@ STREAMS_MAP = { TagAccountDataStream, AccountDataStream, CurrentStateDeltaStream, + GroupServerStream, ) } |