diff options
author | Erik Johnston <erikj@jki.re> | 2017-06-16 13:01:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-16 13:01:19 +0100 |
commit | dfeca6cf40cdc151b75aa9ec1a3258faf50f7f82 (patch) | |
tree | a99404e75b53026d7b35dcc214c749b604763db4 /synapse/replication/tcp/streams.py | |
parent | Merge pull request #2280 from matrix-org/erikj/share_room_user_dir (diff) | |
parent | Initial worker impl (diff) | |
download | synapse-dfeca6cf40cdc151b75aa9ec1a3258faf50f7f82.tar.xz |
Merge pull request #2286 from matrix-org/erikj/split_out_user_dir
Split out user directory to a separate process
Diffstat (limited to 'synapse/replication/tcp/streams.py')
-rw-r--r-- | synapse/replication/tcp/streams.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/synapse/replication/tcp/streams.py b/synapse/replication/tcp/streams.py index 369d5f2428..fbafe12cc2 100644 --- a/synapse/replication/tcp/streams.py +++ b/synapse/replication/tcp/streams.py @@ -112,6 +112,12 @@ AccountDataStreamRow = namedtuple("AccountDataStream", ( "data_type", # str "data", # dict )) +CurrentStateDeltaStreamRow = namedtuple("CurrentStateDeltaStream", ( + "room_id", # str + "type", # str + "state_key", # str + "event_id", # str, optional +)) class Stream(object): @@ -443,6 +449,21 @@ class AccountDataStream(Stream): defer.returnValue(results) +class CurrentStateDeltaStream(Stream): + """Current state for a room was changed + """ + NAME = "current_state_deltas" + ROW_TYPE = CurrentStateDeltaStreamRow + + def __init__(self, hs): + store = hs.get_datastore() + + self.current_token = store.get_max_current_state_delta_stream_id + self.update_function = store.get_all_updated_current_state_deltas + + super(CurrentStateDeltaStream, self).__init__(hs) + + STREAMS_MAP = { stream.NAME: stream for stream in ( @@ -460,5 +481,6 @@ STREAMS_MAP = { FederationStream, TagAccountDataStream, AccountDataStream, + CurrentStateDeltaStream, ) } |