diff --git a/etcdserver/server.go b/etcdserver/server.go index cb4b93e6f..889a2f17c 100644 --- a/etcdserver/server.go +++ b/etcdserver/server.go @@ -137,7 +137,9 @@ type EtcdServer struct { node raft.Node raftStorage *raft.MemoryStorage - store store.Store + storage Storage + + store store.Store stats *stats.ServerStats lstats *stats.LeaderStats @@ -148,8 +150,6 @@ type EtcdServer struct { // panic. sendhub SendHub - storage Storage - Ticker <-chan time.Time SyncTicker <-chan time.Time @@ -272,8 +272,11 @@ func NewServer(cfg *ServerConfig) (*EtcdServer, error) { snapCount: cfg.SnapCount, } srv.sendhub = newSendHub(cfg.Transport, cfg.Cluster, srv, sstats, lstats) - for _, m := range getOtherMembers(cfg.Cluster, cfg.Name) { - srv.sendhub.Add(m) + // add all the remote members into sendhub + for _, m := range cfg.Cluster.Members() { + if m.Name != cfg.Name { + srv.sendhub.Add(m) + } } return srv, nil } @@ -952,16 +955,6 @@ func getClusterFromPeers(urls []string, logerr bool) (*Cluster, error) { return nil, fmt.Errorf("etcdserver: could not retrieve cluster information from the given urls") } -func getOtherMembers(cl ClusterInfo, self string) []*Member { - var ms []*Member - for _, m := range cl.Members() { - if m.Name != self { - ms = append(ms, m) - } - } - return ms -} - // getOtherPeerURLs returns peer urls of other members in the cluster. The // returned list is sorted in ascending lexicographical order. func getOtherPeerURLs(cl ClusterInfo, self string) []string { @@ -1002,12 +995,3 @@ func getBool(v *bool) (vv bool, set bool) { } return *v, true } - -func containsUint64(a []uint64, x uint64) bool { - for _, v := range a { - if v == x { - return true - } - } - return false -}