synapse-product/synapse
Mark Haines 60a0f81c7a Add a /replication API for extracting the updates that happened on
synapse

This is necessary for replicating the data in synapse to be visible to a
separate service because presence and typing notifications aren't stored
in a database so won't be visible to another process.

This API can be used to either get the raw data by requesting the tables
themselves or to just receive notifications for updates by following the
streams meta-stream.

Returns updates for each table requested a JSON array of arrays with a
row for each row in the table.

Each table is prefixed by a header row with the: name of the table,
current stream_id position for the table, number of rows, number of
columns and the names of the columns.
This is followed by the rows that have been added to the server since
the requester last asked.

The API has a timeout and is hooked up to the notifier so that a slave
can long poll for updates.
2016-03-01 14:49:41 +00:00
..
api Allow third_party_signed to be specified on /join 2016-02-23 15:11:25 +00:00
app Add a /replication API for extracting the updates that happened on 2016-03-01 14:49:41 +00:00
appservice Fix flake8 warnings for new flake8 2016-02-02 17:18:50 +00:00
config Derive macaroon_secret_key from signing key. 2016-02-08 16:35:44 +00:00
crypto Fix up logcontexts 2016-02-08 14:26:45 +00:00
events Atomically persit push actions when we persist the event 2016-02-09 16:19:15 +00:00
federation Allow third_party_signed to be specified on /join 2016-02-23 15:11:25 +00:00
handlers Add a /replication API for extracting the updates that happened on 2016-03-01 14:49:41 +00:00
http Catch the exceptions thrown by twisted when you write to a closed connection 2016-02-12 13:46:59 +00:00
metrics copyrights 2016-01-07 04:26:29 +00:00
push Add support for changing the actions for default rules 2016-02-26 14:28:19 +00:00
replication Add a /replication API for extracting the updates that happened on 2016-03-01 14:49:41 +00:00
rest Add support for changing the actions for default rules 2016-02-26 14:28:19 +00:00
static/client Updates to fallback CAS login to do new token login 2015-11-06 09:57:17 +00:00
storage Add a /replication API for extracting the updates that happened on 2016-03-01 14:49:41 +00:00
streams Clamp pagination limits to at most 1000 2016-01-14 10:22:02 +00:00
util Reraise exception 2016-03-01 11:00:10 +00:00
__init__.py Bump version and changelog 2016-02-11 16:04:15 +00:00
notifier.py Add a /replication API for extracting the updates that happened on 2016-03-01 14:49:41 +00:00
python_dependencies.py Allow third_party_signed to be specified on /join 2016-02-23 15:11:25 +00:00
server.py Fix flake8 warnings for new flake8 2016-02-02 17:18:50 +00:00
state.py Fix flake8 warnings for new flake8 2016-02-02 17:18:50 +00:00
types.py Merge implementation of /join by alias or ID 2016-02-15 15:39:16 +00:00