mirror of
https://mau.dev/maunium/synapse.git
synced 2024-09-01 15:11:58 +00:00
Clearer branching, fix missing list clear
This commit is contained in:
parent
0bc50fb60a
commit
9f7cdf3da1
@ -488,16 +488,23 @@ class ServerReplicationStreamProtocol(BaseReplicationStreamProtocol):
|
|||||||
# process all previous updates in the batch as if they had the
|
# process all previous updates in the batch as if they had the
|
||||||
# final token.
|
# final token.
|
||||||
if not token or len(batch_updates) > 0:
|
if not token or len(batch_updates) > 0:
|
||||||
|
if token is None:
|
||||||
|
# Store this update as part of the batch
|
||||||
batch_updates.append(update)
|
batch_updates.append(update)
|
||||||
if token and not token > current_token:
|
elif current_token <= current_token:
|
||||||
# This batch is older than current_token, dismiss
|
# This batch is older than current_token, dismiss
|
||||||
batch_updates = []
|
batch_updates = []
|
||||||
continue
|
else:
|
||||||
if token:
|
# Append final update of this batch before sending
|
||||||
|
batch_updates.append(update)
|
||||||
|
|
||||||
# Send all updates that are part of this batch with the
|
# Send all updates that are part of this batch with the
|
||||||
# found token
|
# found token
|
||||||
for update in batch_updates:
|
for update in batch_updates:
|
||||||
self.send_command(RdataCommand(stream_name, token, update))
|
self.send_command(RdataCommand(stream_name, token, update))
|
||||||
|
|
||||||
|
# Clear saved batch updates
|
||||||
|
batch_updates = []
|
||||||
else:
|
else:
|
||||||
# Only send updates newer than the current token
|
# Only send updates newer than the current token
|
||||||
if token > current_token:
|
if token > current_token:
|
||||||
|
Loading…
Reference in New Issue
Block a user