mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
remove ClusterStatus method and StatusHandler interface
gossipEventReceiver uses ReceiveMessage instead of ReceiveEvent
This commit is contained in:
parent
75c1440eb5
commit
12a49c3e14
2 changed files with 7 additions and 22 deletions
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
15
server.go
15
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) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue