2018-12-07 14:38:17 -08:00
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
2019-02-27 21:46:29 -08:00
|
|
|
// source: test/test.proto
|
2018-12-07 14:38:17 -08:00
|
|
|
|
2019-01-04 16:40:51 -08:00
|
|
|
package test
|
2018-12-07 14:38:17 -08:00
|
|
|
|
|
|
|
import (
|
2019-05-13 23:55:40 -07:00
|
|
|
weak "google.golang.org/protobuf/internal/testprotos/test/weak"
|
|
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
2019-06-06 13:01:53 -07:00
|
|
|
prototype "google.golang.org/protobuf/reflect/prototype"
|
2019-05-13 23:55:40 -07:00
|
|
|
protoiface "google.golang.org/protobuf/runtime/protoiface"
|
|
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
2019-03-28 01:13:26 -07:00
|
|
|
sync "sync"
|
2018-12-07 14:38:17 -08:00
|
|
|
)
|
|
|
|
|
2019-05-22 16:27:51 -04:00
|
|
|
const (
|
|
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 0)
|
|
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
|
|
_ = protoimpl.EnforceVersion(0 - protoimpl.MinVersion)
|
|
|
|
)
|
2019-03-28 01:13:26 -07:00
|
|
|
|
2019-01-26 14:24:59 -08:00
|
|
|
type ForeignEnum int32
|
|
|
|
|
|
|
|
const (
|
|
|
|
ForeignEnum_FOREIGN_FOO ForeignEnum = 4
|
|
|
|
ForeignEnum_FOREIGN_BAR ForeignEnum = 5
|
|
|
|
ForeignEnum_FOREIGN_BAZ ForeignEnum = 6
|
|
|
|
)
|
|
|
|
|
|
|
|
var ForeignEnum_name = map[int32]string{
|
|
|
|
4: "FOREIGN_FOO",
|
|
|
|
5: "FOREIGN_BAR",
|
|
|
|
6: "FOREIGN_BAZ",
|
|
|
|
}
|
|
|
|
|
|
|
|
var ForeignEnum_value = map[string]int32{
|
|
|
|
"FOREIGN_FOO": 4,
|
|
|
|
"FOREIGN_BAR": 5,
|
|
|
|
"FOREIGN_BAZ": 6,
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x ForeignEnum) Enum() *ForeignEnum {
|
2019-04-10 15:29:01 -07:00
|
|
|
p := new(ForeignEnum)
|
|
|
|
*p = x
|
|
|
|
return p
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x ForeignEnum) String() string {
|
2019-05-01 12:29:25 -07:00
|
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-05-01 12:29:25 -07:00
|
|
|
func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor {
|
2019-06-06 13:01:53 -07:00
|
|
|
return file_test_test_proto_enumTypes[0].EnumDescriptor
|
2019-05-01 12:29:25 -07:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x ForeignEnum) Number() protoreflect.EnumNumber {
|
|
|
|
return protoreflect.EnumNumber(x)
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Do not use.
|
|
|
|
func (x *ForeignEnum) UnmarshalJSON(b []byte) error {
|
2019-05-01 12:29:25 -07:00
|
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
2019-01-26 14:24:59 -08:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
*x = ForeignEnum(num)
|
2019-01-26 14:24:59 -08:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use ForeignEnum.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (ForeignEnum) EnumDescriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{0}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
type TestReservedEnumFields int32
|
|
|
|
|
|
|
|
const (
|
|
|
|
TestReservedEnumFields_RESERVED_ENUM TestReservedEnumFields = 0
|
|
|
|
)
|
|
|
|
|
|
|
|
var TestReservedEnumFields_name = map[int32]string{
|
|
|
|
0: "RESERVED_ENUM",
|
|
|
|
}
|
|
|
|
|
|
|
|
var TestReservedEnumFields_value = map[string]int32{
|
|
|
|
"RESERVED_ENUM": 0,
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x TestReservedEnumFields) Enum() *TestReservedEnumFields {
|
2019-04-10 15:29:01 -07:00
|
|
|
p := new(TestReservedEnumFields)
|
|
|
|
*p = x
|
|
|
|
return p
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x TestReservedEnumFields) String() string {
|
2019-05-01 12:29:25 -07:00
|
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (TestReservedEnumFields) Descriptor() protoreflect.EnumDescriptor {
|
2019-06-06 13:01:53 -07:00
|
|
|
return file_test_test_proto_enumTypes[1].EnumDescriptor
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x TestReservedEnumFields) Number() protoreflect.EnumNumber {
|
|
|
|
return protoreflect.EnumNumber(x)
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Do not use.
|
|
|
|
func (x *TestReservedEnumFields) UnmarshalJSON(b []byte) error {
|
2019-05-01 12:29:25 -07:00
|
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
2019-01-26 14:24:59 -08:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
*x = TestReservedEnumFields(num)
|
2019-01-26 14:24:59 -08:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestReservedEnumFields.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (TestReservedEnumFields) EnumDescriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{1}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2018-12-07 14:38:17 -08:00
|
|
|
type TestAllTypes_NestedEnum int32
|
|
|
|
|
|
|
|
const (
|
|
|
|
TestAllTypes_FOO TestAllTypes_NestedEnum = 0
|
|
|
|
TestAllTypes_BAR TestAllTypes_NestedEnum = 1
|
|
|
|
TestAllTypes_BAZ TestAllTypes_NestedEnum = 2
|
|
|
|
TestAllTypes_NEG TestAllTypes_NestedEnum = -1
|
|
|
|
)
|
|
|
|
|
|
|
|
var TestAllTypes_NestedEnum_name = map[int32]string{
|
|
|
|
0: "FOO",
|
|
|
|
1: "BAR",
|
|
|
|
2: "BAZ",
|
|
|
|
-1: "NEG",
|
|
|
|
}
|
|
|
|
|
|
|
|
var TestAllTypes_NestedEnum_value = map[string]int32{
|
|
|
|
"FOO": 0,
|
|
|
|
"BAR": 1,
|
|
|
|
"BAZ": 2,
|
|
|
|
"NEG": -1,
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum {
|
2019-04-10 15:29:01 -07:00
|
|
|
p := new(TestAllTypes_NestedEnum)
|
|
|
|
*p = x
|
|
|
|
return p
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x TestAllTypes_NestedEnum) String() string {
|
2019-05-01 12:29:25 -07:00
|
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-05-01 12:29:25 -07:00
|
|
|
func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor {
|
2019-06-06 13:01:53 -07:00
|
|
|
return file_test_test_proto_enumTypes[2].EnumDescriptor
|
2019-05-01 12:29:25 -07:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
|
|
|
|
return protoreflect.EnumNumber(x)
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Do not use.
|
|
|
|
func (x *TestAllTypes_NestedEnum) UnmarshalJSON(b []byte) error {
|
2019-05-01 12:29:25 -07:00
|
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
2018-12-07 14:38:17 -08:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
*x = TestAllTypes_NestedEnum(num)
|
2018-12-07 14:38:17 -08:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestAllTypes_NestedEnum.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{0, 0}
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-01-26 14:24:59 -08:00
|
|
|
type TestDeprecatedMessage_DeprecatedEnum int32 // Deprecated: Do not use.
|
|
|
|
const (
|
|
|
|
TestDeprecatedMessage_DEPRECATED TestDeprecatedMessage_DeprecatedEnum = 0 // Deprecated: Do not use.
|
|
|
|
)
|
|
|
|
|
|
|
|
var TestDeprecatedMessage_DeprecatedEnum_name = map[int32]string{
|
|
|
|
0: "DEPRECATED",
|
|
|
|
}
|
|
|
|
|
|
|
|
var TestDeprecatedMessage_DeprecatedEnum_value = map[string]int32{
|
|
|
|
"DEPRECATED": 0,
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x TestDeprecatedMessage_DeprecatedEnum) Enum() *TestDeprecatedMessage_DeprecatedEnum {
|
2019-04-10 15:29:01 -07:00
|
|
|
p := new(TestDeprecatedMessage_DeprecatedEnum)
|
|
|
|
*p = x
|
|
|
|
return p
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x TestDeprecatedMessage_DeprecatedEnum) String() string {
|
2019-05-01 12:29:25 -07:00
|
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
|
|
}
|
|
|
|
|
|
|
|
func (TestDeprecatedMessage_DeprecatedEnum) Descriptor() protoreflect.EnumDescriptor {
|
2019-06-06 13:01:53 -07:00
|
|
|
return file_test_test_proto_enumTypes[3].EnumDescriptor
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x TestDeprecatedMessage_DeprecatedEnum) Number() protoreflect.EnumNumber {
|
|
|
|
return protoreflect.EnumNumber(x)
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Do not use.
|
|
|
|
func (x *TestDeprecatedMessage_DeprecatedEnum) UnmarshalJSON(b []byte) error {
|
2019-05-01 12:29:25 -07:00
|
|
|
num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b)
|
2019-01-26 14:24:59 -08:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
*x = TestDeprecatedMessage_DeprecatedEnum(num)
|
2019-01-26 14:24:59 -08:00
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestDeprecatedMessage_DeprecatedEnum.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (TestDeprecatedMessage_DeprecatedEnum) EnumDescriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{1, 0}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2018-12-07 14:38:17 -08:00
|
|
|
type TestAllTypes struct {
|
|
|
|
OptionalInt32 *int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"`
|
|
|
|
OptionalInt64 *int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"`
|
|
|
|
OptionalUint32 *uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"`
|
|
|
|
OptionalUint64 *uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64" json:"optional_uint64,omitempty"`
|
|
|
|
OptionalSint32 *int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32" json:"optional_sint32,omitempty"`
|
|
|
|
OptionalSint64 *int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64" json:"optional_sint64,omitempty"`
|
|
|
|
OptionalFixed32 *uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32" json:"optional_fixed32,omitempty"`
|
|
|
|
OptionalFixed64 *uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64" json:"optional_fixed64,omitempty"`
|
|
|
|
OptionalSfixed32 *int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32" json:"optional_sfixed32,omitempty"`
|
|
|
|
OptionalSfixed64 *int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64" json:"optional_sfixed64,omitempty"`
|
|
|
|
OptionalFloat *float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat" json:"optional_float,omitempty"`
|
|
|
|
OptionalDouble *float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble" json:"optional_double,omitempty"`
|
|
|
|
OptionalBool *bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"`
|
|
|
|
OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString" json:"optional_string,omitempty"`
|
|
|
|
OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes" json:"optional_bytes,omitempty"`
|
|
|
|
Optionalgroup *TestAllTypes_OptionalGroup `protobuf:"group,16,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
|
|
|
|
OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"`
|
2019-01-26 14:24:59 -08:00
|
|
|
OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage" json:"optional_foreign_message,omitempty"`
|
|
|
|
OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage" json:"optional_import_message,omitempty"`
|
2018-12-07 14:38:17 -08:00
|
|
|
OptionalNestedEnum *TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum" json:"optional_nested_enum,omitempty"`
|
2019-01-26 14:24:59 -08:00
|
|
|
OptionalForeignEnum *ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,enum=goproto.proto.test.ForeignEnum" json:"optional_foreign_enum,omitempty"`
|
|
|
|
OptionalImportEnum *ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,enum=goproto.proto.test.ImportEnum" json:"optional_import_enum,omitempty"`
|
2018-12-07 14:38:17 -08:00
|
|
|
RepeatedInt32 []int32 `protobuf:"varint,31,rep,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"`
|
|
|
|
RepeatedInt64 []int64 `protobuf:"varint,32,rep,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"`
|
|
|
|
RepeatedUint32 []uint32 `protobuf:"varint,33,rep,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"`
|
|
|
|
RepeatedUint64 []uint64 `protobuf:"varint,34,rep,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"`
|
|
|
|
RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"`
|
|
|
|
RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"`
|
|
|
|
RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"`
|
|
|
|
RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"`
|
|
|
|
RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"`
|
|
|
|
RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"`
|
|
|
|
RepeatedFloat []float32 `protobuf:"fixed32,41,rep,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"`
|
|
|
|
RepeatedDouble []float64 `protobuf:"fixed64,42,rep,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"`
|
|
|
|
RepeatedBool []bool `protobuf:"varint,43,rep,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"`
|
|
|
|
RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"`
|
|
|
|
RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"`
|
|
|
|
Repeatedgroup []*TestAllTypes_RepeatedGroup `protobuf:"group,46,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
|
|
|
|
RepeatedNestedMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage" json:"repeated_nested_message,omitempty"`
|
2019-01-26 14:24:59 -08:00
|
|
|
RepeatedForeignMessage []*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage" json:"repeated_foreign_message,omitempty"`
|
|
|
|
RepeatedImportmessage []*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage" json:"repeated_importmessage,omitempty"`
|
2018-12-07 14:38:17 -08:00
|
|
|
RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,name=repeated_nested_enum,json=repeatedNestedEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"`
|
2019-01-26 14:24:59 -08:00
|
|
|
RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,name=repeated_foreign_enum,json=repeatedForeignEnum,enum=goproto.proto.test.ForeignEnum" json:"repeated_foreign_enum,omitempty"`
|
|
|
|
RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,name=repeated_importenum,json=repeatedImportenum,enum=goproto.proto.test.ImportEnum" json:"repeated_importenum,omitempty"`
|
2018-12-07 14:38:17 -08:00
|
|
|
MapInt32Int32 map[int32]int32 `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
|
|
|
|
MapInt64Int64 map[int64]int64 `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
|
|
|
|
MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
|
|
|
|
MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
|
|
|
|
MapSint32Sint32 map[int32]int32 `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"`
|
|
|
|
MapSint64Sint64 map[int64]int64 `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"`
|
|
|
|
MapFixed32Fixed32 map[uint32]uint32 `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
|
|
|
|
MapFixed64Fixed64 map[uint64]uint64 `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
|
|
|
|
MapSfixed32Sfixed32 map[int32]int32 `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
|
|
|
|
MapSfixed64Sfixed64 map[int64]int64 `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
|
|
|
|
MapInt32Float map[int32]float32 `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"`
|
|
|
|
MapInt32Double map[int32]float64 `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"`
|
|
|
|
MapBoolBool map[bool]bool `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
|
|
|
|
MapStringString map[string]string `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
|
|
MapStringBytes map[string][]byte `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
|
|
MapStringNestedMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
|
|
MapStringNestedEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=goproto.proto.test.TestAllTypes_NestedEnum"`
|
2019-01-26 14:24:59 -08:00
|
|
|
// Singular with defaults
|
|
|
|
DefaultInt32 *int32 `protobuf:"varint,81,opt,name=default_int32,json=defaultInt32,def=81" json:"default_int32,omitempty"`
|
|
|
|
DefaultInt64 *int64 `protobuf:"varint,82,opt,name=default_int64,json=defaultInt64,def=82" json:"default_int64,omitempty"`
|
|
|
|
DefaultUint32 *uint32 `protobuf:"varint,83,opt,name=default_uint32,json=defaultUint32,def=83" json:"default_uint32,omitempty"`
|
|
|
|
DefaultUint64 *uint64 `protobuf:"varint,84,opt,name=default_uint64,json=defaultUint64,def=84" json:"default_uint64,omitempty"`
|
|
|
|
DefaultSint32 *int32 `protobuf:"zigzag32,85,opt,name=default_sint32,json=defaultSint32,def=-85" json:"default_sint32,omitempty"`
|
|
|
|
DefaultSint64 *int64 `protobuf:"zigzag64,86,opt,name=default_sint64,json=defaultSint64,def=86" json:"default_sint64,omitempty"`
|
|
|
|
DefaultFixed32 *uint32 `protobuf:"fixed32,87,opt,name=default_fixed32,json=defaultFixed32,def=87" json:"default_fixed32,omitempty"`
|
|
|
|
DefaultFixed64 *uint64 `protobuf:"fixed64,88,opt,name=default_fixed64,json=defaultFixed64,def=88" json:"default_fixed64,omitempty"`
|
|
|
|
DefaultSfixed32 *int32 `protobuf:"fixed32,89,opt,name=default_sfixed32,json=defaultSfixed32,def=89" json:"default_sfixed32,omitempty"`
|
|
|
|
DefaultSfixed64 *int64 `protobuf:"fixed64,80,opt,name=default_sfixed64,json=defaultSfixed64,def=-90" json:"default_sfixed64,omitempty"`
|
|
|
|
DefaultFloat *float32 `protobuf:"fixed32,91,opt,name=default_float,json=defaultFloat,def=91.5" json:"default_float,omitempty"`
|
|
|
|
DefaultDouble *float64 `protobuf:"fixed64,92,opt,name=default_double,json=defaultDouble,def=92000" json:"default_double,omitempty"`
|
|
|
|
DefaultBool *bool `protobuf:"varint,93,opt,name=default_bool,json=defaultBool,def=1" json:"default_bool,omitempty"`
|
|
|
|
DefaultString *string `protobuf:"bytes,94,opt,name=default_string,json=defaultString,def=hello" json:"default_string,omitempty"`
|
|
|
|
DefaultBytes []byte `protobuf:"bytes,95,opt,name=default_bytes,json=defaultBytes,def=world" json:"default_bytes,omitempty"`
|
|
|
|
DefaultNestedEnum *TestAllTypes_NestedEnum `protobuf:"varint,96,opt,name=default_nested_enum,json=defaultNestedEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum,def=1" json:"default_nested_enum,omitempty"`
|
|
|
|
DefaultForeignEnum *ForeignEnum `protobuf:"varint,97,opt,name=default_foreign_enum,json=defaultForeignEnum,enum=goproto.proto.test.ForeignEnum,def=5" json:"default_foreign_enum,omitempty"`
|
2018-12-07 14:38:17 -08:00
|
|
|
// Types that are valid to be assigned to OneofField:
|
|
|
|
// *TestAllTypes_OneofUint32
|
|
|
|
// *TestAllTypes_OneofNestedMessage
|
|
|
|
// *TestAllTypes_OneofString
|
|
|
|
// *TestAllTypes_OneofBytes
|
|
|
|
// *TestAllTypes_OneofBool
|
|
|
|
// *TestAllTypes_OneofUint64
|
|
|
|
// *TestAllTypes_OneofFloat
|
|
|
|
// *TestAllTypes_OneofDouble
|
|
|
|
// *TestAllTypes_OneofEnum
|
|
|
|
OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) Reset() {
|
|
|
|
*x = TestAllTypes{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestAllTypes) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestAllTypes) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestAllTypes) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[0].MessageOf(x)
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestAllTypes) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[0].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestAllTypes.ProtoReflect.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (*TestAllTypes) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{0}
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-01-26 14:24:59 -08:00
|
|
|
const Default_TestAllTypes_DefaultInt32 int32 = 81
|
|
|
|
const Default_TestAllTypes_DefaultInt64 int64 = 82
|
|
|
|
const Default_TestAllTypes_DefaultUint32 uint32 = 83
|
|
|
|
const Default_TestAllTypes_DefaultUint64 uint64 = 84
|
|
|
|
const Default_TestAllTypes_DefaultSint32 int32 = -85
|
|
|
|
const Default_TestAllTypes_DefaultSint64 int64 = 86
|
|
|
|
const Default_TestAllTypes_DefaultFixed32 uint32 = 87
|
|
|
|
const Default_TestAllTypes_DefaultFixed64 uint64 = 88
|
|
|
|
const Default_TestAllTypes_DefaultSfixed32 int32 = 89
|
|
|
|
const Default_TestAllTypes_DefaultSfixed64 int64 = -90
|
|
|
|
const Default_TestAllTypes_DefaultFloat float32 = 91.5
|
|
|
|
const Default_TestAllTypes_DefaultDouble float64 = 92000
|
|
|
|
const Default_TestAllTypes_DefaultBool bool = true
|
|
|
|
const Default_TestAllTypes_DefaultString string = "hello"
|
|
|
|
|
|
|
|
var Default_TestAllTypes_DefaultBytes []byte = []byte("world")
|
|
|
|
|
|
|
|
const Default_TestAllTypes_DefaultNestedEnum TestAllTypes_NestedEnum = TestAllTypes_BAR
|
|
|
|
const Default_TestAllTypes_DefaultForeignEnum ForeignEnum = ForeignEnum_FOREIGN_BAR
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalInt32() int32 {
|
|
|
|
if x != nil && x.OptionalInt32 != nil {
|
|
|
|
return *x.OptionalInt32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalInt64() int64 {
|
|
|
|
if x != nil && x.OptionalInt64 != nil {
|
|
|
|
return *x.OptionalInt64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalUint32() uint32 {
|
|
|
|
if x != nil && x.OptionalUint32 != nil {
|
|
|
|
return *x.OptionalUint32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalUint64() uint64 {
|
|
|
|
if x != nil && x.OptionalUint64 != nil {
|
|
|
|
return *x.OptionalUint64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalSint32() int32 {
|
|
|
|
if x != nil && x.OptionalSint32 != nil {
|
|
|
|
return *x.OptionalSint32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalSint64() int64 {
|
|
|
|
if x != nil && x.OptionalSint64 != nil {
|
|
|
|
return *x.OptionalSint64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalFixed32() uint32 {
|
|
|
|
if x != nil && x.OptionalFixed32 != nil {
|
|
|
|
return *x.OptionalFixed32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalFixed64() uint64 {
|
|
|
|
if x != nil && x.OptionalFixed64 != nil {
|
|
|
|
return *x.OptionalFixed64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalSfixed32() int32 {
|
|
|
|
if x != nil && x.OptionalSfixed32 != nil {
|
|
|
|
return *x.OptionalSfixed32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalSfixed64() int64 {
|
|
|
|
if x != nil && x.OptionalSfixed64 != nil {
|
|
|
|
return *x.OptionalSfixed64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalFloat() float32 {
|
|
|
|
if x != nil && x.OptionalFloat != nil {
|
|
|
|
return *x.OptionalFloat
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalDouble() float64 {
|
|
|
|
if x != nil && x.OptionalDouble != nil {
|
|
|
|
return *x.OptionalDouble
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalBool() bool {
|
|
|
|
if x != nil && x.OptionalBool != nil {
|
|
|
|
return *x.OptionalBool
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalString() string {
|
|
|
|
if x != nil && x.OptionalString != nil {
|
|
|
|
return *x.OptionalString
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalBytes() []byte {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptionalBytes
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalgroup() *TestAllTypes_OptionalGroup {
|
|
|
|
if x != nil {
|
|
|
|
return x.Optionalgroup
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptionalNestedMessage
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptionalForeignMessage
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptionalImportMessage
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum {
|
|
|
|
if x != nil && x.OptionalNestedEnum != nil {
|
|
|
|
return *x.OptionalNestedEnum
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return TestAllTypes_FOO
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum {
|
|
|
|
if x != nil && x.OptionalForeignEnum != nil {
|
|
|
|
return *x.OptionalForeignEnum
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return ForeignEnum_FOREIGN_FOO
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum {
|
|
|
|
if x != nil && x.OptionalImportEnum != nil {
|
|
|
|
return *x.OptionalImportEnum
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return ImportEnum_IMPORT_ZERO
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedInt32() []int32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedInt32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedInt64() []int64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedInt64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedUint32() []uint32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedUint32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedUint64() []uint64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedUint64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedSint32() []int32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedSint32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedSint64() []int64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedSint64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedFixed32() []uint32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedFixed32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedFixed64() []uint64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedFixed64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedSfixed32() []int32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedSfixed32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedSfixed64() []int64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedSfixed64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedFloat() []float32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedFloat
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedDouble() []float64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedDouble
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedBool() []bool {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedBool
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedString() []string {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedString
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedBytes() [][]byte {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedBytes
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedgroup() []*TestAllTypes_RepeatedGroup {
|
|
|
|
if x != nil {
|
|
|
|
return x.Repeatedgroup
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedNestedMessage
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedForeignMessage
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedImportmessage
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedNestedEnum
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedForeignEnum
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedImportenum
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapInt32Int32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapInt64Int64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapUint32Uint32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapUint64Uint64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapSint32Sint32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapSint64Sint64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapFixed32Fixed32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapFixed64Fixed64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapSfixed32Sfixed32
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapSfixed64Sfixed64
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapInt32Float
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapInt32Double
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapBoolBool() map[bool]bool {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapBoolBool
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapStringString() map[string]string {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapStringString
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapStringBytes() map[string][]byte {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapStringBytes
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapStringNestedMessage
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapStringNestedEnum
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultInt32() int32 {
|
|
|
|
if x != nil && x.DefaultInt32 != nil {
|
|
|
|
return *x.DefaultInt32
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultInt32
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultInt64() int64 {
|
|
|
|
if x != nil && x.DefaultInt64 != nil {
|
|
|
|
return *x.DefaultInt64
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultInt64
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultUint32() uint32 {
|
|
|
|
if x != nil && x.DefaultUint32 != nil {
|
|
|
|
return *x.DefaultUint32
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultUint32
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultUint64() uint64 {
|
|
|
|
if x != nil && x.DefaultUint64 != nil {
|
|
|
|
return *x.DefaultUint64
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultUint64
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultSint32() int32 {
|
|
|
|
if x != nil && x.DefaultSint32 != nil {
|
|
|
|
return *x.DefaultSint32
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultSint32
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultSint64() int64 {
|
|
|
|
if x != nil && x.DefaultSint64 != nil {
|
|
|
|
return *x.DefaultSint64
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultSint64
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultFixed32() uint32 {
|
|
|
|
if x != nil && x.DefaultFixed32 != nil {
|
|
|
|
return *x.DefaultFixed32
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultFixed32
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultFixed64() uint64 {
|
|
|
|
if x != nil && x.DefaultFixed64 != nil {
|
|
|
|
return *x.DefaultFixed64
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultFixed64
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultSfixed32() int32 {
|
|
|
|
if x != nil && x.DefaultSfixed32 != nil {
|
|
|
|
return *x.DefaultSfixed32
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultSfixed32
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultSfixed64() int64 {
|
|
|
|
if x != nil && x.DefaultSfixed64 != nil {
|
|
|
|
return *x.DefaultSfixed64
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultSfixed64
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultFloat() float32 {
|
|
|
|
if x != nil && x.DefaultFloat != nil {
|
|
|
|
return *x.DefaultFloat
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultFloat
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultDouble() float64 {
|
|
|
|
if x != nil && x.DefaultDouble != nil {
|
|
|
|
return *x.DefaultDouble
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultDouble
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultBool() bool {
|
|
|
|
if x != nil && x.DefaultBool != nil {
|
|
|
|
return *x.DefaultBool
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultBool
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultString() string {
|
|
|
|
if x != nil && x.DefaultString != nil {
|
|
|
|
return *x.DefaultString
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultString
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultBytes() []byte {
|
|
|
|
if x != nil && x.DefaultBytes != nil {
|
|
|
|
return x.DefaultBytes
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return append([]byte(nil), Default_TestAllTypes_DefaultBytes...)
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultNestedEnum() TestAllTypes_NestedEnum {
|
|
|
|
if x != nil && x.DefaultNestedEnum != nil {
|
|
|
|
return *x.DefaultNestedEnum
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultNestedEnum
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetDefaultForeignEnum() ForeignEnum {
|
|
|
|
if x != nil && x.DefaultForeignEnum != nil {
|
|
|
|
return *x.DefaultForeignEnum
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return Default_TestAllTypes_DefaultForeignEnum
|
|
|
|
}
|
|
|
|
|
2018-12-07 14:38:17 -08:00
|
|
|
func (m *TestAllTypes) GetOneofField() isTestAllTypes_OneofField {
|
|
|
|
if m != nil {
|
|
|
|
return m.OneofField
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofUint32() uint32 {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofUint32); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofUint32
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofNestedMessage); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofNestedMessage
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofString() string {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofString); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofString
|
|
|
|
}
|
|
|
|
return ""
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofBytes() []byte {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofBytes); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofBytes
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofBool() bool {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofBool); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofBool
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofUint64() uint64 {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofUint64); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofUint64
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofFloat() float32 {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofFloat); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofFloat
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofDouble() float64 {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofDouble); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofDouble
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum {
|
|
|
|
if x, ok := x.GetOneofField().(*TestAllTypes_OneofEnum); ok {
|
2018-12-07 14:38:17 -08:00
|
|
|
return x.OneofEnum
|
|
|
|
}
|
|
|
|
return TestAllTypes_FOO
|
|
|
|
}
|
|
|
|
|
2019-04-08 14:03:15 -07:00
|
|
|
type isTestAllTypes_OneofField interface {
|
|
|
|
isTestAllTypes_OneofField()
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofUint32 struct {
|
|
|
|
OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofNestedMessage struct {
|
|
|
|
OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofString struct {
|
|
|
|
OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofBytes struct {
|
|
|
|
OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofBool struct {
|
|
|
|
OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofUint64 struct {
|
|
|
|
OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofFloat struct {
|
|
|
|
OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofDouble struct {
|
|
|
|
OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OneofEnum struct {
|
|
|
|
OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofUint32) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofString) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofBytes) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofBool) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofUint64) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofFloat) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofDouble) isTestAllTypes_OneofField() {}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OneofEnum) isTestAllTypes_OneofField() {}
|
|
|
|
|
2019-01-26 14:24:59 -08:00
|
|
|
// Deprecated: Do not use.
|
|
|
|
type TestDeprecatedMessage struct {
|
|
|
|
DeprecatedInt32 *int32 `protobuf:"varint,1,opt,name=deprecated_int32,json=deprecatedInt32" json:"deprecated_int32,omitempty"` // Deprecated: Do not use.
|
|
|
|
// Types that are valid to be assigned to DeprecatedOneof:
|
|
|
|
// *TestDeprecatedMessage_DeprecatedOneofField
|
|
|
|
DeprecatedOneof isTestDeprecatedMessage_DeprecatedOneof `protobuf_oneof:"deprecated_oneof"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestDeprecatedMessage) Reset() {
|
|
|
|
*x = TestDeprecatedMessage{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestDeprecatedMessage) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestDeprecatedMessage) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestDeprecatedMessage) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[1].MessageOf(x)
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestDeprecatedMessage) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[1].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestDeprecatedMessage.ProtoReflect.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (*TestDeprecatedMessage) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{1}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Do not use.
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestDeprecatedMessage) GetDeprecatedInt32() int32 {
|
|
|
|
if x != nil && x.DeprecatedInt32 != nil {
|
|
|
|
return *x.DeprecatedInt32
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *TestDeprecatedMessage) GetDeprecatedOneof() isTestDeprecatedMessage_DeprecatedOneof {
|
|
|
|
if m != nil {
|
|
|
|
return m.DeprecatedOneof
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Do not use.
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestDeprecatedMessage) GetDeprecatedOneofField() int32 {
|
|
|
|
if x, ok := x.GetDeprecatedOneof().(*TestDeprecatedMessage_DeprecatedOneofField); ok {
|
2019-01-26 14:24:59 -08:00
|
|
|
return x.DeprecatedOneofField
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-08 14:03:15 -07:00
|
|
|
type isTestDeprecatedMessage_DeprecatedOneof interface {
|
|
|
|
isTestDeprecatedMessage_DeprecatedOneof()
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestDeprecatedMessage_DeprecatedOneofField struct {
|
|
|
|
DeprecatedOneofField int32 `protobuf:"varint,2,opt,name=deprecated_oneof_field,json=deprecatedOneofField,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestDeprecatedMessage_DeprecatedOneofField) isTestDeprecatedMessage_DeprecatedOneof() {}
|
|
|
|
|
2019-01-26 14:24:59 -08:00
|
|
|
type ForeignMessage struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
C *int32 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"`
|
|
|
|
D *int32 `protobuf:"varint,2,opt,name=d" json:"d,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *ForeignMessage) Reset() {
|
|
|
|
*x = ForeignMessage{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *ForeignMessage) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*ForeignMessage) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *ForeignMessage) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[2].MessageOf(x)
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *ForeignMessage) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[2].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use ForeignMessage.ProtoReflect.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (*ForeignMessage) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{2}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *ForeignMessage) GetC() int32 {
|
|
|
|
if x != nil && x.C != nil {
|
|
|
|
return *x.C
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *ForeignMessage) GetD() int32 {
|
|
|
|
if x != nil && x.D != nil {
|
|
|
|
return *x.D
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestReservedFields struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestReservedFields) Reset() {
|
|
|
|
*x = TestReservedFields{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestReservedFields) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestReservedFields) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestReservedFields) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[3].MessageOf(x)
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestReservedFields) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[3].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestReservedFields.ProtoReflect.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (*TestReservedFields) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{3}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2018-12-07 14:38:17 -08:00
|
|
|
type TestAllExtensions struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_InternalExtensions protoimpl.ExtensionFields `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllExtensions) Reset() {
|
|
|
|
*x = TestAllExtensions{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestAllExtensions) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestAllExtensions) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestAllExtensions) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[4].MessageOf(x)
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestAllExtensions) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[4].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestAllExtensions.ProtoReflect.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (*TestAllExtensions) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{4}
|
2018-12-07 14:38:17 -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_TestAllExtensions = []protoiface.ExtensionRangeV1{
|
2018-12-07 14:38:17 -08:00
|
|
|
{Start: 1, End: 536870911},
|
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestAllExtensions.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 (*TestAllExtensions) ExtensionRangeArray() []protoiface.ExtensionRangeV1 {
|
2018-12-07 14:38:17 -08:00
|
|
|
return extRange_TestAllExtensions
|
|
|
|
}
|
|
|
|
|
|
|
|
type OptionalGroupExtension struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
A *int32 `protobuf:"varint,17,opt,name=a" json:"a,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *OptionalGroupExtension) Reset() {
|
|
|
|
*x = OptionalGroupExtension{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *OptionalGroupExtension) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*OptionalGroupExtension) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *OptionalGroupExtension) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[5].MessageOf(x)
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *OptionalGroupExtension) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[5].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use OptionalGroupExtension.ProtoReflect.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (*OptionalGroupExtension) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{5}
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *OptionalGroupExtension) GetA() int32 {
|
|
|
|
if x != nil && x.A != nil {
|
|
|
|
return *x.A
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
type RepeatedGroupExtension struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
A *int32 `protobuf:"varint,47,opt,name=a" json:"a,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *RepeatedGroupExtension) Reset() {
|
|
|
|
*x = RepeatedGroupExtension{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *RepeatedGroupExtension) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*RepeatedGroupExtension) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *RepeatedGroupExtension) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[6].MessageOf(x)
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *RepeatedGroupExtension) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[6].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use RepeatedGroupExtension.ProtoReflect.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (*RepeatedGroupExtension) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{6}
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *RepeatedGroupExtension) GetA() int32 {
|
|
|
|
if x != nil && x.A != nil {
|
|
|
|
return *x.A
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-01-26 14:24:59 -08:00
|
|
|
type TestNestedExtension struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestNestedExtension) Reset() {
|
|
|
|
*x = TestNestedExtension{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestNestedExtension) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestNestedExtension) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestNestedExtension) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[7].MessageOf(x)
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestNestedExtension) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[7].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestNestedExtension.ProtoReflect.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (*TestNestedExtension) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{7}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-03 12:17:24 -07:00
|
|
|
type TestRequired struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
RequiredField *int32 `protobuf:"varint,1,req,name=required_field,json=requiredField" json:"required_field,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequired) Reset() {
|
|
|
|
*x = TestRequired{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequired) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestRequired) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestRequired) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[8].MessageOf(x)
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (m *TestRequired) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[8].Methods()
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Use TestRequired.ProtoReflect.Type instead.
|
|
|
|
func (*TestRequired) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{8}
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequired) GetRequiredField() int32 {
|
|
|
|
if x != nil && x.RequiredField != nil {
|
|
|
|
return *x.RequiredField
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestRequiredForeign struct {
|
2019-04-09 15:57:05 -07:00
|
|
|
OptionalMessage *TestRequired `protobuf:"bytes,1,opt,name=optional_message,json=optionalMessage" json:"optional_message,omitempty"`
|
|
|
|
RepeatedMessage []*TestRequired `protobuf:"bytes,2,rep,name=repeated_message,json=repeatedMessage" json:"repeated_message,omitempty"`
|
|
|
|
MapMessage map[int32]*TestRequired `protobuf:"bytes,3,rep,name=map_message,json=mapMessage" json:"map_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
|
|
// Types that are valid to be assigned to OneofField:
|
|
|
|
// *TestRequiredForeign_OneofMessage
|
|
|
|
OneofField isTestRequiredForeign_OneofField `protobuf_oneof:"oneof_field"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredForeign) Reset() {
|
|
|
|
*x = TestRequiredForeign{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredForeign) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestRequiredForeign) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestRequiredForeign) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[9].MessageOf(x)
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (m *TestRequiredForeign) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[9].Methods()
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Use TestRequiredForeign.ProtoReflect.Type instead.
|
|
|
|
func (*TestRequiredForeign) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{9}
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredForeign) GetOptionalMessage() *TestRequired {
|
|
|
|
if x != nil {
|
|
|
|
return x.OptionalMessage
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredForeign) GetRepeatedMessage() []*TestRequired {
|
|
|
|
if x != nil {
|
|
|
|
return x.RepeatedMessage
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredForeign) GetMapMessage() map[int32]*TestRequired {
|
|
|
|
if x != nil {
|
|
|
|
return x.MapMessage
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-04-09 15:57:05 -07:00
|
|
|
func (m *TestRequiredForeign) GetOneofField() isTestRequiredForeign_OneofField {
|
|
|
|
if m != nil {
|
|
|
|
return m.OneofField
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredForeign) GetOneofMessage() *TestRequired {
|
|
|
|
if x, ok := x.GetOneofField().(*TestRequiredForeign_OneofMessage); ok {
|
|
|
|
return x.OneofMessage
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type isTestRequiredForeign_OneofField interface {
|
|
|
|
isTestRequiredForeign_OneofField()
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestRequiredForeign_OneofMessage struct {
|
|
|
|
OneofMessage *TestRequired `protobuf:"bytes,4,opt,name=oneof_message,json=oneofMessage,oneof"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestRequiredForeign_OneofMessage) isTestRequiredForeign_OneofField() {}
|
|
|
|
|
2019-04-03 12:17:24 -07:00
|
|
|
type TestRequiredGroupFields struct {
|
|
|
|
Optionalgroup *TestRequiredGroupFields_OptionalGroup `protobuf:"group,1,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"`
|
|
|
|
Repeatedgroup []*TestRequiredGroupFields_RepeatedGroup `protobuf:"group,3,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields) Reset() {
|
|
|
|
*x = TestRequiredGroupFields{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestRequiredGroupFields) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields) ProtoReflect() protoreflect.Message {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[10].MessageOf(x)
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (m *TestRequiredGroupFields) XXX_Methods() *protoiface.Methods {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_msgTypes[10].Methods()
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Use TestRequiredGroupFields.ProtoReflect.Type instead.
|
|
|
|
func (*TestRequiredGroupFields) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{10}
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields) GetOptionalgroup() *TestRequiredGroupFields_OptionalGroup {
|
|
|
|
if x != nil {
|
|
|
|
return x.Optionalgroup
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields) GetRepeatedgroup() []*TestRequiredGroupFields_RepeatedGroup {
|
|
|
|
if x != nil {
|
|
|
|
return x.Repeatedgroup
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-05-08 07:52:49 -07:00
|
|
|
type TestWeak struct {
|
|
|
|
WeakMessage *weak.WeakImportMessage `protobuf:"bytes,1,opt,name=weak_message,json=weakMessage" json:"weak_message,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestWeak) Reset() {
|
|
|
|
*x = TestWeak{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestWeak) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestWeak) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestWeak) ProtoReflect() protoreflect.Message {
|
|
|
|
return file_test_test_proto_msgTypes[11].MessageOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (m *TestWeak) XXX_Methods() *protoiface.Methods {
|
|
|
|
return file_test_test_proto_msgTypes[11].Methods()
|
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Use TestWeak.ProtoReflect.Type instead.
|
|
|
|
func (*TestWeak) Descriptor() ([]byte, []int) {
|
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{11}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestWeak) GetWeakMessage() *weak.WeakImportMessage {
|
|
|
|
if x != nil {
|
|
|
|
return x.WeakMessage
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2019-01-26 14:24:59 -08:00
|
|
|
// Test that RPC services work.
|
|
|
|
type FooRequest struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *FooRequest) Reset() {
|
|
|
|
*x = FooRequest{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *FooRequest) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*FooRequest) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *FooRequest) ProtoReflect() protoreflect.Message {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[12].MessageOf(x)
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *FooRequest) XXX_Methods() *protoiface.Methods {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[12].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use FooRequest.ProtoReflect.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (*FooRequest) Descriptor() ([]byte, []int) {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{12}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
type FooResponse struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *FooResponse) Reset() {
|
|
|
|
*x = FooResponse{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *FooResponse) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*FooResponse) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *FooResponse) ProtoReflect() protoreflect.Message {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[13].MessageOf(x)
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *FooResponse) XXX_Methods() *protoiface.Methods {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[13].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use FooResponse.ProtoReflect.Type instead.
|
2019-01-26 14:24:59 -08:00
|
|
|
func (*FooResponse) Descriptor() ([]byte, []int) {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{13}
|
2019-01-26 14:24:59 -08:00
|
|
|
}
|
|
|
|
|
2018-12-07 14:38:17 -08:00
|
|
|
type TestAllTypes_NestedMessage struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"`
|
|
|
|
Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes_NestedMessage) Reset() {
|
|
|
|
*x = TestAllTypes_NestedMessage{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestAllTypes_NestedMessage) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestAllTypes_NestedMessage) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[14].MessageOf(x)
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestAllTypes_NestedMessage) XXX_Methods() *protoiface.Methods {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[14].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestAllTypes_NestedMessage.ProtoReflect.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{0, 0}
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes_NestedMessage) GetA() int32 {
|
|
|
|
if x != nil && x.A != nil {
|
|
|
|
return *x.A
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes {
|
|
|
|
if x != nil {
|
|
|
|
return x.Corecursive
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_OptionalGroup struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
A *int32 `protobuf:"varint,17,opt,name=a" json:"a,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes_OptionalGroup) Reset() {
|
|
|
|
*x = TestAllTypes_OptionalGroup{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestAllTypes_OptionalGroup) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestAllTypes_OptionalGroup) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestAllTypes_OptionalGroup) ProtoReflect() protoreflect.Message {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[15].MessageOf(x)
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestAllTypes_OptionalGroup) XXX_Methods() *protoiface.Methods {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[15].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestAllTypes_OptionalGroup.ProtoReflect.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (*TestAllTypes_OptionalGroup) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{0, 1}
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes_OptionalGroup) GetA() int32 {
|
|
|
|
if x != nil && x.A != nil {
|
|
|
|
return *x.A
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestAllTypes_RepeatedGroup struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
A *int32 `protobuf:"varint,47,opt,name=a" json:"a,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes_RepeatedGroup) Reset() {
|
|
|
|
*x = TestAllTypes_RepeatedGroup{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestAllTypes_RepeatedGroup) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestAllTypes_RepeatedGroup) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestAllTypes_RepeatedGroup) ProtoReflect() protoreflect.Message {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[16].MessageOf(x)
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
2019-03-16 00:05:34 -07:00
|
|
|
|
2019-04-01 13:31:55 -07:00
|
|
|
func (m *TestAllTypes_RepeatedGroup) XXX_Methods() *protoiface.Methods {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[16].Methods()
|
2019-04-01 13:31:55 -07:00
|
|
|
}
|
|
|
|
|
2019-03-16 00:05:34 -07:00
|
|
|
// Deprecated: Use TestAllTypes_RepeatedGroup.ProtoReflect.Type instead.
|
2018-12-07 14:38:17 -08:00
|
|
|
func (*TestAllTypes_RepeatedGroup) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{0, 2}
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
|
2019-04-01 12:59:24 -07:00
|
|
|
func (x *TestAllTypes_RepeatedGroup) GetA() int32 {
|
|
|
|
if x != nil && x.A != nil {
|
|
|
|
return *x.A
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-03 12:17:24 -07:00
|
|
|
type TestRequiredGroupFields_OptionalGroup struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
A *int32 `protobuf:"varint,2,req,name=a" json:"a,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_OptionalGroup) Reset() {
|
|
|
|
*x = TestRequiredGroupFields_OptionalGroup{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_OptionalGroup) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestRequiredGroupFields_OptionalGroup) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_OptionalGroup) ProtoReflect() protoreflect.Message {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[35].MessageOf(x)
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (m *TestRequiredGroupFields_OptionalGroup) XXX_Methods() *protoiface.Methods {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[35].Methods()
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Use TestRequiredGroupFields_OptionalGroup.ProtoReflect.Type instead.
|
|
|
|
func (*TestRequiredGroupFields_OptionalGroup) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{10, 0}
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_OptionalGroup) GetA() int32 {
|
|
|
|
if x != nil && x.A != nil {
|
|
|
|
return *x.A
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
type TestRequiredGroupFields_RepeatedGroup struct {
|
2019-04-16 13:22:20 -07:00
|
|
|
A *int32 `protobuf:"varint,4,req,name=a" json:"a,omitempty"`
|
|
|
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
|
|
|
XXX_unrecognized protoimpl.UnknownFields `json:"-"`
|
|
|
|
XXX_sizecache protoimpl.SizeCache `json:"-"`
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_RepeatedGroup) Reset() {
|
|
|
|
*x = TestRequiredGroupFields_RepeatedGroup{}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_RepeatedGroup) String() string {
|
|
|
|
return protoimpl.X.MessageStringOf(x)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (*TestRequiredGroupFields_RepeatedGroup) ProtoMessage() {}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_RepeatedGroup) ProtoReflect() protoreflect.Message {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[36].MessageOf(x)
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (m *TestRequiredGroupFields_RepeatedGroup) XXX_Methods() *protoiface.Methods {
|
2019-05-08 07:52:49 -07:00
|
|
|
return file_test_test_proto_msgTypes[36].Methods()
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// Deprecated: Use TestRequiredGroupFields_RepeatedGroup.ProtoReflect.Type instead.
|
|
|
|
func (*TestRequiredGroupFields_RepeatedGroup) Descriptor() ([]byte, []int) {
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescGZIP(), []int{10, 1}
|
2019-04-03 12:17:24 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
func (x *TestRequiredGroupFields_RepeatedGroup) GetA() int32 {
|
|
|
|
if x != nil && x.A != nil {
|
|
|
|
return *x.A
|
|
|
|
}
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
2019-04-15 13:57:56 -07:00
|
|
|
var file_test_test_proto_extDescs = []protoiface.ExtensionDescV1{
|
2019-03-14 16:08:22 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int32)(nil),
|
|
|
|
Field: 1,
|
|
|
|
Name: "goproto.proto.test.optional_int32_extension",
|
|
|
|
Tag: "varint,1,opt,name=optional_int32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int64)(nil),
|
|
|
|
Field: 2,
|
|
|
|
Name: "goproto.proto.test.optional_int64_extension",
|
|
|
|
Tag: "varint,2,opt,name=optional_int64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint32)(nil),
|
|
|
|
Field: 3,
|
|
|
|
Name: "goproto.proto.test.optional_uint32_extension",
|
|
|
|
Tag: "varint,3,opt,name=optional_uint32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint64)(nil),
|
|
|
|
Field: 4,
|
|
|
|
Name: "goproto.proto.test.optional_uint64_extension",
|
|
|
|
Tag: "varint,4,opt,name=optional_uint64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int32)(nil),
|
|
|
|
Field: 5,
|
|
|
|
Name: "goproto.proto.test.optional_sint32_extension",
|
|
|
|
Tag: "zigzag32,5,opt,name=optional_sint32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int64)(nil),
|
|
|
|
Field: 6,
|
|
|
|
Name: "goproto.proto.test.optional_sint64_extension",
|
|
|
|
Tag: "zigzag64,6,opt,name=optional_sint64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint32)(nil),
|
|
|
|
Field: 7,
|
|
|
|
Name: "goproto.proto.test.optional_fixed32_extension",
|
|
|
|
Tag: "fixed32,7,opt,name=optional_fixed32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint64)(nil),
|
|
|
|
Field: 8,
|
|
|
|
Name: "goproto.proto.test.optional_fixed64_extension",
|
|
|
|
Tag: "fixed64,8,opt,name=optional_fixed64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int32)(nil),
|
|
|
|
Field: 9,
|
|
|
|
Name: "goproto.proto.test.optional_sfixed32_extension",
|
|
|
|
Tag: "fixed32,9,opt,name=optional_sfixed32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int64)(nil),
|
|
|
|
Field: 10,
|
|
|
|
Name: "goproto.proto.test.optional_sfixed64_extension",
|
|
|
|
Tag: "fixed64,10,opt,name=optional_sfixed64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*float32)(nil),
|
|
|
|
Field: 11,
|
|
|
|
Name: "goproto.proto.test.optional_float_extension",
|
|
|
|
Tag: "fixed32,11,opt,name=optional_float_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*float64)(nil),
|
|
|
|
Field: 12,
|
|
|
|
Name: "goproto.proto.test.optional_double_extension",
|
|
|
|
Tag: "fixed64,12,opt,name=optional_double_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*bool)(nil),
|
|
|
|
Field: 13,
|
|
|
|
Name: "goproto.proto.test.optional_bool_extension",
|
|
|
|
Tag: "varint,13,opt,name=optional_bool_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*string)(nil),
|
|
|
|
Field: 14,
|
|
|
|
Name: "goproto.proto.test.optional_string_extension",
|
|
|
|
Tag: "bytes,14,opt,name=optional_string_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]byte)(nil),
|
|
|
|
Field: 15,
|
|
|
|
Name: "goproto.proto.test.optional_bytes_extension",
|
|
|
|
Tag: "bytes,15,opt,name=optional_bytes_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*OptionalGroupExtension)(nil),
|
|
|
|
Field: 16,
|
|
|
|
Name: "goproto.proto.test.optionalgroup_extension",
|
|
|
|
Tag: "group,16,opt,name=OptionalGroup_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*TestAllTypes_NestedMessage)(nil),
|
|
|
|
Field: 18,
|
|
|
|
Name: "goproto.proto.test.optional_nested_message_extension",
|
|
|
|
Tag: "bytes,18,opt,name=optional_nested_message_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*TestAllTypes_NestedEnum)(nil),
|
|
|
|
Field: 21,
|
|
|
|
Name: "goproto.proto.test.optional_nested_enum_extension",
|
|
|
|
Tag: "varint,21,opt,name=optional_nested_enum_extension,enum=goproto.proto.test.TestAllTypes_NestedEnum",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]int32)(nil),
|
|
|
|
Field: 31,
|
|
|
|
Name: "goproto.proto.test.repeated_int32_extension",
|
|
|
|
Tag: "varint,31,rep,name=repeated_int32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]int64)(nil),
|
|
|
|
Field: 32,
|
|
|
|
Name: "goproto.proto.test.repeated_int64_extension",
|
|
|
|
Tag: "varint,32,rep,name=repeated_int64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]uint32)(nil),
|
|
|
|
Field: 33,
|
|
|
|
Name: "goproto.proto.test.repeated_uint32_extension",
|
|
|
|
Tag: "varint,33,rep,name=repeated_uint32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]uint64)(nil),
|
|
|
|
Field: 34,
|
|
|
|
Name: "goproto.proto.test.repeated_uint64_extension",
|
|
|
|
Tag: "varint,34,rep,name=repeated_uint64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]int32)(nil),
|
|
|
|
Field: 35,
|
|
|
|
Name: "goproto.proto.test.repeated_sint32_extension",
|
|
|
|
Tag: "zigzag32,35,rep,name=repeated_sint32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]int64)(nil),
|
|
|
|
Field: 36,
|
|
|
|
Name: "goproto.proto.test.repeated_sint64_extension",
|
|
|
|
Tag: "zigzag64,36,rep,name=repeated_sint64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]uint32)(nil),
|
|
|
|
Field: 37,
|
|
|
|
Name: "goproto.proto.test.repeated_fixed32_extension",
|
|
|
|
Tag: "fixed32,37,rep,name=repeated_fixed32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]uint64)(nil),
|
|
|
|
Field: 38,
|
|
|
|
Name: "goproto.proto.test.repeated_fixed64_extension",
|
|
|
|
Tag: "fixed64,38,rep,name=repeated_fixed64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]int32)(nil),
|
|
|
|
Field: 39,
|
|
|
|
Name: "goproto.proto.test.repeated_sfixed32_extension",
|
|
|
|
Tag: "fixed32,39,rep,name=repeated_sfixed32_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]int64)(nil),
|
|
|
|
Field: 40,
|
|
|
|
Name: "goproto.proto.test.repeated_sfixed64_extension",
|
|
|
|
Tag: "fixed64,40,rep,name=repeated_sfixed64_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]float32)(nil),
|
|
|
|
Field: 41,
|
|
|
|
Name: "goproto.proto.test.repeated_float_extension",
|
|
|
|
Tag: "fixed32,41,rep,name=repeated_float_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]float64)(nil),
|
|
|
|
Field: 42,
|
|
|
|
Name: "goproto.proto.test.repeated_double_extension",
|
|
|
|
Tag: "fixed64,42,rep,name=repeated_double_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]bool)(nil),
|
|
|
|
Field: 43,
|
|
|
|
Name: "goproto.proto.test.repeated_bool_extension",
|
|
|
|
Tag: "varint,43,rep,name=repeated_bool_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]string)(nil),
|
|
|
|
Field: 44,
|
|
|
|
Name: "goproto.proto.test.repeated_string_extension",
|
|
|
|
Tag: "bytes,44,rep,name=repeated_string_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([][]byte)(nil),
|
|
|
|
Field: 45,
|
|
|
|
Name: "goproto.proto.test.repeated_bytes_extension",
|
|
|
|
Tag: "bytes,45,rep,name=repeated_bytes_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]*RepeatedGroupExtension)(nil),
|
|
|
|
Field: 46,
|
|
|
|
Name: "goproto.proto.test.repeatedgroup_extension",
|
|
|
|
Tag: "group,46,rep,name=RepeatedGroup_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]*TestAllTypes_NestedMessage)(nil),
|
|
|
|
Field: 48,
|
|
|
|
Name: "goproto.proto.test.repeated_nested_message_extension",
|
|
|
|
Tag: "bytes,48,rep,name=repeated_nested_message_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]TestAllTypes_NestedEnum)(nil),
|
|
|
|
Field: 51,
|
|
|
|
Name: "goproto.proto.test.repeated_nested_enum_extension",
|
|
|
|
Tag: "varint,51,rep,name=repeated_nested_enum_extension,enum=goproto.proto.test.TestAllTypes_NestedEnum",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
2019-04-23 17:11:02 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int32)(nil),
|
|
|
|
Field: 81,
|
|
|
|
Name: "goproto.proto.test.default_int32_extension",
|
|
|
|
Tag: "varint,81,opt,name=default_int32_extension,def=81",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int64)(nil),
|
|
|
|
Field: 82,
|
|
|
|
Name: "goproto.proto.test.default_int64_extension",
|
|
|
|
Tag: "varint,82,opt,name=default_int64_extension,def=82",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint32)(nil),
|
|
|
|
Field: 83,
|
|
|
|
Name: "goproto.proto.test.default_uint32_extension",
|
|
|
|
Tag: "varint,83,opt,name=default_uint32_extension,def=83",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint64)(nil),
|
|
|
|
Field: 84,
|
|
|
|
Name: "goproto.proto.test.default_uint64_extension",
|
|
|
|
Tag: "varint,84,opt,name=default_uint64_extension,def=84",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int32)(nil),
|
|
|
|
Field: 85,
|
|
|
|
Name: "goproto.proto.test.default_sint32_extension",
|
|
|
|
Tag: "zigzag32,85,opt,name=default_sint32_extension,def=-85",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int64)(nil),
|
|
|
|
Field: 86,
|
|
|
|
Name: "goproto.proto.test.default_sint64_extension",
|
|
|
|
Tag: "zigzag64,86,opt,name=default_sint64_extension,def=86",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint32)(nil),
|
|
|
|
Field: 87,
|
|
|
|
Name: "goproto.proto.test.default_fixed32_extension",
|
|
|
|
Tag: "fixed32,87,opt,name=default_fixed32_extension,def=87",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*uint64)(nil),
|
|
|
|
Field: 88,
|
|
|
|
Name: "goproto.proto.test.default_fixed64_extension",
|
|
|
|
Tag: "fixed64,88,opt,name=default_fixed64_extension,def=88",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int32)(nil),
|
|
|
|
Field: 89,
|
|
|
|
Name: "goproto.proto.test.default_sfixed32_extension",
|
|
|
|
Tag: "fixed32,89,opt,name=default_sfixed32_extension,def=89",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*int64)(nil),
|
|
|
|
Field: 80,
|
|
|
|
Name: "goproto.proto.test.default_sfixed64_extension",
|
|
|
|
Tag: "fixed64,80,opt,name=default_sfixed64_extension,def=-90",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*float32)(nil),
|
|
|
|
Field: 91,
|
|
|
|
Name: "goproto.proto.test.default_float_extension",
|
|
|
|
Tag: "fixed32,91,opt,name=default_float_extension,def=91.5",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*float64)(nil),
|
|
|
|
Field: 92,
|
|
|
|
Name: "goproto.proto.test.default_double_extension",
|
|
|
|
Tag: "fixed64,92,opt,name=default_double_extension,def=92000",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*bool)(nil),
|
|
|
|
Field: 93,
|
|
|
|
Name: "goproto.proto.test.default_bool_extension",
|
|
|
|
Tag: "varint,93,opt,name=default_bool_extension,def=1",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*string)(nil),
|
|
|
|
Field: 94,
|
|
|
|
Name: "goproto.proto.test.default_string_extension",
|
|
|
|
Tag: "bytes,94,opt,name=default_string_extension,def=hello",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]byte)(nil),
|
|
|
|
Field: 95,
|
|
|
|
Name: "goproto.proto.test.default_bytes_extension",
|
|
|
|
Tag: "bytes,95,opt,name=default_bytes_extension,def=world",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
2019-03-14 16:08:22 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*string)(nil),
|
|
|
|
Field: 1003,
|
|
|
|
Name: "goproto.proto.test.TestNestedExtension.nested_string_extension",
|
|
|
|
Tag: "bytes,1003,opt,name=nested_string_extension",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
2019-04-03 12:17:24 -07:00
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: (*TestRequired)(nil),
|
|
|
|
Field: 1000,
|
|
|
|
Name: "goproto.proto.test.TestRequired.single",
|
|
|
|
Tag: "bytes,1000,opt,name=single",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
ExtendedType: (*TestAllExtensions)(nil),
|
|
|
|
ExtensionType: ([]*TestRequired)(nil),
|
|
|
|
Field: 1001,
|
|
|
|
Name: "goproto.proto.test.TestRequired.multi",
|
|
|
|
Tag: "bytes,1001,rep,name=multi",
|
|
|
|
Filename: "test/test.proto",
|
|
|
|
},
|
2019-03-14 16:08:22 -07:00
|
|
|
}
|
|
|
|
var (
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional int32 optional_int32_extension = 1; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalInt32Extension = &file_test_test_proto_extDescs[0]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional int64 optional_int64_extension = 2; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalInt64Extension = &file_test_test_proto_extDescs[1]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional uint32 optional_uint32_extension = 3; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalUint32Extension = &file_test_test_proto_extDescs[2]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional uint64 optional_uint64_extension = 4; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalUint64Extension = &file_test_test_proto_extDescs[3]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sint32 optional_sint32_extension = 5; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalSint32Extension = &file_test_test_proto_extDescs[4]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sint64 optional_sint64_extension = 6; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalSint64Extension = &file_test_test_proto_extDescs[5]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional fixed32 optional_fixed32_extension = 7; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalFixed32Extension = &file_test_test_proto_extDescs[6]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional fixed64 optional_fixed64_extension = 8; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalFixed64Extension = &file_test_test_proto_extDescs[7]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sfixed32 optional_sfixed32_extension = 9; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalSfixed32Extension = &file_test_test_proto_extDescs[8]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sfixed64 optional_sfixed64_extension = 10; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalSfixed64Extension = &file_test_test_proto_extDescs[9]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional float optional_float_extension = 11; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalFloatExtension = &file_test_test_proto_extDescs[10]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional double optional_double_extension = 12; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalDoubleExtension = &file_test_test_proto_extDescs[11]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional bool optional_bool_extension = 13; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalBoolExtension = &file_test_test_proto_extDescs[12]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional string optional_string_extension = 14; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalStringExtension = &file_test_test_proto_extDescs[13]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional bytes optional_bytes_extension = 15; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalBytesExtension = &file_test_test_proto_extDescs[14]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional goproto.proto.test.OptionalGroup_extension optionalgroup_extension = 16; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalgroupExtension = &file_test_test_proto_extDescs[15]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional goproto.proto.test.TestAllTypes.NestedMessage optional_nested_message_extension = 18; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalNestedMessageExtension = &file_test_test_proto_extDescs[16]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional goproto.proto.test.TestAllTypes.NestedEnum optional_nested_enum_extension = 21; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_OptionalNestedEnumExtension = &file_test_test_proto_extDescs[17]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated int32 repeated_int32_extension = 31; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedInt32Extension = &file_test_test_proto_extDescs[18]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated int64 repeated_int64_extension = 32; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedInt64Extension = &file_test_test_proto_extDescs[19]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated uint32 repeated_uint32_extension = 33; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedUint32Extension = &file_test_test_proto_extDescs[20]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated uint64 repeated_uint64_extension = 34; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedUint64Extension = &file_test_test_proto_extDescs[21]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated sint32 repeated_sint32_extension = 35; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedSint32Extension = &file_test_test_proto_extDescs[22]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated sint64 repeated_sint64_extension = 36; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedSint64Extension = &file_test_test_proto_extDescs[23]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated fixed32 repeated_fixed32_extension = 37; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedFixed32Extension = &file_test_test_proto_extDescs[24]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated fixed64 repeated_fixed64_extension = 38; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedFixed64Extension = &file_test_test_proto_extDescs[25]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated sfixed32 repeated_sfixed32_extension = 39; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedSfixed32Extension = &file_test_test_proto_extDescs[26]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated sfixed64 repeated_sfixed64_extension = 40; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedSfixed64Extension = &file_test_test_proto_extDescs[27]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated float repeated_float_extension = 41; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedFloatExtension = &file_test_test_proto_extDescs[28]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated double repeated_double_extension = 42; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedDoubleExtension = &file_test_test_proto_extDescs[29]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated bool repeated_bool_extension = 43; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedBoolExtension = &file_test_test_proto_extDescs[30]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated string repeated_string_extension = 44; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedStringExtension = &file_test_test_proto_extDescs[31]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated bytes repeated_bytes_extension = 45; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedBytesExtension = &file_test_test_proto_extDescs[32]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated goproto.proto.test.RepeatedGroup_extension repeatedgroup_extension = 46; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedgroupExtension = &file_test_test_proto_extDescs[33]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated goproto.proto.test.TestAllTypes.NestedMessage repeated_nested_message_extension = 48; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedNestedMessageExtension = &file_test_test_proto_extDescs[34]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated goproto.proto.test.TestAllTypes.NestedEnum repeated_nested_enum_extension = 51; }
|
2019-04-15 13:57:56 -07:00
|
|
|
E_RepeatedNestedEnumExtension = &file_test_test_proto_extDescs[35]
|
2019-03-14 16:08:22 -07:00
|
|
|
|
2019-04-23 17:11:02 -07:00
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional int32 default_int32_extension = 81; }
|
|
|
|
E_DefaultInt32Extension = &file_test_test_proto_extDescs[36]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional int64 default_int64_extension = 82; }
|
|
|
|
E_DefaultInt64Extension = &file_test_test_proto_extDescs[37]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional uint32 default_uint32_extension = 83; }
|
|
|
|
E_DefaultUint32Extension = &file_test_test_proto_extDescs[38]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional uint64 default_uint64_extension = 84; }
|
|
|
|
E_DefaultUint64Extension = &file_test_test_proto_extDescs[39]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sint32 default_sint32_extension = 85; }
|
|
|
|
E_DefaultSint32Extension = &file_test_test_proto_extDescs[40]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sint64 default_sint64_extension = 86; }
|
|
|
|
E_DefaultSint64Extension = &file_test_test_proto_extDescs[41]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional fixed32 default_fixed32_extension = 87; }
|
|
|
|
E_DefaultFixed32Extension = &file_test_test_proto_extDescs[42]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional fixed64 default_fixed64_extension = 88; }
|
|
|
|
E_DefaultFixed64Extension = &file_test_test_proto_extDescs[43]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sfixed32 default_sfixed32_extension = 89; }
|
|
|
|
E_DefaultSfixed32Extension = &file_test_test_proto_extDescs[44]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional sfixed64 default_sfixed64_extension = 80; }
|
|
|
|
E_DefaultSfixed64Extension = &file_test_test_proto_extDescs[45]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional float default_float_extension = 91; }
|
|
|
|
E_DefaultFloatExtension = &file_test_test_proto_extDescs[46]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional double default_double_extension = 92; }
|
|
|
|
E_DefaultDoubleExtension = &file_test_test_proto_extDescs[47]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional bool default_bool_extension = 93; }
|
|
|
|
E_DefaultBoolExtension = &file_test_test_proto_extDescs[48]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional string default_string_extension = 94; }
|
|
|
|
E_DefaultStringExtension = &file_test_test_proto_extDescs[49]
|
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional bytes default_bytes_extension = 95; }
|
|
|
|
E_DefaultBytesExtension = &file_test_test_proto_extDescs[50]
|
|
|
|
|
2019-03-14 16:08:22 -07:00
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional string nested_string_extension = 1003; }
|
2019-04-23 17:11:02 -07:00
|
|
|
E_TestNestedExtension_NestedStringExtension = &file_test_test_proto_extDescs[51]
|
2019-04-03 12:17:24 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { optional goproto.proto.test.TestRequired single = 1000; }
|
2019-04-23 17:11:02 -07:00
|
|
|
E_TestRequired_Single = &file_test_test_proto_extDescs[52]
|
2019-04-03 12:17:24 -07:00
|
|
|
|
|
|
|
// extend goproto.proto.test.TestAllExtensions { repeated goproto.proto.test.TestRequired multi = 1001; }
|
2019-04-23 17:11:02 -07:00
|
|
|
E_TestRequired_Multi = &file_test_test_proto_extDescs[53]
|
2019-03-14 16:08:22 -07:00
|
|
|
)
|
2019-03-28 01:13:26 -07:00
|
|
|
var File_test_test_proto protoreflect.FileDescriptor
|
|
|
|
|
2019-04-15 13:57:56 -07:00
|
|
|
var file_test_test_proto_rawDesc = []byte{
|
2019-02-27 21:46:29 -08:00
|
|
|
0x0a, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x12, 0x12, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x74, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74,
|
|
|
|
0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x74,
|
|
|
|
0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2e,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x77, 0x65, 0x61, 0x6b,
|
|
|
|
0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x22, 0xe4, 0x36, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
|
|
|
|
0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e,
|
|
|
|
0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
|
|
|
0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
|
|
|
|
0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12,
|
|
|
|
0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74,
|
|
|
|
0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
|
|
|
0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28,
|
|
|
|
0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69,
|
|
|
|
0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70,
|
|
|
|
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x06, 0x20,
|
|
|
|
0x01, 0x28, 0x12, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e,
|
|
|
|
0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
|
|
|
0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x6f,
|
|
|
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
|
|
|
0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x70, 0x74,
|
|
|
|
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x09,
|
|
|
|
0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66,
|
|
|
|
0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
|
|
|
0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28,
|
|
|
|
0x10, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65,
|
|
|
|
0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
|
|
|
0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74,
|
|
|
|
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70,
|
|
|
|
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x0c, 0x20,
|
|
|
|
0x01, 0x28, 0x01, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75,
|
|
|
|
0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
|
|
|
0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28,
|
|
|
|
0x09, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e,
|
|
|
|
0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79,
|
|
|
|
0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
|
|
|
0x6e, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0a, 0x32,
|
|
|
|
0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
|
|
|
|
0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52,
|
|
|
|
0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x66,
|
|
|
|
0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65,
|
|
|
|
0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
|
|
0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
|
|
|
|
0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52,
|
|
|
|
0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
|
|
|
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
|
|
|
0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
|
|
|
|
0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x6f, 0x70,
|
|
|
|
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73,
|
|
|
|
0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
|
|
|
|
0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
|
|
|
|
0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72,
|
|
|
|
0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
|
|
|
0x61, 0x6c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
|
|
|
|
0x5d, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74,
|
|
|
|
0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e,
|
2019-01-26 14:24:59 -08:00
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x53,
|
|
|
|
0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69,
|
|
|
|
0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13,
|
|
|
|
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45,
|
|
|
|
0x6e, 0x75, 0x6d, 0x12, 0x50, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
|
|
|
0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x17, 0x20, 0x01, 0x28,
|
|
|
|
0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75,
|
|
|
|
0x6d, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6d, 0x70, 0x6f, 0x72,
|
|
|
|
0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72,
|
|
|
|
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x20,
|
|
|
|
0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e,
|
|
|
|
0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
|
|
|
0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
|
|
|
|
0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55,
|
|
|
|
0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27,
|
|
|
|
0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61,
|
|
|
|
0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x25, 0x20, 0x03, 0x28,
|
|
|
|
0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64,
|
|
|
|
0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66,
|
|
|
|
0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a,
|
|
|
|
0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64,
|
|
|
|
0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
|
|
|
|
0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18,
|
|
|
|
0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53,
|
|
|
|
0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61,
|
|
|
|
0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x29, 0x20, 0x03, 0x28, 0x02, 0x52,
|
|
|
|
0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27,
|
|
|
|
0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c,
|
|
|
|
0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61,
|
|
|
|
0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x0c,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18,
|
|
|
|
0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53,
|
|
|
|
0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72,
|
|
|
|
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x2e, 0x20,
|
|
|
|
0x03, 0x28, 0x0a, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
|
|
|
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72,
|
|
|
|
0x6f, 0x75, 0x70, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f,
|
|
|
|
0x75, 0x70, 0x12, 0x66, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e,
|
|
|
|
0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x30, 0x20,
|
|
|
|
0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
|
|
|
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73,
|
|
|
|
0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73,
|
|
|
|
0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x0a, 0x18, 0x72, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d,
|
|
|
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
|
|
|
|
0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
|
|
0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67,
|
|
|
|
0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x65,
|
|
|
|
0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61,
|
|
|
|
0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d,
|
|
|
|
0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70,
|
|
|
|
0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61,
|
|
|
|
0x67, 0x65, 0x12, 0x5d, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e,
|
|
|
|
0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e,
|
|
|
|
0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72,
|
|
|
|
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75,
|
|
|
|
0x6d, 0x12, 0x53, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f,
|
|
|
|
0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, 0x20, 0x03, 0x28, 0x0e,
|
|
|
|
0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75,
|
|
|
|
0x6d, 0x52, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69,
|
|
|
|
0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x4f, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
|
|
|
|
0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x35, 0x20,
|
|
|
|
0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45,
|
|
|
|
0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x70,
|
|
|
|
0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69,
|
|
|
|
0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, 0x20, 0x03, 0x28, 0x0b,
|
|
|
|
0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70,
|
|
|
|
0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32,
|
|
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49,
|
|
|
|
0x6e, 0x74, 0x33, 0x32, 0x12, 0x5b, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
|
|
|
|
0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74,
|
|
|
|
0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f,
|
|
|
|
0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67,
|
|
|
|
0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
|
|
|
|
0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e,
|
|
|
|
0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69,
|
|
|
|
0x6e, 0x74, 0x33, 0x32, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, 0x74,
|
|
|
|
0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
|
|
0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65,
|
|
|
|
0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73,
|
|
|
|
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3c, 0x20, 0x03,
|
|
|
|
0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54,
|
|
|
|
0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69,
|
|
|
|
0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69,
|
|
|
|
0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61,
|
|
|
|
0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18,
|
|
|
|
0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
2019-01-26 14:24:59 -08:00
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61,
|
|
|
|
0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x67, 0x0a,
|
|
|
|
0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x66, 0x69, 0x78,
|
|
|
|
0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
|
|
|
|
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70,
|
|
|
|
0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e,
|
|
|
|
0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46,
|
|
|
|
0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x67, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69,
|
|
|
|
0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x3f, 0x20,
|
|
|
|
0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
|
|
|
0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
|
|
|
|
0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61,
|
|
|
|
0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12,
|
|
|
|
0x6d, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f,
|
|
|
|
0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39,
|
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
|
|
|
0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
|
|
|
|
0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78,
|
|
|
|
0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66,
|
|
|
|
0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x6d,
|
|
|
|
0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x73,
|
|
|
|
0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
|
|
|
|
0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65,
|
|
|
|
0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x66, 0x69,
|
|
|
|
0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x5b, 0x0a,
|
|
|
|
0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74,
|
|
|
|
0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
|
|
|
|
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33,
|
|
|
|
0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70,
|
|
|
|
0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x5e, 0x0a, 0x10, 0x6d, 0x61,
|
|
|
|
0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x43,
|
|
|
|
0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
|
|
|
|
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44,
|
|
|
|
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x49,
|
|
|
|
0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x55, 0x0a, 0x0d, 0x6d, 0x61,
|
|
|
|
0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x44, 0x20, 0x03, 0x28,
|
|
|
|
0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45,
|
|
|
|
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f,
|
|
|
|
0x6c, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
|
|
|
|
0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e,
|
|
|
|
0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74,
|
|
|
|
0x72, 0x69, 0x6e, 0x67, 0x12, 0x5e, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69,
|
|
|
|
0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34,
|
|
|
|
0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
|
|
|
|
0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
|
|
|
|
0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45,
|
|
|
|
0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42,
|
|
|
|
0x79, 0x74, 0x65, 0x73, 0x12, 0x77, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69,
|
|
|
|
0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
|
|
0x65, 0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
|
|
|
|
0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67,
|
|
|
|
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x6e, 0x0a,
|
|
|
|
0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, 0x74,
|
|
|
|
0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
|
|
|
|
0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
|
|
|
|
0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72,
|
|
|
|
0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x27, 0x0a,
|
|
|
|
0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x51,
|
|
|
|
0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x38, 0x31, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
|
|
|
|
0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
|
|
|
|
0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x02, 0x38,
|
|
|
|
0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12,
|
|
|
|
0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33,
|
|
|
|
0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x38, 0x33, 0x52, 0x0d, 0x64, 0x65, 0x66,
|
|
|
|
0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65,
|
|
|
|
0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x54, 0x20, 0x01,
|
|
|
|
0x28, 0x04, 0x3a, 0x02, 0x38, 0x34, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55,
|
|
|
|
0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
|
|
0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x03, 0x2d,
|
|
|
|
0x38, 0x35, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33,
|
|
|
|
0x32, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e,
|
|
|
|
0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x02, 0x38, 0x36, 0x52, 0x0d, 0x64,
|
|
|
|
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x0f,
|
|
|
|
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18,
|
|
|
|
0x57, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x02, 0x38, 0x37, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75,
|
|
|
|
0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x0f, 0x64, 0x65, 0x66,
|
|
|
|
0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x58, 0x20, 0x01,
|
|
|
|
0x28, 0x06, 0x3a, 0x02, 0x38, 0x38, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46,
|
|
|
|
0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
|
|
|
|
0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f,
|
|
|
|
0x3a, 0x02, 0x38, 0x39, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, 0x69,
|
|
|
|
0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
|
|
0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x50, 0x20, 0x01, 0x28, 0x10, 0x3a,
|
|
|
|
0x03, 0x2d, 0x39, 0x30, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, 0x69,
|
|
|
|
0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
|
|
0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x02, 0x3a, 0x04, 0x39, 0x31,
|
|
|
|
0x2e, 0x35, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74,
|
|
|
|
0x12, 0x2c, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62,
|
|
|
|
0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x05, 0x39, 0x32, 0x30, 0x30, 0x30, 0x52,
|
|
|
|
0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x27,
|
|
|
|
0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x5d,
|
|
|
|
0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61,
|
|
|
|
0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75,
|
|
|
|
0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x3a,
|
|
|
|
0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53,
|
|
|
|
0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
|
|
0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x05, 0x77, 0x6f,
|
|
|
|
0x72, 0x6c, 0x64, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x79, 0x74, 0x65,
|
|
|
|
0x73, 0x12, 0x60, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6e, 0x65, 0x73,
|
|
|
|
0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x60, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b,
|
|
|
|
0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
|
|
|
|
0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73,
|
|
|
|
0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03, 0x42, 0x41, 0x52,
|
|
|
|
0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
|
|
|
|
0x6e, 0x75, 0x6d, 0x12, 0x5e, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66,
|
|
|
|
0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x61, 0x20, 0x01, 0x28,
|
|
|
|
0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e,
|
|
|
|
0x75, 0x6d, 0x3a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x52, 0x52,
|
|
|
|
0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45,
|
|
|
|
0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e,
|
|
|
|
0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65,
|
|
|
|
0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x62, 0x0a, 0x14, 0x6f, 0x6e, 0x65, 0x6f,
|
|
|
|
0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
|
|
0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
|
|
|
|
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d,
|
|
|
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e,
|
|
|
|
0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0c,
|
|
|
|
0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x71, 0x20, 0x01,
|
|
|
|
0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e,
|
|
|
|
0x67, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
|
|
|
|
0x18, 0x72, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42,
|
|
|
|
0x79, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, 0x6f,
|
|
|
|
0x6f, 0x6c, 0x18, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f,
|
|
|
|
0x66, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x75,
|
|
|
|
0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x0b, 0x6f,
|
|
|
|
0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e,
|
|
|
|
0x65, 0x6f, 0x66, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, 0x01, 0x28, 0x02, 0x48,
|
|
|
|
0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x23, 0x0a,
|
|
|
|
0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x76, 0x20,
|
|
|
|
0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x44, 0x6f, 0x75, 0x62,
|
|
|
|
0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d,
|
|
|
|
0x18, 0x77, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
|
|
|
|
0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45,
|
|
|
|
0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x45, 0x6e, 0x75, 0x6d,
|
|
|
|
0x1a, 0x61, 0x0a, 0x0d, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
|
|
0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12,
|
|
|
|
0x42, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02,
|
|
|
|
0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
|
|
|
|
0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73,
|
|
|
|
0x69, 0x76, 0x65, 0x1a, 0x1d, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47,
|
|
|
|
0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52,
|
|
|
|
0x01, 0x61, 0x1a, 0x1d, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72,
|
|
|
|
0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01,
|
|
|
|
0x61, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74,
|
|
|
|
0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
|
|
|
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
|
|
|
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
|
|
|
|
0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49,
|
|
|
|
0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
|
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
|
|
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
|
|
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74,
|
|
|
|
0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
|
|
|
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
|
|
|
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
|
|
|
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70,
|
|
|
|
0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72,
|
|
|
|
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
|
|
|
|
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
|
|
|
0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a,
|
|
|
|
0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32,
|
|
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
|
|
|
|
0x28, 0x11, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
|
|
|
0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69,
|
|
|
|
0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
|
|
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
|
|
|
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
|
|
0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65,
|
|
|
|
0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
|
|
|
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65,
|
|
|
|
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07,
|
|
|
|
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d,
|
|
|
|
0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
|
2019-01-26 14:24:59 -08:00
|
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x28, 0x06, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
|
|
|
0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
|
|
|
|
0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
|
|
|
|
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
|
|
|
|
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05,
|
|
|
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70,
|
|
|
|
0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x28, 0x10, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x10, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
|
|
|
|
0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f,
|
|
|
|
0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
|
|
|
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
|
|
|
|
0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
|
|
|
|
0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44,
|
|
|
|
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
|
|
|
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
|
|
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
|
|
|
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f,
|
|
|
|
0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
|
|
|
|
0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
|
|
|
|
0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
|
|
|
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72,
|
|
|
|
0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
|
|
|
|
0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
|
|
|
|
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
|
|
0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61,
|
|
|
|
0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72,
|
|
|
|
0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
|
|
|
|
0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
|
|
|
|
0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x79, 0x0a,
|
|
|
|
0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64,
|
|
|
|
0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
|
|
|
|
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44,
|
|
|
|
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e,
|
|
|
|
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76,
|
|
|
|
0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x73, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53,
|
|
|
|
0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45,
|
|
|
|
0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
|
|
|
|
0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
|
|
|
|
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
|
|
|
|
0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
|
|
|
|
0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x39, 0x0a,
|
|
|
|
0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x46,
|
|
|
|
0x4f, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a,
|
|
|
|
0x03, 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, 0x10, 0xff, 0xff,
|
|
|
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f,
|
|
|
|
0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xc4, 0x01, 0x0a, 0x15, 0x54, 0x65, 0x73, 0x74,
|
|
|
|
0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
|
|
0x65, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
|
|
|
0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52,
|
|
|
|
0x0f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32,
|
|
|
|
0x12, 0x3a, 0x0a, 0x16, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f,
|
|
|
|
0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
|
|
|
0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74,
|
|
|
|
0x65, 0x64, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x28, 0x0a, 0x0e,
|
|
|
|
0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x12,
|
|
|
|
0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02,
|
|
|
|
0x08, 0x01, 0x1a, 0x02, 0x18, 0x01, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x64, 0x65,
|
|
|
|
0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x22, 0x2c,
|
|
|
|
0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
|
|
0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x63, 0x12, 0x0c,
|
|
|
|
0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x64, 0x22, 0x30, 0x0a, 0x12,
|
|
|
|
0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c,
|
|
|
|
0x64, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a, 0x04,
|
|
|
|
0x08, 0x09, 0x10, 0x0c, 0x52, 0x03, 0x62, 0x61, 0x72, 0x52, 0x03, 0x62, 0x61, 0x7a, 0x22, 0x1d,
|
|
|
|
0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x27, 0x0a,
|
|
|
|
0x17, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x11, 0x20,
|
|
|
|
0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x22, 0x27, 0x0a, 0x17, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74,
|
|
|
|
0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x22,
|
|
|
|
0x75, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x5e, 0x0a, 0x17, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64,
|
|
|
|
0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
|
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xeb, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
|
|
|
|
0x15, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x52,
|
|
|
|
0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x69,
|
|
|
|
0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x02, 0x28, 0x05, 0x52,
|
|
|
|
0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x60,
|
|
|
|
0x0a, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
|
|
|
0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
|
|
|
|
0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65,
|
|
|
|
0x32, 0x5e, 0x0a, 0x05, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
|
|
|
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
|
|
|
|
0x18, 0xe9, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
|
|
|
|
0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x6d, 0x75, 0x6c, 0x74, 0x69,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x22, 0xc2, 0x03, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x12, 0x4b, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01,
|
2019-04-03 12:17:24 -07:00
|
|
|
0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x69, 0x72, 0x65, 0x64, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x65,
|
|
|
|
0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
|
|
|
0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65,
|
|
|
|
0x64, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
|
|
|
|
0x67, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
|
|
0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
|
|
|
|
0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e,
|
|
|
|
0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x52, 0x0a, 0x6d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x47, 0x0a, 0x0d,
|
|
|
|
0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20,
|
|
|
|
0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71,
|
|
|
|
0x75, 0x69, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4d, 0x65,
|
|
|
|
0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x5f, 0x0a, 0x0f, 0x4d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73,
|
|
|
|
0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
|
|
|
|
0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, 0x0a, 0x05, 0x76, 0x61,
|
|
|
|
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
|
|
|
0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c,
|
|
|
|
0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f,
|
|
|
|
0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x99, 0x02, 0x0a, 0x17, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65,
|
|
|
|
0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64,
|
|
|
|
0x73, 0x12, 0x5f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f,
|
|
|
|
0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46,
|
|
|
|
0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72,
|
|
|
|
0x6f, 0x75, 0x70, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f,
|
|
|
|
0x75, 0x70, 0x12, 0x5f, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72,
|
|
|
|
0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70,
|
|
|
|
0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47,
|
|
|
|
0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72,
|
|
|
|
0x6f, 0x75, 0x70, 0x1a, 0x1d, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47,
|
|
|
|
0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x02, 0x20, 0x02, 0x28, 0x05, 0x52,
|
|
|
|
0x01, 0x61, 0x1a, 0x1d, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72,
|
|
|
|
0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x04, 0x20, 0x02, 0x28, 0x05, 0x52, 0x01,
|
|
|
|
0x61, 0x22, 0x5d, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x57, 0x65, 0x61, 0x6b, 0x12, 0x51, 0x0a,
|
|
|
|
0x0c, 0x77, 0x65, 0x61, 0x6b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20,
|
|
|
|
0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x57, 0x65,
|
|
|
|
0x61, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42,
|
|
|
|
0x02, 0x50, 0x01, 0x52, 0x0b, 0x77, 0x65, 0x61, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
|
|
0x22, 0x0c, 0x0a, 0x0a, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0d,
|
|
|
|
0x0a, 0x0b, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x40, 0x0a,
|
|
|
|
0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b,
|
|
|
|
0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, 0x4f, 0x10, 0x04, 0x12, 0x0f, 0x0a,
|
|
|
|
0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x52, 0x10, 0x05, 0x12, 0x0f,
|
|
|
|
0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, 0x5a, 0x10, 0x06, 0x2a,
|
|
|
|
0x47, 0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x45,
|
|
|
|
0x6e, 0x75, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x53,
|
|
|
|
0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x00, 0x22, 0x04, 0x08, 0x02,
|
|
|
|
0x10, 0x02, 0x22, 0x04, 0x08, 0x0f, 0x10, 0x0f, 0x22, 0x04, 0x08, 0x09, 0x10, 0x0b, 0x2a, 0x03,
|
|
|
|
0x42, 0x41, 0x52, 0x2a, 0x03, 0x42, 0x41, 0x5a, 0x32, 0xa8, 0x01, 0x0a, 0x0b, 0x54, 0x65, 0x73,
|
|
|
|
0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x03, 0x46, 0x6f, 0x6f, 0x12,
|
|
|
|
0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
|
|
|
0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
|
|
|
0x12, 0x51, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1e,
|
|
|
|
0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
|
|
|
|
0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
|
|
|
|
0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
|
|
|
|
0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28,
|
|
|
|
0x01, 0x30, 0x01, 0x32, 0x85, 0x01, 0x0a, 0x15, 0x54, 0x65, 0x73, 0x74, 0x44, 0x65, 0x70, 0x72,
|
|
|
|
0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x67, 0x0a,
|
|
|
|
0x0a, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x29, 0x2e, 0x67, 0x6f,
|
2019-04-03 12:17:24 -07:00
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x2e, 0x54, 0x65, 0x73, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4d,
|
|
|
|
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
|
|
|
|
0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
|
|
0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x1a, 0x03, 0x88, 0x02, 0x01, 0x3a, 0x5f, 0x0a, 0x18, 0x6f,
|
|
|
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78,
|
2019-04-03 12:17:24 -07:00
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
|
|
|
|
0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65,
|
2019-04-03 12:17:24 -07:00
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
|
|
|
|
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
|
|
|
|
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
|
|
|
|
0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x3a, 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
2019-04-03 12:17:24 -07:00
|
|
|
0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x17, 0x6f,
|
|
|
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
|
|
|
|
0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12,
|
|
|
|
0x52, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34,
|
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x63, 0x0a, 0x1a, 0x6f, 0x70, 0x74,
|
|
|
|
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07,
|
|
|
|
0x20, 0x01, 0x28, 0x07, 0x52, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x63,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x0a, 0x1a, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67,
|
|
|
|
0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
|
|
|
0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x52,
|
|
|
|
0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33,
|
|
|
|
0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b, 0x6f, 0x70,
|
|
|
|
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
|
|
|
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
|
2019-01-26 14:24:59 -08:00
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x6f, 0x70, 0x74, 0x69,
|
|
|
|
0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
|
|
|
0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x17, 0x6f, 0x70,
|
|
|
|
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65,
|
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5d, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61,
|
|
|
|
0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
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
|
|
|
0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x6f,
|
|
|
|
0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17,
|
|
|
|
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78,
|
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
|
|
|
0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c,
|
|
|
|
0x52, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x8b, 0x01, 0x0a, 0x17, 0x6f, 0x70, 0x74,
|
|
|
|
0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
2019-04-03 12:17:24 -07:00
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x0a, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0xa0, 0x01, 0x0a, 0x21, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
|
|
|
0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x67, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67,
|
|
|
|
0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
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
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x1e, 0x6f, 0x70, 0x74, 0x69, 0x6f,
|
|
|
|
0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
|
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x97, 0x01, 0x0a, 0x1e, 0x6f, 0x70,
|
|
|
|
0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67,
|
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
|
|
|
0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
|
|
|
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x1b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
|
|
|
0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
|
|
|
0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
|
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
|
|
|
|
0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x16, 0x72,
|
|
|
|
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65,
|
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52,
|
|
|
|
0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x65,
|
|
|
|
0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65,
|
2019-04-03 12:17:24 -07:00
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x22, 0x20, 0x03,
|
|
|
|
0x28, 0x04, 0x52, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74,
|
|
|
|
0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72,
|
|
|
|
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
|
|
|
|
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
|
|
|
0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53,
|
|
|
|
0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61,
|
|
|
|
0x0a, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36,
|
|
|
|
0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f,
|
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
|
|
|
|
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
|
|
|
|
0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x3a, 0x63, 0x0a, 0x1a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69,
|
|
|
|
0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12,
|
|
|
|
0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
|
|
|
0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65,
|
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x18, 0x72, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x63, 0x0a, 0x1a, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
|
|
|
|
0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
|
|
|
|
0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28,
|
|
|
|
0x06, 0x52, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64,
|
|
|
|
0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b, 0x72,
|
|
|
|
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
|
|
|
|
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x19, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65,
|
|
|
|
0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x1b, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73,
|
|
|
|
0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78,
|
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x19,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
|
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5f, 0x0a, 0x18, 0x72, 0x65, 0x70,
|
|
|
|
0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
|
2019-02-27 21:46:29 -08:00
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x29, 0x20, 0x03,
|
|
|
|
0x28, 0x02, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61,
|
|
|
|
0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19, 0x72, 0x65,
|
|
|
|
0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65, 0x78,
|
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
|
|
|
|
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2a,
|
|
|
|
0x20, 0x03, 0x28, 0x01, 0x52, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f,
|
|
|
|
0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x5d, 0x0a,
|
|
|
|
0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
|
|
|
|
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
|
|
|
0x2b, 0x20, 0x03, 0x28, 0x08, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42,
|
|
|
|
0x6f, 0x6f, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x19,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f,
|
|
|
|
0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
|
|
|
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
|
|
|
|
0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
|
|
|
|
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
|
|
|
|
0x5f, 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65,
|
|
|
|
0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
|
|
|
|
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6e, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74,
|
|
|
|
0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x3a, 0x8b, 0x01, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f,
|
|
|
|
0x75, 0x70, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67,
|
|
|
|
0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x52,
|
|
|
|
0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x65, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64,
|
|
|
|
0x67, 0x72, 0x6f, 0x75, 0x70, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0xa0,
|
|
|
|
0x01, 0x0a, 0x21, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74,
|
|
|
|
0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
|
|
|
|
0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28,
|
|
|
|
0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
|
|
|
|
0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
|
|
|
|
0x65, 0x52, 0x1e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65,
|
|
|
|
0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x3a, 0x97, 0x01, 0x0a, 0x1e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e,
|
|
|
|
0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c,
|
|
|
|
0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x03, 0x28,
|
|
|
|
0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79,
|
|
|
|
0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x1b,
|
|
|
|
0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e,
|
|
|
|
0x75, 0x6d, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x17, 0x64,
|
|
|
|
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74,
|
|
|
|
0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x51, 0x20,
|
|
|
|
0x01, 0x28, 0x05, 0x3a, 0x02, 0x38, 0x31, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
|
|
0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61,
|
|
|
|
0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f,
|
|
|
|
0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54,
|
|
|
|
0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
|
|
|
|
0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x02, 0x38, 0x32, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61,
|
|
|
|
0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x3a, 0x63, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e,
|
|
|
|
0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x38, 0x33, 0x52, 0x16,
|
|
|
|
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x63, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
|
|
|
|
0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x3a,
|
|
|
|
0x02, 0x38, 0x34, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74,
|
|
|
|
0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x64, 0x0a, 0x18, 0x64,
|
|
|
|
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78,
|
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74,
|
|
|
|
0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73,
|
|
|
|
0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x55,
|
|
|
|
0x20, 0x01, 0x28, 0x11, 0x3a, 0x03, 0x2d, 0x38, 0x35, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75,
|
|
|
|
0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
|
|
|
0x6e, 0x3a, 0x63, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e,
|
|
|
|
0x74, 0x36, 0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e,
|
|
|
|
0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65,
|
|
|
|
0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x02, 0x38, 0x36, 0x52, 0x16,
|
|
|
|
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x78, 0x74,
|
|
|
|
0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a, 0x19, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
|
|
|
|
0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x57, 0x20, 0x01, 0x28, 0x07,
|
|
|
|
0x3a, 0x02, 0x38, 0x37, 0x52, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x78,
|
|
|
|
0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x65, 0x0a,
|
|
|
|
0x19, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34,
|
2019-05-08 07:52:49 -07:00
|
|
|
0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
|
|
|
|
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x73, 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x02, 0x38, 0x38, 0x52, 0x17, 0x64, 0x65, 0x66,
|
|
|
|
0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x67, 0x0a, 0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
|
|
|
|
0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
|
|
|
0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x3a,
|
|
|
|
0x02, 0x38, 0x39, 0x52, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, 0x69, 0x78,
|
|
|
|
0x65, 0x64, 0x33, 0x32, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x68, 0x0a,
|
|
|
|
0x1a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36,
|
|
|
|
0x34, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f,
|
2019-04-23 17:11:02 -07:00
|
|
|
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74,
|
|
|
|
0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x6e, 0x73, 0x18, 0x50, 0x20, 0x01, 0x28, 0x10, 0x3a, 0x03, 0x2d, 0x39, 0x30, 0x52, 0x18, 0x64,
|
|
|
|
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x78,
|
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x63, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75,
|
|
|
|
0x6c, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69,
|
2019-04-23 17:11:02 -07:00
|
|
|
0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45,
|
2019-04-09 15:57:05 -07:00
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x02, 0x3a,
|
|
|
|
0x04, 0x39, 0x31, 0x2e, 0x35, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6c,
|
|
|
|
0x6f, 0x61, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x66, 0x0a, 0x18,
|
|
|
|
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x65,
|
|
|
|
0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f,
|
|
|
|
0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65,
|
|
|
|
0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18,
|
|
|
|
0x5c, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x05, 0x39, 0x32, 0x30, 0x30, 0x30, 0x52, 0x16, 0x64, 0x65,
|
|
|
|
0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x61, 0x0a, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
|
|
|
|
0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25,
|
|
|
|
0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74,
|
|
|
|
0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e,
|
|
|
|
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75,
|
|
|
|
0x65, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x78,
|
|
|
|
0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x66, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75,
|
|
|
|
0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73,
|
|
|
|
0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72,
|
|
|
|
0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c,
|
|
|
|
0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09,
|
|
|
|
0x3a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
|
|
|
|
0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x3a,
|
|
|
|
0x64, 0x0a, 0x17, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73,
|
|
|
|
0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70,
|
|
|
|
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e,
|
|
|
|
0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
|
|
|
|
0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x05, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x15,
|
|
|
|
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x78, 0x74, 0x65,
|
|
|
|
0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x35, 0x5a, 0x33, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
|
|
|
0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
|
|
|
0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73,
|
|
|
|
0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x50, 0x01, 0x58, 0x02,
|
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-28 01:13:26 -07:00
|
|
|
var (
|
2019-04-15 13:57:56 -07:00
|
|
|
file_test_test_proto_rawDescOnce sync.Once
|
|
|
|
file_test_test_proto_rawDescData = file_test_test_proto_rawDesc
|
2019-03-28 01:13:26 -07:00
|
|
|
)
|
2018-12-07 14:38:17 -08:00
|
|
|
|
2019-04-15 13:57:56 -07:00
|
|
|
func file_test_test_proto_rawDescGZIP() []byte {
|
|
|
|
file_test_test_proto_rawDescOnce.Do(func() {
|
|
|
|
file_test_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_test_test_proto_rawDescData)
|
2019-03-28 01:13:26 -07:00
|
|
|
})
|
2019-04-15 13:57:56 -07:00
|
|
|
return file_test_test_proto_rawDescData
|
2019-03-28 01:13:26 -07:00
|
|
|
}
|
2018-12-07 14:38:17 -08:00
|
|
|
|
2019-06-06 13:01:53 -07:00
|
|
|
var file_test_test_proto_enumTypes = make([]prototype.Enum, 4)
|
2019-05-22 05:12:36 -04:00
|
|
|
var file_test_test_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
|
2019-04-15 13:57:56 -07:00
|
|
|
var file_test_test_proto_goTypes = []interface{}{
|
2019-01-26 14:24:59 -08:00
|
|
|
(ForeignEnum)(0), // 0: goproto.proto.test.ForeignEnum
|
|
|
|
(TestReservedEnumFields)(0), // 1: goproto.proto.test.TestReservedEnumFields
|
|
|
|
(TestAllTypes_NestedEnum)(0), // 2: goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
(TestDeprecatedMessage_DeprecatedEnum)(0), // 3: goproto.proto.test.TestDeprecatedMessage.DeprecatedEnum
|
|
|
|
(*TestAllTypes)(nil), // 4: goproto.proto.test.TestAllTypes
|
|
|
|
(*TestDeprecatedMessage)(nil), // 5: goproto.proto.test.TestDeprecatedMessage
|
|
|
|
(*ForeignMessage)(nil), // 6: goproto.proto.test.ForeignMessage
|
|
|
|
(*TestReservedFields)(nil), // 7: goproto.proto.test.TestReservedFields
|
|
|
|
(*TestAllExtensions)(nil), // 8: goproto.proto.test.TestAllExtensions
|
|
|
|
(*OptionalGroupExtension)(nil), // 9: goproto.proto.test.OptionalGroup_extension
|
|
|
|
(*RepeatedGroupExtension)(nil), // 10: goproto.proto.test.RepeatedGroup_extension
|
|
|
|
(*TestNestedExtension)(nil), // 11: goproto.proto.test.TestNestedExtension
|
2019-04-03 12:17:24 -07:00
|
|
|
(*TestRequired)(nil), // 12: goproto.proto.test.TestRequired
|
|
|
|
(*TestRequiredForeign)(nil), // 13: goproto.proto.test.TestRequiredForeign
|
|
|
|
(*TestRequiredGroupFields)(nil), // 14: goproto.proto.test.TestRequiredGroupFields
|
2019-05-08 07:52:49 -07:00
|
|
|
(*TestWeak)(nil), // 15: goproto.proto.test.TestWeak
|
|
|
|
(*FooRequest)(nil), // 16: goproto.proto.test.FooRequest
|
|
|
|
(*FooResponse)(nil), // 17: goproto.proto.test.FooResponse
|
|
|
|
(*TestAllTypes_NestedMessage)(nil), // 18: goproto.proto.test.TestAllTypes.NestedMessage
|
|
|
|
(*TestAllTypes_OptionalGroup)(nil), // 19: goproto.proto.test.TestAllTypes.OptionalGroup
|
|
|
|
(*TestAllTypes_RepeatedGroup)(nil), // 20: goproto.proto.test.TestAllTypes.RepeatedGroup
|
|
|
|
nil, // 21: goproto.proto.test.TestAllTypes.MapInt32Int32Entry
|
|
|
|
nil, // 22: goproto.proto.test.TestAllTypes.MapInt64Int64Entry
|
|
|
|
nil, // 23: goproto.proto.test.TestAllTypes.MapUint32Uint32Entry
|
|
|
|
nil, // 24: goproto.proto.test.TestAllTypes.MapUint64Uint64Entry
|
|
|
|
nil, // 25: goproto.proto.test.TestAllTypes.MapSint32Sint32Entry
|
|
|
|
nil, // 26: goproto.proto.test.TestAllTypes.MapSint64Sint64Entry
|
|
|
|
nil, // 27: goproto.proto.test.TestAllTypes.MapFixed32Fixed32Entry
|
|
|
|
nil, // 28: goproto.proto.test.TestAllTypes.MapFixed64Fixed64Entry
|
|
|
|
nil, // 29: goproto.proto.test.TestAllTypes.MapSfixed32Sfixed32Entry
|
|
|
|
nil, // 30: goproto.proto.test.TestAllTypes.MapSfixed64Sfixed64Entry
|
|
|
|
nil, // 31: goproto.proto.test.TestAllTypes.MapInt32FloatEntry
|
|
|
|
nil, // 32: goproto.proto.test.TestAllTypes.MapInt32DoubleEntry
|
|
|
|
nil, // 33: goproto.proto.test.TestAllTypes.MapBoolBoolEntry
|
|
|
|
nil, // 34: goproto.proto.test.TestAllTypes.MapStringStringEntry
|
|
|
|
nil, // 35: goproto.proto.test.TestAllTypes.MapStringBytesEntry
|
|
|
|
nil, // 36: goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry
|
|
|
|
nil, // 37: goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry
|
|
|
|
nil, // 38: goproto.proto.test.TestRequiredForeign.MapMessageEntry
|
|
|
|
(*TestRequiredGroupFields_OptionalGroup)(nil), // 39: goproto.proto.test.TestRequiredGroupFields.OptionalGroup
|
|
|
|
(*TestRequiredGroupFields_RepeatedGroup)(nil), // 40: goproto.proto.test.TestRequiredGroupFields.RepeatedGroup
|
|
|
|
(*ImportMessage)(nil), // 41: goproto.proto.test.ImportMessage
|
|
|
|
(ImportEnum)(0), // 42: goproto.proto.test.ImportEnum
|
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-04-15 13:57:56 -07:00
|
|
|
var file_test_test_proto_depIdxs = []int32{
|
2019-06-06 13:01:53 -07:00
|
|
|
19, // goproto.proto.test.TestAllTypes.optionalgroup:type_name -> goproto.proto.test.TestAllTypes.OptionalGroup
|
|
|
|
18, // goproto.proto.test.TestAllTypes.optional_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
|
|
|
|
6, // goproto.proto.test.TestAllTypes.optional_foreign_message:type_name -> goproto.proto.test.ForeignMessage
|
|
|
|
41, // goproto.proto.test.TestAllTypes.optional_import_message:type_name -> goproto.proto.test.ImportMessage
|
|
|
|
2, // goproto.proto.test.TestAllTypes.optional_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
0, // goproto.proto.test.TestAllTypes.optional_foreign_enum:type_name -> goproto.proto.test.ForeignEnum
|
|
|
|
42, // goproto.proto.test.TestAllTypes.optional_import_enum:type_name -> goproto.proto.test.ImportEnum
|
|
|
|
20, // goproto.proto.test.TestAllTypes.repeatedgroup:type_name -> goproto.proto.test.TestAllTypes.RepeatedGroup
|
|
|
|
18, // goproto.proto.test.TestAllTypes.repeated_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
|
|
|
|
6, // goproto.proto.test.TestAllTypes.repeated_foreign_message:type_name -> goproto.proto.test.ForeignMessage
|
|
|
|
41, // goproto.proto.test.TestAllTypes.repeated_importmessage:type_name -> goproto.proto.test.ImportMessage
|
|
|
|
2, // goproto.proto.test.TestAllTypes.repeated_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
0, // goproto.proto.test.TestAllTypes.repeated_foreign_enum:type_name -> goproto.proto.test.ForeignEnum
|
|
|
|
42, // goproto.proto.test.TestAllTypes.repeated_importenum:type_name -> goproto.proto.test.ImportEnum
|
|
|
|
21, // goproto.proto.test.TestAllTypes.map_int32_int32:type_name -> goproto.proto.test.TestAllTypes.MapInt32Int32Entry
|
|
|
|
22, // goproto.proto.test.TestAllTypes.map_int64_int64:type_name -> goproto.proto.test.TestAllTypes.MapInt64Int64Entry
|
|
|
|
23, // goproto.proto.test.TestAllTypes.map_uint32_uint32:type_name -> goproto.proto.test.TestAllTypes.MapUint32Uint32Entry
|
|
|
|
24, // goproto.proto.test.TestAllTypes.map_uint64_uint64:type_name -> goproto.proto.test.TestAllTypes.MapUint64Uint64Entry
|
|
|
|
25, // goproto.proto.test.TestAllTypes.map_sint32_sint32:type_name -> goproto.proto.test.TestAllTypes.MapSint32Sint32Entry
|
|
|
|
26, // goproto.proto.test.TestAllTypes.map_sint64_sint64:type_name -> goproto.proto.test.TestAllTypes.MapSint64Sint64Entry
|
|
|
|
27, // goproto.proto.test.TestAllTypes.map_fixed32_fixed32:type_name -> goproto.proto.test.TestAllTypes.MapFixed32Fixed32Entry
|
|
|
|
28, // goproto.proto.test.TestAllTypes.map_fixed64_fixed64:type_name -> goproto.proto.test.TestAllTypes.MapFixed64Fixed64Entry
|
|
|
|
29, // goproto.proto.test.TestAllTypes.map_sfixed32_sfixed32:type_name -> goproto.proto.test.TestAllTypes.MapSfixed32Sfixed32Entry
|
|
|
|
30, // goproto.proto.test.TestAllTypes.map_sfixed64_sfixed64:type_name -> goproto.proto.test.TestAllTypes.MapSfixed64Sfixed64Entry
|
|
|
|
31, // goproto.proto.test.TestAllTypes.map_int32_float:type_name -> goproto.proto.test.TestAllTypes.MapInt32FloatEntry
|
|
|
|
32, // goproto.proto.test.TestAllTypes.map_int32_double:type_name -> goproto.proto.test.TestAllTypes.MapInt32DoubleEntry
|
|
|
|
33, // goproto.proto.test.TestAllTypes.map_bool_bool:type_name -> goproto.proto.test.TestAllTypes.MapBoolBoolEntry
|
|
|
|
34, // goproto.proto.test.TestAllTypes.map_string_string:type_name -> goproto.proto.test.TestAllTypes.MapStringStringEntry
|
|
|
|
35, // goproto.proto.test.TestAllTypes.map_string_bytes:type_name -> goproto.proto.test.TestAllTypes.MapStringBytesEntry
|
|
|
|
36, // goproto.proto.test.TestAllTypes.map_string_nested_message:type_name -> goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry
|
|
|
|
37, // goproto.proto.test.TestAllTypes.map_string_nested_enum:type_name -> goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry
|
|
|
|
2, // goproto.proto.test.TestAllTypes.default_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
0, // goproto.proto.test.TestAllTypes.default_foreign_enum:type_name -> goproto.proto.test.ForeignEnum
|
|
|
|
18, // goproto.proto.test.TestAllTypes.oneof_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
|
|
|
|
2, // goproto.proto.test.TestAllTypes.oneof_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
12, // goproto.proto.test.TestRequiredForeign.optional_message:type_name -> goproto.proto.test.TestRequired
|
|
|
|
12, // goproto.proto.test.TestRequiredForeign.repeated_message:type_name -> goproto.proto.test.TestRequired
|
|
|
|
38, // goproto.proto.test.TestRequiredForeign.map_message:type_name -> goproto.proto.test.TestRequiredForeign.MapMessageEntry
|
2019-04-09 15:57:05 -07:00
|
|
|
12, // goproto.proto.test.TestRequiredForeign.oneof_message:type_name -> goproto.proto.test.TestRequired
|
2019-06-06 13:01:53 -07:00
|
|
|
39, // goproto.proto.test.TestRequiredGroupFields.optionalgroup:type_name -> goproto.proto.test.TestRequiredGroupFields.OptionalGroup
|
|
|
|
40, // goproto.proto.test.TestRequiredGroupFields.repeatedgroup:type_name -> goproto.proto.test.TestRequiredGroupFields.RepeatedGroup
|
|
|
|
4, // goproto.proto.test.TestAllTypes.NestedMessage.corecursive:type_name -> goproto.proto.test.TestAllTypes
|
|
|
|
18, // goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
|
|
|
|
2, // goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
12, // goproto.proto.test.TestRequiredForeign.MapMessageEntry.value:type_name -> goproto.proto.test.TestRequired
|
|
|
|
8, // goproto.proto.test.optional_int32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_int64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_uint32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_uint64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_sint32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_sint64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_fixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_fixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_sfixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_sfixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_float_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_double_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_bool_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_string_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_bytes_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optionalgroup_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_nested_message_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.optional_nested_enum_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_int32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_int64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_uint32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_uint64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_sint32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_sint64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_fixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_fixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_sfixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_sfixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_float_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_double_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_bool_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_string_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_bytes_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeatedgroup_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_nested_message_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.repeated_nested_enum_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_int32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_int64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_uint32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_uint64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_sint32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_sint64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_fixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_fixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_sfixed32_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_sfixed64_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_float_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_double_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_bool_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_string_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.default_bytes_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.TestNestedExtension.nested_string_extension:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.TestRequired.single:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
8, // goproto.proto.test.TestRequired.multi:extendee -> goproto.proto.test.TestAllExtensions
|
|
|
|
9, // goproto.proto.test.optionalgroup_extension:type_name -> goproto.proto.test.OptionalGroup_extension
|
|
|
|
18, // goproto.proto.test.optional_nested_message_extension:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
|
|
|
|
2, // goproto.proto.test.optional_nested_enum_extension:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
10, // goproto.proto.test.repeatedgroup_extension:type_name -> goproto.proto.test.RepeatedGroup_extension
|
|
|
|
18, // goproto.proto.test.repeated_nested_message_extension:type_name -> goproto.proto.test.TestAllTypes.NestedMessage
|
|
|
|
2, // goproto.proto.test.repeated_nested_enum_extension:type_name -> goproto.proto.test.TestAllTypes.NestedEnum
|
|
|
|
12, // goproto.proto.test.TestRequired.single:type_name -> goproto.proto.test.TestRequired
|
|
|
|
12, // goproto.proto.test.TestRequired.multi:type_name -> goproto.proto.test.TestRequired
|
|
|
|
16, // goproto.proto.test.TestService.Foo:input_type -> goproto.proto.test.FooRequest
|
|
|
|
16, // goproto.proto.test.TestService.TestStream:input_type -> goproto.proto.test.FooRequest
|
|
|
|
5, // goproto.proto.test.TestDeprecatedService.Deprecated:input_type -> goproto.proto.test.TestDeprecatedMessage
|
|
|
|
17, // goproto.proto.test.TestService.Foo:output_type -> goproto.proto.test.FooResponse
|
|
|
|
17, // goproto.proto.test.TestService.TestStream:output_type -> goproto.proto.test.FooResponse
|
|
|
|
5, // goproto.proto.test.TestDeprecatedService.Deprecated:output_type -> goproto.proto.test.TestDeprecatedMessage
|
2019-04-09 15:57:05 -07:00
|
|
|
110, // starting offset of method output_type sub-list
|
|
|
|
107, // starting offset of method input_type sub-list
|
|
|
|
99, // starting offset of extension type_name sub-list
|
|
|
|
45, // starting offset of extension extendee sub-list
|
2019-06-06 13:01:53 -07:00
|
|
|
0, // starting offset of field type_name sub-list
|
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-04-15 13:57:56 -07:00
|
|
|
func init() { file_test_test_proto_init() }
|
|
|
|
func file_test_test_proto_init() {
|
2019-03-08 17:18:11 -08:00
|
|
|
if File_test_test_proto != nil {
|
|
|
|
return
|
|
|
|
}
|
2019-04-15 13:57:56 -07:00
|
|
|
file_test_test_import_proto_init()
|
|
|
|
file_test_test_public_proto_init()
|
2019-07-08 10:38:11 -07:00
|
|
|
file_test_test_proto_msgTypes[0].OneofWrappers = []interface{}{
|
|
|
|
(*TestAllTypes_OneofUint32)(nil),
|
|
|
|
(*TestAllTypes_OneofNestedMessage)(nil),
|
|
|
|
(*TestAllTypes_OneofString)(nil),
|
|
|
|
(*TestAllTypes_OneofBytes)(nil),
|
|
|
|
(*TestAllTypes_OneofBool)(nil),
|
|
|
|
(*TestAllTypes_OneofUint64)(nil),
|
|
|
|
(*TestAllTypes_OneofFloat)(nil),
|
|
|
|
(*TestAllTypes_OneofDouble)(nil),
|
|
|
|
(*TestAllTypes_OneofEnum)(nil),
|
|
|
|
}
|
|
|
|
file_test_test_proto_msgTypes[1].OneofWrappers = []interface{}{
|
|
|
|
(*TestDeprecatedMessage_DeprecatedOneofField)(nil),
|
|
|
|
}
|
|
|
|
file_test_test_proto_msgTypes[9].OneofWrappers = []interface{}{
|
|
|
|
(*TestRequiredForeign_OneofMessage)(nil),
|
|
|
|
}
|
2019-06-06 13:01:53 -07:00
|
|
|
out := protoimpl.TypeBuilder{
|
|
|
|
File: protoimpl.DescBuilder{
|
|
|
|
RawDescriptor: file_test_test_proto_rawDesc,
|
|
|
|
NumEnums: 4,
|
|
|
|
NumMessages: 37,
|
|
|
|
NumExtensions: 54,
|
|
|
|
NumServices: 2,
|
|
|
|
},
|
|
|
|
GoTypes: file_test_test_proto_goTypes,
|
|
|
|
DependencyIndexes: file_test_test_proto_depIdxs,
|
|
|
|
MessageInfos: file_test_test_proto_msgTypes,
|
|
|
|
LegacyExtensions: file_test_test_proto_extDescs,
|
|
|
|
}.Build()
|
|
|
|
File_test_test_proto = out.File
|
|
|
|
file_test_test_proto_enumTypes = out.Enums
|
2019-04-15 13:57:56 -07:00
|
|
|
file_test_test_proto_rawDesc = nil
|
|
|
|
file_test_test_proto_goTypes = nil
|
|
|
|
file_test_test_proto_depIdxs = nil
|
2018-12-07 14:38:17 -08:00
|
|
|
}
|