package service import "encoding/binary" const ( _ NodeRole = iota // InnerRingNode that work like IR node. InnerRingNode // StorageNode that work like a storage node. StorageNode ) // String is method, that represent NodeRole as string. func (nt NodeRole) String() string { switch nt { case InnerRingNode: return "InnerRingNode" case StorageNode: return "StorageNode" default: return "Unknown" } } func (nt NodeRole) Size() int { return 4 } func (nt NodeRole) Bytes() []byte { data := make([]byte, nt.Size()) binary.BigEndian.PutUint32(data, uint32(nt)) return data }