From 481379815faede8f380690dd62caafd197eb9476 Mon Sep 17 00:00:00 2001 From: Kim De Mey Date: Tue, 30 Jun 2020 15:29:02 +0200 Subject: [PATCH] Refactor to abstract away the p2p request handler from mailserver (#34) --- tests/v1/test_waku_mail.nim | 2 +- waku/protocol/v1/waku_mail.nim | 7 +++---- waku/protocol/v1/waku_protocol.nim | 4 ++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/v1/test_waku_mail.nim b/tests/v1/test_waku_mail.nim index 45709d68c..e9314c466 100644 --- a/tests/v1/test_waku_mail.nim +++ b/tests/v1/test_waku_mail.nim @@ -102,7 +102,7 @@ procSuite "Waku Mail Client": var dummy: Hash traceAsyncErrors peer.p2pRequestComplete(dummy, dummy, cursor) - simpleServer.enableMailServer(customHandler) + simpleServer.registerP2PRequestHandler(customHandler) check client.setPeerTrusted(simpleServerNode.id) var request: MailRequest var symKey: SymKey diff --git a/waku/protocol/v1/waku_mail.nim b/waku/protocol/v1/waku_mail.nim index 535d387fc..3c72082b3 100644 --- a/waku/protocol/v1/waku_mail.nim +++ b/waku/protocol/v1/waku_mail.nim @@ -79,8 +79,7 @@ proc p2pRequestHandler(peer: Peer, envelope: Envelope) = # Mail server p2p request implementation discard -proc enableMailServer*(node: EthereumNode, customHandler: P2PRequestHandler) = - node.protocolState(Waku).p2pRequestHandler = customHandler - proc enableMailServer*(node: EthereumNode) = - node.protocolState(Waku).p2pRequestHandler = p2pRequestHandler + # TODO: This could become part of an init call for an actual `MailServer` + # object. + node.registerP2PRequestHandler(p2pRequestHandler) diff --git a/waku/protocol/v1/waku_protocol.nim b/waku/protocol/v1/waku_protocol.nim index ffb9bc9f7..f245b9a08 100644 --- a/waku/protocol/v1/waku_protocol.nim +++ b/waku/protocol/v1/waku_protocol.nim @@ -640,6 +640,10 @@ proc configureWaku*(node: EthereumNode, config: WakuConfig) = ## of the settings are only communicated at peer handshake. node.protocolState(Waku).config = config +proc registerP2PRequestHandler*(node: EthereumNode, + customHandler: P2PRequestHandler) = + node.protocolState(Waku).p2pRequestHandler = customHandler + proc resetMessageQueue*(node: EthereumNode) = ## Full reset of the message queue. ##