瀏覽代碼

etcdctlv3: implement status rpc in server side

mqliang 9 年之前
父節點
當前提交
1d5d2494ed
共有 1 個文件被更改,包括 11 次插入4 次删除
  1. 11 4
      etcdserver/api/v3rpc/maintenance.go

+ 11 - 4
etcdserver/api/v3rpc/maintenance.go

@@ -18,6 +18,7 @@ import (
 	"github.com/coreos/etcd/etcdserver"
 	"github.com/coreos/etcd/etcdserver"
 	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
 	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
 	"github.com/coreos/etcd/storage/backend"
 	"github.com/coreos/etcd/storage/backend"
+	"github.com/coreos/etcd/version"
 	"golang.org/x/net/context"
 	"golang.org/x/net/context"
 )
 )
 
 
@@ -50,16 +51,22 @@ func (ms *maintenanceServer) Defragment(ctx context.Context, sr *pb.DefragmentRe
 	return &pb.DefragmentResponse{}, nil
 	return &pb.DefragmentResponse{}, nil
 }
 }
 
 
-func (s *maintenanceServer) Hash(ctx context.Context, r *pb.HashRequest) (*pb.HashResponse, error) {
-	h, err := s.bg.Backend().Hash()
+func (ms *maintenanceServer) Hash(ctx context.Context, r *pb.HashRequest) (*pb.HashResponse, error) {
+	h, err := ms.bg.Backend().Hash()
 	if err != nil {
 	if err != nil {
 		return nil, togRPCError(err)
 		return nil, togRPCError(err)
 	}
 	}
-	resp := &pb.HashResponse{Header: &pb.ResponseHeader{Revision: s.hdr.rev()}, Hash: h}
-	s.hdr.fill(resp.Header)
+	resp := &pb.HashResponse{Header: &pb.ResponseHeader{Revision: ms.hdr.rev()}, Hash: h}
+	ms.hdr.fill(resp.Header)
 	return resp, nil
 	return resp, nil
 }
 }
 
 
 func (ms *maintenanceServer) Alarm(ctx context.Context, ar *pb.AlarmRequest) (*pb.AlarmResponse, error) {
 func (ms *maintenanceServer) Alarm(ctx context.Context, ar *pb.AlarmRequest) (*pb.AlarmResponse, error) {
 	return ms.a.Alarm(ctx, ar)
 	return ms.a.Alarm(ctx, ar)
 }
 }
+
+func (ms *maintenanceServer) Status(ctx context.Context, ar *pb.StatusRequest) (*pb.StatusResponse, error) {
+	resp := &pb.StatusResponse{Header: &pb.ResponseHeader{Revision: ms.hdr.rev()}, Version: version.Version}
+	ms.hdr.fill(resp.Header)
+	return resp, nil
+}