diff options
author | Mathieu Velten <mathieuv@matrix.org> | 2023-03-30 12:51:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-30 12:51:35 +0200 |
commit | 9228ae633f209212ed55de7943d1a8aee3645b57 (patch) | |
tree | aef07f993238dc5806ee86b9a281227837bef5c5 /synapse | |
parent | Fix missing app variable in mail subject for password resets (#15352) (diff) | |
download | synapse-9228ae633f209212ed55de7943d1a8aee3645b57.tar.xz |
Add some clarification to the doc/comments regarding TCP replication (#15354)
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/replication/tcp/protocol.py | 31 | ||||
-rw-r--r-- | synapse/replication/tcp/streams/_base.py | 4 |
2 files changed, 3 insertions, 32 deletions
diff --git a/synapse/replication/tcp/protocol.py b/synapse/replication/tcp/protocol.py index 56a5c21910..a7248d7b2e 100644 --- a/synapse/replication/tcp/protocol.py +++ b/synapse/replication/tcp/protocol.py @@ -14,36 +14,7 @@ """This module contains the implementation of both the client and server protocols. -The basic structure of the protocol is line based, where the initial word of -each line specifies the command. The rest of the line is parsed based on the -command. For example, the `RDATA` command is defined as:: - - RDATA <stream_name> <token> <row_json> - -(Note that `<row_json>` may contains spaces, but cannot contain newlines.) - -Blank lines are ignored. - -# Example - -An example iteraction is shown below. Each line is prefixed with '>' or '<' to -indicate which side is sending, these are *not* included on the wire:: - - * connection established * - > SERVER localhost:8823 - > PING 1490197665618 - < NAME synapse.app.appservice - < PING 1490197665618 - < REPLICATE - > POSITION events 1 - > POSITION backfill 1 - > POSITION caches 1 - > RDATA caches 2 ["get_user_by_id",["@01register-user:localhost:8823"],1490197670513] - > RDATA events 14 ["ev", ["$149019767112vOHxz:localhost:8823", - "!AFDCvgApUmpdfVjIXm:localhost:8823","m.room.guest_access","",null]] - < PING 1490197675618 - > ERROR server stopping - * connection closed by server * +An explanation of this protocol is available in docs/tcp_replication.md """ import fcntl import logging diff --git a/synapse/replication/tcp/streams/_base.py b/synapse/replication/tcp/streams/_base.py index a4bdb48c0c..c6088a0f99 100644 --- a/synapse/replication/tcp/streams/_base.py +++ b/synapse/replication/tcp/streams/_base.py @@ -152,8 +152,8 @@ class Stream: Returns: A triplet `(updates, new_last_token, limited)`, where `updates` is a list of `(token, row)` entries, `new_last_token` is the new - position in stream, and `limited` is whether there are more updates - to fetch. + position in stream (ie the highest token returned in the updates), + and `limited` is whether there are more updates to fetch. """ current_token = self.current_token(self.local_instance_name) updates, current_token, limited = await self.get_updates_since( |