server: Return earlier in WSChiaConnection.__getattr__
(#13875)
* server: Return earlier in `WSChiaConnection.__getattr__` * Tweak message names
This commit is contained in:
parent
0e5168b3cf
commit
8394857ca2
1 changed files with 15 additions and 15 deletions
|
@ -317,26 +317,26 @@ class WSChiaConnection:
|
|||
if attribute is None:
|
||||
raise AttributeError(f"Node type {self.connection_type} does not have method {attr_name}")
|
||||
|
||||
msg: Message = Message(uint8(getattr(ProtocolMessageTypes, attr_name).value), None, args[0])
|
||||
request = Message(uint8(getattr(ProtocolMessageTypes, attr_name).value), None, args[0])
|
||||
request_start_t = time.time()
|
||||
result = await self.send_request(msg, timeout)
|
||||
response = await self.send_request(request, timeout)
|
||||
self.log.debug(
|
||||
f"Time for request {attr_name}: {self.get_peer_logging()} = {time.time() - request_start_t}, "
|
||||
f"None? {result is None}"
|
||||
f"None? {response is None}"
|
||||
)
|
||||
if result is not None:
|
||||
sent_message_type = ProtocolMessageTypes(msg.type)
|
||||
recv_message_type = ProtocolMessageTypes(result.type)
|
||||
if not message_response_ok(sent_message_type, recv_message_type):
|
||||
# peer protocol violation
|
||||
error_message = f"WSConnection.invoke sent message {sent_message_type.name} "
|
||||
f"but received {recv_message_type.name}"
|
||||
await self.ban_peer_bad_protocol(self.error_message)
|
||||
raise ProtocolError(Err.INVALID_PROTOCOL_MESSAGE, [error_message])
|
||||
if response is None:
|
||||
return None
|
||||
sent_message_type = ProtocolMessageTypes(request.type)
|
||||
recv_message_type = ProtocolMessageTypes(response.type)
|
||||
if not message_response_ok(sent_message_type, recv_message_type):
|
||||
# peer protocol violation
|
||||
error_message = f"WSConnection.invoke sent message {sent_message_type.name} "
|
||||
f"but received {recv_message_type.name}"
|
||||
await self.ban_peer_bad_protocol(self.error_message)
|
||||
raise ProtocolError(Err.INVALID_PROTOCOL_MESSAGE, [error_message])
|
||||
|
||||
recv_method = getattr(class_for_type(self.local_type), recv_message_type.name)
|
||||
result = get_metadata(recv_method).message_class.from_bytes(result.data)
|
||||
return result
|
||||
recv_method = getattr(class_for_type(self.local_type), recv_message_type.name)
|
||||
return get_metadata(recv_method).message_class.from_bytes(response.data)
|
||||
|
||||
return invoke
|
||||
|
||||
|
|
Loading…
Reference in a new issue