summary refs log tree commit diff
path: root/synapse/types.py
diff options
context:
space:
mode:
authorAndrew Morgan <andrew@amorgan.xyz>2020-10-21 14:51:58 +0100
committerAndrew Morgan <andrew@amorgan.xyz>2020-10-21 14:51:58 +0100
commit5b0b10352165fd3a46bc55b675678a9dc326e817 (patch)
tree69f8635e6c95301b62394d9f48f07d3866e6cf84 /synapse/types.py
parentMerge commit '920dd1083' into anoa/dinsic_release_1_21_x (diff)
parentEscape the error description on the sso_error template. (#8405) (diff)
downloadsynapse-5b0b10352165fd3a46bc55b675678a9dc326e817.tar.xz
Merge commit '31acc5c30' into anoa/dinsic_release_1_21_x
* commit '31acc5c30':
  Escape the error description on the sso_error template. (#8405)
  Fix occasional "Re-starting finished log context" from keyring (#8398)
  Allow existing users to login via OpenID Connect. (#8345)
  Fix schema delta for servers that have not backfilled (#8396)
  Fix MultiWriteIdGenerator's handling of restarts. (#8374)
  s/URLs/variables in changelog
  s/accidentally/incorrectly in changelog
  Update changelog wording
  Add type annotations to SimpleHttpClient (#8372)
  Add new sequences to port DB script (#8387)
  Add EventStreamPosition type (#8388)
  Mark the shadow_banned column as boolean in synapse_port_db. (#8386)
Diffstat (limited to 'synapse/types.py')
-rw-r--r--synapse/types.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/synapse/types.py b/synapse/types.py

index 93fee6c92a..07b421077c 100644 --- a/synapse/types.py +++ b/synapse/types.py
@@ -509,6 +509,21 @@ class StreamToken: StreamToken.START = StreamToken.from_string("s0_0") +@attr.s(slots=True, frozen=True) +class PersistedEventPosition: + """Position of a newly persisted event with instance that persisted it. + + This can be used to test whether the event is persisted before or after a + RoomStreamToken. + """ + + instance_name = attr.ib(type=str) + stream = attr.ib(type=int) + + def persisted_after(self, token: RoomStreamToken) -> bool: + return token.stream < self.stream + + class ThirdPartyInstanceID( namedtuple("ThirdPartyInstanceID", ("appservice_id", "network_id")) ):