1616import logging
1717import random
1818
19- from twisted .internet import defer
20-
2119from synapse .api .constants import EventTypes , Membership
2220from synapse .api .errors import AuthError , SynapseError
2321from synapse .events import EventBase
@@ -50,9 +48,8 @@ def __init__(self, hs):
5048 self ._server_notices_sender = hs .get_server_notices_sender ()
5149 self ._event_serializer = hs .get_event_client_serializer ()
5250
53- @defer .inlineCallbacks
5451 @log_function
55- def get_stream (
52+ async def get_stream (
5653 self ,
5754 auth_user_id ,
5855 pagin_config ,
@@ -69,17 +66,17 @@ def get_stream(
6966 """
7067
7168 if room_id :
72- blocked = yield self .store .is_room_blocked (room_id )
69+ blocked = await self .store .is_room_blocked (room_id )
7370 if blocked :
7471 raise SynapseError (403 , "This room has been blocked on this server" )
7572
7673 # send any outstanding server notices to the user.
77- yield self ._server_notices_sender .on_user_syncing (auth_user_id )
74+ await self ._server_notices_sender .on_user_syncing (auth_user_id )
7875
7976 auth_user = UserID .from_string (auth_user_id )
8077 presence_handler = self .hs .get_presence_handler ()
8178
82- context = yield presence_handler .user_syncing (
79+ context = await presence_handler .user_syncing (
8380 auth_user_id , affect_presence = affect_presence
8481 )
8582 with context :
@@ -91,7 +88,7 @@ def get_stream(
9188 # thundering herds on restart.
9289 timeout = random .randint (int (timeout * 0.9 ), int (timeout * 1.1 ))
9390
94- events , tokens = yield self .notifier .get_events_for (
91+ events , tokens = await self .notifier .get_events_for (
9592 auth_user ,
9693 pagin_config ,
9794 timeout ,
@@ -112,14 +109,14 @@ def get_stream(
112109 # Send down presence.
113110 if event .state_key == auth_user_id :
114111 # Send down presence for everyone in the room.
115- users = yield self .state .get_current_users_in_room (
112+ users = await self .state .get_current_users_in_room (
116113 event .room_id
117114 )
118- states = yield presence_handler .get_states (users , as_event = True )
115+ states = await presence_handler .get_states (users , as_event = True )
119116 to_add .extend (states )
120117 else :
121118
122- ev = yield presence_handler .get_state (
119+ ev = await presence_handler .get_state (
123120 UserID .from_string (event .state_key ), as_event = True
124121 )
125122 to_add .append (ev )
@@ -128,7 +125,7 @@ def get_stream(
128125
129126 time_now = self .clock .time_msec ()
130127
131- chunks = yield self ._event_serializer .serialize_events (
128+ chunks = await self ._event_serializer .serialize_events (
132129 events ,
133130 time_now ,
134131 as_client_event = as_client_event ,
@@ -151,8 +148,7 @@ def __init__(self, hs):
151148 super (EventHandler , self ).__init__ (hs )
152149 self .storage = hs .get_storage ()
153150
154- @defer .inlineCallbacks
155- def get_event (self , user , room_id , event_id ):
151+ async def get_event (self , user , room_id , event_id ):
156152 """Retrieve a single specified event.
157153
158154 Args:
@@ -167,15 +163,15 @@ def get_event(self, user, room_id, event_id):
167163 AuthError if the user does not have the rights to inspect this
168164 event.
169165 """
170- event = yield self .store .get_event (event_id , check_room_id = room_id )
166+ event = await self .store .get_event (event_id , check_room_id = room_id )
171167
172168 if not event :
173169 return None
174170
175- users = yield self .store .get_users_in_room (event .room_id )
171+ users = await self .store .get_users_in_room (event .room_id )
176172 is_peeking = user .to_string () not in users
177173
178- filtered = yield filter_events_for_client (
174+ filtered = await filter_events_for_client (
179175 self .storage , user .to_string (), [event ], is_peeking = is_peeking
180176 )
181177
0 commit comments