Browse Source

etcdserverpb: update proto file for raftInternalRequest

We needs to assign each raftInternalRequest an ID for getting
the response after it goes through raft.

We also needs an empty response for error case.
Xiang Li 10 years ago
parent
commit
600456f4ba

+ 114 - 50
etcdserver/etcdserverpb/raft_internal.pb.go

@@ -17,17 +17,25 @@ var _ = proto.Marshal
 // An InternalRaftRequest is the union of all requests which can be
 // An InternalRaftRequest is the union of all requests which can be
 // sent via raft.
 // sent via raft.
 type InternalRaftRequest struct {
 type InternalRaftRequest struct {
-	V2          *Request            `protobuf:"bytes,1,opt,name=v2" json:"v2,omitempty"`
-	Range       *RangeRequest       `protobuf:"bytes,2,opt,name=range" json:"range,omitempty"`
-	Put         *PutRequest         `protobuf:"bytes,3,opt,name=put" json:"put,omitempty"`
-	DeleteRange *DeleteRangeRequest `protobuf:"bytes,4,opt,name=delete_range" json:"delete_range,omitempty"`
-	Txn         *TxnRequest         `protobuf:"bytes,5,opt,name=txn" json:"txn,omitempty"`
+	ID          uint64              `protobuf:"varint,1,opt,proto3" json:"ID,omitempty"`
+	V2          *Request            `protobuf:"bytes,2,opt,name=v2" json:"v2,omitempty"`
+	Range       *RangeRequest       `protobuf:"bytes,3,opt,name=range" json:"range,omitempty"`
+	Put         *PutRequest         `protobuf:"bytes,4,opt,name=put" json:"put,omitempty"`
+	DeleteRange *DeleteRangeRequest `protobuf:"bytes,5,opt,name=delete_range" json:"delete_range,omitempty"`
+	Txn         *TxnRequest         `protobuf:"bytes,6,opt,name=txn" json:"txn,omitempty"`
 }
 }
 
 
 func (m *InternalRaftRequest) Reset()         { *m = InternalRaftRequest{} }
 func (m *InternalRaftRequest) Reset()         { *m = InternalRaftRequest{} }
 func (m *InternalRaftRequest) String() string { return proto.CompactTextString(m) }
 func (m *InternalRaftRequest) String() string { return proto.CompactTextString(m) }
 func (*InternalRaftRequest) ProtoMessage()    {}
 func (*InternalRaftRequest) ProtoMessage()    {}
 
 
