mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #1709 from xiang90/server_id
etcdserver: add ID() function to the Server interface.
This commit is contained in:
commit
8319d4dcbe
@ -92,6 +92,9 @@ type serverRecorder struct {
|
||||
actions []action
|
||||
}
|
||||
|
||||
func (s *serverRecorder) Start() {}
|
||||
func (s *serverRecorder) Stop() {}
|
||||
func (s *serverRecorder) ID() types.ID { return types.ID(1) }
|
||||
func (s *serverRecorder) Do(_ context.Context, r etcdserverpb.Request) (etcdserver.Response, error) {
|
||||
s.actions = append(s.actions, action{name: "Do", params: []interface{}{r}})
|
||||
return etcdserver.Response{}, nil
|
||||
@ -100,8 +103,6 @@ func (s *serverRecorder) Process(_ context.Context, m raftpb.Message) error {
|
||||
s.actions = append(s.actions, action{name: "Process", params: []interface{}{m}})
|
||||
return nil
|
||||
}
|
||||
func (s *serverRecorder) Start() {}
|
||||
func (s *serverRecorder) Stop() {}
|
||||
func (s *serverRecorder) AddMember(_ context.Context, m etcdserver.Member) error {
|
||||
s.actions = append(s.actions, action{name: "AddMember", params: []interface{}{m}})
|
||||
return nil
|
||||
@ -138,12 +139,13 @@ type resServer struct {
|
||||
res etcdserver.Response
|
||||
}
|
||||
|
||||
func (rs *resServer) Start() {}
|
||||
func (rs *resServer) Stop() {}
|
||||
func (rs *resServer) ID() types.ID { return types.ID(1) }
|
||||
func (rs *resServer) Do(_ context.Context, _ etcdserverpb.Request) (etcdserver.Response, error) {
|
||||
return rs.res, nil
|
||||
}
|
||||
func (rs *resServer) Process(_ context.Context, _ raftpb.Message) error { return nil }
|
||||
func (rs *resServer) Start() {}
|
||||
func (rs *resServer) Stop() {}
|
||||
func (rs *resServer) AddMember(_ context.Context, _ etcdserver.Member) error { return nil }
|
||||
func (rs *resServer) RemoveMember(_ context.Context, _ uint64) error { return nil }
|
||||
func (rs *resServer) UpdateMember(_ context.Context, _ etcdserver.Member) error { return nil }
|
||||
|
@ -65,14 +65,15 @@ type errServer struct {
|
||||
err error
|
||||
}
|
||||
|
||||
func (fs *errServer) Start() {}
|
||||
func (fs *errServer) Stop() {}
|
||||
func (fs *errServer) ID() types.ID { return types.ID(1) }
|
||||
func (fs *errServer) Do(ctx context.Context, r etcdserverpb.Request) (etcdserver.Response, error) {
|
||||
return etcdserver.Response{}, fs.err
|
||||
}
|
||||
func (fs *errServer) Process(ctx context.Context, m raftpb.Message) error {
|
||||
return fs.err
|
||||
}
|
||||
func (fs *errServer) Start() {}
|
||||
func (fs *errServer) Stop() {}
|
||||
func (fs *errServer) AddMember(ctx context.Context, m etcdserver.Member) error {
|
||||
return fs.err
|
||||
}
|
||||
|
@ -115,6 +115,8 @@ type Server interface {
|
||||
// Stop terminates the Server and performs any necessary finalization.
|
||||
// Do and Process cannot be called after Stop has been invoked.
|
||||
Stop()
|
||||
// ID returns the ID of the Server.
|
||||
ID() types.ID
|
||||
// Do takes a request and attempts to fulfill it, returning a Response.
|
||||
Do(ctx context.Context, r pb.Request) (Response, error)
|
||||
// Process takes a raft message and applies it to the server's raft state
|
||||
@ -306,6 +308,8 @@ func (s *EtcdServer) start() {
|
||||
go s.run()
|
||||
}
|
||||
|
||||
func (s *EtcdServer) ID() types.ID { return s.id }
|
||||
|
||||
func (s *EtcdServer) Process(ctx context.Context, m raftpb.Message) error {
|
||||
if s.Cluster.IsIDRemoved(types.ID(m.From)) {
|
||||
return ErrRemoved
|
||||
|
Loading…
x
Reference in New Issue
Block a user