From 799be312e15b4ba71bf98adc23e168b92116b802 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Tue, 9 Jan 2024 12:49:16 -0500 Subject: [PATCH] refactor: add kind to interface --- protocol/base/base.go | 1 + protocol/hash_query.go | 3 ++- protocol/message.go | 2 +- protocol/signed/signed.go | 2 +- protocol/signed/signed_message.go | 4 +++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/protocol/base/base.go b/protocol/base/base.go index e041d22..f3d6b42 100644 --- a/protocol/base/base.go +++ b/protocol/base/base.go @@ -14,6 +14,7 @@ type IncomingMessage interface { IncomingMessage() IncomingMessage Self() IncomingMessage SetSelf(self IncomingMessage) + Kind() int msgpack.CustomDecoder } diff --git a/protocol/hash_query.go b/protocol/hash_query.go index 50036cb..db5694c 100644 --- a/protocol/hash_query.go +++ b/protocol/hash_query.go @@ -126,6 +126,7 @@ func (h *HashQuery) HandleMessage(node interfaces.Node, peer net.Peer, verifyId var peers *hashset.Set hashString, err := h.hash.ToString() + node.Logger().Debug("HashQuery", zap.Any("hashString", hashString)) if err != nil { return err } @@ -147,7 +148,7 @@ func (h *HashQuery) HandleMessage(node interfaces.Node, peer net.Peer, verifyId for _, val := range node.Services().P2P().Peers().Values() { peerVal := val.(net.Peer) if !peerVal.Id().Equals(peer.Id()) { - err := peerVal.SendMessage(h.IncomingMessageImpl.Original()) + err := peerVal.SendMessage(h.IncomingMessage().Original()) if err != nil { node.Logger().Error("Failed to send message", zap.Error(err)) } diff --git a/protocol/message.go b/protocol/message.go index 4e2d2a1..2a9b312 100644 --- a/protocol/message.go +++ b/protocol/message.go @@ -15,7 +15,7 @@ var ( _ base.IncomingMessage = (*base.IncomingMessageImpl)(nil) ) -func init() { +func Init() { messageTypes = sync.Map{} // Register factory functions instead of instances diff --git a/protocol/signed/signed.go b/protocol/signed/signed.go index dc3c474..8d4f529 100644 --- a/protocol/signed/signed.go +++ b/protocol/signed/signed.go @@ -10,7 +10,7 @@ var ( messageTypes sync.Map ) -func init() { +func Init() { messageTypes = sync.Map{} RegisterMessageType(int(types.ProtocolMethodHandshakeDone), func() base.SignedIncomingMessage { diff --git a/protocol/signed/signed_message.go b/protocol/signed/signed_message.go index 6c88513..091b146 100644 --- a/protocol/signed/signed_message.go +++ b/protocol/signed/signed_message.go @@ -9,6 +9,7 @@ import ( "git.lumeweb.com/LumeWeb/libs5-go/protocol/base" "git.lumeweb.com/LumeWeb/libs5-go/types" "github.com/vmihailenco/msgpack/v5" + "go.uber.org/zap" "io" ) @@ -85,7 +86,8 @@ func (s *SignedMessage) HandleMessage(node interfaces.Node, peer net.Peer, verif return err } - if msgHandler, valid := GetMessageType(types.ProtocolMethod(payload.kind)); valid { + if msgHandler, valid := GetMessageType(payload.kind); valid { + node.Logger().Debug("SignedMessage", zap.Any("type", types.ProtocolMethodMap[types.ProtocolMethod(payload.kind)])) msgHandler.SetIncomingMessage(s) msgHandler.SetSelf(msgHandler) err := msgpack.Unmarshal(payload.message, &msgHandler)