+type EmptyResponse struct {
+}
+
+func (m *EmptyResponse) Reset()         { *m = EmptyResponse{} }
+func (m *EmptyResponse) String() string { return proto.CompactTextString(m) }
+func (*EmptyResponse) ProtoMessage()    {}
+
 func (m *InternalRaftRequest) Marshal() (data []byte, err error) {
 func (m *InternalRaftRequest) Marshal() (data []byte, err error) {
 	size := m.Size()
 	size := m.Size()
 	data = make([]byte, size)
 	data = make([]byte, size)
@@ -43,8 +51,13 @@ func (m *InternalRaftRequest) MarshalTo(data []byte) (int, error) {
 	_ = i
 	_ = i
 	var l int
 	var l int
 	_ = l
 	_ = l
+	if m.ID != 0 {
+		data[i] = 0x8
+		i++
+		i = encodeVarintRaftInternal(data, i, uint64(m.ID))
+	}
 	if m.V2 != nil {
 	if m.V2 != nil {
-		data[i] = 0xa
+		data[i] = 0x12
 		i++
 		i++
 		i = encodeVarintRaftInternal(data, i, uint64(m.V2.Size()))
 		i = encodeVarintRaftInternal(data, i, uint64(m.V2.Size()))
 		n1, err := m.V2.MarshalTo(data[i:])
 		n1, err := m.V2.MarshalTo(data[i:])
@@ -54,7 +67,7 @@ func (m *InternalRaftRequest) MarshalTo(data []byte) (int, error) {
 		i += n1
 		i += n1
 	}
 	}
 	if m.Range != nil {
 	if m.Range != nil {
-		data[i] = 0x12
+		data[i] = 0x1a
 		i++
 		i++
 		i = encodeVarintRaftInternal(data, i, uint64(m.Range.Size()))
 		i = encodeVarintRaftInternal(data, i, uint64(m.Range.Size()))
 		n2, err := m.Range.MarshalTo(data[i:])
 		n2, err := m.Range.MarshalTo(data[i:])
@@ -64,7 +77,7 @@ func (m *InternalRaftRequest) MarshalTo(data []byte) (int, error) {
 		i += n2
 		i += n2
 	}
 	}
 	if m.Put != nil {
 	if m.Put != nil {
-		data[i] = 0x1a
+		data[i] = 0x22
 		i++
 		i++
 		i = encodeVarintRaftInternal(data, i, uint64(m.Put.Size()))
 		i = encodeVarintRaftInternal(data, i, uint64(m.Put.Size()))
 		n3, err := m.Put.MarshalTo(data[i:])
 		n3, err := m.Put.MarshalTo(data[i:])
@@ -74,7 +87,7 @@ func (m *InternalRaftRequest) MarshalTo(data []byte) (int, error) {
 		i += n3
 		i += n3
 	}
 	}
 	if m.DeleteRange != nil {
 	if m.DeleteRange != nil {
-		data[i] = 0x22
+		data[i] = 0x2a
 		i++
 		i++
 		i = encodeVarintRaftInternal(data, i, uint64(m.DeleteRange.Size()))
 		i = encodeVarintRaftInternal(data, i, uint64(m.DeleteRange.Size()))
 		n4, err := m.DeleteRange.MarshalTo(data[i:])
 		n4, err := m.DeleteRange.MarshalTo(data[i:])
@@ -84,7 +97,7 @@ func (m *InternalRaftRequest) MarshalTo(data []byte) (int, error) {
 		i += n4
 		i += n4
 	}
 	}
 	if m.Txn != nil {
 	if m.Txn != nil {
-		data[i] = 0x2a
+		data[i] = 0x32
 		i++
 		i++
 		i = encodeVarintRaftInternal(data, i, uint64(m.Txn.Size()))
 		i = encodeVarintRaftInternal(data, i, uint64(m.Txn.Size()))
 		n5, err := m.Txn.MarshalTo(data[i:])
 		n5, err := m.Txn.MarshalTo(data[i:])
@@ -96,6 +109,24 @@ func (m *InternalRaftRequest) MarshalTo(data []byte) (int, error) {
 	return i, nil
 	return i, nil
 }
 }
 
 
+func (m *EmptyResponse) Marshal() (data []byte, err error) {
+	size := m.Size()
+	data = make([]byte, size)
+	n, err := m.MarshalTo(data)
+	if err != nil {
+		return nil, err
+	}
+	return data[:n], nil
+}
+
+func (m *EmptyResponse) MarshalTo(data []byte) (int, error) {
+	var i int
+	_ = i
+	var l int
+	_ = l
+	return i, nil
+}
+
 func encodeFixed64RaftInternal(data []byte, offset int, v uint64) int {
 func encodeFixed64RaftInternal(data []byte, offset int, v uint64) int {
 	data[offset] = uint8(v)
 	data[offset] = uint8(v)
 	data[offset+1] = uint8(v >> 8)
 	data[offset+1] = uint8(v >> 8)
@@ -126,6 +157,9 @@ func encodeVarintRaftInternal(data []byte, offset int, v uint64) int {
 func (m *InternalRaftRequest) Size() (n int) {
 func (m *InternalRaftRequest) Size() (n int) {
 	var l int
 	var l int
 	_ = l
 	_ = l
+	if m.ID != 0 {
+		n += 1 + sovRaftInternal(uint64(m.ID))
+	}
 	if m.V2 != nil {
 	if m.V2 != nil {
 		l = m.V2.Size()
 		l = m.V2.Size()
 		n += 1 + l + sovRaftInternal(uint64(l))
 		n += 1 + l + sovRaftInternal(uint64(l))
@@ -149,6 +183,12 @@ func (m *InternalRaftRequest) Size() (n int) {
 	return n
 	return n
 }
 }
 
 
+func (m *EmptyResponse) Size() (n int) {
+	var l int
+	_ = l
+	return n
+}
+
 func sovRaftInternal(x uint64) (n int) {
 func sovRaftInternal(x uint64) (n int) {
 	for {
 	for {
 		n++
 		n++
@@ -162,42 +202,6 @@ func sovRaftInternal(x uint64) (n int) {
 func sozRaftInternal(x uint64) (n int) {
 func sozRaftInternal(x uint64) (n int) {
 	return sovRaftInternal(uint64((x << 1) ^ uint64((int64(x) >> 63))))
 	return sovRaftInternal(uint64((x << 1) ^ uint64((int64(x) >> 63))))
 }
 }
-func (this *InternalRaftRequest) GetValue() interface{} {
-	if this.V2 != nil {
-		return this.V2
-	}
-	if this.Range != nil {
-		return this.Range
-	}
-	if this.Put != nil {
-		return this.Put
-	}
-	if this.DeleteRange != nil {
-		return this.DeleteRange
-	}
-	if this.Txn != nil {
-		return this.Txn
-	}
-	return nil
-}
-
-func (this *InternalRaftRequest) SetValue(value interface{}) bool {
-	switch vt := value.(type) {
-	case *Request:
-		this.V2 = vt
-	case *RangeRequest:
-		this.Range = vt
-	case *PutRequest:
-		this.Put = vt
-	case *DeleteRangeRequest:
-		this.DeleteRange = vt
-	case *TxnRequest:
-		this.Txn = vt
-	default:
-		return false
-	}
-	return true
-}
 func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 	l := len(data)
 	l := len(data)
 	iNdEx := 0
 	iNdEx := 0
@@ -218,6 +222,22 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 		wireType := int(wire & 0x7)
 		wireType := int(wire & 0x7)
 		switch fieldNum {
 		switch fieldNum {
 		case 1:
 		case 1:
+			if wireType != 0 {
+				return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
+			}
+			m.ID = 0
+			for shift := uint(0); ; shift += 7 {
+				if iNdEx >= l {
+					return io.ErrUnexpectedEOF
+				}
+				b := data[iNdEx]
+				iNdEx++
+				m.ID |= (uint64(b) & 0x7F) << shift
+				if b < 0x80 {
+					break
+				}
+			}
+		case 2:
 			if wireType != 2 {
 			if wireType != 2 {
 				return fmt.Errorf("proto: wrong wireType = %d for field V2", wireType)
 				return fmt.Errorf("proto: wrong wireType = %d for field V2", wireType)
 			}
 			}
@@ -247,7 +267,7 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 				return err
 				return err
 			}
 			}
 			iNdEx = postIndex
 			iNdEx = postIndex
-		case 2:
+		case 3:
 			if wireType != 2 {
 			if wireType != 2 {
 				return fmt.Errorf("proto: wrong wireType = %d for field Range", wireType)
 				return fmt.Errorf("proto: wrong wireType = %d for field Range", wireType)
 			}
 			}
@@ -277,7 +297,7 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 				return err
 				return err
 			}
 			}
 			iNdEx = postIndex
 			iNdEx = postIndex
-		case 3:
+		case 4:
 			if wireType != 2 {
 			if wireType != 2 {
 				return fmt.Errorf("proto: wrong wireType = %d for field Put", wireType)
 				return fmt.Errorf("proto: wrong wireType = %d for field Put", wireType)
 			}
 			}
@@ -307,7 +327,7 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 				return err
 				return err
 			}
 			}
 			iNdEx = postIndex
 			iNdEx = postIndex
-		case 4:
+		case 5:
 			if wireType != 2 {
 			if wireType != 2 {
 				return fmt.Errorf("proto: wrong wireType = %d for field DeleteRange", wireType)
 				return fmt.Errorf("proto: wrong wireType = %d for field DeleteRange", wireType)
 			}
 			}
@@ -337,7 +357,7 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 				return err
 				return err
 			}
 			}
 			iNdEx = postIndex
 			iNdEx = postIndex
-		case 5:
+		case 6:
 			if wireType != 2 {
 			if wireType != 2 {
 				return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType)
 				return fmt.Errorf("proto: wrong wireType = %d for field Txn", wireType)
 			}
 			}
@@ -393,6 +413,50 @@ func (m *InternalRaftRequest) Unmarshal(data []byte) error {
 
 
 	return nil
 	return nil
 }
 }
+func (m *EmptyResponse) Unmarshal(data []byte) error {
+	l := len(data)
+	iNdEx := 0
+	for iNdEx < l {
+		var wire uint64
+		for shift := uint(0); ; shift += 7 {
+			if iNdEx >= l {
+				return io.ErrUnexpectedEOF
+			}
+			b := data[iNdEx]
+			iNdEx++
+			wire |= (uint64(b) & 0x7F) << shift
+			if b < 0x80 {
+				break
+			}
+		}
+		fieldNum := int32(wire >> 3)
+		switch fieldNum {
+		default:
+			var sizeOfWire int
+			for {
+				sizeOfWire++
+				wire >>= 7
+				if wire == 0 {
+					break
+				}
+			}
+			iNdEx -= sizeOfWire
+			skippy, err := skipRaftInternal(data[iNdEx:])
+			if err != nil {
+				return err
+			}
+			if skippy < 0 {
+				return ErrInvalidLengthRaftInternal
+			}
+			if (iNdEx + skippy) > l {
+				return io.ErrUnexpectedEOF
+			}
+			iNdEx += skippy
+		}
+	}
+
+	return nil
+}
 func skipRaftInternal(data []byte) (n int, err error) {
 func skipRaftInternal(data []byte) (n int, err error) {
 	l := len(data)
 	l := len(data)
 	iNdEx := 0
 	iNdEx := 0

+ 9 - 8
etcdserver/etcdserverpb/raft_internal.proto

@@ -13,12 +13,13 @@ option (gogoproto.goproto_getters_all) = false;
 // An InternalRaftRequest is the union of all requests which can be
 // An InternalRaftRequest is the union of all requests which can be
 // sent via raft.
 // sent via raft.
 message InternalRaftRequest {
 message InternalRaftRequest {
-  option (gogoproto.onlyone) = true;
-  oneof value {
-    Request v2 = 1;
-    RangeRequest range = 2;
-    PutRequest put = 3;
-    DeleteRangeRequest delete_range = 4;
-    TxnRequest txn = 5;
-  }
+  uint64 ID = 1;
+  Request v2 = 2;
+  RangeRequest range = 3;
+  PutRequest put = 4;
+  DeleteRangeRequest delete_range = 5;
+  TxnRequest txn = 6;
+}
+
+message EmptyResponse {
 }
 }