1- import asyncio
21import functools
2+ from asyncio import Event , CancelledError , get_event_loop , create_task
33
44import reactivex
55from reactivex import Observable , Observer
@@ -17,8 +17,8 @@ def __init__(self, observer: Observer, limit_rate: int = MAX_REQUEST_N):
1717 self .limit_rate = limit_rate
1818 self .observer = observer
1919 self ._received_messages = 0
20- self .done = asyncio . Event ()
21- self .get_next_n = asyncio . Event ()
20+ self .done = Event ()
21+ self .get_next_n = Event ()
2222 self .subscription = None
2323
2424 def on_subscribe (self , subscription : Subscription ):
@@ -54,7 +54,7 @@ async def _aio_sub(publisher: Publisher, subscriber: RxSubscriber, observer: Obs
5454 publisher .subscribe (subscriber )
5555 await subscriber .done .wait ()
5656
57- except asyncio . CancelledError :
57+ except CancelledError :
5858 if not subscriber .done .is_set ():
5959 subscriber .subscription .cancel ()
6060 except Exception as exception :
@@ -67,21 +67,21 @@ async def _trigger_next_request_n(subscriber: RxSubscriber, limit_rate):
6767 await subscriber .get_next_n .wait ()
6868 subscriber .subscription .request (limit_rate )
6969 subscriber .get_next_n .clear ()
70- except asyncio . CancelledError :
70+ except CancelledError :
7171 logger ().debug ('Asyncio task canceled: trigger_next_request_n' )
7272
7373
7474def from_rsocket_publisher (publisher : Publisher , limit_rate : int = MAX_REQUEST_N ) -> Observable :
75- loop = asyncio . get_event_loop ()
75+ loop = get_event_loop ()
7676
7777 # noinspection PyUnusedLocal
7878 def on_subscribe (observer : Observer , scheduler ):
7979 subscriber = RxSubscriber (observer , limit_rate )
8080
81- get_next_task = asyncio . create_task (
81+ get_next_task = create_task (
8282 _trigger_next_request_n (subscriber , limit_rate )
8383 )
84- task = asyncio . create_task (
84+ task = create_task (
8585 _aio_sub (publisher , subscriber , observer , loop )
8686 )
8787
0 commit comments