diff options
author | Kegan Dougal <kegan@matrix.org> | 2015-02-25 15:00:59 +0000 |
---|---|---|
committer | Kegan Dougal <kegan@matrix.org> | 2015-02-25 15:00:59 +0000 |
commit | 2d20466f9a1349c97d5a3822eb4ee64f19bbdf27 (patch) | |
tree | 5d67e29854210f2ecd334c2809555d72d9db443d /synapse/storage/stream.py | |
parent | turns uris config options should append since it's a list (diff) | |
download | synapse-2d20466f9a1349c97d5a3822eb4ee64f19bbdf27.tar.xz |
Add stub functions and work out execution flow to implement AS event stream polling.
Diffstat (limited to '')
-rw-r--r-- | synapse/storage/stream.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/synapse/storage/stream.py b/synapse/storage/stream.py index 3ccb6f8a61..aa3c9f8c9c 100644 --- a/synapse/storage/stream.py +++ b/synapse/storage/stream.py @@ -127,6 +127,27 @@ class _StreamToken(namedtuple("_StreamToken", "topological stream")): class StreamStore(SQLBaseStore): + + def get_appservice_room_stream(self, service, from_key, to_key, limit=0): + # NB this lives here instead of appservice.py so we can reuse the + # 'private' StreamToken class in this file. + logger.info("get_appservice_room_stream -> %s", service) + + if limit: + limit = max(limit, MAX_STREAM_SIZE) + else: + limit = MAX_STREAM_SIZE + + # From and to keys should be integers from ordering. + from_id = _StreamToken.parse_stream_token(from_key) + to_id = _StreamToken.parse_stream_token(to_key) + + if from_key == to_key: + return defer.succeed(([], to_key)) + + # TODO stub + return defer.succeed(([], to_key)) + @log_function def get_room_events_stream(self, user_id, from_key, to_key, room_id, limit=0, with_feedback=False): |