mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #4294 from xiang90/member_api
*: finish member api implementation
This commit is contained in:
commit
6d8b82f6ce
219
etcdctlv3/command/member_command.go
Normal file
219
etcdctlv3/command/member_command.go
Normal file
@ -0,0 +1,219 @@
|
||||
// Copyright 2016 CoreOS, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package command
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/github.com/spf13/cobra"
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context"
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc"
|
||||
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
|
||||
)
|
||||
|
||||
var (
|
||||
memberID uint64
|
||||
memberPeerURLs string
|
||||
)
|
||||
|
||||
// NewMemberCommand returns the cobra command for "member".
|
||||
func NewMemberCommand() *cobra.Command {
|
||||
mc := &cobra.Command{
|
||||
Use: "member",
|
||||
Short: "member is used to manage membership in an etcd cluster.",
|
||||
}
|
||||
|
||||
mc.AddCommand(NewMemberAddCommand())
|
||||
mc.AddCommand(NewMemberRemoveCommand())
|
||||
mc.AddCommand(NewMemberUpdateCommand())
|
||||
mc.AddCommand(NewMemberListCommand())
|
||||
|
||||
return mc
|
||||
}
|
||||
|
||||
// NewMemberAddCommand returns the cobra command for "member add".
|
||||
func NewMemberAddCommand() *cobra.Command {
|
||||
cc := &cobra.Command{
|
||||
Use: "add",
|
||||
Short: "add is used to add a member into the cluster",
|
||||
|
||||
Run: memberAddCommandFunc,
|
||||
}
|
||||
|
||||
cc.Flags().StringVar(&memberPeerURLs, "peerURLs", "", "comma separated peer URLs for the new member.")
|
||||
|
||||
return cc
|
||||
}
|
||||
|
||||
// NewMemberRemoveCommand returns the cobra command for "member remove".
|
||||
func NewMemberRemoveCommand() *cobra.Command {
|
||||
cc := &cobra.Command{
|
||||
Use: "remove",
|
||||
Short: "remove is used to remove a member from the cluster",
|
||||
|
||||
Run: memberRemoveCommandFunc,
|
||||
}
|
||||
|
||||
return cc
|
||||
}
|
||||
|
||||
// NewMemberUpdateCommand returns the cobra command for "member update".
|
||||
func NewMemberUpdateCommand() *cobra.Command {
|
||||
cc := &cobra.Command{
|
||||
Use: "update",
|
||||
Short: "update is used to update a member in the cluster",
|
||||
|
||||
Run: memberUpdateCommandFunc,
|
||||
}
|
||||
|
||||
cc.Flags().StringVar(&memberPeerURLs, "peerURLs", "", "comma separated peer URLs for the updated member.")
|
||||
|
||||
return cc
|
||||
}
|
||||
|
||||
// NewMemberListCommand returns the cobra command for "member list".
|
||||
func NewMemberListCommand() *cobra.Command {
|
||||
cc := &cobra.Command{
|
||||
Use: "list",
|
||||
Short: "list is used to list all members in the cluster",
|
||||
|
||||
Run: memberListCommandFunc,
|
||||
}
|
||||
|
||||
return cc
|
||||
}
|
||||
|
||||
// memberAddCommandFunc executes the "member add" command.
|
||||
func memberAddCommandFunc(cmd *cobra.Command, args []string) {
|
||||
if len(args) != 1 {
|
||||
ExitWithError(ExitBadArgs, fmt.Errorf("member name not provided."))
|
||||
}
|
||||
|
||||
if len(memberPeerURLs) == 0 {
|
||||
ExitWithError(ExitBadArgs, fmt.Errorf("member peer urls not provided."))
|
||||
}
|
||||
|
||||
urls := strings.Split(memberPeerURLs, ",")
|
||||
|
||||
endpoint, err := cmd.Flags().GetString("endpoint")
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
conn, err := grpc.Dial(endpoint)
|
||||
if err != nil {
|
||||
ExitWithError(ExitBadConnection, err)
|
||||
}
|
||||
mc := pb.NewClusterClient(conn)
|
||||
|
||||
resp, err := mc.MemberAdd(context.TODO(), &pb.MemberAddRequest{PeerURLs: urls})
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
|
||||
fmt.Printf("Member %16x added to cluster %16x\n", args[0], resp.Member.ID, resp.Header.ClusterId)
|
||||
}
|
||||
|
||||
// memberRemoveCommandFunc executes the "member remove" command.
|
||||
func memberRemoveCommandFunc(cmd *cobra.Command, args []string) {
|
||||
if len(args) != 1 {
|
||||
ExitWithError(ExitBadArgs, fmt.Errorf("member ID is not provided"))
|
||||
}
|
||||
|
||||
id, err := strconv.ParseUint(args[0], 16, 64)
|
||||
if err != nil {
|
||||
ExitWithError(ExitBadArgs, fmt.Errorf("bad member ID arg (%v), expecting ID in Hex", err))
|
||||
}
|
||||
|
||||
endpoint, err := cmd.Flags().GetString("endpoint")
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
conn, err := grpc.Dial(endpoint)
|
||||
if err != nil {
|
||||
ExitWithError(ExitBadConnection, err)
|
||||
}
|
||||
mc := pb.NewClusterClient(conn)
|
||||
|
||||
resp, err := mc.MemberRemove(context.TODO(), &pb.MemberRemoveRequest{ID: uint64(id)})
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
|
||||
fmt.Printf("Member %16x removed from cluster %16x\n", id, resp.Header.ClusterId)
|
||||
}
|
||||
|
||||
// memberUpdateCommandFunc executes the "member update" command.
|
||||
func memberUpdateCommandFunc(cmd *cobra.Command, args []string) {
|
||||
if len(args) != 1 {
|
||||
ExitWithError(ExitBadArgs, fmt.Errorf("member ID is not provided"))
|
||||
}
|
||||
|
||||
id, err := strconv.ParseUint(args[0], 16, 64)
|
||||
if err != nil {
|
||||
ExitWithError(ExitBadArgs, fmt.Errorf("bad member ID arg (%v), expecting ID in Hex", err))
|
||||
}
|
||||
|
||||
if len(memberPeerURLs) == 0 {
|
||||
ExitWithError(ExitBadArgs, fmt.Errorf("member peer urls not provided."))
|
||||
}
|
||||
|
||||
urls := strings.Split(memberPeerURLs, ",")
|
||||
|
||||
endpoint, err := cmd.Flags().GetString("endpoint")
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
conn, err := grpc.Dial(endpoint)
|
||||
if err != nil {
|
||||
ExitWithError(ExitBadConnection, err)
|
||||
}
|
||||
mc := pb.NewClusterClient(conn)
|
||||
|
||||
resp, err := mc.MemberUpdate(context.TODO(), &pb.MemberUpdateRequest{ID: uint64(id), PeerURLs: urls})
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
|
||||
fmt.Printf("Member %16x updated in cluster %16x\n", id, resp.Header.ClusterId)
|
||||
}
|
||||
|
||||
// memberListCommandFunc executes the "member list" command.
|
||||
func memberListCommandFunc(cmd *cobra.Command, args []string) {
|
||||
endpoint, err := cmd.Flags().GetString("endpoint")
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
conn, err := grpc.Dial(endpoint)
|
||||
if err != nil {
|
||||
ExitWithError(ExitBadConnection, err)
|
||||
}
|
||||
mc := pb.NewClusterClient(conn)
|
||||
|
||||
resp, err := mc.MemberList(context.TODO(), &pb.MemberListRequest{})
|
||||
if err != nil {
|
||||
ExitWithError(ExitError, err)
|
||||
}
|
||||
|
||||
// use https://github.com/olekukonko/tablewriter to print out a pretty table?
|
||||
for _, m := range resp.Members {
|
||||
if len(m.Name) == 0 {
|
||||
fmt.Printf("%16x[unstarted]: peerURLs=%s\n", m.ID, strings.Join(m.PeerURLs, ","))
|
||||
} else {
|
||||
fmt.Printf("%16x: name=%s peerURLs=%s clientURLs=%s\n", m.ID, m.Name, strings.Join(m.PeerURLs, ","), strings.Join(m.ClientURLs, ","))
|
||||
}
|
||||
}
|
||||
}
|
@ -52,6 +52,7 @@ func init() {
|
||||
command.NewWatchCommand(),
|
||||
command.NewVersionCommand(),
|
||||
command.NewLeaseCommand(),
|
||||
command.NewMemberCommand(),
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -334,6 +334,7 @@ func startEtcd(cfg *config) (<-chan struct{}, error) {
|
||||
etcdserverpb.RegisterKVServer(grpcServer, v3rpc.NewKVServer(s))
|
||||
etcdserverpb.RegisterWatchServer(grpcServer, v3rpc.NewWatchServer(s))
|
||||
etcdserverpb.RegisterLeaseServer(grpcServer, v3rpc.NewLeaseServer(s))
|
||||
etcdserverpb.RegisterClusterServer(grpcServer, v3rpc.NewClusterServer(s))
|
||||
go func() { plog.Fatal(grpcServer.Serve(v3l)) }()
|
||||
}
|
||||
|
||||
|
@ -26,4 +26,9 @@ var (
|
||||
ErrCompacted = grpc.Errorf(codes.OutOfRange, storage.ErrCompacted.Error())
|
||||
ErrFutureRev = grpc.Errorf(codes.OutOfRange, storage.ErrFutureRev.Error())
|
||||
ErrLeaseNotFound = grpc.Errorf(codes.NotFound, "requested lease not found")
|
||||
|
||||
ErrMemberExist = grpc.Errorf(codes.FailedPrecondition, "member ID already exist")
|
||||
ErrPeerURLExist = grpc.Errorf(codes.FailedPrecondition, "Peer URLs already exists")
|
||||
ErrMemberBadURLs = grpc.Errorf(codes.InvalidArgument, "given member URLs are invalid")
|
||||
ErrMemberNotFound = grpc.Errorf(codes.NotFound, "member not found")
|
||||
)
|
||||
|
116
etcdserver/api/v3rpc/member.go
Normal file
116
etcdserver/api/v3rpc/member.go
Normal file
@ -0,0 +1,116 @@
|
||||
// Copyright 2016 CoreOS, Inc.
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package v3rpc
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/golang.org/x/net/context"
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc"
|
||||
"github.com/coreos/etcd/Godeps/_workspace/src/google.golang.org/grpc/codes"
|
||||
"github.com/coreos/etcd/etcdserver"
|
||||
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
|
||||
"github.com/coreos/etcd/pkg/types"
|
||||
)
|
||||
|
||||
type ClusterServer struct {
|
||||
cluster etcdserver.Cluster
|
||||
server etcdserver.Server
|
||||
raftTimer etcdserver.RaftTimer
|
||||
}
|
||||
|
||||
func NewClusterServer(s *etcdserver.EtcdServer) *ClusterServer {
|
||||
return &ClusterServer{
|
||||
cluster: s.Cluster(),
|
||||
server: s,
|
||||
raftTimer: s,
|
||||
}
|
||||
}
|
||||
|
||||
func (cs *ClusterServer) MemberAdd(ctx context.Context, r *pb.MemberAddRequest) (*pb.MemberAddResponse, error) {
|
||||
urls, err := types.NewURLs(r.PeerURLs)
|
||||
if err != nil {
|
||||
return nil, ErrMemberBadURLs
|
||||
}
|
||||
|
||||
now := time.Now()
|
||||
m := etcdserver.NewMember("", urls, "", &now)
|
||||
err = cs.server.AddMember(ctx, *m)
|
||||
switch {
|
||||
case err == etcdserver.ErrIDExists:
|
||||
return nil, ErrMemberExist
|
||||
case err == etcdserver.ErrPeerURLexists:
|
||||
return nil, ErrPeerURLExist
|
||||
case err != nil:
|
||||
return nil, grpc.Errorf(codes.Unknown, err.Error())
|
||||
}
|
||||
|
||||
return &pb.MemberAddResponse{
|
||||
Header: cs.header(),
|
||||
Member: &pb.Member{ID: uint64(m.ID), PeerURLs: m.PeerURLs},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (cs *ClusterServer) MemberRemove(ctx context.Context, r *pb.MemberRemoveRequest) (*pb.MemberRemoveResponse, error) {
|
||||
err := cs.server.RemoveMember(ctx, r.ID)
|
||||
switch {
|
||||
case err == etcdserver.ErrIDRemoved:
|
||||
fallthrough
|
||||
case err == etcdserver.ErrIDNotFound:
|
||||
return nil, ErrMemberNotFound
|
||||
case err != nil:
|
||||
return nil, grpc.Errorf(codes.Unknown, err.Error())
|
||||
}
|
||||
|
||||
return &pb.MemberRemoveResponse{Header: cs.header()}, nil
|
||||
}
|
||||
|
||||
func (cs *ClusterServer) MemberUpdate(ctx context.Context, r *pb.MemberUpdateRequest) (*pb.MemberUpdateResponse, error) {
|
||||
m := etcdserver.Member{
|
||||
ID: types.ID(r.ID),
|
||||
RaftAttributes: etcdserver.RaftAttributes{PeerURLs: r.PeerURLs},
|
||||
}
|
||||
err := cs.server.UpdateMember(ctx, m)
|
||||
switch {
|
||||
case err == etcdserver.ErrPeerURLexists:
|
||||
return nil, ErrPeerURLExist
|
||||
case err == etcdserver.ErrIDNotFound:
|
||||
return nil, ErrMemberNotFound
|
||||
case err != nil:
|
||||
return nil, grpc.Errorf(codes.Unknown, err.Error())
|
||||
}
|
||||
|
||||
return &pb.MemberUpdateResponse{Header: cs.header()}, nil
|
||||
}
|
||||
|
||||
func (cs *ClusterServer) MemberList(ctx context.Context, r *pb.MemberListRequest) (*pb.MemberListResponse, error) {
|
||||
membs := cs.cluster.Members()
|
||||
|
||||
protoMembs := make([]*pb.Member, len(membs))
|
||||
for i := range membs {
|
||||
protoMembs[i] = &pb.Member{
|
||||
Name: membs[i].Name,
|
||||
ID: uint64(membs[i].ID),
|
||||
PeerURLs: membs[i].PeerURLs,
|
||||
ClientURLs: membs[i].ClientURLs,
|
||||
}
|
||||
}
|
||||
|
||||
return &pb.MemberListResponse{Header: cs.header(), Members: protoMembs}, nil
|
||||
}
|
||||
|
||||
func (cs *ClusterServer) header() *pb.ResponseHeader {
|
||||
return &pb.ResponseHeader{ClusterId: uint64(cs.cluster.ID()), MemberId: uint64(cs.server.ID()), RaftTerm: cs.raftTimer.Term()}
|
||||
}
|
@ -978,119 +978,119 @@ func (m *LeaseKeepAliveResponse) GetHeader() *ResponseHeader {
|
||||
type Member struct {
|
||||
ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
|
||||
// If the member is not started, name will be an empty string.
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Peer_URLs []string `protobuf:"bytes,3,rep,name=peer_URLs" json:"peer_URLs,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
PeerURLs []string `protobuf:"bytes,3,rep,name=peerURLs" json:"peerURLs,omitempty"`
|
||||
// If the member is not started, client_URLs will be an zero length
|
||||
// string array.
|
||||
Client_URLs []string `protobuf:"bytes,4,rep,name=client_URLs" json:"client_URLs,omitempty"`
|
||||
ClientURLs []string `protobuf:"bytes,4,rep,name=clientURLs" json:"clientURLs,omitempty"`
|
||||
}
|
||||
|
||||
func (m *Member) Reset() { *m = Member{} }
|
||||
func (m *Member) String() string { return proto.CompactTextString(m) }
|
||||
func (*Member) ProtoMessage() {}
|
||||
|
||||
type AddMemberRequest struct {
|
||||
Peer_URLs []string `protobuf:"bytes,1,rep,name=peer_URLs" json:"peer_URLs,omitempty"`
|
||||
type MemberAddRequest struct {
|
||||
PeerURLs []string `protobuf:"bytes,1,rep,name=peerURLs" json:"peerURLs,omitempty"`
|
||||
}
|
||||
|
||||
func (m *AddMemberRequest) Reset() { *m = AddMemberRequest{} }
|
||||
func (m *AddMemberRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*AddMemberRequest) ProtoMessage() {}
|
||||
func (m *MemberAddRequest) Reset() { *m = MemberAddRequest{} }
|
||||
func (m *MemberAddRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberAddRequest) ProtoMessage() {}
|
||||
|
||||
type AddMemberResponse struct {
|
||||
type MemberAddResponse struct {
|
||||
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
|
||||
Member *Member `protobuf:"bytes,2,opt,name=member" json:"member,omitempty"`
|
||||
}
|
||||
|
||||
func (m *AddMemberResponse) Reset() { *m = AddMemberResponse{} }
|
||||
func (m *AddMemberResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*AddMemberResponse) ProtoMessage() {}
|
||||
func (m *MemberAddResponse) Reset() { *m = MemberAddResponse{} }
|
||||
func (m *MemberAddResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberAddResponse) ProtoMessage() {}
|
||||
|
||||
func (m *AddMemberResponse) GetHeader() *ResponseHeader {
|
||||
func (m *MemberAddResponse) GetHeader() *ResponseHeader {
|
||||
if m != nil {
|
||||
return m.Header
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *AddMemberResponse) GetMember() *Member {
|
||||
func (m *MemberAddResponse) GetMember() *Member {
|
||||
if m != nil {
|
||||
return m.Member
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type RemoveMemberRequest struct {
|
||||
type MemberRemoveRequest struct {
|
||||
ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
|
||||
}
|
||||
|
||||
func (m *RemoveMemberRequest) Reset() { *m = RemoveMemberRequest{} }
|
||||
func (m *RemoveMemberRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*RemoveMemberRequest) ProtoMessage() {}
|
||||
func (m *MemberRemoveRequest) Reset() { *m = MemberRemoveRequest{} }
|
||||
func (m *MemberRemoveRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberRemoveRequest) ProtoMessage() {}
|
||||
|
||||
type RemoveMemberResponse struct {
|
||||
type MemberRemoveResponse struct {
|
||||
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
|
||||
}
|
||||
|
||||
func (m *RemoveMemberResponse) Reset() { *m = RemoveMemberResponse{} }
|
||||
func (m *RemoveMemberResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*RemoveMemberResponse) ProtoMessage() {}
|
||||
func (m *MemberRemoveResponse) Reset() { *m = MemberRemoveResponse{} }
|
||||
func (m *MemberRemoveResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberRemoveResponse) ProtoMessage() {}
|
||||
|
||||
func (m *RemoveMemberResponse) GetHeader() *ResponseHeader {
|
||||
func (m *MemberRemoveResponse) GetHeader() *ResponseHeader {
|
||||
if m != nil {
|
||||
return m.Header
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type UpdateMemberRequest struct {
|
||||
ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
|
||||
Peer_URLs []string `protobuf:"bytes,2,rep,name=peer_URLs" json:"peer_URLs,omitempty"`
|
||||
type MemberUpdateRequest struct {
|
||||
ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"`
|
||||
PeerURLs []string `protobuf:"bytes,2,rep,name=peerURLs" json:"peerURLs,omitempty"`
|
||||
}
|
||||
|
||||
func (m *UpdateMemberRequest) Reset() { *m = UpdateMemberRequest{} }
|
||||
func (m *UpdateMemberRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*UpdateMemberRequest) ProtoMessage() {}
|
||||
func (m *MemberUpdateRequest) Reset() { *m = MemberUpdateRequest{} }
|
||||
func (m *MemberUpdateRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberUpdateRequest) ProtoMessage() {}
|
||||
|
||||
type UpdateMemberResponse struct {
|
||||
type MemberUpdateResponse struct {
|
||||
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
|
||||
}
|
||||
|
||||
func (m *UpdateMemberResponse) Reset() { *m = UpdateMemberResponse{} }
|
||||
func (m *UpdateMemberResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*UpdateMemberResponse) ProtoMessage() {}
|
||||
func (m *MemberUpdateResponse) Reset() { *m = MemberUpdateResponse{} }
|
||||
func (m *MemberUpdateResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberUpdateResponse) ProtoMessage() {}
|
||||
|
||||
func (m *UpdateMemberResponse) GetHeader() *ResponseHeader {
|
||||
func (m *MemberUpdateResponse) GetHeader() *ResponseHeader {
|
||||
if m != nil {
|
||||
return m.Header
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type ListMemberRequest struct {
|
||||
type MemberListRequest struct {
|
||||
}
|
||||
|
||||
func (m *ListMemberRequest) Reset() { *m = ListMemberRequest{} }
|
||||
func (m *ListMemberRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*ListMemberRequest) ProtoMessage() {}
|
||||
func (m *MemberListRequest) Reset() { *m = MemberListRequest{} }
|
||||
func (m *MemberListRequest) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberListRequest) ProtoMessage() {}
|
||||
|
||||
type ListMemberResponse struct {
|
||||
type MemberListResponse struct {
|
||||
Header *ResponseHeader `protobuf:"bytes,1,opt,name=header" json:"header,omitempty"`
|
||||
Members []*Member `protobuf:"bytes,2,rep,name=members" json:"members,omitempty"`
|
||||
}
|
||||
|
||||
func (m *ListMemberResponse) Reset() { *m = ListMemberResponse{} }
|
||||
func (m *ListMemberResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*ListMemberResponse) ProtoMessage() {}
|
||||
func (m *MemberListResponse) Reset() { *m = MemberListResponse{} }
|
||||
func (m *MemberListResponse) String() string { return proto.CompactTextString(m) }
|
||||
func (*MemberListResponse) ProtoMessage() {}
|
||||
|
||||
func (m *ListMemberResponse) GetHeader() *ResponseHeader {
|
||||
func (m *MemberListResponse) GetHeader() *ResponseHeader {
|
||||
if m != nil {
|
||||
return m.Header
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *ListMemberResponse) GetMembers() []*Member {
|
||||
func (m *MemberListResponse) GetMembers() []*Member {
|
||||
if m != nil {
|
||||
return m.Members
|
||||
}
|
||||
@ -1123,14 +1123,14 @@ func init() {
|
||||
proto.RegisterType((*LeaseKeepAliveRequest)(nil), "etcdserverpb.LeaseKeepAliveRequest")
|
||||
proto.RegisterType((*LeaseKeepAliveResponse)(nil), "etcdserverpb.LeaseKeepAliveResponse")
|
||||
proto.RegisterType((*Member)(nil), "etcdserverpb.Member")
|
||||
proto.RegisterType((*AddMemberRequest)(nil), "etcdserverpb.AddMemberRequest")
|
||||
proto.RegisterType((*AddMemberResponse)(nil), "etcdserverpb.AddMemberResponse")
|
||||
proto.RegisterType((*RemoveMemberRequest)(nil), "etcdserverpb.RemoveMemberRequest")
|
||||
proto.RegisterType((*RemoveMemberResponse)(nil), "etcdserverpb.RemoveMemberResponse")
|
||||
proto.RegisterType((*UpdateMemberRequest)(nil), "etcdserverpb.UpdateMemberRequest")
|
||||
proto.RegisterType((*UpdateMemberResponse)(nil), "etcdserverpb.UpdateMemberResponse")
|
||||
proto.RegisterType((*ListMemberRequest)(nil), "etcdserverpb.ListMemberRequest")
|
||||
proto.RegisterType((*ListMemberResponse)(nil), "etcdserverpb.ListMemberResponse")
|
||||
proto.RegisterType((*MemberAddRequest)(nil), "etcdserverpb.MemberAddRequest")
|
||||
proto.RegisterType((*MemberAddResponse)(nil), "etcdserverpb.MemberAddResponse")
|
||||
proto.RegisterType((*MemberRemoveRequest)(nil), "etcdserverpb.MemberRemoveRequest")
|
||||
proto.RegisterType((*MemberRemoveResponse)(nil), "etcdserverpb.MemberRemoveResponse")
|
||||
proto.RegisterType((*MemberUpdateRequest)(nil), "etcdserverpb.MemberUpdateRequest")
|
||||
proto.RegisterType((*MemberUpdateResponse)(nil), "etcdserverpb.MemberUpdateResponse")
|
||||
proto.RegisterType((*MemberListRequest)(nil), "etcdserverpb.MemberListRequest")
|
||||
proto.RegisterType((*MemberListResponse)(nil), "etcdserverpb.MemberListResponse")
|
||||
proto.RegisterEnum("etcdserverpb.RangeRequest_SortOrder", RangeRequest_SortOrder_name, RangeRequest_SortOrder_value)
|
||||
proto.RegisterEnum("etcdserverpb.RangeRequest_SortTarget", RangeRequest_SortTarget_name, RangeRequest_SortTarget_value)
|
||||
proto.RegisterEnum("etcdserverpb.Compare_CompareResult", Compare_CompareResult_name, Compare_CompareResult_value)
|
||||
@ -1600,14 +1600,14 @@ var _Lease_serviceDesc = grpc.ServiceDesc{
|
||||
// Client API for Cluster service
|
||||
|
||||
type ClusterClient interface {
|
||||
// AddMember adds a member into the cluster.
|
||||
AddMember(ctx context.Context, in *AddMemberRequest, opts ...grpc.CallOption) (*AddMemberResponse, error)
|
||||
// RemoveMember removes an existing member from the cluster.
|
||||
RemoveMember(ctx context.Context, in *RemoveMemberRequest, opts ...grpc.CallOption) (*RemoveMemberResponse, error)
|
||||
// UpdateMember updates the member configuration.
|
||||
UpdateMember(ctx context.Context, in *UpdateMemberRequest, opts ...grpc.CallOption) (*UpdateMemberResponse, error)
|
||||
// ListMember lists all the members in the cluster.
|
||||
ListMember(ctx context.Context, in *ListMemberRequest, opts ...grpc.CallOption) (*ListMemberResponse, error)
|
||||
// MemberAdd adds a member into the cluster.
|
||||
MemberAdd(ctx context.Context, in *MemberAddRequest, opts ...grpc.CallOption) (*MemberAddResponse, error)
|
||||
// MemberRemove removes an existing member from the cluster.
|
||||
MemberRemove(ctx context.Context, in *MemberRemoveRequest, opts ...grpc.CallOption) (*MemberRemoveResponse, error)
|
||||
// MemberUpdate updates the member configuration.
|
||||
MemberUpdate(ctx context.Context, in *MemberUpdateRequest, opts ...grpc.CallOption) (*MemberUpdateResponse, error)
|
||||
// MemberList lists all the members in the cluster.
|
||||
MemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error)
|
||||
}
|
||||
|
||||
type clusterClient struct {
|
||||
@ -1618,36 +1618,36 @@ func NewClusterClient(cc *grpc.ClientConn) ClusterClient {
|
||||
return &clusterClient{cc}
|
||||
}
|
||||
|
||||
func (c *clusterClient) AddMember(ctx context.Context, in *AddMemberRequest, opts ...grpc.CallOption) (*AddMemberResponse, error) {
|
||||
out := new(AddMemberResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/AddMember", in, out, c.cc, opts...)
|
||||
func (c *clusterClient) MemberAdd(ctx context.Context, in *MemberAddRequest, opts ...grpc.CallOption) (*MemberAddResponse, error) {
|
||||
out := new(MemberAddResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberAdd", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clusterClient) RemoveMember(ctx context.Context, in *RemoveMemberRequest, opts ...grpc.CallOption) (*RemoveMemberResponse, error) {
|
||||
out := new(RemoveMemberResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/RemoveMember", in, out, c.cc, opts...)
|
||||
func (c *clusterClient) MemberRemove(ctx context.Context, in *MemberRemoveRequest, opts ...grpc.CallOption) (*MemberRemoveResponse, error) {
|
||||
out := new(MemberRemoveResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberRemove", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clusterClient) UpdateMember(ctx context.Context, in *UpdateMemberRequest, opts ...grpc.CallOption) (*UpdateMemberResponse, error) {
|
||||
out := new(UpdateMemberResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/UpdateMember", in, out, c.cc, opts...)
|
||||
func (c *clusterClient) MemberUpdate(ctx context.Context, in *MemberUpdateRequest, opts ...grpc.CallOption) (*MemberUpdateResponse, error) {
|
||||
out := new(MemberUpdateResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberUpdate", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func (c *clusterClient) ListMember(ctx context.Context, in *ListMemberRequest, opts ...grpc.CallOption) (*ListMemberResponse, error) {
|
||||
out := new(ListMemberResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/ListMember", in, out, c.cc, opts...)
|
||||
func (c *clusterClient) MemberList(ctx context.Context, in *MemberListRequest, opts ...grpc.CallOption) (*MemberListResponse, error) {
|
||||
out := new(MemberListResponse)
|
||||
err := grpc.Invoke(ctx, "/etcdserverpb.Cluster/MemberList", in, out, c.cc, opts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -1657,62 +1657,62 @@ func (c *clusterClient) ListMember(ctx context.Context, in *ListMemberRequest, o
|
||||
// Server API for Cluster service
|
||||
|
||||
type ClusterServer interface {
|
||||
// AddMember adds a member into the cluster.
|
||||
AddMember(context.Context, *AddMemberRequest) (*AddMemberResponse, error)
|
||||
// RemoveMember removes an existing member from the cluster.
|
||||
RemoveMember(context.Context, *RemoveMemberRequest) (*RemoveMemberResponse, error)
|
||||
// UpdateMember updates the member configuration.
|
||||
UpdateMember(context.Context, *UpdateMemberRequest) (*UpdateMemberResponse, error)
|
||||
// ListMember lists all the members in the cluster.
|
||||
ListMember(context.Context, *ListMemberRequest) (*ListMemberResponse, error)
|
||||
// MemberAdd adds a member into the cluster.
|
||||
MemberAdd(context.Context, *MemberAddRequest) (*MemberAddResponse, error)
|
||||
// MemberRemove removes an existing member from the cluster.
|
||||
MemberRemove(context.Context, *MemberRemoveRequest) (*MemberRemoveResponse, error)
|
||||
// MemberUpdate updates the member configuration.
|
||||
MemberUpdate(context.Context, *MemberUpdateRequest) (*MemberUpdateResponse, error)
|
||||
// MemberList lists all the members in the cluster.
|
||||
MemberList(context.Context, *MemberListRequest) (*MemberListResponse, error)
|
||||
}
|
||||
|
||||
func RegisterClusterServer(s *grpc.Server, srv ClusterServer) {
|
||||
s.RegisterService(&_Cluster_serviceDesc, srv)
|
||||
}
|
||||
|
||||
func _Cluster_AddMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(AddMemberRequest)
|
||||
func _Cluster_MemberAdd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(MemberAddRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
out, err := srv.(ClusterServer).AddMember(ctx, in)
|
||||
out, err := srv.(ClusterServer).MemberAdd(ctx, in)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func _Cluster_RemoveMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(RemoveMemberRequest)
|
||||
func _Cluster_MemberRemove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(MemberRemoveRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
out, err := srv.(ClusterServer).RemoveMember(ctx, in)
|
||||
out, err := srv.(ClusterServer).MemberRemove(ctx, in)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func _Cluster_UpdateMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(UpdateMemberRequest)
|
||||
func _Cluster_MemberUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(MemberUpdateRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
out, err := srv.(ClusterServer).UpdateMember(ctx, in)
|
||||
out, err := srv.(ClusterServer).MemberUpdate(ctx, in)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
func _Cluster_ListMember_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(ListMemberRequest)
|
||||
func _Cluster_MemberList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error) (interface{}, error) {
|
||||
in := new(MemberListRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
out, err := srv.(ClusterServer).ListMember(ctx, in)
|
||||
out, err := srv.(ClusterServer).MemberList(ctx, in)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -1724,20 +1724,20 @@ var _Cluster_serviceDesc = grpc.ServiceDesc{
|
||||
HandlerType: (*ClusterServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "AddMember",
|
||||
Handler: _Cluster_AddMember_Handler,
|
||||
MethodName: "MemberAdd",
|
||||
Handler: _Cluster_MemberAdd_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "RemoveMember",
|
||||
Handler: _Cluster_RemoveMember_Handler,
|
||||
MethodName: "MemberRemove",
|
||||
Handler: _Cluster_MemberRemove_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "UpdateMember",
|
||||
Handler: _Cluster_UpdateMember_Handler,
|
||||
MethodName: "MemberUpdate",
|
||||
Handler: _Cluster_MemberUpdate_Handler,
|
||||
},
|
||||
{
|
||||
MethodName: "ListMember",
|
||||
Handler: _Cluster_ListMember_Handler,
|
||||
MethodName: "MemberList",
|
||||
Handler: _Cluster_MemberList_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
@ -2777,8 +2777,8 @@ func (m *Member) MarshalTo(data []byte) (int, error) {
|
||||
i = encodeVarintRpc(data, i, uint64(len(m.Name)))
|
||||
i += copy(data[i:], m.Name)
|
||||
}
|
||||
if len(m.Peer_URLs) > 0 {
|
||||
for _, s := range m.Peer_URLs {
|
||||
if len(m.PeerURLs) > 0 {
|
||||
for _, s := range m.PeerURLs {
|
||||
data[i] = 0x1a
|
||||
i++
|
||||
l = len(s)
|
||||
@ -2792,8 +2792,8 @@ func (m *Member) MarshalTo(data []byte) (int, error) {
|
||||
i += copy(data[i:], s)
|
||||
}
|
||||
}
|
||||
if len(m.Client_URLs) > 0 {
|
||||
for _, s := range m.Client_URLs {
|
||||
if len(m.ClientURLs) > 0 {
|
||||
for _, s := range m.ClientURLs {
|
||||
data[i] = 0x22
|
||||
i++
|
||||
l = len(s)
|
||||
@ -2810,7 +2810,7 @@ func (m *Member) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *AddMemberRequest) Marshal() (data []byte, err error) {
|
||||
func (m *MemberAddRequest) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -2820,13 +2820,13 @@ func (m *AddMemberRequest) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *AddMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberAddRequest) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
_ = l
|
||||
if len(m.Peer_URLs) > 0 {
|
||||
for _, s := range m.Peer_URLs {
|
||||
if len(m.PeerURLs) > 0 {
|
||||
for _, s := range m.PeerURLs {
|
||||
data[i] = 0xa
|
||||
i++
|
||||
l = len(s)
|
||||
@ -2843,7 +2843,7 @@ func (m *AddMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *AddMemberResponse) Marshal() (data []byte, err error) {
|
||||
func (m *MemberAddResponse) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -2853,7 +2853,7 @@ func (m *AddMemberResponse) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *AddMemberResponse) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberAddResponse) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
@ -2881,7 +2881,7 @@ func (m *AddMemberResponse) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *RemoveMemberRequest) Marshal() (data []byte, err error) {
|
||||
func (m *MemberRemoveRequest) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -2891,7 +2891,7 @@ func (m *RemoveMemberRequest) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *RemoveMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberRemoveRequest) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
@ -2904,7 +2904,7 @@ func (m *RemoveMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *RemoveMemberResponse) Marshal() (data []byte, err error) {
|
||||
func (m *MemberRemoveResponse) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -2914,7 +2914,7 @@ func (m *RemoveMemberResponse) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *RemoveMemberResponse) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberRemoveResponse) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
@ -2932,7 +2932,7 @@ func (m *RemoveMemberResponse) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *UpdateMemberRequest) Marshal() (data []byte, err error) {
|
||||
func (m *MemberUpdateRequest) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -2942,7 +2942,7 @@ func (m *UpdateMemberRequest) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *UpdateMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberUpdateRequest) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
@ -2952,8 +2952,8 @@ func (m *UpdateMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
i++
|
||||
i = encodeVarintRpc(data, i, uint64(m.ID))
|
||||
}
|
||||
if len(m.Peer_URLs) > 0 {
|
||||
for _, s := range m.Peer_URLs {
|
||||
if len(m.PeerURLs) > 0 {
|
||||
for _, s := range m.PeerURLs {
|
||||
data[i] = 0x12
|
||||
i++
|
||||
l = len(s)
|
||||
@ -2970,7 +2970,7 @@ func (m *UpdateMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *UpdateMemberResponse) Marshal() (data []byte, err error) {
|
||||
func (m *MemberUpdateResponse) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -2980,7 +2980,7 @@ func (m *UpdateMemberResponse) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *UpdateMemberResponse) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberUpdateResponse) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
@ -2998,7 +2998,7 @@ func (m *UpdateMemberResponse) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *ListMemberRequest) Marshal() (data []byte, err error) {
|
||||
func (m *MemberListRequest) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -3008,7 +3008,7 @@ func (m *ListMemberRequest) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *ListMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberListRequest) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
@ -3016,7 +3016,7 @@ func (m *ListMemberRequest) MarshalTo(data []byte) (int, error) {
|
||||
return i, nil
|
||||
}
|
||||
|
||||
func (m *ListMemberResponse) Marshal() (data []byte, err error) {
|
||||
func (m *MemberListResponse) Marshal() (data []byte, err error) {
|
||||
size := m.Size()
|
||||
data = make([]byte, size)
|
||||
n, err := m.MarshalTo(data)
|
||||
@ -3026,7 +3026,7 @@ func (m *ListMemberResponse) Marshal() (data []byte, err error) {
|
||||
return data[:n], nil
|
||||
}
|
||||
|
||||
func (m *ListMemberResponse) MarshalTo(data []byte) (int, error) {
|
||||
func (m *MemberListResponse) MarshalTo(data []byte) (int, error) {
|
||||
var i int
|
||||
_ = i
|
||||
var l int
|
||||
@ -3562,14 +3562,14 @@ func (m *Member) Size() (n int) {
|
||||
if l > 0 {
|
||||
n += 1 + l + sovRpc(uint64(l))
|
||||
}
|
||||
if len(m.Peer_URLs) > 0 {
|
||||
for _, s := range m.Peer_URLs {
|
||||
if len(m.PeerURLs) > 0 {
|
||||
for _, s := range m.PeerURLs {
|
||||
l = len(s)
|
||||
n += 1 + l + sovRpc(uint64(l))
|
||||
}
|
||||
}
|
||||
if len(m.Client_URLs) > 0 {
|
||||
for _, s := range m.Client_URLs {
|
||||
if len(m.ClientURLs) > 0 {
|
||||
for _, s := range m.ClientURLs {
|
||||
l = len(s)
|
||||
n += 1 + l + sovRpc(uint64(l))
|
||||
}
|
||||
@ -3577,11 +3577,11 @@ func (m *Member) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *AddMemberRequest) Size() (n int) {
|
||||
func (m *MemberAddRequest) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
if len(m.Peer_URLs) > 0 {
|
||||
for _, s := range m.Peer_URLs {
|
||||
if len(m.PeerURLs) > 0 {
|
||||
for _, s := range m.PeerURLs {
|
||||
l = len(s)
|
||||
n += 1 + l + sovRpc(uint64(l))
|
||||
}
|
||||
@ -3589,7 +3589,7 @@ func (m *AddMemberRequest) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *AddMemberResponse) Size() (n int) {
|
||||
func (m *MemberAddResponse) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
if m.Header != nil {
|
||||
@ -3603,7 +3603,7 @@ func (m *AddMemberResponse) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *RemoveMemberRequest) Size() (n int) {
|
||||
func (m *MemberRemoveRequest) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
if m.ID != 0 {
|
||||
@ -3612,7 +3612,7 @@ func (m *RemoveMemberRequest) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *RemoveMemberResponse) Size() (n int) {
|
||||
func (m *MemberRemoveResponse) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
if m.Header != nil {
|
||||
@ -3622,14 +3622,14 @@ func (m *RemoveMemberResponse) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *UpdateMemberRequest) Size() (n int) {
|
||||
func (m *MemberUpdateRequest) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
if m.ID != 0 {
|
||||
n += 1 + sovRpc(uint64(m.ID))
|
||||
}
|
||||
if len(m.Peer_URLs) > 0 {
|
||||
for _, s := range m.Peer_URLs {
|
||||
if len(m.PeerURLs) > 0 {
|
||||
for _, s := range m.PeerURLs {
|
||||
l = len(s)
|
||||
n += 1 + l + sovRpc(uint64(l))
|
||||
}
|
||||
@ -3637,7 +3637,7 @@ func (m *UpdateMemberRequest) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *UpdateMemberResponse) Size() (n int) {
|
||||
func (m *MemberUpdateResponse) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
if m.Header != nil {
|
||||
@ -3647,13 +3647,13 @@ func (m *UpdateMemberResponse) Size() (n int) {
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *ListMemberRequest) Size() (n int) {
|
||||
func (m *MemberListRequest) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
return n
|
||||
}
|
||||
|
||||
func (m *ListMemberResponse) Size() (n int) {
|
||||
func (m *MemberListResponse) Size() (n int) {
|
||||
var l int
|
||||
_ = l
|
||||
if m.Header != nil {
|
||||
@ -6635,7 +6635,7 @@ func (m *Member) Unmarshal(data []byte) error {
|
||||
iNdEx = postIndex
|
||||
case 3:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Peer_URLs", wireType)
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field PeerURLs", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
@ -6660,11 +6660,11 @@ func (m *Member) Unmarshal(data []byte) error {
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Peer_URLs = append(m.Peer_URLs, string(data[iNdEx:postIndex]))
|
||||
m.PeerURLs = append(m.PeerURLs, string(data[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
case 4:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Client_URLs", wireType)
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field ClientURLs", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
@ -6689,7 +6689,7 @@ func (m *Member) Unmarshal(data []byte) error {
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Client_URLs = append(m.Client_URLs, string(data[iNdEx:postIndex]))
|
||||
m.ClientURLs = append(m.ClientURLs, string(data[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
@ -6712,7 +6712,7 @@ func (m *Member) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *AddMemberRequest) Unmarshal(data []byte) error {
|
||||
func (m *MemberAddRequest) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -6735,15 +6735,15 @@ func (m *AddMemberRequest) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: AddMemberRequest: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberAddRequest: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: AddMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberAddRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Peer_URLs", wireType)
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field PeerURLs", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
@ -6768,7 +6768,7 @@ func (m *AddMemberRequest) Unmarshal(data []byte) error {
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Peer_URLs = append(m.Peer_URLs, string(data[iNdEx:postIndex]))
|
||||
m.PeerURLs = append(m.PeerURLs, string(data[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
@ -6791,7 +6791,7 @@ func (m *AddMemberRequest) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *AddMemberResponse) Unmarshal(data []byte) error {
|
||||
func (m *MemberAddResponse) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -6814,10 +6814,10 @@ func (m *AddMemberResponse) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: AddMemberResponse: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberAddResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: AddMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberAddResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
@ -6907,7 +6907,7 @@ func (m *AddMemberResponse) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *RemoveMemberRequest) Unmarshal(data []byte) error {
|
||||
func (m *MemberRemoveRequest) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -6930,10 +6930,10 @@ func (m *RemoveMemberRequest) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: RemoveMemberRequest: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberRemoveRequest: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: RemoveMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberRemoveRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
@ -6976,7 +6976,7 @@ func (m *RemoveMemberRequest) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *RemoveMemberResponse) Unmarshal(data []byte) error {
|
||||
func (m *MemberRemoveResponse) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -6999,10 +6999,10 @@ func (m *RemoveMemberResponse) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: RemoveMemberResponse: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberRemoveResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: RemoveMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberRemoveResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
@ -7059,7 +7059,7 @@ func (m *RemoveMemberResponse) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *UpdateMemberRequest) Unmarshal(data []byte) error {
|
||||
func (m *MemberUpdateRequest) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -7082,10 +7082,10 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: UpdateMemberRequest: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberUpdateRequest: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: UpdateMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberUpdateRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
@ -7109,7 +7109,7 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error {
|
||||
}
|
||||
case 2:
|
||||
if wireType != 2 {
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field Peer_URLs", wireType)
|
||||
return fmt.Errorf("proto: wrong wireType = %d for field PeerURLs", wireType)
|
||||
}
|
||||
var stringLen uint64
|
||||
for shift := uint(0); ; shift += 7 {
|
||||
@ -7134,7 +7134,7 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error {
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.Peer_URLs = append(m.Peer_URLs, string(data[iNdEx:postIndex]))
|
||||
m.PeerURLs = append(m.PeerURLs, string(data[iNdEx:postIndex]))
|
||||
iNdEx = postIndex
|
||||
default:
|
||||
iNdEx = preIndex
|
||||
@ -7157,7 +7157,7 @@ func (m *UpdateMemberRequest) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *UpdateMemberResponse) Unmarshal(data []byte) error {
|
||||
func (m *MemberUpdateResponse) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -7180,10 +7180,10 @@ func (m *UpdateMemberResponse) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: UpdateMemberResponse: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberUpdateResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: UpdateMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberUpdateResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
@ -7240,7 +7240,7 @@ func (m *UpdateMemberResponse) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *ListMemberRequest) Unmarshal(data []byte) error {
|
||||
func (m *MemberListRequest) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -7263,10 +7263,10 @@ func (m *ListMemberRequest) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: ListMemberRequest: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberListRequest: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: ListMemberRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberListRequest: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
default:
|
||||
@ -7290,7 +7290,7 @@ func (m *ListMemberRequest) Unmarshal(data []byte) error {
|
||||
}
|
||||
return nil
|
||||
}
|
||||
func (m *ListMemberResponse) Unmarshal(data []byte) error {
|
||||
func (m *MemberListResponse) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
@ -7313,10 +7313,10 @@ func (m *ListMemberResponse) Unmarshal(data []byte) error {
|
||||
fieldNum := int32(wire >> 3)
|
||||
wireType := int(wire & 0x7)
|
||||
if wireType == 4 {
|
||||
return fmt.Errorf("proto: ListMemberResponse: wiretype end group for non-group")
|
||||
return fmt.Errorf("proto: MemberListResponse: wiretype end group for non-group")
|
||||
}
|
||||
if fieldNum <= 0 {
|
||||
return fmt.Errorf("proto: ListMemberResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
return fmt.Errorf("proto: MemberListResponse: illegal tag %d (wire type %d)", fieldNum, wire)
|
||||
}
|
||||
switch fieldNum {
|
||||
case 1:
|
||||
|
@ -58,17 +58,17 @@ service Lease {
|
||||
}
|
||||
|
||||
service Cluster {
|
||||
// AddMember adds a member into the cluster.
|
||||
rpc AddMember(AddMemberRequest) returns (AddMemberResponse) {}
|
||||
// MemberAdd adds a member into the cluster.
|
||||
rpc MemberAdd(MemberAddRequest) returns (MemberAddResponse) {}
|
||||
|
||||
// RemoveMember removes an existing member from the cluster.
|
||||
rpc RemoveMember(RemoveMemberRequest) returns (RemoveMemberResponse) {}
|
||||
// MemberRemove removes an existing member from the cluster.
|
||||
rpc MemberRemove(MemberRemoveRequest) returns (MemberRemoveResponse) {}
|
||||
|
||||
// UpdateMember updates the member configuration.
|
||||
rpc UpdateMember(UpdateMemberRequest) returns (UpdateMemberResponse) {}
|
||||
// MemberUpdate updates the member configuration.
|
||||
rpc MemberUpdate(MemberUpdateRequest) returns (MemberUpdateResponse) {}
|
||||
|
||||
// ListMember lists all the members in the cluster.
|
||||
rpc ListMember(ListMemberRequest) returns (ListMemberResponse) {}
|
||||
// MemberList lists all the members in the cluster.
|
||||
rpc MemberList(MemberListRequest) returns (MemberListResponse) {}
|
||||
}
|
||||
|
||||
message ResponseHeader {
|
||||
@ -311,42 +311,42 @@ message Member {
|
||||
uint64 ID = 1;
|
||||
// If the member is not started, name will be an empty string.
|
||||
string name = 2;
|
||||
repeated string peer_URLs = 3;
|
||||
repeated string peerURLs = 3;
|
||||
// If the member is not started, client_URLs will be an zero length
|
||||
// string array.
|
||||
repeated string client_URLs = 4;
|
||||
repeated string clientURLs = 4;
|
||||
}
|
||||
|
||||
message AddMemberRequest {
|
||||
repeated string peer_URLs = 1;
|
||||
message MemberAddRequest {
|
||||
repeated string peerURLs = 1;
|
||||
}
|
||||
|
||||
message AddMemberResponse {
|
||||
message MemberAddResponse {
|
||||
ResponseHeader header = 1;
|
||||
Member member = 2;
|
||||
}
|
||||
|
||||
message RemoveMemberRequest {
|
||||
message MemberRemoveRequest {
|
||||
uint64 ID = 1;
|
||||
}
|
||||
|
||||
message RemoveMemberResponse {
|
||||
message MemberRemoveResponse {
|
||||
ResponseHeader header = 1;
|
||||
}
|
||||
|
||||
message UpdateMemberRequest {
|
||||
message MemberUpdateRequest {
|
||||
uint64 ID = 1;
|
||||
repeated string peer_URLs = 2;
|
||||
repeated string peerURLs = 2;
|
||||
}
|
||||
|
||||
message UpdateMemberResponse{
|
||||
message MemberUpdateResponse{
|
||||
ResponseHeader header = 1;
|
||||
}
|
||||
|
||||
message ListMemberRequest {
|
||||
message MemberListRequest {
|
||||
}
|
||||
|
||||
message ListMemberResponse {
|
||||
message MemberListResponse {
|
||||
ResponseHeader header = 1;
|
||||
repeated Member members = 2;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user