mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2025-08-03 23:34:13 -04:00
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).
This commit is contained in:
parent
a0a1ba6973
commit
7941372ec8
17 changed files with 115 additions and 59 deletions
|
@ -33,6 +33,7 @@ class EventStreamRestServlet(RestServlet):
|
|||
super().__init__()
|
||||
self.event_stream_handler = hs.get_event_stream_handler()
|
||||
self.auth = hs.get_auth()
|
||||
self.store = hs.get_datastore()
|
||||
|
||||
async def on_GET(self, request):
|
||||
requester = await self.auth.get_user_by_req(request, allow_guest=True)
|
||||
|
@ -44,7 +45,7 @@ class EventStreamRestServlet(RestServlet):
|
|||
if b"room_id" in request.args:
|
||||
room_id = request.args[b"room_id"][0].decode("ascii")
|
||||
|
||||
pagin_config = PaginationConfig.from_request(request)
|
||||
pagin_config = await PaginationConfig.from_request(self.store, request)
|
||||
timeout = EventStreamRestServlet.DEFAULT_LONGPOLL_TIME_MS
|
||||
if b"timeout" in request.args:
|
||||
try:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue