diff --git a/gossip/gossip.go b/gossip/gossip.go index 849b33d01..289eb505d 100644 --- a/gossip/gossip.go +++ b/gossip/gossip.go @@ -33,10 +33,10 @@ import ( ) // Ensure GossipMemberSet implements interfaces. -var _ memberlist.Delegate = &GossipMemberSet{} +var _ memberlist.Delegate = &gossipMemberSet{} -// GossipMemberSet represents a gossip implementation of MemberSet using memberlist. -type GossipMemberSet struct { +// gossipMemberSet represents a gossip implementation of MemberSet using memberlist. +type gossipMemberSet struct { mu sync.RWMutex memberlist *memberlist.Memberlist @@ -54,7 +54,7 @@ type GossipMemberSet struct { } // Open implements the MemberSet interface to start network activity. -func (g *GossipMemberSet) Open() (err error) { +func (g *gossipMemberSet) Open() (err error) { g.mu.Lock() g.memberlist, err = memberlist.Create(g.config.memberlistConfig) g.mu.Unlock() @@ -94,7 +94,7 @@ func (g *GossipMemberSet) Open() (err error) { } // joinWithRetry wraps the standard memberlist Join function in a retry. -func (g *GossipMemberSet) joinWithRetry(hosts []string) error { +func (g *gossipMemberSet) joinWithRetry(hosts []string) error { err := retry(60, 2*time.Second, func() error { _, err := g.memberlist.Join(hosts) return err @@ -126,11 +126,11 @@ type gossipConfig struct { } // GossipMemberSetOption describes a functional option for GossipMemberSet. -type GossipMemberSetOption func(*GossipMemberSet) error +type GossipMemberSetOption func(*gossipMemberSet) error // WithTransport is a functional option for providing a transport to NewGossipMemberSet. func WithTransport(transport *Transport) GossipMemberSetOption { - return func(g *GossipMemberSet) error { + return func(g *gossipMemberSet) error { g.transport = transport return nil } @@ -138,16 +138,16 @@ func WithTransport(transport *Transport) GossipMemberSetOption { // WithLogger is a functional option for providing a logger to NewGossipMemberSet. func WithLogger(logger *log.Logger) GossipMemberSetOption { - return func(g *GossipMemberSet) error { + return func(g *gossipMemberSet) error { g.logger = logger return nil } } // NewGossipMemberSet returns a new instance of GossipMemberSet based on options. -func NewGossipMemberSet(cfg Config, api *pilosa.API, options ...GossipMemberSetOption) (*GossipMemberSet, error) { +func NewGossipMemberSet(cfg Config, api *pilosa.API, options ...GossipMemberSetOption) (*gossipMemberSet, error) { host := api.Node().URI.Host - g := &GossipMemberSet{ + g := &gossipMemberSet{ papi: api, Logger: pilosa.NopLogger, } @@ -219,7 +219,7 @@ func NewGossipMemberSet(cfg Config, api *pilosa.API, options ...GossipMemberSetO } // NodeMeta implementation of the memberlist.Delegate interface. -func (g *GossipMemberSet) NodeMeta(limit int) []byte { +func (g *gossipMemberSet) NodeMeta(limit int) []byte { buf, err := g.papi.Serializer.Marshal(g.papi.Node()) if err != nil { g.Logger.Printf("marshal message error: %s", err) @@ -230,7 +230,7 @@ func (g *GossipMemberSet) NodeMeta(limit int) []byte { // NotifyMsg implementation of the memberlist.Delegate interface // called when a user-data message is received. -func (g *GossipMemberSet) NotifyMsg(b []byte) { +func (g *gossipMemberSet) NotifyMsg(b []byte) { err := g.papi.ClusterMessage(context.Background(), bytes.NewBuffer(b)) if err != nil { g.Logger.Printf("cluster message error: %s", err) @@ -239,13 +239,13 @@ func (g *GossipMemberSet) NotifyMsg(b []byte) { // GetBroadcasts implementation of the memberlist.Delegate interface // called when user data messages can be broadcast. -func (g *GossipMemberSet) GetBroadcasts(overhead, limit int) [][]byte { +func (g *gossipMemberSet) GetBroadcasts(overhead, limit int) [][]byte { return g.broadcasts.GetBroadcasts(overhead, limit) } // LocalState implementation of the memberlist.Delegate interface // sends this Node's state data. -func (g *GossipMemberSet) LocalState(join bool) []byte { +func (g *gossipMemberSet) LocalState(join bool) []byte { m := &pilosa.NodeStatus{ Node: g.papi.Node(), MaxShards: g.papi.MaxShards(context.Background()), @@ -263,7 +263,7 @@ func (g *GossipMemberSet) LocalState(join bool) []byte { // MergeRemoteState implementation of the memberlist.Delegate interface // receive and process the remote side's LocalState. -func (g *GossipMemberSet) MergeRemoteState(buf []byte, join bool) { +func (g *gossipMemberSet) MergeRemoteState(buf []byte, join bool) { err := g.papi.ClusterMessage(context.Background(), bytes.NewBuffer(buf)) if err != nil { g.Logger.Printf("merge state error: %s", err)