diff --git a/gossip/gossip.go b/gossip/gossip.go index 3bfccaaac..477fdb5ae 100644 --- a/gossip/gossip.go +++ b/gossip/gossip.go @@ -290,13 +290,13 @@ func (g *GossipMemberSet) MergeRemoteState(buf []byte, join bool) { // the channel, since this delegate will block until an event can be sent. type gossipEventReceiver struct { ch chan memberlist.NodeEvent - eventHandler pilosa.EventHandler + eventHandler *pilosa.Server logger *log.Logger } // newGossipEventReceiver returns a new instance of GossipEventReceiver. -func newGossipEventReceiver(logger *log.Logger, pserver pilosa.EventHandler) *gossipEventReceiver { +func newGossipEventReceiver(logger *log.Logger, pserver *pilosa.Server) *gossipEventReceiver { ger := &gossipEventReceiver{ ch: make(chan memberlist.NodeEvent, 1), logger: logger, @@ -338,13 +338,13 @@ func (g *gossipEventReceiver) listen() { if err := proto.Unmarshal(e.Node.Meta, &n); err != nil { panic("failed to unmarshal event node meta data") } - node := pilosa.DecodeNode(&n) + // node := pilosa.DecodeNode(&n) - ne := &pilosa.NodeEvent{ - Event: nodeEventType, - Node: node, + ne := &internal.NodeEventMessage{ + Event: uint32(nodeEventType), + Node: &n, } - if err := g.eventHandler.ReceiveEvent(ne); err != nil { + if err := g.eventHandler.ReceiveMessage(ne); err != nil { g.logger.Printf("receive event error: %s", err) } } diff --git a/server.go b/server.go index c07720a54..083ad4e2a 100644 --- a/server.go +++ b/server.go @@ -42,7 +42,6 @@ const ( // Ensure Server implements interfaces. var _ Broadcaster = &Server{} var _ BroadcastHandler = &Server{} -var _ StatusHandler = &Server{} // Server represents a holder wrapped by a running HTTP server. type Server struct { @@ -557,11 +556,6 @@ func (s *Server) LocalStatus() (proto.Message, error) { return &ns, nil } -// ClusterStatus returns the ClusterState and NodeSet for the cluster. -func (s *Server) ClusterStatus() (proto.Message, error) { - return s.cluster.Status(), nil -} - // HandleRemoteStatus receives incoming NodeStatus from remote nodes. func (s *Server) HandleRemoteStatus(pb proto.Message) error { // Ignore NodeStatus messages until the cluster is in a Normal state. @@ -733,15 +727,6 @@ func countOpenFiles() (int, error) { } } -// StatusHandler specifies the methods which an object must implement to share -// state in the cluster. These are used by the GossipMemberSet to implement the -// LocalState and MergeRemoteState methods of memberlist.Delegate -type StatusHandler interface { - LocalStatus() (proto.Message, error) - ClusterStatus() (proto.Message, error) - HandleRemoteStatus(proto.Message) error -} - func expandDirName(path string) (string, error) { prefix := "~" + string(filepath.Separator) if strings.HasPrefix(path, prefix) {