Skip to content

Commit dc06c2c

Browse files
committed
refactor(debugger): use concurrent.futures for sending request instead of asyncio.Futures
1 parent fd5d025 commit dc06c2c

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

packages/debugger/src/robotcode/debugger/protocol.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from __future__ import annotations
22

33
import asyncio
4+
import concurrent.futures
45
import inspect
56
import json
67
import threading
@@ -291,12 +292,13 @@ def send_response(
291292
Response(request_seq=request_seq, command=command, success=success, message=message, body=result)
292293
)
293294

295+
@_logger.call
294296
def send_request(
295297
self,
296298
request: Request,
297299
return_type: Optional[Type[TResult]] = None,
298-
) -> asyncio.Future[TResult]:
299-
result: asyncio.Future[TResult] = asyncio.get_event_loop().create_future()
300+
) -> concurrent.futures.Future[TResult]:
301+
result: concurrent.futures.Future[TResult] = concurrent.futures.Future()
300302

301303
with self._sended_request_lock:
302304
self._sended_request[request.seq] = SendedRequestEntry(result, return_type)
@@ -305,12 +307,13 @@ def send_request(
305307

306308
return result
307309

308-
async def send_request_async(
310+
@_logger.call
311+
def send_request_async(
309312
self,
310313
request: Request,
311314
return_type: Optional[Type[TResult]] = None,
312-
) -> TResult:
313-
return await self.send_request(request, return_type)
315+
) -> asyncio.Future[TResult]:
316+
return asyncio.wrap_future(self.send_request(request, return_type))
314317

315318
@_logger.call
316319
def send_event(self, event: Event) -> None:

0 commit comments

Comments
 (0)