Skip to content

Commit e44f67b

Browse files
committed
address link2xt feedback
1 parent 1ab8329 commit e44f67b

File tree

1 file changed

+8
-7
lines changed
  • deltachat-rpc-client/src/deltachat_rpc_client

1 file changed

+8
-7
lines changed

deltachat-rpc-client/src/deltachat_rpc_client/rpc.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ class JsonRpcError(Exception):
2020
"""JSON-RPC error."""
2121

2222

23+
class RpcShutdownError(JsonRpcError):
24+
"""Raised in RPC methods if the connection to server is closing."""
25+
26+
27+
2328
class RpcMethod:
2429
"""RPC method."""
2530

@@ -47,19 +52,15 @@ def future(self, *args) -> Any:
4752
def rpc_future():
4853
"""Wait for the request to receive a result."""
4954
response = queue.get()
50-
if response is RpcShutdownError:
51-
raise RpcShutdownError(f"no response for {request_id}/{self.name} but rpc is shutting down")
55+
if response is None:
56+
raise RpcShutdownError(f"no response for {request_id}/{self.name} while rpc is shutting down")
5257
if "error" in response:
5358
raise JsonRpcError(response["error"])
5459
return response.get("result", None)
5560

5661
return rpc_future
5762

5863

59-
class RpcShutdownError(Exception):
60-
"""Raised in RPC methods if the connection to server is closing."""
61-
62-
6364
class BaseRpc:
6465
"""Base Rpc class which requires 'connect_to_server' and 'disconnect_from_server' methods
6566
from subclasses to work concretely."""
@@ -124,7 +125,7 @@ def reader_loop(self) -> None:
124125

125126
# terminate pending rpc requests because no responses can arrive anymore
126127
for queue in self.request_results.values():
127-
queue.put(RpcShutdownError)
128+
queue.put(None)
128129

129130
def writer_loop(self) -> None:
130131
"""Writer loop ensuring only a single thread writes requests."""

0 commit comments

Comments
 (0)