Rename node.Decode and node.Encode
EncodeMeta and DecodeMeta are more explicit.
This commit is contained in:
parent
078946dbdd
commit
32a300ffeb
|
@ -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
|
||||||
|
|
|
@ -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{}
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
2
main.go
2
main.go
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue