From ea872fedc43f94b2922689004031e489abd33fb9 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Sun, 7 Jan 2024 04:03:36 -0500 Subject: [PATCH] refactor: move nodeVotes to a dedicated file --- service/p2p.go | 46 +---------------------------------------- service/vote.go | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 45 deletions(-) create mode 100644 service/vote.go diff --git a/service/p2p.go b/service/p2p.go index 20a8690..75182c2 100644 --- a/service/p2p.go +++ b/service/p2p.go @@ -39,50 +39,6 @@ type P2PImpl struct { peers structs.Map } -type NodeVotesImpl struct { - good int - bad int -} - -func (n *NodeVotesImpl) Good() int { - return n.good -} - -func (n *NodeVotesImpl) Bad() int { - return n.bad -} - -func (n NodeVotesImpl) EncodeMsgpack(enc *msgpack.Encoder) error { - err := enc.EncodeInt(int64(n.good)) - if err != nil { - return err - } - - err = enc.EncodeInt(int64(n.bad)) - if err != nil { - return err - } - - return nil -} - -func (n *NodeVotesImpl) DecodeMsgpack(dec *msgpack.Decoder) error { - good, err := dec.DecodeInt() - if err != nil { - return err - } - - bad, err := dec.DecodeInt() - if err != nil { - return err - } - - n.good = good - n.bad = bad - - return nil -} - func NewP2P(node interfaces.Node) *P2PImpl { service := &P2PImpl{ logger: node.Logger(), @@ -317,7 +273,7 @@ func (p *P2PImpl) OnNewPeerListen(peer *net.Peer, verifyId bool) { func (p *P2PImpl) ReadNodeScore(nodeId *encoding.NodeId) (interfaces.NodeVotes, error) { node := p.nodesBucket.Get(nodeId.Raw()) if node == nil { - return &NodeVotesImpl{}, nil + return NewNodeVotes(), nil } var score interfaces.NodeVotes diff --git a/service/vote.go b/service/vote.go new file mode 100644 index 0000000..1696ee6 --- /dev/null +++ b/service/vote.go @@ -0,0 +1,54 @@ +package service + +import ( + "git.lumeweb.com/LumeWeb/libs5-go/interfaces" + "github.com/vmihailenco/msgpack/v5" +) + +type NodeVotesImpl struct { + good int + bad int +} + +func NewNodeVotes() interfaces.NodeVotes { + return &NodeVotesImpl{} +} + +func (n *NodeVotesImpl) Good() int { + return n.good +} + +func (n *NodeVotesImpl) Bad() int { + return n.bad +} + +func (n NodeVotesImpl) EncodeMsgpack(enc *msgpack.Encoder) error { + err := enc.EncodeInt(int64(n.good)) + if err != nil { + return err + } + + err = enc.EncodeInt(int64(n.bad)) + if err != nil { + return err + } + + return nil +} + +func (n *NodeVotesImpl) DecodeMsgpack(dec *msgpack.Decoder) error { + good, err := dec.DecodeInt() + if err != nil { + return err + } + + bad, err := dec.DecodeInt() + if err != nil { + return err + } + + n.good = good + n.bad = bad + + return nil +}