diff options
author | Erik Johnston <erik@matrix.org> | 2020-09-30 20:29:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-30 20:29:19 +0100 |
commit | 7941372ec84786f85ae6d75fd2d7a4af5b72ac98 (patch) | |
tree | 7871841ee56daa554a283a8b2d409b8739047128 /synapse/rest/client/v2_alpha/keys.py | |
parent | Merge pull request #8425 from matrix-org/rav/extremity_metrics (diff) | |
download | synapse-7941372ec84786f85ae6d75fd2d7a4af5b72ac98.tar.xz |
Make token serializing/deserializing async (#8427)
The idea is that in future tokens will encode a mapping of instance to position. However, we don't want to include the full instance name in the string representation, so instead we'll have a mapping between instance name and an immutable integer ID in the DB that we can use instead. We'll then do the lookup when we serialize/deserialize the token (we could alternatively pass around an `Instance` type that includes both the name and ID, but that turns out to be a lot more invasive).
Diffstat (limited to 'synapse/rest/client/v2_alpha/keys.py')
-rw-r--r-- | synapse/rest/client/v2_alpha/keys.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/synapse/rest/client/v2_alpha/keys.py b/synapse/rest/client/v2_alpha/keys.py index 7abd6ff333..55c4606569 100644 --- a/synapse/rest/client/v2_alpha/keys.py +++ b/synapse/rest/client/v2_alpha/keys.py @@ -180,6 +180,7 @@ class KeyChangesServlet(RestServlet): super().__init__() self.auth = hs.get_auth() self.device_handler = hs.get_device_handler() + self.store = hs.get_datastore() async def on_GET(self, request): requester = await self.auth.get_user_by_req(request, allow_guest=True) @@ -191,7 +192,7 @@ class KeyChangesServlet(RestServlet): # changes after the "to" as well as before. set_tag("to", parse_string(request, "to")) - from_token = StreamToken.from_string(from_token_string) + from_token = await StreamToken.from_string(self.store, from_token_string) user_id = requester.user.to_string() |