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/handlers/room.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/handlers/room.py')
-rw-r--r-- | synapse/handlers/room.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py index 836b3f381a..d5f7c78edf 100644 --- a/synapse/handlers/room.py +++ b/synapse/handlers/room.py @@ -1077,11 +1077,13 @@ class RoomContextHandler: # the token, which we replace. token = StreamToken.START - results["start"] = token.copy_and_replace( + results["start"] = await token.copy_and_replace( "room_key", results["start"] - ).to_string() + ).to_string(self.store) - results["end"] = token.copy_and_replace("room_key", results["end"]).to_string() + results["end"] = await token.copy_and_replace( + "room_key", results["end"] + ).to_string(self.store) return results |