2018-11-28 18:25:20 -08:00
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
2019-02-27 21:46:29 -08:00
|
|
|
// source: pb2/test.proto
|
2018-11-28 18:25:20 -08:00
|
|
|
|
|
|
|
package pb2
|
|
|
|
|
|
|
|
import (
|
2018-12-13 14:19:50 -08:00
|
|
|
protoreflect "github.com/golang/protobuf/v2/reflect/protoreflect"
|
2019-03-25 14:41:32 -07:00
|
|
|
protoregistry "github.com/golang/protobuf/v2/reflect/protoregistry"
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
protoiface "github.com/golang/protobuf/v2/runtime/protoiface"
|
2018-12-13 14:19:50 -08:00
|
|
|
protoimpl "github.com/golang/protobuf/v2/runtime/protoimpl"
|
2019-02-27 21:46:29 -08:00
|
|
|
known "github.com/golang/protobuf/v2/types/known"
|
2019-03-28 01:13:26 -07:00
|
|
|
sync "sync"
|
2018-11-28 18:25:20 -08:00
|
|
|
)
|
|
|
|
|
2019-03-28 01:13:26 -07:00
|
|
|
const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
|
|
|
|
|
2018-11-28 18:25:20 -08:00
|
|
|
type Enum int32
|
|
|
|
|
|
|
|
const (
|
2019-02-13 14:13:21 -08:00
|
|
|
Enum_ONE Enum = 1
|
|
|
|
Enum_TWO Enum = 2
|
|
|
|
Enum_TEN Enum = 10
|
2018-11-28 18:25:20 -08:00
|
|
|
)
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Enum.Type.Values instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
var Enum_name = map[int32]string{
|
2019-02-13 14:13:21 -08:00
|
|
|
1: "ONE",
|
|
|
|
2: "TWO",
|
|
|
|
10: "TEN",
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Enum.Type.Values instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
var Enum_value = map[string]int32{
|
2019-02-13 14:13:21 -08:00
|
|
|
"ONE": 1,
|
|
|
|
"TWO": 2,
|
|
|
|
"TEN": 10,
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x Enum) Enum() *Enum {
|
2019-03-16 00:05:34 -07:00
|
|
|
return &x
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x Enum) String() string {
|
2019-03-16 00:05:34 -07:00
|
|
|
return protoimpl.X.EnumStringOf(x.Type(), protoreflect.EnumNumber(x))
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (Enum) Type() protoreflect.EnumType {
|
|
|
|
return xxx_File_pb2_test_proto_enumTypes[0]
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x Enum) Number() protoreflect.EnumNumber {
|
|
|
|
return protoreflect.EnumNumber(x)
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Do not use.
|
|
|
|
func (x *Enum) UnmarshalJSON(b []byte) error {
|
|
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Type(), b)
|
2018-11-28 18:25:20 -08:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
*x = Enum(num)
|
2018-11-28 18:25:20 -08:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Enum.Type instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
func (Enum) EnumDescriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{0}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
type Enums_NestedEnum int32
|
|
|
|
|
|
|
|
const (
|
|
|
|
Enums_UNO Enums_NestedEnum = 1
|
|
|
|
Enums_DOS Enums_NestedEnum = 2
|
|
|
|
Enums_DIEZ Enums_NestedEnum = 10
|
|
|
|
)
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Enums_NestedEnum.Type.Values instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
var Enums_NestedEnum_name = map[int32]string{
|
|
|
|
1: "UNO",
|
|
|
|
2: "DOS",
|
|
|
|
10: "DIEZ",
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Enums_NestedEnum.Type.Values instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
var Enums_NestedEnum_value = map[string]int32{
|
|
|
|
"UNO": 1,
|
|
|
|
"DOS": 2,
|
|
|
|
"DIEZ": 10,
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x Enums_NestedEnum) Enum() *Enums_NestedEnum {
|
2019-03-16 00:05:34 -07:00
|
|
|
return &x
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x Enums_NestedEnum) String() string {
|
2019-03-16 00:05:34 -07:00
|
|
|
return protoimpl.X.EnumStringOf(x.Type(), protoreflect.EnumNumber(x))
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (Enums_NestedEnum) Type() protoreflect.EnumType {
|
|
|
|
return xxx_File_pb2_test_proto_enumTypes[1]
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x Enums_NestedEnum) Number() protoreflect.EnumNumber {
|
|
|
|
return protoreflect.EnumNumber(x)
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Do not use.
|
|
|
|
func (x *Enums_NestedEnum) UnmarshalJSON(b []byte) error {
|
|
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Type(), b)
|
2018-11-28 18:25:20 -08:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
*x = Enums_NestedEnum(num)
|
2018-11-28 18:25:20 -08:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Enums_NestedEnum.Type instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
func (Enums_NestedEnum) EnumDescriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{1, 0}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
// Scalars contains optional scalar fields.
|
|
|
|
type Scalars struct {
|
|
|
|
OptBool *bool `protobuf:"varint,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
|
|
|
|
OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
|
|
|
|
OptInt64 *int64 `protobuf:"varint,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
|
|
|
|
OptUint32 *uint32 `protobuf:"varint,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
|
|
|
|
OptUint64 *uint64 `protobuf:"varint,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
|
|
|
|
OptSint32 *int32 `protobuf:"zigzag32,6,opt,name=opt_sint32,json=optSint32" json:"opt_sint32,omitempty"`
|
|
|
|
OptSint64 *int64 `protobuf:"zigzag64,7,opt,name=opt_sint64,json=optSint64" json:"opt_sint64,omitempty"`
|
|
|
|
OptFixed32 *uint32 `protobuf:"fixed32,8,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
|
|
|
|
OptFixed64 *uint64 `protobuf:"fixed64,9,opt,name=opt_fixed64,json=optFixed64" json:"opt_fixed64,omitempty"`
|
|
|
|
OptSfixed32 *int32 `protobuf:"fixed32,10,opt,name=opt_sfixed32,json=optSfixed32" json:"opt_sfixed32,omitempty"`
|
|
|
|
OptSfixed64 *int64 `protobuf:"fixed64,11,opt,name=opt_sfixed64,json=optSfixed64" json:"opt_sfixed64,omitempty"`
|
|
|
|
OptFloat *float32 `protobuf:"fixed32,20,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
|
|
|
|
OptDouble *float64 `protobuf:"fixed64,21,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
|
|
|
|
OptBytes []byte `protobuf:"bytes,14,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
|
|
|
|
OptString *string `protobuf:"bytes,13,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) Reset() {
|
|
|
|
*x = Scalars{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Scalars) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Scalars) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Scalars) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[0].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Scalars) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[0].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Scalars.ProtoReflect.Type instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
func (*Scalars) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{0}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptBool() bool {
|
|
|
|
if x != nil && x.OptBool != nil {
|
|
|
|
return *x.OptBool
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptInt32() int32 {
|
|
|
|
if x != nil && x.OptInt32 != nil {
|
|
|
|
return *x.OptInt32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptInt64() int64 {
|
|
|
|
if x != nil && x.OptInt64 != nil {
|
|
|
|
return *x.OptInt64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptUint32() uint32 {
|
|
|
|
if x != nil && x.OptUint32 != nil {
|
|
|
|
return *x.OptUint32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptUint64() uint64 {
|
|
|
|
if x != nil && x.OptUint64 != nil {
|
|
|
|
return *x.OptUint64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptSint32() int32 {
|
|
|
|
if x != nil && x.OptSint32 != nil {
|
|
|
|
return *x.OptSint32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptSint64() int64 {
|
|
|
|
if x != nil && x.OptSint64 != nil {
|
|
|
|
return *x.OptSint64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptFixed32() uint32 {
|
|
|
|
if x != nil && x.OptFixed32 != nil {
|
|
|
|
return *x.OptFixed32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptFixed64() uint64 {
|
|
|
|
if x != nil && x.OptFixed64 != nil {
|
|
|
|
return *x.OptFixed64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptSfixed32() int32 {
|
|
|
|
if x != nil && x.OptSfixed32 != nil {
|
|
|
|
return *x.OptSfixed32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptSfixed64() int64 {
|
|
|
|
if x != nil && x.OptSfixed64 != nil {
|
|
|
|
return *x.OptSfixed64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptFloat() float32 {
|
|
|
|
if x != nil && x.OptFloat != nil {
|
|
|
|
return *x.OptFloat
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptDouble() float64 {
|
|
|
|
if x != nil && x.OptDouble != nil {
|
|
|
|
return *x.OptDouble
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptBytes() []byte {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptBytes
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Scalars) GetOptString() string {
|
|
|
|
if x != nil && x.OptString != nil {
|
|
|
|
return *x.OptString
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-02-13 14:13:21 -08:00
|
|
|
// Message contains enum fields.
|
|
|
|
type Enums struct {
|
|
|
|
OptEnum *Enum `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=pb2.Enum" json:"opt_enum,omitempty"`
|
|
|
|
RptEnum []Enum `protobuf:"varint,2,rep,name=rpt_enum,json=rptEnum,enum=pb2.Enum" json:"rpt_enum,omitempty"`
|
|
|
|
OptNestedEnum *Enums_NestedEnum `protobuf:"varint,3,opt,name=opt_nested_enum,json=optNestedEnum,enum=pb2.Enums_NestedEnum" json:"opt_nested_enum,omitempty"`
|
|
|
|
RptNestedEnum []Enums_NestedEnum `protobuf:"varint,4,rep,name=rpt_nested_enum,json=rptNestedEnum,enum=pb2.Enums_NestedEnum" json:"rpt_nested_enum,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Enums) Reset() {
|
|
|
|
*x = Enums{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Enums) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Enums) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Enums) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[1].MessageOf(x)
|
2019-02-13 14:13:21 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Enums) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[1].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Enums.ProtoReflect.Type instead.
|
2019-02-13 14:13:21 -08:00
|
|
|
func (*Enums) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{1}
|
2019-02-13 14:13:21 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Enums) GetOptEnum() Enum {
|
|
|
|
if x != nil && x.OptEnum != nil {
|
|
|
|
return *x.OptEnum
|
2019-02-13 14:13:21 -08:00
|
|
|
}
|
|
|
|
return Enum_ONE
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Enums) GetRptEnum() []Enum {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptEnum
|
2019-02-13 14:13:21 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Enums) GetOptNestedEnum() Enums_NestedEnum {
|
|
|
|
if x != nil && x.OptNestedEnum != nil {
|
|
|
|
return *x.OptNestedEnum
|
2019-02-13 14:13:21 -08:00
|
|
|
}
|
|
|
|
return Enums_UNO
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Enums) GetRptNestedEnum() []Enums_NestedEnum {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptNestedEnum
|
2019-02-13 14:13:21 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2018-11-28 18:25:20 -08:00
|
|
|
// Message contains repeated fields.
|
|
|
|
type Repeats struct {
|
|
|
|
RptBool []bool `protobuf:"varint,1,rep,name=rpt_bool,json=rptBool" json:"rpt_bool,omitempty"`
|
|
|
|
RptInt32 []int32 `protobuf:"varint,2,rep,name=rpt_int32,json=rptInt32" json:"rpt_int32,omitempty"`
|
|
|
|
RptInt64 []int64 `protobuf:"varint,3,rep,name=rpt_int64,json=rptInt64" json:"rpt_int64,omitempty"`
|
|
|
|
RptUint32 []uint32 `protobuf:"varint,4,rep,name=rpt_uint32,json=rptUint32" json:"rpt_uint32,omitempty"`
|
|
|
|
RptUint64 []uint64 `protobuf:"varint,5,rep,name=rpt_uint64,json=rptUint64" json:"rpt_uint64,omitempty"`
|
|
|
|
RptFloat []float32 `protobuf:"fixed32,6,rep,name=rpt_float,json=rptFloat" json:"rpt_float,omitempty"`
|
|
|
|
RptDouble []float64 `protobuf:"fixed64,7,rep,name=rpt_double,json=rptDouble" json:"rpt_double,omitempty"`
|
2019-02-13 14:13:21 -08:00
|
|
|
RptString []string `protobuf:"bytes,8,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
|
|
|
|
RptBytes [][]byte `protobuf:"bytes,9,rep,name=rpt_bytes,json=rptBytes" json:"rpt_bytes,omitempty"`
|
2018-11-28 18:25:20 -08:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) Reset() {
|
|
|
|
*x = Repeats{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Repeats) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Repeats) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Repeats) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[2].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Repeats) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[2].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Repeats.ProtoReflect.Type instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
func (*Repeats) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{2}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptBool() []bool {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptBool
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptInt32() []int32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptInt32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptInt64() []int64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptInt64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptUint32() []uint32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptUint32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptUint64() []uint64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptUint64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptFloat() []float32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptFloat
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptDouble() []float64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptDouble
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptString() []string {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptString
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Repeats) GetRptBytes() [][]byte {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptBytes
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-02-13 14:13:21 -08:00
|
|
|
// Message type used as submessage.
|
|
|
|
type Nested struct {
|
|
|
|
OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
OptNested *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nested) Reset() {
|
|
|
|
*x = Nested{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Nested) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Nested) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Nested) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[3].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Nested) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[3].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Nested.ProtoReflect.Type instead.
|
2019-02-13 14:13:21 -08:00
|
|
|
func (*Nested) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{3}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nested) GetOptString() string {
|
|
|
|
if x != nil && x.OptString != nil {
|
|
|
|
return *x.OptString
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
2019-02-13 14:13:21 -08:00
|
|
|
return ""
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nested) GetOptNested() *Nested {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptNested
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// Message contains message and group fields.
|
|
|
|
type Nests struct {
|
|
|
|
OptNested *Nested `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
|
|
|
|
Optgroup *Nests_OptGroup `protobuf:"group,2,opt,name=OptGroup,json=optgroup" json:"optgroup,omitempty"`
|
2019-02-13 14:13:21 -08:00
|
|
|
RptNested []*Nested `protobuf:"bytes,4,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
|
|
|
|
Rptgroup []*Nests_RptGroup `protobuf:"group,5,rep,name=RptGroup,json=rptgroup" json:"rptgroup,omitempty"`
|
2018-11-28 18:25:20 -08:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests) Reset() {
|
|
|
|
*x = Nests{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Nests) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Nests) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Nests) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[4].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Nests) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[4].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Nests.ProtoReflect.Type instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
func (*Nests) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{4}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests) GetOptNested() *Nested {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptNested
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests) GetOptgroup() *Nests_OptGroup {
|
|
|
|
if x != nil {
|
|
|
|
return x.Optgroup
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests) GetRptNested() []*Nested {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptNested
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests) GetRptgroup() []*Nests_RptGroup {
|
|
|
|
if x != nil {
|
|
|
|
return x.Rptgroup
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// Message contains required fields.
|
|
|
|
type Requireds struct {
|
|
|
|
ReqBool *bool `protobuf:"varint,1,req,name=req_bool,json=reqBool" json:"req_bool,omitempty"`
|
2019-02-13 14:13:21 -08:00
|
|
|
ReqSfixed64 *int64 `protobuf:"fixed64,2,req,name=req_sfixed64,json=reqSfixed64" json:"req_sfixed64,omitempty"`
|
|
|
|
ReqDouble *float64 `protobuf:"fixed64,3,req,name=req_double,json=reqDouble" json:"req_double,omitempty"`
|
|
|
|
ReqString *string `protobuf:"bytes,4,req,name=req_string,json=reqString" json:"req_string,omitempty"`
|
|
|
|
ReqEnum *Enum `protobuf:"varint,5,req,name=req_enum,json=reqEnum,enum=pb2.Enum" json:"req_enum,omitempty"`
|
|
|
|
ReqNested *Nested `protobuf:"bytes,6,req,name=req_nested,json=reqNested" json:"req_nested,omitempty"`
|
2018-11-28 18:25:20 -08:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Requireds) Reset() {
|
|
|
|
*x = Requireds{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Requireds) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Requireds) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Requireds) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[5].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Requireds) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[5].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Requireds.ProtoReflect.Type instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
func (*Requireds) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{5}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Requireds) GetReqBool() bool {
|
|
|
|
if x != nil && x.ReqBool != nil {
|
|
|
|
return *x.ReqBool
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Requireds) GetReqSfixed64() int64 {
|
|
|
|
if x != nil && x.ReqSfixed64 != nil {
|
|
|
|
return *x.ReqSfixed64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Requireds) GetReqDouble() float64 {
|
|
|
|
if x != nil && x.ReqDouble != nil {
|
|
|
|
return *x.ReqDouble
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Requireds) GetReqString() string {
|
|
|
|
if x != nil && x.ReqString != nil {
|
|
|
|
return *x.ReqString
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Requireds) GetReqEnum() Enum {
|
|
|
|
if x != nil && x.ReqEnum != nil {
|
|
|
|
return *x.ReqEnum
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
2019-02-13 14:13:21 -08:00
|
|
|
return Enum_ONE
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Requireds) GetReqNested() *Nested {
|
|
|
|
if x != nil {
|
|
|
|
return x.ReqNested
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2018-12-06 15:28:53 -08:00
|
|
|
// Message contains both required and optional fields.
|
|
|
|
type PartialRequired struct {
|
|
|
|
ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
|
|
|
|
OptString *string `protobuf:"bytes,2,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *PartialRequired) Reset() {
|
|
|
|
*x = PartialRequired{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *PartialRequired) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*PartialRequired) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *PartialRequired) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[6].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *PartialRequired) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[6].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use PartialRequired.ProtoReflect.Type instead.
|
2018-12-06 15:28:53 -08:00
|
|
|
func (*PartialRequired) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{6}
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *PartialRequired) GetReqString() string {
|
|
|
|
if x != nil && x.ReqString != nil {
|
|
|
|
return *x.ReqString
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *PartialRequired) GetOptString() string {
|
|
|
|
if x != nil && x.OptString != nil {
|
|
|
|
return *x.OptString
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
|
|
|
type NestedWithRequired struct {
|
|
|
|
ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *NestedWithRequired) Reset() {
|
|
|
|
*x = NestedWithRequired{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *NestedWithRequired) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*NestedWithRequired) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *NestedWithRequired) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[7].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *NestedWithRequired) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[7].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use NestedWithRequired.ProtoReflect.Type instead.
|
2018-12-06 15:28:53 -08:00
|
|
|
func (*NestedWithRequired) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{7}
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *NestedWithRequired) GetReqString() string {
|
|
|
|
if x != nil && x.ReqString != nil {
|
|
|
|
return *x.ReqString
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
|
|
|
type IndirectRequired struct {
|
2019-02-13 14:13:21 -08:00
|
|
|
OptNested *NestedWithRequired `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
|
|
|
|
RptNested []*NestedWithRequired `protobuf:"bytes,2,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"`
|
|
|
|
StrToNested map[string]*NestedWithRequired `protobuf:"bytes,3,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
|
|
// Types that are valid to be assigned to Union:
|
|
|
|
// *IndirectRequired_OneofNested
|
|
|
|
Union isIndirectRequired_Union `protobuf_oneof:"union"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *IndirectRequired) Reset() {
|
|
|
|
*x = IndirectRequired{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *IndirectRequired) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*IndirectRequired) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *IndirectRequired) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[8].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *IndirectRequired) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[8].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use IndirectRequired.ProtoReflect.Type instead.
|
2018-12-06 15:28:53 -08:00
|
|
|
func (*IndirectRequired) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{8}
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *IndirectRequired) GetOptNested() *NestedWithRequired {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptNested
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *IndirectRequired) GetRptNested() []*NestedWithRequired {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptNested
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *IndirectRequired) GetStrToNested() map[string]*NestedWithRequired {
|
|
|
|
if x != nil {
|
|
|
|
return x.StrToNested
|
2018-12-06 15:28:53 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-02-13 14:13:21 -08:00
|
|
|
func (m *IndirectRequired) GetUnion() isIndirectRequired_Union {
|
|
|
|
if m != nil {
|
|
|
|
return m.Union
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *IndirectRequired) GetOneofNested() *NestedWithRequired {
|
|
|
|
if x, ok := x.GetUnion().(*IndirectRequired_OneofNested); ok {
|
2019-02-13 14:13:21 -08:00
|
|
|
return x.OneofNested
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// XXX_OneofWrappers is for the internal use of the proto package.
|
|
|
|
func (*IndirectRequired) XXX_OneofWrappers() []interface{} {
|
|
|
|
return []interface{}{
|
|
|
|
(*IndirectRequired_OneofNested)(nil),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-04-08 14:03:15 -07:00
|
|
|
type isIndirectRequired_Union interface {
|
|
|
|
isIndirectRequired_Union()
|
|
|
|
}
|
|
|
|
|
|
|
|
type IndirectRequired_OneofNested struct {
|
|
|
|
OneofNested *NestedWithRequired `protobuf:"bytes,4,opt,name=oneof_nested,json=oneofNested,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*IndirectRequired_OneofNested) isIndirectRequired_Union() {}
|
|
|
|
|
2018-12-17 17:13:07 -08:00
|
|
|
type Extensions struct {
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
OptBool *bool `protobuf:"varint,101,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
|
|
|
|
OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_InternalExtensions protoimpl.ExtensionFieldsV1 `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Extensions) Reset() {
|
|
|
|
*x = Extensions{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Extensions) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Extensions) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Extensions) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[9].MessageOf(x)
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Extensions) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[9].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Extensions.ProtoReflect.Type instead.
|
2018-12-17 17:13:07 -08:00
|
|
|
func (*Extensions) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{9}
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
var extRange_Extensions = []protoiface.ExtensionRangeV1{
|
2018-12-17 17:13:07 -08:00
|
|
|
{Start: 20, End: 100},
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Extensions.ProtoReflect.Type.ExtensionRanges instead.
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
func (*Extensions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 {
|
2018-12-17 17:13:07 -08:00
|
|
|
return extRange_Extensions
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Extensions) GetOptString() string {
|
|
|
|
if x != nil && x.OptString != nil {
|
|
|
|
return *x.OptString
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Extensions) GetOptBool() bool {
|
|
|
|
if x != nil && x.OptBool != nil {
|
|
|
|
return *x.OptBool
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Extensions) GetOptInt32() int32 {
|
|
|
|
if x != nil && x.OptInt32 != nil {
|
|
|
|
return *x.OptInt32
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
type ExtensionsContainer struct {
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *ExtensionsContainer) Reset() {
|
|
|
|
*x = ExtensionsContainer{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *ExtensionsContainer) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*ExtensionsContainer) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *ExtensionsContainer) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[10].MessageOf(x)
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *ExtensionsContainer) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[10].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use ExtensionsContainer.ProtoReflect.Type instead.
|
2018-12-17 17:13:07 -08:00
|
|
|
func (*ExtensionsContainer) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{10}
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
type MessageSet struct {
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_InternalExtensions protoimpl.ExtensionFieldsV1 `protobuf_messageset:"1" json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *MessageSet) Reset() {
|
|
|
|
*x = MessageSet{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *MessageSet) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*MessageSet) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *MessageSet) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[11].MessageOf(x)
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *MessageSet) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[11].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use MessageSet.ProtoReflect.Type instead.
|
2018-12-17 17:13:07 -08:00
|
|
|
func (*MessageSet) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{11}
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
var extRange_MessageSet = []protoiface.ExtensionRangeV1{
|
2018-12-17 17:13:07 -08:00
|
|
|
{Start: 4, End: 2147483646},
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use MessageSet.ProtoReflect.Type.ExtensionRanges instead.
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
func (*MessageSet) ExtensionRangeArray() []protoiface.ExtensionRangeV1 {
|
2018-12-17 17:13:07 -08:00
|
|
|
return extRange_MessageSet
|
|
|
|
}
|
|
|
|
|
|
|
|
type MessageSetExtension struct {
|
|
|
|
OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *MessageSetExtension) Reset() {
|
|
|
|
*x = MessageSetExtension{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *MessageSetExtension) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*MessageSetExtension) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *MessageSetExtension) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[12].MessageOf(x)
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *MessageSetExtension) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[12].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use MessageSetExtension.ProtoReflect.Type instead.
|
2018-12-17 17:13:07 -08:00
|
|
|
func (*MessageSetExtension) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{12}
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *MessageSetExtension) GetOptString() string {
|
|
|
|
if x != nil && x.OptString != nil {
|
|
|
|
return *x.OptString
|
2018-12-17 17:13:07 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-01-07 18:56:57 -08:00
|
|
|
type FakeMessageSet struct {
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_InternalExtensions protoimpl.ExtensionFieldsV1 `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
2019-01-07 18:56:57 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *FakeMessageSet) Reset() {
|
|
|
|
*x = FakeMessageSet{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *FakeMessageSet) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*FakeMessageSet) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *FakeMessageSet) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[13].MessageOf(x)
|
2019-01-07 18:56:57 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *FakeMessageSet) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[13].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use FakeMessageSet.ProtoReflect.Type instead.
|
2019-01-07 18:56:57 -08:00
|
|
|
func (*FakeMessageSet) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{13}
|
2019-01-07 18:56:57 -08:00
|
|
|
}
|
|
|
|
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
var extRange_FakeMessageSet = []protoiface.ExtensionRangeV1{
|
2019-01-07 18:56:57 -08:00
|
|
|
{Start: 4, End: 536870911},
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use FakeMessageSet.ProtoReflect.Type.ExtensionRanges instead.
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
func (*FakeMessageSet) ExtensionRangeArray() []protoiface.ExtensionRangeV1 {
|
2019-01-07 18:56:57 -08:00
|
|
|
return extRange_FakeMessageSet
|
|
|
|
}
|
|
|
|
|
|
|
|
type FakeMessageSetExtension struct {
|
|
|
|
OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *FakeMessageSetExtension) Reset() {
|
|
|
|
*x = FakeMessageSetExtension{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *FakeMessageSetExtension) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*FakeMessageSetExtension) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *FakeMessageSetExtension) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[14].MessageOf(x)
|
2019-01-07 18:56:57 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *FakeMessageSetExtension) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[14].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use FakeMessageSetExtension.ProtoReflect.Type instead.
|
2019-01-07 18:56:57 -08:00
|
|
|
func (*FakeMessageSetExtension) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{14}
|
2019-01-07 18:56:57 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *FakeMessageSetExtension) GetOptString() string {
|
|
|
|
if x != nil && x.OptString != nil {
|
|
|
|
return *x.OptString
|
2019-01-07 18:56:57 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2018-11-28 18:25:20 -08:00
|
|
|
// Message contains well-known type fields.
|
|
|
|
type KnownTypes struct {
|
2019-02-27 21:46:29 -08:00
|
|
|
OptBool *known.BoolValue `protobuf:"bytes,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"`
|
|
|
|
OptInt32 *known.Int32Value `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"`
|
|
|
|
OptInt64 *known.Int64Value `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"`
|
|
|
|
OptUint32 *known.UInt32Value `protobuf:"bytes,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"`
|
|
|
|
OptUint64 *known.UInt64Value `protobuf:"bytes,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"`
|
|
|
|
OptFloat *known.FloatValue `protobuf:"bytes,6,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"`
|
|
|
|
OptDouble *known.DoubleValue `protobuf:"bytes,7,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"`
|
|
|
|
OptString *known.StringValue `protobuf:"bytes,8,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
OptBytes *known.BytesValue `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"`
|
|
|
|
OptDuration *known.Duration `protobuf:"bytes,20,opt,name=opt_duration,json=optDuration" json:"opt_duration,omitempty"`
|
|
|
|
OptTimestamp *known.Timestamp `protobuf:"bytes,21,opt,name=opt_timestamp,json=optTimestamp" json:"opt_timestamp,omitempty"`
|
|
|
|
OptStruct *known.Struct `protobuf:"bytes,25,opt,name=opt_struct,json=optStruct" json:"opt_struct,omitempty"`
|
|
|
|
OptList *known.ListValue `protobuf:"bytes,26,opt,name=opt_list,json=optList" json:"opt_list,omitempty"`
|
|
|
|
OptValue *known.Value `protobuf:"bytes,27,opt,name=opt_value,json=optValue" json:"opt_value,omitempty"`
|
2019-03-29 15:42:20 -07:00
|
|
|
OptNull *known.NullValue `protobuf:"varint,28,opt,name=opt_null,json=optNull,enum=google.protobuf.NullValue" json:"opt_null,omitempty"`
|
2019-02-27 21:46:29 -08:00
|
|
|
OptEmpty *known.Empty `protobuf:"bytes,30,opt,name=opt_empty,json=optEmpty" json:"opt_empty,omitempty"`
|
|
|
|
OptAny *known.Any `protobuf:"bytes,32,opt,name=opt_any,json=optAny" json:"opt_any,omitempty"`
|
2019-03-18 19:06:15 -07:00
|
|
|
OptFieldmask *known.FieldMask `protobuf:"bytes,40,opt,name=opt_fieldmask,json=optFieldmask" json:"opt_fieldmask,omitempty"`
|
2019-02-27 21:46:29 -08:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) Reset() {
|
|
|
|
*x = KnownTypes{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *KnownTypes) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*KnownTypes) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *KnownTypes) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[15].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *KnownTypes) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[15].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use KnownTypes.ProtoReflect.Type instead.
|
2018-11-28 18:25:20 -08:00
|
|
|
func (*KnownTypes) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{15}
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptBool() *known.BoolValue {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptBool
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptInt32() *known.Int32Value {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptInt32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptInt64() *known.Int64Value {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptInt64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptUint32() *known.UInt32Value {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptUint32
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptUint64() *known.UInt64Value {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptUint64
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptFloat() *known.FloatValue {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptFloat
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptDouble() *known.DoubleValue {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptDouble
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptString() *known.StringValue {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptString
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptBytes() *known.BytesValue {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptBytes
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptDuration() *known.Duration {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptDuration
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptTimestamp() *known.Timestamp {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptTimestamp
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptStruct() *known.Struct {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptStruct
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptList() *known.ListValue {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptList
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptValue() *known.Value {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptValue
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-03-29 15:42:20 -07:00
|
|
|
func (x *KnownTypes) GetOptNull() known.NullValue {
|
|
|
|
if x != nil && x.OptNull != nil {
|
|
|
|
return *x.OptNull
|
|
|
|
}
|
|
|
|
return known.NullValue_NULL_VALUE
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptEmpty() *known.Empty {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptEmpty
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptAny() *known.Any {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptAny
|
2018-11-28 18:25:20 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *KnownTypes) GetOptFieldmask() *known.FieldMask {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptFieldmask
|
2019-03-18 19:06:15 -07:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2018-12-13 14:19:50 -08:00
|
|
|
type Nests_OptGroup struct {
|
2019-02-13 14:13:21 -08:00
|
|
|
OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"`
|
|
|
|
OptNested *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"`
|
|
|
|
Optnestedgroup *Nests_OptGroup_OptNestedGroup `protobuf:"group,3,opt,name=OptNestedGroup,json=optnestedgroup" json:"optnestedgroup,omitempty"`
|
2018-12-13 14:19:50 -08:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_OptGroup) Reset() {
|
|
|
|
*x = Nests_OptGroup{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Nests_OptGroup) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Nests_OptGroup) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Nests_OptGroup) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[16].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Nests_OptGroup) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[16].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Nests_OptGroup.ProtoReflect.Type instead.
|
2018-12-13 14:19:50 -08:00
|
|
|
func (*Nests_OptGroup) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{4, 0}
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_OptGroup) GetOptString() string {
|
|
|
|
if x != nil && x.OptString != nil {
|
|
|
|
return *x.OptString
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_OptGroup) GetOptNested() *Nested {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptNested
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_OptGroup) GetOptnestedgroup() *Nests_OptGroup_OptNestedGroup {
|
|
|
|
if x != nil {
|
|
|
|
return x.Optnestedgroup
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type Nests_RptGroup struct {
|
2019-02-13 14:13:21 -08:00
|
|
|
RptString []string `protobuf:"bytes,1,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"`
|
2018-12-13 14:19:50 -08:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_RptGroup) Reset() {
|
|
|
|
*x = Nests_RptGroup{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Nests_RptGroup) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Nests_RptGroup) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Nests_RptGroup) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[17].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Nests_RptGroup) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[17].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Nests_RptGroup.ProtoReflect.Type instead.
|
2018-12-13 14:19:50 -08:00
|
|
|
func (*Nests_RptGroup) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{4, 1}
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_RptGroup) GetRptString() []string {
|
|
|
|
if x != nil {
|
|
|
|
return x.RptString
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type Nests_OptGroup_OptNestedGroup struct {
|
2019-02-13 14:13:21 -08:00
|
|
|
OptFixed32 *uint32 `protobuf:"fixed32,1,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"`
|
2018-12-13 14:19:50 -08:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized []byte `json:"-"`
|
|
|
|
XXX_sizecache int32 `json:"-"`
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_OptGroup_OptNestedGroup) Reset() {
|
|
|
|
*x = Nests_OptGroup_OptNestedGroup{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *Nests_OptGroup_OptNestedGroup) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*Nests_OptGroup_OptNestedGroup) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[18].MessageOf(x)
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *Nests_OptGroup_OptNestedGroup) XXX_Methods() *protoiface.Methods {
|
|
|
|
return xxx_File_pb2_test_proto_messageTypes[18].Methods()
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use Nests_OptGroup_OptNestedGroup.ProtoReflect.Type instead.
|
2018-12-13 14:19:50 -08:00
|
|
|
func (*Nests_OptGroup_OptNestedGroup) Descriptor() ([]byte, []int) {
|
2019-03-28 01:13:26 -07:00
|
|
|
return xxx_File_pb2_test_proto_rawDescGZIP(), []int{4, 0, 0}
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *Nests_OptGroup_OptNestedGroup) GetOptFixed32() uint32 {
|
|
|
|
if x != nil && x.OptFixed32 != nil {
|
|
|
|
return *x.OptFixed32
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
2019-02-13 14:13:21 -08:00
|
|
|
return 0
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|
|
|
|
|
all: move v1 types over to the v2 repository
As a goal, v2 should not depend on v1. As another step towards that end,
we move all the types that used to be in the v1 protoapi package over to v2.
For now, we place MessageV1, ExtensionRangeV1, and ExtensionDescV1
in runtime/protoiface since these are types that generated messages will
probably have to reference forever. An alternative location could be
reflect/protoreflect, but it seems unfortunate to have to dirty the
namespace of that package with these types.
We move ExtensionFieldV1, ExtensionFieldsV1, and ExtensionFieldsOf
to internal/impl, since these are related to the implementation of a
generated message.
Since moving these types from v1 to v2 implies that the v1 protoapi
package is useless, we update all usages of v1 protoapi in the v2
repository to point to the relevant v2 type or functionality.
CL/168538 is the corresponding change to alter v1.
There will be a temporary build failure as it is not possible
to submit CL/168519 and CL/168538 atomically.
Change-Id: Ide4025c1b6af5b7f0696f4b65b988b4d10a50f0b
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168519
Reviewed-by: Herbie Ong <herbie@google.com>
2019-03-20 18:29:32 -07:00
|
|
|
var xxx_File_pb2_test_proto_extDescs = []protoiface.ExtensionDescV1{
|
2019-03-14 16:08:22 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*bool)(nil),
|
|
|
|
Field: 21,
|
|
|
|
Name: "pb2.opt_ext_bool",
|
|
|
|
Tag: "varint,21,opt,name=opt_ext_bool",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*string)(nil),
|
|
|
|
Field: 22,
|
|
|
|
Name: "pb2.opt_ext_string",
|
|
|
|
Tag: "bytes,22,opt,name=opt_ext_string",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*Enum)(nil),
|
|
|
|
Field: 23,
|
|
|
|
Name: "pb2.opt_ext_enum",
|
|
|
|
Tag: "varint,23,opt,name=opt_ext_enum,enum=pb2.Enum",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*Nested)(nil),
|
|
|
|
Field: 24,
|
|
|
|
Name: "pb2.opt_ext_nested",
|
|
|
|
Tag: "bytes,24,opt,name=opt_ext_nested",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
2019-04-03 15:42:41 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*PartialRequired)(nil),
|
|
|
|
Field: 25,
|
|
|
|
Name: "pb2.opt_ext_partial",
|
|
|
|
Tag: "bytes,25,opt,name=opt_ext_partial",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
2019-03-14 16:08:22 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: ([]uint32)(nil),
|
|
|
|
Field: 31,
|
|
|
|
Name: "pb2.rpt_ext_fixed32",
|
|
|
|
Tag: "fixed32,31,rep,name=rpt_ext_fixed32",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: ([]Enum)(nil),
|
|
|
|
Field: 32,
|
|
|
|
Name: "pb2.rpt_ext_enum",
|
|
|
|
Tag: "varint,32,rep,name=rpt_ext_enum,enum=pb2.Enum",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: ([]*Nested)(nil),
|
|
|
|
Field: 33,
|
|
|
|
Name: "pb2.rpt_ext_nested",
|
|
|
|
Tag: "bytes,33,rep,name=rpt_ext_nested",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*MessageSet)(nil),
|
|
|
|
ExtensionType: (*FakeMessageSetExtension)(nil),
|
|
|
|
Field: 50,
|
|
|
|
Name: "pb2.",
|
|
|
|
Tag: "bytes,50,opt,name=message_set_extension",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*bool)(nil),
|
|
|
|
Field: 51,
|
|
|
|
Name: "pb2.ExtensionsContainer.opt_ext_bool",
|
|
|
|
Tag: "varint,51,opt,name=opt_ext_bool",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*string)(nil),
|
|
|
|
Field: 52,
|
|
|
|
Name: "pb2.ExtensionsContainer.opt_ext_string",
|
|
|
|
Tag: "bytes,52,opt,name=opt_ext_string",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*Enum)(nil),
|
|
|
|
Field: 53,
|
|
|
|
Name: "pb2.ExtensionsContainer.opt_ext_enum",
|
|
|
|
Tag: "varint,53,opt,name=opt_ext_enum,enum=pb2.Enum",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*Nested)(nil),
|
|
|
|
Field: 54,
|
|
|
|
Name: "pb2.ExtensionsContainer.opt_ext_nested",
|
|
|
|
Tag: "bytes,54,opt,name=opt_ext_nested",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
2019-04-03 15:42:41 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: (*PartialRequired)(nil),
|
|
|
|
Field: 55,
|
|
|
|
Name: "pb2.ExtensionsContainer.opt_ext_partial",
|
|
|
|
Tag: "bytes,55,opt,name=opt_ext_partial",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
2019-03-14 16:08:22 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: ([]string)(nil),
|
|
|
|
Field: 61,
|
|
|
|
Name: "pb2.ExtensionsContainer.rpt_ext_string",
|
|
|
|
Tag: "bytes,61,rep,name=rpt_ext_string",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: ([]Enum)(nil),
|
|
|
|
Field: 62,
|
|
|
|
Name: "pb2.ExtensionsContainer.rpt_ext_enum",
|
|
|
|
Tag: "varint,62,rep,name=rpt_ext_enum,enum=pb2.Enum",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*Extensions)(nil),
|
|
|
|
ExtensionType: ([]*Nested)(nil),
|
|
|
|
Field: 63,
|
|
|
|
Name: "pb2.ExtensionsContainer.rpt_ext_nested",
|
|
|
|
Tag: "bytes,63,rep,name=rpt_ext_nested",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*MessageSet)(nil),
|
|
|
|
ExtensionType: (*MessageSetExtension)(nil),
|
|
|
|
Field: 10,
|
|
|
|
Name: "pb2.MessageSetExtension",
|
|
|
|
Tag: "bytes,10,opt,name=message_set_extension",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*MessageSet)(nil),
|
|
|
|
ExtensionType: (*MessageSetExtension)(nil),
|
|
|
|
Field: 20,
|
|
|
|
Name: "pb2.MessageSetExtension.not_message_set_extension",
|
|
|
|
Tag: "bytes,20,opt,name=not_message_set_extension",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*MessageSet)(nil),
|
|
|
|
ExtensionType: (*Nested)(nil),
|
|
|
|
Field: 30,
|
|
|
|
Name: "pb2.MessageSetExtension.ext_nested",
|
|
|
|
Tag: "bytes,30,opt,name=ext_nested",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*FakeMessageSet)(nil),
|
|
|
|
ExtensionType: (*FakeMessageSetExtension)(nil),
|
|
|
|
Field: 10,
|
|
|
|
Name: "pb2.FakeMessageSetExtension.message_set_extension",
|
|
|
|
Tag: "bytes,10,opt,name=message_set_extension",
|
|
|
|
Filename: "pb2/test.proto",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
var (
|
|
|
|
// extend pb2.Extensions { optional bool opt_ext_bool = 21; }
|
|
|
|
E_OptExtBool = &xxx_File_pb2_test_proto_extDescs[0]
|
|
|
|
|
|
|
|
// extend pb2.Extensions { optional string opt_ext_string = 22; }
|
|
|
|
E_OptExtString = &xxx_File_pb2_test_proto_extDescs[1]
|
|
|
|
|
|
|
|
// extend pb2.Extensions { optional pb2.Enum opt_ext_enum = 23; }
|
|
|
|
E_OptExtEnum = &xxx_File_pb2_test_proto_extDescs[2]
|
|
|
|
|
|
|
|
// extend pb2.Extensions { optional pb2.Nested opt_ext_nested = 24; }
|
|
|
|
E_OptExtNested = &xxx_File_pb2_test_proto_extDescs[3]
|
|
|
|
|
2019-04-03 15:42:41 -07:00
|
|
|
// extend pb2.Extensions { optional pb2.PartialRequired opt_ext_partial = 25; }
|
|
|
|
E_OptExtPartial = &xxx_File_pb2_test_proto_extDescs[4]
|
|
|
|
|
2019-03-14 16:08:22 -07:00
|
|
|
// extend pb2.Extensions { repeated fixed32 rpt_ext_fixed32 = 31; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_RptExtFixed32 = &xxx_File_pb2_test_proto_extDescs[5]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { repeated pb2.Enum rpt_ext_enum = 32; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_RptExtEnum = &xxx_File_pb2_test_proto_extDescs[6]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { repeated pb2.Nested rpt_ext_nested = 33; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_RptExtNested = &xxx_File_pb2_test_proto_extDescs[7]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.MessageSet { optional pb2.FakeMessageSetExtension message_set_extension = 50; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_MessageSetExtension = &xxx_File_pb2_test_proto_extDescs[8]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { optional bool opt_ext_bool = 51; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_ExtensionsContainer_OptExtBool = &xxx_File_pb2_test_proto_extDescs[9]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { optional string opt_ext_string = 52; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_ExtensionsContainer_OptExtString = &xxx_File_pb2_test_proto_extDescs[10]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { optional pb2.Enum opt_ext_enum = 53; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_ExtensionsContainer_OptExtEnum = &xxx_File_pb2_test_proto_extDescs[11]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { optional pb2.Nested opt_ext_nested = 54; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_ExtensionsContainer_OptExtNested = &xxx_File_pb2_test_proto_extDescs[12]
|
|
|
|
|
|
|
|
// extend pb2.Extensions { optional pb2.PartialRequired opt_ext_partial = 55; }
|
|
|
|
E_ExtensionsContainer_OptExtPartial = &xxx_File_pb2_test_proto_extDescs[13]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { repeated string rpt_ext_string = 61; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_ExtensionsContainer_RptExtString = &xxx_File_pb2_test_proto_extDescs[14]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { repeated pb2.Enum rpt_ext_enum = 62; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_ExtensionsContainer_RptExtEnum = &xxx_File_pb2_test_proto_extDescs[15]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.Extensions { repeated pb2.Nested rpt_ext_nested = 63; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_ExtensionsContainer_RptExtNested = &xxx_File_pb2_test_proto_extDescs[16]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.MessageSet { optional pb2.MessageSetExtension message_set_extension = 10; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_MessageSetExtension_MessageSetExtension = &xxx_File_pb2_test_proto_extDescs[17]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.MessageSet { optional pb2.MessageSetExtension not_message_set_extension = 20; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_MessageSetExtension_NotMessageSetExtension = &xxx_File_pb2_test_proto_extDescs[18]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.MessageSet { optional pb2.Nested ext_nested = 30; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_MessageSetExtension_ExtNested = &xxx_File_pb2_test_proto_extDescs[19]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend pb2.FakeMessageSet { optional pb2.FakeMessageSetExtension message_set_extension = 10; }
|
2019-04-03 15:42:41 -07:00
|
|
|
E_FakeMessageSetExtension_MessageSetExtension = &xxx_File_pb2_test_proto_extDescs[20]
|
2019-03-14 16:08:22 -07:00
|
|
|
)
|
2019-03-28 01:13:26 -07:00
|
|
|
var File_pb2_test_proto protoreflect.FileDescriptor
|
|
|
|
|
|
|
|
var xxx_File_pb2_test_proto_rawDesc = []byte{
|
2019-02-27 21:46:29 -08:00
|
|
|
0x0a, 0x0e, 0x70, 0x62, 0x32, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x12, 0x03, 0x70, 0x62, 0x32, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
2019-03-18 19:06:15 -07:00
|
|
|
0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67,
|
|
|
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66,
|
|
|
|
0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
|
|
|
0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
|
|
0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
|
|
|
|
0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
|
|
|
0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
|
|
|
|
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74,
|
|
|
|
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
|
|
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
|
|
|
|
0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda,
|
|
|
|
0x03, 0x0a, 0x07, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70,
|
|
|
|
0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70,
|
|
|
|
0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74,
|
|
|
|
0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74,
|
|
|
|
0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
|
|
|
|
0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12,
|
|
|
|
0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20,
|
|
|
|
0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d,
|
|
|
|
0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01,
|
|
|
|
0x28, 0x04, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a,
|
|
|
|
0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28,
|
|
|
|
0x11, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a,
|
|
|
|
0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12,
|
|
|
|
0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x6f,
|
|
|
|
0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07,
|
|
|
|
0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1f, 0x0a, 0x0b,
|
|
|
|
0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28,
|
|
|
|
0x06, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x21, 0x0a,
|
|
|
|
0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20,
|
|
|
|
0x01, 0x28, 0x0f, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
|
|
|
|
0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
|
|
|
|
0x18, 0x0b, 0x20, 0x01, 0x28, 0x10, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65,
|
|
|
|
0x64, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
|
|
|
|
0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74,
|
|
|
|
0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15,
|
|
|
|
0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12,
|
|
|
|
0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01,
|
|
|
|
0x28, 0x0c, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
|
|
|
|
0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09,
|
|
|
|
0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xfb, 0x01, 0x0a, 0x05,
|
|
|
|
0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75,
|
|
|
|
0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e,
|
|
|
|
0x75, 0x6d, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x08, 0x72,
|
|
|
|
0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e,
|
|
|
|
0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x72, 0x70, 0x74, 0x45, 0x6e, 0x75,
|
|
|
|
0x6d, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f,
|
|
|
|
0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x32,
|
|
|
|
0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
|
|
|
|
0x6d, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d,
|
|
|
|
0x12, 0x3d, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65,
|
|
|
|
0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x32, 0x2e,
|
|
|
|
0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d,
|
|
|
|
0x52, 0x0d, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22,
|
|
|
|
0x28, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a,
|
|
|
|
0x03, 0x55, 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10, 0x02, 0x12,
|
|
|
|
0x08, 0x0a, 0x04, 0x44, 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0x94, 0x02, 0x0a, 0x07, 0x52, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f,
|
|
|
|
0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, 0x07, 0x72, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c,
|
|
|
|
0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20,
|
|
|
|
0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a,
|
|
|
|
0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03,
|
|
|
|
0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70,
|
|
|
|
0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09,
|
|
|
|
0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74,
|
|
|
|
0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x72,
|
|
|
|
0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f,
|
|
|
|
0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x72, 0x70, 0x74,
|
|
|
|
0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75,
|
|
|
|
0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, 0x72, 0x70, 0x74, 0x44, 0x6f,
|
|
|
|
0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69,
|
|
|
|
0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72,
|
|
|
|
0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
|
|
|
|
0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73,
|
|
|
|
0x22, 0x53, 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70,
|
|
|
|
0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
|
|
|
|
0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
|
|
|
|
0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
|
|
|
|
0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e,
|
|
|
|
0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0xd3, 0x03, 0x0a, 0x05, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x12,
|
|
|
|
0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20,
|
|
|
|
0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
|
|
|
|
0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x6f,
|
|
|
|
0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x13, 0x2e,
|
|
|
|
0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f,
|
|
|
|
0x75, 0x70, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x0a,
|
|
|
|
0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b,
|
|
|
|
0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x72,
|
|
|
|
0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x67,
|
|
|
|
0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x32,
|
|
|
|
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
|
|
|
|
0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0xd4, 0x01, 0x0a, 0x08, 0x4f, 0x70,
|
|
|
|
0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74,
|
|
|
|
0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53,
|
|
|
|
0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73,
|
|
|
|
0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e,
|
|
|
|
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65,
|
|
|
|
0x64, 0x12, 0x4a, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x67, 0x72,
|
|
|
|
0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x22, 0x2e, 0x70, 0x62, 0x32, 0x2e,
|
|
|
|
0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f,
|
|
|
|
0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e, 0x6f,
|
|
|
|
0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x31, 0x0a,
|
|
|
|
0x0e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12,
|
|
|
|
0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x01,
|
|
|
|
0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
|
|
|
|
0x1a, 0x29, 0x0a, 0x08, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a,
|
|
|
|
0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
|
|
|
|
0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x72, 0x65, 0x73,
|
|
|
|
0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x09,
|
|
|
|
0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x71,
|
|
|
|
0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x71,
|
|
|
|
0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x66, 0x69, 0x78,
|
|
|
|
0x65, 0x64, 0x36, 0x34, 0x18, 0x02, 0x20, 0x02, 0x28, 0x10, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x53,
|
|
|
|
0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x64,
|
|
|
|
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x02, 0x28, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71,
|
|
|
|
0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74,
|
|
|
|
0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53,
|
|
|
|
0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x24, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x65, 0x6e, 0x75,
|
|
|
|
0x6d, 0x18, 0x05, 0x20, 0x02, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e,
|
|
|
|
0x75, 0x6d, 0x52, 0x07, 0x72, 0x65, 0x71, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0a, 0x72,
|
|
|
|
0x65, 0x71, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x02, 0x28, 0x0b, 0x32,
|
|
|
|
0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x72, 0x65,
|
|
|
|
0x71, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x4f, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69,
|
|
|
|
0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65,
|
|
|
|
0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09,
|
|
|
|
0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
|
|
|
|
0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f,
|
|
|
|
0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x33, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74,
|
|
|
|
0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d,
|
|
|
|
0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x02,
|
|
|
|
0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xee, 0x02,
|
|
|
|
0x0a, 0x10, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72,
|
|
|
|
0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
|
|
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73,
|
|
|
|
0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52,
|
|
|
|
0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x70,
|
|
|
|
0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17,
|
|
|
|
0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52,
|
|
|
|
0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74,
|
|
|
|
0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73,
|
|
|
|
0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x62, 0x32, 0x2e,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64,
|
2019-03-18 19:06:15 -07:00
|
|
|
0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72,
|
|
|
|
0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3c,
|
|
|
|
0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65,
|
2019-03-18 19:06:15 -07:00
|
|
|
0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52,
|
|
|
|
0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0x57, 0x0a, 0x10,
|
|
|
|
0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
|
|
|
0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
|
|
|
|
0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
|
|
0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69,
|
|
|
|
0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
|
|
0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0x69,
|
|
|
|
0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
|
|
|
|
0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
|
|
|
0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x6f,
|
|
|
|
0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f,
|
|
|
|
0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e,
|
|
|
|
0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e,
|
2019-04-03 15:42:41 -07:00
|
|
|
0x74, 0x33, 0x32, 0x2a, 0x04, 0x08, 0x14, 0x10, 0x65, 0x22, 0x89, 0x04, 0x0a, 0x13, 0x45, 0x78,
|
2019-03-18 19:06:15 -07:00
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
|
|
|
|
0x72, 0x32, 0x31, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f, 0x6f,
|
|
|
|
0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x73, 0x18, 0x33, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74,
|
|
|
|
0x42, 0x6f, 0x6f, 0x6c, 0x32, 0x35, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f,
|
|
|
|
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f,
|
|
|
|
0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x0a, 0x0c, 0x6f,
|
|
|
|
0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62,
|
|
|
|
0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x35, 0x20, 0x01,
|
|
|
|
0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f,
|
|
|
|
0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x42, 0x0a, 0x0e, 0x6f, 0x70, 0x74,
|
|
|
|
0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62,
|
|
|
|
0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x36, 0x20, 0x01,
|
|
|
|
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52,
|
2019-04-03 15:42:41 -07:00
|
|
|
0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x32, 0x4d, 0x0a,
|
|
|
|
0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
|
|
|
|
0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x73, 0x18, 0x37, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x50, 0x61,
|
|
|
|
0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0d, 0x6f,
|
|
|
|
0x70, 0x74, 0x45, 0x78, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x32, 0x35, 0x0a, 0x0e,
|
|
|
|
0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0f,
|
|
|
|
0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
|
|
|
0x3d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72,
|
|
|
|
0x69, 0x6e, 0x67, 0x32, 0x3c, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65,
|
|
|
|
0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32,
|
|
|
|
0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75,
|
|
|
|
0x6d, 0x32, 0x42, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73,
|
|
|
|
0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32,
|
|
|
|
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e,
|
|
|
|
0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
|
|
0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0xff, 0xff, 0xff, 0xff, 0x07, 0x3a, 0x02, 0x08,
|
|
|
|
0x01, 0x22, 0xb6, 0x02, 0x0a, 0x13, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
|
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
|
|
|
|
0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f,
|
|
|
|
0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x5d, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73,
|
|
|
|
0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53,
|
|
|
|
0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d,
|
2019-03-29 15:42:20 -07:00
|
|
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78,
|
2019-04-03 15:42:41 -07:00
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x64, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
|
|
|
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61,
|
|
|
|
0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62,
|
|
|
|
0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
|
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6e, 0x6f, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
|
|
0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x3b, 0x0a,
|
|
|
|
0x0a, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62,
|
|
|
|
0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x1e, 0x20, 0x01,
|
|
|
|
0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52,
|
|
|
|
0x09, 0x65, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0e, 0x46, 0x61,
|
|
|
|
0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04,
|
|
|
|
0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x46, 0x61, 0x6b, 0x65, 0x4d,
|
|
|
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67,
|
|
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e,
|
|
|
|
0x67, 0x32, 0x65, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74,
|
|
|
|
0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x32,
|
|
|
|
0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18,
|
|
|
|
0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65,
|
|
|
|
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9e, 0x08, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f,
|
|
|
|
0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62,
|
|
|
|
0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
|
|
|
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c,
|
|
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x38,
|
|
|
|
0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28,
|
|
|
|
0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08,
|
|
|
|
0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f,
|
|
|
|
0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
|
|
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e,
|
|
|
|
0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74,
|
|
|
|
0x36, 0x34, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
|
|
|
|
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56,
|
|
|
|
0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12,
|
|
|
|
0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20,
|
|
|
|
0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75,
|
|
|
|
0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x38, 0x0a, 0x09,
|
|
|
|
0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
|
|
0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
|
|
0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70,
|
|
|
|
0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f,
|
|
|
|
0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f,
|
|
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75,
|
|
|
|
0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75,
|
|
|
|
0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
|
|
|
|
0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
|
|
|
|
0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
|
|
|
|
0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20,
|
|
|
|
0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65,
|
|
|
|
0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x6f, 0x70,
|
|
|
|
0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b,
|
|
|
|
0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
|
|
|
|
0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x70, 0x74,
|
|
|
|
0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f,
|
|
|
|
0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
|
|
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
|
|
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6f, 0x70, 0x74,
|
|
|
|
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x70, 0x74,
|
|
|
|
0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e,
|
|
|
|
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
|
|
|
0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63,
|
|
|
|
0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1a, 0x20,
|
|
|
|
0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
|
|
|
|
0x07, 0x6f, 0x70, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f,
|
|
|
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f,
|
|
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61,
|
|
|
|
0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x0a,
|
|
|
|
0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x75, 0x6c, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
|
|
|
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
|
|
0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74,
|
|
|
|
0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74,
|
|
|
|
0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52,
|
|
|
|
0x08, 0x6f, 0x70, 0x74, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74,
|
|
|
|
0x5f, 0x61, 0x6e, 0x79, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f,
|
|
|
|
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79,
|
|
|
|
0x52, 0x06, 0x6f, 0x70, 0x74, 0x41, 0x6e, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f,
|
|
|
|
0x66, 0x69, 0x65, 0x6c, 0x64, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
|
|
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
|
|
0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x6f, 0x70, 0x74,
|
|
|
|
0x46, 0x69, 0x65, 0x6c, 0x64, 0x6d, 0x61, 0x73, 0x6b, 0x2a, 0x21, 0x0a, 0x04, 0x45, 0x6e, 0x75,
|
|
|
|
0x6d, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57,
|
|
|
|
0x4f, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x45, 0x4e, 0x10, 0x0a, 0x3a, 0x31, 0x0a, 0x0c,
|
|
|
|
0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x0f, 0x2e, 0x70,
|
|
|
|
0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20,
|
|
|
|
0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x3a,
|
|
|
|
0x35, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e,
|
|
|
|
0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74,
|
|
|
|
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78,
|
|
|
|
0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e,
|
|
|
|
0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74,
|
|
|
|
0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x42, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f,
|
|
|
|
0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e,
|
|
|
|
0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45,
|
|
|
|
0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x3a, 0x4d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f,
|
|
|
|
0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62,
|
|
|
|
0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01,
|
|
|
|
0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c,
|
|
|
|
0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74,
|
|
|
|
0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x3a, 0x37, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f, 0x65,
|
|
|
|
0x78, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32,
|
|
|
|
0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28,
|
|
|
|
0x07, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
|
|
|
|
0x3a, 0x3c, 0x0a, 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
|
|
|
|
0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e,
|
|
|
|
0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x42,
|
|
|
|
0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
|
|
|
|
0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65,
|
|
|
|
0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74,
|
|
|
|
0x65, 0x64, 0x3a, 0x61, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65,
|
|
|
|
0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62,
|
|
|
|
0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x32, 0x20, 0x01,
|
|
|
|
0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73,
|
|
|
|
0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65,
|
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
|
|
|
|
0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x62, 0x75, 0x66, 0x2f, 0x76, 0x32, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2f,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x70, 0x62, 0x32,
|
2019-02-27 21:46:29 -08:00
|
|
|
}
|
|
|
|
|
2019-03-28 01:13:26 -07:00
|
|
|
var (
|
|
|
|
xxx_File_pb2_test_proto_rawDesc_once sync.Once
|
|
|
|
xxx_File_pb2_test_proto_rawDesc_data = xxx_File_pb2_test_proto_rawDesc
|
|
|
|
)
|
2018-12-13 14:19:50 -08:00
|
|
|
|
2019-03-28 01:13:26 -07:00
|
|
|
func xxx_File_pb2_test_proto_rawDescGZIP() []byte {
|
|
|
|
xxx_File_pb2_test_proto_rawDesc_once.Do(func() {
|
|
|
|
xxx_File_pb2_test_proto_rawDesc_data = protoimpl.X.CompressGZIP(xxx_File_pb2_test_proto_rawDesc_data)
|
|
|
|
})
|
|
|
|
return xxx_File_pb2_test_proto_rawDesc_data
|
|
|
|
}
|
2018-12-13 14:19:50 -08:00
|
|
|
|
2019-03-01 13:22:30 -08:00
|
|
|
var xxx_File_pb2_test_proto_enumTypes = make([]protoreflect.EnumType, 2)
|
|
|
|
var xxx_File_pb2_test_proto_messageTypes = make([]protoimpl.MessageType, 20)
|
2019-02-27 21:46:29 -08:00
|
|
|
var xxx_File_pb2_test_proto_goTypes = []interface{}{
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
(Enum)(0), // 0: pb2.Enum
|
|
|
|
(Enums_NestedEnum)(0), // 1: pb2.Enums.NestedEnum
|
|
|
|
(*Scalars)(nil), // 2: pb2.Scalars
|
2019-02-13 14:13:21 -08:00
|
|
|
(*Enums)(nil), // 3: pb2.Enums
|
|
|
|
(*Repeats)(nil), // 4: pb2.Repeats
|
|
|
|
(*Nested)(nil), // 5: pb2.Nested
|
|
|
|
(*Nests)(nil), // 6: pb2.Nests
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
(*Requireds)(nil), // 7: pb2.Requireds
|
|
|
|
(*PartialRequired)(nil), // 8: pb2.PartialRequired
|
2019-02-13 14:13:21 -08:00
|
|
|
(*NestedWithRequired)(nil), // 9: pb2.NestedWithRequired
|
|
|
|
(*IndirectRequired)(nil), // 10: pb2.IndirectRequired
|
|
|
|
(*Extensions)(nil), // 11: pb2.Extensions
|
|
|
|
(*ExtensionsContainer)(nil), // 12: pb2.ExtensionsContainer
|
|
|
|
(*MessageSet)(nil), // 13: pb2.MessageSet
|
|
|
|
(*MessageSetExtension)(nil), // 14: pb2.MessageSetExtension
|
|
|
|
(*FakeMessageSet)(nil), // 15: pb2.FakeMessageSet
|
|
|
|
(*FakeMessageSetExtension)(nil), // 16: pb2.FakeMessageSetExtension
|
|
|
|
(*KnownTypes)(nil), // 17: pb2.KnownTypes
|
|
|
|
(*Nests_OptGroup)(nil), // 18: pb2.Nests.OptGroup
|
|
|
|
(*Nests_RptGroup)(nil), // 19: pb2.Nests.RptGroup
|
|
|
|
(*Nests_OptGroup_OptNestedGroup)(nil), // 20: pb2.Nests.OptGroup.OptNestedGroup
|
|
|
|
nil, // 21: pb2.IndirectRequired.StrToNestedEntry
|
2019-02-27 21:46:29 -08:00
|
|
|
(*known.BoolValue)(nil), // 22: google.protobuf.BoolValue
|
|
|
|
(*known.Int32Value)(nil), // 23: google.protobuf.Int32Value
|
|
|
|
(*known.Int64Value)(nil), // 24: google.protobuf.Int64Value
|
|
|
|
(*known.UInt32Value)(nil), // 25: google.protobuf.UInt32Value
|
|
|
|
(*known.UInt64Value)(nil), // 26: google.protobuf.UInt64Value
|
|
|
|
(*known.FloatValue)(nil), // 27: google.protobuf.FloatValue
|
|
|
|
(*known.DoubleValue)(nil), // 28: google.protobuf.DoubleValue
|
|
|
|
(*known.StringValue)(nil), // 29: google.protobuf.StringValue
|
|
|
|
(*known.BytesValue)(nil), // 30: google.protobuf.BytesValue
|
|
|
|
(*known.Duration)(nil), // 31: google.protobuf.Duration
|
|
|
|
(*known.Timestamp)(nil), // 32: google.protobuf.Timestamp
|
|
|
|
(*known.Struct)(nil), // 33: google.protobuf.Struct
|
|
|
|
(*known.ListValue)(nil), // 34: google.protobuf.ListValue
|
|
|
|
(*known.Value)(nil), // 35: google.protobuf.Value
|
2019-03-29 15:42:20 -07:00
|
|
|
(known.NullValue)(0), // 36: google.protobuf.NullValue
|
|
|
|
(*known.Empty)(nil), // 37: google.protobuf.Empty
|
|
|
|
(*known.Any)(nil), // 38: google.protobuf.Any
|
|
|
|
(*known.FieldMask)(nil), // 39: google.protobuf.FieldMask
|
2019-02-27 21:46:29 -08:00
|
|
|
}
|
|
|
|
var xxx_File_pb2_test_proto_depIdxs = []int32{
|
2019-02-13 14:13:21 -08:00
|
|
|
11, // pb2.opt_ext_bool:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.opt_ext_string:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.opt_ext_enum:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.opt_ext_nested:extendee -> pb2.Extensions
|
2019-04-03 15:42:41 -07:00
|
|
|
11, // pb2.opt_ext_partial:extendee -> pb2.Extensions
|
2019-02-13 14:13:21 -08:00
|
|
|
11, // pb2.rpt_ext_fixed32:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.rpt_ext_enum:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.rpt_ext_nested:extendee -> pb2.Extensions
|
|
|
|
13, // pb2.message_set_extension:extendee -> pb2.MessageSet
|
|
|
|
11, // pb2.ExtensionsContainer.opt_ext_bool:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.ExtensionsContainer.opt_ext_string:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.ExtensionsContainer.opt_ext_enum:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.ExtensionsContainer.opt_ext_nested:extendee -> pb2.Extensions
|
2019-04-03 15:42:41 -07:00
|
|
|
11, // pb2.ExtensionsContainer.opt_ext_partial:extendee -> pb2.Extensions
|
2019-02-13 14:13:21 -08:00
|
|
|
11, // pb2.ExtensionsContainer.rpt_ext_string:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.ExtensionsContainer.rpt_ext_enum:extendee -> pb2.Extensions
|
|
|
|
11, // pb2.ExtensionsContainer.rpt_ext_nested:extendee -> pb2.Extensions
|
|
|
|
13, // pb2.MessageSetExtension.message_set_extension:extendee -> pb2.MessageSet
|
|
|
|
13, // pb2.MessageSetExtension.not_message_set_extension:extendee -> pb2.MessageSet
|
|
|
|
13, // pb2.MessageSetExtension.ext_nested:extendee -> pb2.MessageSet
|
|
|
|
15, // pb2.FakeMessageSetExtension.message_set_extension:extendee -> pb2.FakeMessageSet
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
0, // pb2.Enums.opt_enum:type_name -> pb2.Enum
|
|
|
|
0, // pb2.Enums.rpt_enum:type_name -> pb2.Enum
|
|
|
|
1, // pb2.Enums.opt_nested_enum:type_name -> pb2.Enums.NestedEnum
|
|
|
|
1, // pb2.Enums.rpt_nested_enum:type_name -> pb2.Enums.NestedEnum
|
2019-02-13 14:13:21 -08:00
|
|
|
5, // pb2.Nested.opt_nested:type_name -> pb2.Nested
|
|
|
|
5, // pb2.Nests.opt_nested:type_name -> pb2.Nested
|
|
|
|
18, // pb2.Nests.optgroup:type_name -> pb2.Nests.OptGroup
|
|
|
|
5, // pb2.Nests.rpt_nested:type_name -> pb2.Nested
|
|
|
|
19, // pb2.Nests.rptgroup:type_name -> pb2.Nests.RptGroup
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
0, // pb2.Requireds.req_enum:type_name -> pb2.Enum
|
2019-02-13 14:13:21 -08:00
|
|
|
5, // pb2.Requireds.req_nested:type_name -> pb2.Nested
|
|
|
|
9, // pb2.IndirectRequired.opt_nested:type_name -> pb2.NestedWithRequired
|
|
|
|
9, // pb2.IndirectRequired.rpt_nested:type_name -> pb2.NestedWithRequired
|
|
|
|
21, // pb2.IndirectRequired.str_to_nested:type_name -> pb2.IndirectRequired.StrToNestedEntry
|
|
|
|
9, // pb2.IndirectRequired.oneof_nested:type_name -> pb2.NestedWithRequired
|
|
|
|
22, // pb2.KnownTypes.opt_bool:type_name -> google.protobuf.BoolValue
|
|
|
|
23, // pb2.KnownTypes.opt_int32:type_name -> google.protobuf.Int32Value
|
|
|
|
24, // pb2.KnownTypes.opt_int64:type_name -> google.protobuf.Int64Value
|
|
|
|
25, // pb2.KnownTypes.opt_uint32:type_name -> google.protobuf.UInt32Value
|
|
|
|
26, // pb2.KnownTypes.opt_uint64:type_name -> google.protobuf.UInt64Value
|
|
|
|
27, // pb2.KnownTypes.opt_float:type_name -> google.protobuf.FloatValue
|
|
|
|
28, // pb2.KnownTypes.opt_double:type_name -> google.protobuf.DoubleValue
|
|
|
|
29, // pb2.KnownTypes.opt_string:type_name -> google.protobuf.StringValue
|
|
|
|
30, // pb2.KnownTypes.opt_bytes:type_name -> google.protobuf.BytesValue
|
|
|
|
31, // pb2.KnownTypes.opt_duration:type_name -> google.protobuf.Duration
|
|
|
|
32, // pb2.KnownTypes.opt_timestamp:type_name -> google.protobuf.Timestamp
|
|
|
|
33, // pb2.KnownTypes.opt_struct:type_name -> google.protobuf.Struct
|
|
|
|
34, // pb2.KnownTypes.opt_list:type_name -> google.protobuf.ListValue
|
|
|
|
35, // pb2.KnownTypes.opt_value:type_name -> google.protobuf.Value
|
2019-03-29 15:42:20 -07:00
|
|
|
36, // pb2.KnownTypes.opt_null:type_name -> google.protobuf.NullValue
|
|
|
|
37, // pb2.KnownTypes.opt_empty:type_name -> google.protobuf.Empty
|
|
|
|
38, // pb2.KnownTypes.opt_any:type_name -> google.protobuf.Any
|
|
|
|
39, // pb2.KnownTypes.opt_fieldmask:type_name -> google.protobuf.FieldMask
|
2019-02-13 14:13:21 -08:00
|
|
|
5, // pb2.Nests.OptGroup.opt_nested:type_name -> pb2.Nested
|
|
|
|
20, // pb2.Nests.OptGroup.optnestedgroup:type_name -> pb2.Nests.OptGroup.OptNestedGroup
|
|
|
|
9, // pb2.IndirectRequired.StrToNestedEntry.value:type_name -> pb2.NestedWithRequired
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
0, // pb2.opt_ext_enum:type_name -> pb2.Enum
|
2019-02-13 14:13:21 -08:00
|
|
|
5, // pb2.opt_ext_nested:type_name -> pb2.Nested
|
2019-04-03 15:42:41 -07:00
|
|
|
8, // pb2.opt_ext_partial:type_name -> pb2.PartialRequired
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
0, // pb2.rpt_ext_enum:type_name -> pb2.Enum
|
2019-02-13 14:13:21 -08:00
|
|
|
5, // pb2.rpt_ext_nested:type_name -> pb2.Nested
|
|
|
|
16, // pb2.message_set_extension:type_name -> pb2.FakeMessageSetExtension
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
0, // pb2.ExtensionsContainer.opt_ext_enum:type_name -> pb2.Enum
|
2019-02-13 14:13:21 -08:00
|
|
|
5, // pb2.ExtensionsContainer.opt_ext_nested:type_name -> pb2.Nested
|
2019-04-03 15:42:41 -07:00
|
|
|
8, // pb2.ExtensionsContainer.opt_ext_partial:type_name -> pb2.PartialRequired
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
0, // pb2.ExtensionsContainer.rpt_ext_enum:type_name -> pb2.Enum
|
2019-02-13 14:13:21 -08:00
|
|
|
5, // pb2.ExtensionsContainer.rpt_ext_nested:type_name -> pb2.Nested
|
|
|
|
14, // pb2.MessageSetExtension.message_set_extension:type_name -> pb2.MessageSetExtension
|
|
|
|
14, // pb2.MessageSetExtension.not_message_set_extension:type_name -> pb2.MessageSetExtension
|
|
|
|
5, // pb2.MessageSetExtension.ext_nested:type_name -> pb2.Nested
|
|
|
|
16, // pb2.FakeMessageSetExtension.message_set_extension:type_name -> pb2.FakeMessageSetExtension
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
}
|
|
|
|
|
2019-03-08 17:18:11 -08:00
|
|
|
func init() { xxx_File_pb2_test_proto_init() }
|
|
|
|
func xxx_File_pb2_test_proto_init() {
|
|
|
|
if File_pb2_test_proto != nil {
|
|
|
|
return
|
|
|
|
}
|
2019-04-03 15:42:41 -07:00
|
|
|
extensionTypes := make([]protoreflect.ExtensionType, 21)
|
2019-02-27 21:46:29 -08:00
|
|
|
File_pb2_test_proto = protoimpl.FileBuilder{
|
2019-03-28 01:13:26 -07:00
|
|
|
RawDescriptor: xxx_File_pb2_test_proto_rawDesc,
|
2019-02-27 21:46:29 -08:00
|
|
|
GoTypes: xxx_File_pb2_test_proto_goTypes,
|
|
|
|
DependencyIndexes: xxx_File_pb2_test_proto_depIdxs,
|
2019-03-14 16:08:22 -07:00
|
|
|
LegacyExtensions: xxx_File_pb2_test_proto_extDescs,
|
2019-03-01 13:22:30 -08:00
|
|
|
EnumOutputTypes: xxx_File_pb2_test_proto_enumTypes,
|
2019-03-25 14:41:32 -07:00
|
|
|
MessageOutputTypes: xxx_File_pb2_test_proto_messageTypes,
|
2019-03-01 13:22:30 -08:00
|
|
|
ExtensionOutputTypes: extensionTypes,
|
2019-03-25 14:41:32 -07:00
|
|
|
FilesRegistry: protoregistry.GlobalFiles,
|
|
|
|
TypesRegistry: protoregistry.GlobalTypes,
|
internal/fileinit: generate reflect data structures from raw descriptors
This CL takes a significantly different approach to generating support
for protobuf reflection. The previous approach involved generating a
large number of Go literals to represent the reflection information.
While that approach was correct, it resulted in too much binary bloat.
The approach taken here initializes the reflection information from
the raw descriptor proto, which is a relatively dense representation
of the protobuf reflection information. In order to keep initialization
cost low, several measures were taken:
* At program init, the bare minimum is parsed in order to initialize
naming information for enums, messages, extensions, and services declared
in the file. This is done because those top-level declarations are often
relevant for registration.
* Only upon first are most of the other data structures for protobuf
reflection actually initialized.
* Instead of using proto.Unmarshal, a hand-written unmarshaler is used.
This allows us to avoid a dependendency on the descriptor proto and also
because the API for the descriptor proto is fundamentally non-performant
since it requires an allocation for every primitive field.
At a high-level, the new implementation lives in internal/fileinit.
Several changes were made to other parts of the repository:
* cmd/protoc-gen-go:
* Stop compressing the raw descriptors. While compression does reduce
the size of the descriptors by approximately 2x, it is a pre-mature
optimization since the descriptors themselves are around 1% of the total
binary bloat that is due to generated protobufs.
* Seeding protobuf reflection from the raw descriptor significantly
simplifies the generator implementation since it is no longer responsible
for constructing a tree of Go literals to represent the same information.
* We remove the generation of the shadow types and instead call
protoimpl.MessageType.MessageOf. Unfortunately, this incurs an allocation
for every call to ProtoReflect since we need to allocate a tuple that wraps
a pointer to the message value, and a pointer to message type.
* internal/impl:
* We add a MessageType.GoType field and make it required that it is
set prior to first use. This is done so that we can avoid calling
MessageType.init except for when it is actually needed. The allows code
to call (*FooMessage)(nil).ProtoReflect().Type() without fearing that the
init code will run, possibly triggering a recursive deadlock (where the
init code depends on getting the Type of some dependency which may be
declared within the same file).
* internal/cmd/generate-types:
* The code to generate reflect/prototype/protofile_list_gen.go was copied
and altered to generated internal/fileinit.desc_list_gen.go.
At a high-level this CL adds significant technical complexity.
However, this is offset by several possible future changes:
* The prototype package can be drastically simplified. We can probably
reimplement internal/legacy to use internal/fileinit instead, allowing us
to drop another dependency on the prototype package. As a result, we can
probably delete most of the constructor types in that package.
* With the prototype package significantly pruned, and the fact that generated
code no longer depend on depends on that package, we can consider merging
what's left of prototype into protodesc.
Change-Id: I6090f023f2e1b6afaf62bd3ae883566242e30715
Reviewed-on: https://go-review.googlesource.com/c/158539
Reviewed-by: Herbie Ong <herbie@google.com>
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
2019-01-18 09:32:24 -08:00
|
|
|
}.Init()
|
2019-03-28 01:13:26 -07:00
|
|
|
xxx_File_pb2_test_proto_rawDesc = nil
|
2019-02-27 21:46:29 -08:00
|
|
|
xxx_File_pb2_test_proto_goTypes = nil
|
|
|
|
xxx_File_pb2_test_proto_depIdxs = nil
|
2018-12-13 14:19:50 -08:00
|
|
|
}
|