Преглед изворни кода

fix: check if handler is registered before sending messages to daemon

Denis Mazur пре 4 година
родитељ
комит
0d1b02b997
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      hivemind/p2p/p2p_daemon_bindings/control.py

+ 2 - 2
hivemind/p2p/p2p_daemon_bindings/control.py

@@ -172,12 +172,12 @@ class ControlClient:
             type=p2pd_pb.Request.ADD_UNARY_HANDLER,
             addUnaryHandler=add_unary_handler_req,
         )
-        await self.pending_messages.put(req)
-
         if self.unary_handlers.get(proto):
             raise ValueError(f"Handler for protocol {proto} already assigned")
         self.unary_handlers[proto] = handler
 
+        await self.pending_messages.put(req)
+
     async def call_unary_handler(self, peer_id: PeerID, proto: str, data: bytes) -> bytes:
         call_id = uuid.uuid4()
         call_unary_req = p2pd_pb.CallUnaryRequest(