From fca255b2f733eece9b3e7f0ddb11bf753425f58f Mon Sep 17 00:00:00 2001 From: Dmitriy Ryajov Date: Mon, 12 Sep 2022 15:46:24 -0600 Subject: [PATCH] use `pure` enums --- .../private/eth/p2p/discoveryv5/messages.nim | 22 +++++++++---------- tests/discv5/test_discoveryv5_encoding.nim | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libp2pdht/private/eth/p2p/discoveryv5/messages.nim b/libp2pdht/private/eth/p2p/discoveryv5/messages.nim index 50114e8..a27cedc 100644 --- a/libp2pdht/private/eth/p2p/discoveryv5/messages.nim +++ b/libp2pdht/private/eth/p2p/discoveryv5/messages.nim @@ -22,7 +22,7 @@ import export providers_messages type - MessageKind* = enum + MessageKind* {.pure.} = enum # TODO This is needed only to make Nim 1.2.6 happy # Without it, the `MessageKind` type cannot be used as # a discriminator in case objects. @@ -116,16 +116,16 @@ type discard template messageKind*(T: typedesc[SomeMessage]): MessageKind = - when T is PingMessage: ping - elif T is PongMessage: pong - elif T is FindNodeMessage: findNode - elif T is FindNodeFastMessage: findNodeFast - elif T is NodesMessage: nodes - elif T is TalkReqMessage: talkReq - elif T is TalkRespMessage: talkResp - elif T is AddProviderMessage: addProvider - elif T is GetProvidersMessage: getProviders - elif T is ProvidersMessage: providers + when T is PingMessage: MessageKind.ping + elif T is PongMessage: MessageKind.pong + elif T is FindNodeMessage: MessageKind.findNode + elif T is FindNodeFastMessage: MessageKind.findNodeFast + elif T is NodesMessage: MessageKind.nodes + elif T is TalkReqMessage: MessageKind.talkReq + elif T is TalkRespMessage: MessageKind.talkResp + elif T is AddProviderMessage: MessageKind.addProvider + elif T is GetProvidersMessage: MessageKind.getProviders + elif T is ProvidersMessage: MessageKind.providers proc hash*(reqId: RequestId): Hash = hash(reqId.id) diff --git a/tests/discv5/test_discoveryv5_encoding.nim b/tests/discv5/test_discoveryv5_encoding.nim index 863dd66..22cf991 100644 --- a/tests/discv5/test_discoveryv5_encoding.nim +++ b/tests/discv5/test_discoveryv5_encoding.nim @@ -89,7 +89,7 @@ suite "Discovery v5.1 Protocol Message Encodings": let message = decoded.get() check: message.reqId == reqId - message.kind == nodes + message.kind == MessageKind.nodes message.nodes.total == total message.nodes.sprs.len() == 0 @@ -111,7 +111,7 @@ suite "Discovery v5.1 Protocol Message Encodings": let message = decoded.get() check: message.reqId == reqId - message.kind == nodes + message.kind == MessageKind.nodes message.nodes.total == total message.nodes.sprs.len() == 2 message.nodes.sprs[0] == s1