Rename node.Decode and node.Encode

EncodeMeta and DecodeMeta are more explicit.
This commit is contained in:
kaiyou 2020-05-10 18:12:47 +02:00 committed by Leo Antunes
parent 078946dbdd
commit 32a300ffeb
4 changed files with 8 additions and 8 deletions

View File

@ -20,7 +20,7 @@ func (n *delegateNode) NotifyConflict(node, other *memberlist.Node) {
// Metadata is provided by the local node settings, encoding is handled // Metadata is provided by the local node settings, encoding is handled
// by the node implementation directly // by the node implementation directly
func (n *delegateNode) NodeMeta(limit int) []byte { func (n *delegateNode) NodeMeta(limit int) []byte {
encoded, err := n.Encode(limit) encoded, err := n.EncodeMeta(limit)
if err != nil { if err != nil {
logrus.Errorf("failed to encode local node: %s", err) logrus.Errorf("failed to encode local node: %s", err)
return nil return nil

View File

@ -26,8 +26,8 @@ func (n *Node) String() string {
return n.Addr.String() return n.Addr.String()
} }
// Encode the node metadata to bytes, in a deterministic reversible way // EncodeMeta the node metadata to bytes, in a deterministic reversible way
func (n *Node) Encode(limit int) ([]byte, error) { func (n *Node) EncodeMeta(limit int) ([]byte, error) {
buf := &bytes.Buffer{} buf := &bytes.Buffer{}
if err := gob.NewEncoder(buf).Encode(n.nodeMeta); err != nil { if err := gob.NewEncoder(buf).Encode(n.nodeMeta); err != nil {
return nil, errors.Wrap(err, "could not encode local state") return nil, errors.Wrap(err, "could not encode local state")
@ -38,8 +38,8 @@ func (n *Node) Encode(limit int) ([]byte, error) {
return buf.Bytes(), nil return buf.Bytes(), nil
} }
// Decode the node Meta field into its metadata // DecodeMeta the node Meta field into its metadata
func (n *Node) Decode() error { func (n *Node) DecodeMeta() error {
// TODO: we blindly trust the info we get from the peers; We should be more defensive to limit the damage a leaked // TODO: we blindly trust the info we get from the peers; We should be more defensive to limit the damage a leaked
// PSK can cause. // PSK can cause.
nm := nodeMeta{} nm := nodeMeta{}

View File

@ -18,9 +18,9 @@ func Test_Node_Encode_Decode(t *testing.T) {
PubKey: pubKey, PubKey: pubKey,
}, },
} }
encoded, _ := node.Encode(1024) encoded, _ := node.EncodeMeta(1024)
new := Node{Meta: encoded} new := Node{Meta: encoded}
new.Decode() new.DecodeMeta()
if !reflect.DeepEqual(node.nodeMeta, new.nodeMeta) { if !reflect.DeepEqual(node.nodeMeta, new.nodeMeta) {
t.Errorf("node encoding then decoding mismatch: %s / %s", node.nodeMeta, new.nodeMeta) t.Errorf("node encoding then decoding mismatch: %s / %s", node.nodeMeta, new.nodeMeta)
} }

View File

@ -80,7 +80,7 @@ func main() {
hosts := make(map[string][]string, len(rawNodes)) hosts := make(map[string][]string, len(rawNodes))
logrus.Info("cluster members:\n") logrus.Info("cluster members:\n")
for _, node := range rawNodes { for _, node := range rawNodes {
if err := node.Decode(); err != nil { if err := node.DecodeMeta(); err != nil {
logrus.Warnf("\t addr: %s, could not decode metadata", node.Addr) logrus.Warnf("\t addr: %s, could not decode metadata", node.Addr)
continue continue
} }