etcdserver: minimize input info

release-2.0
Yicheng Qin 2014-09-29 17:14:22 -07:00
parent a40a270e19
commit cbc84bc70e
3 changed files with 15 additions and 10 deletions

View File

@ -712,8 +712,8 @@ func (fs *errServer) Do(ctx context.Context, r etcdserverpb.Request) (etcdserver
func (fs *errServer) Process(ctx context.Context, m raftpb.Message) error {
return fs.err
}
func (fs *errServer) Start(m etcdserver.Member) {}
func (fs *errServer) Stop() {}
func (fs *errServer) Start() {}
func (fs *errServer) Stop() {}
// errReader implements io.Reader to facilitate a broken request.
type errReader struct{}
@ -838,7 +838,7 @@ func (rs *resServer) Do(_ context.Context, _ etcdserverpb.Request) (etcdserver.R
return rs.res, nil
}
func (rs *resServer) Process(_ context.Context, _ raftpb.Message) error { return nil }
func (rs *resServer) Start(m etcdserver.Member) {}
func (rs *resServer) Start() {}
func (rs *resServer) Stop() {}
func mustMarshalEvent(t *testing.T, ev *store.Event) string {

View File

@ -59,7 +59,7 @@ type Server interface {
// begin serving requests. It must be called before Do or Process.
// Start must be non-blocking; any long-running server functionality
// should be implemented in goroutines.
Start(m Member)
Start()
// Stop terminates the Server and performs any necessary finalization.
// Do and Process cannot be called after Stop has been invoked.
Stop()
@ -80,6 +80,9 @@ type EtcdServer struct {
w wait.Wait
done chan struct{}
Name string
ClientURLs []string
Node raft.Node
Store store.Store
@ -105,8 +108,10 @@ type EtcdServer struct {
// Start prepares and starts server in a new goroutine. It is no longer safe to
// modify a server's fields after it has been sent to Start.
// It also starts a goroutine to publish its server information.
func (s *EtcdServer) Start(m Member) {
func (s *EtcdServer) Start() {
s.start()
m := *s.ClusterStore.Get().FindName(s.Name)
m.ClientURLs = s.ClientURLs
go s.publish(m, defaultPublishRetryInterval)
}

10
main.go
View File

@ -193,8 +193,10 @@ func startEtcd() {
cls := etcdserver.NewClusterStore(st, *cluster)
s := &etcdserver.EtcdServer{
Store: st,
Node: n,
Name: *name,
ClientURLs: *addrs,
Store: st,
Node: n,
Storage: struct {
*wal.WAL
*snap.Snapshotter
@ -205,9 +207,7 @@ func startEtcd() {
SnapCount: *snapCount,
ClusterStore: cls,
}
member := *self
member.ClientURLs = *addrs
s.Start(member)
s.Start()
ch := &pkg.CORSHandler{
Handler: etcdhttp.NewClientHandler(s, cls, *timeout),