@@ -25,7 +25,7 @@ position of all streams. The server then periodically sends `RDATA` commands
25
25
which have the format ` RDATA <stream_name> <instance_name> <token> <row> ` , where
26
26
the format of ` <row> ` is defined by the individual streams. The
27
27
` <instance_name> ` is the name of the Synapse process that generated the data
28
- (usually "master").
28
+ (usually "master"). We expect an RDATA for every row in the DB.
29
29
30
30
Error reporting happens by either the client or server sending an ERROR
31
31
command, and usually the connection will be closed.
@@ -107,7 +107,7 @@ reconnect, following the steps above.
107
107
If the server sends messages faster than the client can consume them the
108
108
server will first buffer a (fairly large) number of commands and then
109
109
disconnect the client. This ensures that we don't queue up an unbounded
110
- number of commands in memory and gives us a potential oppurtunity to
110
+ number of commands in memory and gives us a potential opportunity to
111
111
squawk loudly. When/if the client recovers it can reconnect to the
112
112
server and ask for missed messages.
113
113
@@ -122,7 +122,7 @@ since these include tokens which can be used to restart the stream on
122
122
connection errors.
123
123
124
124
The client should keep track of the token in the last RDATA command
125
- received for each stream so that on reconneciton it can start streaming
125
+ received for each stream so that on reconnection it can start streaming
126
126
from the correct place. Note: not all RDATA have valid tokens due to
127
127
batching. See ` RdataCommand ` for more details.
128
128
@@ -188,7 +188,8 @@ client (C):
188
188
Two positions are included, the "new" position and the last position sent respectively.
189
189
This allows servers to tell instances that the positions have advanced but no
190
190
data has been written, without clients needlessly checking to see if they
191
- have missed any updates.
191
+ have missed any updates. Instances will only fetch stuff if there is a gap between
192
+ their current position and the given last position.
192
193
193
194
#### ERROR (S, C)
194
195
0 commit comments