Skip to content

Commit d90b462

Browse files
committed
update error handling
1 parent 1242318 commit d90b462

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

execution_chain/networking/discoveryv5.nim

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ type
3030
DiscoveryV5* = protocol.Protocol
3131
NodeV5* = node.Node
3232
AddressV5* = node.Address
33+
34+
DiscResult*[T] = Result[T, cstring]
3335

3436
proc newDiscoveryV5*(
3537
privKey: PrivateKey,
@@ -55,10 +57,14 @@ proc newDiscoveryV5*(
5557
rng = rng
5658
)
5759

58-
proc receiveV5*(d: Protocol, a: Address, packet: openArray[byte]): Result[void, cstring] =
60+
proc receiveV5*(d: Protocol, a: Address, packet: openArray[byte]): DiscResult[void] =
5961
discv5_network_bytes.inc(packet.len.int64, labelValues = [$Direction.In])
6062

61-
let packet = ?d.codec.decodePacket(a, packet)
63+
let decoded = d.codec.decodePacket(a, packet)
64+
if decoded.isErr():
65+
return err("discv5: Failed to decode packet")
66+
67+
let packet = decoded[]
6268

6369
case packet.flag
6470
of OrdinaryMessage:

execution_chain/networking/eth1_discovery.nim

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,9 @@ proc processClient(
8484
if discv4.isErr:
8585
# unhandled buf will be handled by discv5
8686
let addrv5 = raddr.to(AddressV5)
87-
proto.discv5.receiveV5(addrv5, buf).isOkOr:
88-
debug "Discovery receive error", discv4=discv4.error, discv5=error
87+
let discv5 = proto.discv5.receiveV5(addrv5, buf)
88+
if discv5.isErr:
89+
debug "Discovery receive error", discv4=discv4.error, discv5=discv5.error
8990
9091
#------------------------------------------------------------------------------
9192
# Public functions

0 commit comments

Comments
 (0)