type fakeStats … func (s *fakeStats) SelfStats() []byte { … } func (s *fakeStats) LeaderStats() []byte { … } func (s *fakeStats) StoreStats() []byte { … } type v2v3Server … func NewServer(lg *zap.Logger, c *clientv3.Client, pfx string) etcdserver.ServerPeer { … } func (s *v2v3Server) ClientCertAuthEnabled() bool { … } func (s *v2v3Server) LeaseHandler() http.Handler { … } func (s *v2v3Server) RaftHandler() http.Handler { … } func (s *v2v3Server) Leader() types.ID { … } func (s *v2v3Server) AddMember(ctx context.Context, memb membership.Member) ([]*membership.Member, error) { … } func (s *v2v3Server) RemoveMember(ctx context.Context, id uint64) ([]*membership.Member, error) { … } func (s *v2v3Server) PromoteMember(ctx context.Context, id uint64) ([]*membership.Member, error) { … } func (s *v2v3Server) UpdateMember(ctx context.Context, m membership.Member) ([]*membership.Member, error) { … } func v3MembersToMembership(v3membs []*pb.Member) []*membership.Member { … } func (s *v2v3Server) ClusterVersion() *semver.Version { … } func (s *v2v3Server) Cluster() api.Cluster { … } func (s *v2v3Server) Alarms() []*pb.AlarmMember { … } func (s *v2v3Server) LeaderChangedNotify() <-chan struct{ … } func (s *v2v3Server) Do(ctx context.Context, r pb.Request) (etcdserver.Response, error) { … }