From da371dd25f057e82aeebdc8756df5aa3f18ca4ca Mon Sep 17 00:00:00 2001 From: thewinds Date: Tue, 29 Dec 2020 23:26:39 +0800 Subject: [PATCH] perf: jtop: not encode zero value --- proto/jtop/jtop.go | 11 +- proto/jtop/jtop_test.go | 138 +++- proto/jtop/testdata/noomitzero/test.pb.go | 848 ++++++++++++++++++++++ proto/jtop/testdata/test.pb.go | 211 +++--- proto/jtop/testdata/test.pd | 10 +- proto/jtop/testdata/test.proto | 1 - 6 files changed, 1094 insertions(+), 125 deletions(-) create mode 100644 proto/jtop/testdata/noomitzero/test.pb.go diff --git a/proto/jtop/jtop.go b/proto/jtop/jtop.go index d43e26f..456b082 100644 --- a/proto/jtop/jtop.go +++ b/proto/jtop/jtop.go @@ -113,7 +113,7 @@ func (e *Encoder) transBool(token *Token, field *metadata.Field) { return } wire, pv, ok := e.parseNumber(token, field) - if !ok { + if !ok || pv == 0 { return } e.encodeKey(field.Tag, wire) @@ -134,7 +134,7 @@ func (e *Encoder) transNull(token *Token, field *metadata.Field) { func (e *Encoder) transNumber(token *Token, field *metadata.Field) { wire, pv, ok := e.parseNumber(token, field) - if !ok { + if !ok || pv == 0 { return } e.encodeKey(field.Tag, wire) @@ -142,6 +142,9 @@ func (e *Encoder) transNumber(token *Token, field *metadata.Field) { } func (e *Encoder) transString(token *Token, field *metadata.Field) { + if len(token.Value) == 2 { + return + } var pv []byte switch field.Kind { case metadata.StringKind: @@ -292,6 +295,10 @@ func (e *Encoder) packNumeric(_ *Token, field *metadata.Field) { } packEnc.encodeWire(wire, pv) } + if len(packEnc.buf.Bytes()) == 0 { + putEncoder(packEnc) + return + } e.encodeBytes(field.Tag, packEnc.buf.Bytes()) putEncoder(packEnc) } diff --git a/proto/jtop/jtop_test.go b/proto/jtop/jtop_test.go index 56c3fe4..589d409 100644 --- a/proto/jtop/jtop_test.go +++ b/proto/jtop/jtop_test.go @@ -5,6 +5,7 @@ import ( "github.com/golang/protobuf/proto" "github.com/zhiduoke/gapi/metadata" "github.com/zhiduoke/gapi/proto/jtop/testdata" + "github.com/zhiduoke/gapi/proto/jtop/testdata/noomitzero" "google.golang.org/protobuf/reflect/protoreflect" "reflect" "testing" @@ -71,7 +72,74 @@ func TestEncode(t *testing.T) { t.Errorf("proto marshal error: %s\n", err) return } - if !reflect.DeepEqual(r, r1) { + if !reflect.DeepEqual(r, r1) && !(len(r) == 0 && len(r1) == 0) { + diffbytes(t, r, r1) + t.Errorf("protobuf not equal\n") + return + } + t.Logf("pass!\n") + } +} + +func TestEncodeZeroValue(t *testing.T) { + type TestCase struct { + name string + in interface{} + msg *metadata.Message + } + + cases := [...]TestCase{ + { + name: "number", + in: &numberReqNoOmit, + msg: testdata.TestMessages[".jtop.test.NumberReq"], + }, + { + name: "string", + in: &stringReqNoOmit, + msg: testdata.TestMessages[".jtop.test.StringReq"], + }, + { + name: "bool", + in: &boolReqNoOmit, + msg: testdata.TestMessages[".jtop.test.BoolReq"], + }, + { + name: "object", + in: &objectReqNoOmit, + msg: testdata.TestMessages[".jtop.test.ObjectReq"], + }, + { + name: "array", + in: &arrayReqNoOmit, + msg: testdata.TestMessages[".jtop.test.ArrayReq"], + }, + { + name: "map", + in: &mapReq1NoOmit, + msg: testdata.TestMessages[".jtop.test.MapReq"], + }, + } + for _, c := range cases { + t.Logf("test %s\n", c.name) + jsonData, err := json.Marshal(c.in) + if err != nil { + t.Log(err) + return + } + //t.Logf("json: %s\n", jsonData) + r, err := Encode(c.msg, jsonData) + if err != nil { + t.Errorf("encode error: %s\n", err) + return + } + r1, err := proto.Marshal(proto.MessageV1(c.in.(protoreflecter).ProtoReflect())) + if err != nil { + t.Errorf("proto marshal error: %s\n", err) + return + } + + if !reflect.DeepEqual(r, r1) && !(len(r) == 0 && len(r1) == 0) { diffbytes(t, r, r1) t.Errorf("protobuf not equal\n") return @@ -178,3 +246,71 @@ var mapReq1 = testdata.MapReq{ //Imo: map[int32]*testdata.ObjectReq{0: &objectReq, 1: &objectReq1}, Sma: map[string]*testdata.ArrayReq{"a": &arrayReq}, } + +var numberReqNoOmit = noomitzero.NumberReq{ + I32: 0, + I64: -64, + Ui32: 32, + Ui64: 64, + Si32: -32, + Si64: -64, + Float: 66.66, + Double: -66.66, + Fix32: 32, + Fix64: 64, + Sfix32: -32, + Sfix64: -64, +} + +var boolReqNoOmit = noomitzero.BoolReq{ + A: true, + B: false, +} + +var stringReqNoOmit = noomitzero.StringReq{ + Str: "", + Bae64: nil, +} + +var objectReq1NoOmit = noomitzero.ObjectReq{ + Num: &numberReqNoOmit, + Str: &stringReqNoOmit, + Bool: &boolReqNoOmit, + Obj: nil, + A: 200, + B: false, +} + +var objectReqNoOmit = noomitzero.ObjectReq{ + Num: &numberReqNoOmit, + Str: &stringReqNoOmit, + Bool: &boolReqNoOmit, + Obj: &objectReq1NoOmit, + A: 100, + B: true, +} + +var arrayReqNoOmit = noomitzero.ArrayReq{ + Nums: []int32{}, + Strs: []string{}, + Bools: []bool{}, + Objs: []*noomitzero.ObjectReq{&objectReqNoOmit, &objectReq1NoOmit, &objectReq1NoOmit}, +} + +var mapReqNoOmit = noomitzero.MapReq{ + Sms: map[string]string{"a": "1a", "b": "2b"}, + Smi: map[string]int32{"1": 1, "2": 2}, + //Bms: map[bool]string{true: "true", false: "false"}, + Smo: map[string]*noomitzero.ObjectReq{"obj0": &objectReqNoOmit, "obj1": &objectReq1NoOmit}, + //Imo: map[int32]*noomit.ObjectReq{0: &objectReq, 1: &objectReq1}, + Sma: map[string]*noomitzero.ArrayReq{"a": &arrayReqNoOmit, "b": &arrayReqNoOmit}, +} + +var mapReq1NoOmit = noomitzero.MapReq{ + Sms: map[string]string{"a": "1a"}, + Smi: map[string]int32{"1": 1}, + //Bms: map[bool]string{true: "true", false: "false"}, + Smo: map[string]*noomitzero.ObjectReq{"obj0": &objectReqNoOmit}, + //Imo: map[int32]*noomit.ObjectReq{0: &objectReq, 1: &objectReq1}, + Sma: map[string]*noomitzero.ArrayReq{"a": &arrayReqNoOmit}, +} diff --git a/proto/jtop/testdata/noomitzero/test.pb.go b/proto/jtop/testdata/noomitzero/test.pb.go new file mode 100644 index 0000000..f390237 --- /dev/null +++ b/proto/jtop/testdata/noomitzero/test.pb.go @@ -0,0 +1,848 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.23.0 +// protoc v3.9.1 +// source: test.proto + +package noomitzero + +import ( + proto "github.com/golang/protobuf/proto" + _ "github.com/zhiduoke/gapi/proto" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// This is a compile-time assertion that a sufficiently up-to-date version +// of the legacy proto package is being used. +const _ = proto.ProtoPackageIsVersion4 + +type Dummy struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Dummy) Reset() { + *x = Dummy{} + if protoimpl.UnsafeEnabled { + mi := &file_test_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Dummy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Dummy) ProtoMessage() {} + +func (x *Dummy) ProtoReflect() protoreflect.Message { + mi := &file_test_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Dummy.ProtoReflect.Descriptor instead. +func (*Dummy) Descriptor() ([]byte, []int) { + return file_test_proto_rawDescGZIP(), []int{0} +} + +type NumberReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + I32 int32 `protobuf:"varint,1,opt,name=i32,proto3" json:"i32"` + I64 int64 `protobuf:"varint,2,opt,name=i64,proto3" json:"i64"` + Ui32 uint32 `protobuf:"varint,3,opt,name=ui32,proto3" json:"ui32"` + Ui64 uint64 `protobuf:"varint,4,opt,name=ui64,proto3" json:"ui64"` + Si32 int32 `protobuf:"zigzag32,5,opt,name=si32,proto3" json:"si32"` + Si64 int64 `protobuf:"zigzag64,6,opt,name=si64,proto3" json:"si64"` + Float float32 `protobuf:"fixed32,7,opt,name=float,proto3" json:"float"` + Double float64 `protobuf:"fixed64,8,opt,name=double,proto3" json:"double"` + Fix32 uint32 `protobuf:"fixed32,9,opt,name=fix32,proto3" json:"fix32"` + Fix64 uint64 `protobuf:"fixed64,10,opt,name=fix64,proto3" json:"fix64"` + Sfix32 int32 `protobuf:"fixed32,11,opt,name=sfix32,proto3" json:"sfix32"` + Sfix64 int64 `protobuf:"fixed64,12,opt,name=sfix64,proto3" json:"sfix64"` +} + +func (x *NumberReq) Reset() { + *x = NumberReq{} + if protoimpl.UnsafeEnabled { + mi := &file_test_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NumberReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NumberReq) ProtoMessage() {} + +func (x *NumberReq) ProtoReflect() protoreflect.Message { + mi := &file_test_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NumberReq.ProtoReflect.Descriptor instead. +func (*NumberReq) Descriptor() ([]byte, []int) { + return file_test_proto_rawDescGZIP(), []int{1} +} + +func (x *NumberReq) GetI32() int32 { + if x != nil { + return x.I32 + } + return 0 +} + +func (x *NumberReq) GetI64() int64 { + if x != nil { + return x.I64 + } + return 0 +} + +func (x *NumberReq) GetUi32() uint32 { + if x != nil { + return x.Ui32 + } + return 0 +} + +func (x *NumberReq) GetUi64() uint64 { + if x != nil { + return x.Ui64 + } + return 0 +} + +func (x *NumberReq) GetSi32() int32 { + if x != nil { + return x.Si32 + } + return 0 +} + +func (x *NumberReq) GetSi64() int64 { + if x != nil { + return x.Si64 + } + return 0 +} + +func (x *NumberReq) GetFloat() float32 { + if x != nil { + return x.Float + } + return 0 +} + +func (x *NumberReq) GetDouble() float64 { + if x != nil { + return x.Double + } + return 0 +} + +func (x *NumberReq) GetFix32() uint32 { + if x != nil { + return x.Fix32 + } + return 0 +} + +func (x *NumberReq) GetFix64() uint64 { + if x != nil { + return x.Fix64 + } + return 0 +} + +func (x *NumberReq) GetSfix32() int32 { + if x != nil { + return x.Sfix32 + } + return 0 +} + +func (x *NumberReq) GetSfix64() int64 { + if x != nil { + return x.Sfix64 + } + return 0 +} + +type StringReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Str string `protobuf:"bytes,1,opt,name=str,proto3" json:"str"` + Bae64 []byte `protobuf:"bytes,2,opt,name=bae64,proto3" json:"bae64"` +} + +func (x *StringReq) Reset() { + *x = StringReq{} + if protoimpl.UnsafeEnabled { + mi := &file_test_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StringReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StringReq) ProtoMessage() {} + +func (x *StringReq) ProtoReflect() protoreflect.Message { + mi := &file_test_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StringReq.ProtoReflect.Descriptor instead. +func (*StringReq) Descriptor() ([]byte, []int) { + return file_test_proto_rawDescGZIP(), []int{2} +} + +func (x *StringReq) GetStr() string { + if x != nil { + return x.Str + } + return "" +} + +func (x *StringReq) GetBae64() []byte { + if x != nil { + return x.Bae64 + } + return nil +} + +type BoolReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + A bool `protobuf:"varint,1,opt,name=a,proto3" json:"a"` + B bool `protobuf:"varint,2,opt,name=b,proto3" json:"b"` +} + +func (x *BoolReq) Reset() { + *x = BoolReq{} + if protoimpl.UnsafeEnabled { + mi := &file_test_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoolReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoolReq) ProtoMessage() {} + +func (x *BoolReq) ProtoReflect() protoreflect.Message { + mi := &file_test_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoolReq.ProtoReflect.Descriptor instead. +func (*BoolReq) Descriptor() ([]byte, []int) { + return file_test_proto_rawDescGZIP(), []int{3} +} + +func (x *BoolReq) GetA() bool { + if x != nil { + return x.A + } + return false +} + +func (x *BoolReq) GetB() bool { + if x != nil { + return x.B + } + return false +} + +type ObjectReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Num *NumberReq `protobuf:"bytes,1,opt,name=num,proto3" json:"num"` + Str *StringReq `protobuf:"bytes,2,opt,name=str,proto3" json:"str"` + Bool *BoolReq `protobuf:"bytes,3,opt,name=bool,proto3" json:"bool"` + Obj *ObjectReq `protobuf:"bytes,4,opt,name=obj,proto3" json:"obj"` + A int32 `protobuf:"varint,5,opt,name=a,proto3" json:"a"` + B bool `protobuf:"varint,6,opt,name=b,proto3" json:"b"` +} + +func (x *ObjectReq) Reset() { + *x = ObjectReq{} + if protoimpl.UnsafeEnabled { + mi := &file_test_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ObjectReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ObjectReq) ProtoMessage() {} + +func (x *ObjectReq) ProtoReflect() protoreflect.Message { + mi := &file_test_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ObjectReq.ProtoReflect.Descriptor instead. +func (*ObjectReq) Descriptor() ([]byte, []int) { + return file_test_proto_rawDescGZIP(), []int{4} +} + +func (x *ObjectReq) GetNum() *NumberReq { + if x != nil { + return x.Num + } + return nil +} + +func (x *ObjectReq) GetStr() *StringReq { + if x != nil { + return x.Str + } + return nil +} + +func (x *ObjectReq) GetBool() *BoolReq { + if x != nil { + return x.Bool + } + return nil +} + +func (x *ObjectReq) GetObj() *ObjectReq { + if x != nil { + return x.Obj + } + return nil +} + +func (x *ObjectReq) GetA() int32 { + if x != nil { + return x.A + } + return 0 +} + +func (x *ObjectReq) GetB() bool { + if x != nil { + return x.B + } + return false +} + +type MapReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sms map[string]string `protobuf:"bytes,1,rep,name=sms,proto3" json:"sms" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Smi map[string]int32 `protobuf:"bytes,2,rep,name=smi,proto3" json:"smi" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Smo map[string]*ObjectReq `protobuf:"bytes,4,rep,name=smo,proto3" json:"smo" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Imo map[int32]*ObjectReq `protobuf:"bytes,5,rep,name=imo,proto3" json:"imo" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Sma map[string]*ArrayReq `protobuf:"bytes,6,rep,name=sma,proto3" json:"sma" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *MapReq) Reset() { + *x = MapReq{} + if protoimpl.UnsafeEnabled { + mi := &file_test_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MapReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MapReq) ProtoMessage() {} + +func (x *MapReq) ProtoReflect() protoreflect.Message { + mi := &file_test_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MapReq.ProtoReflect.Descriptor instead. +func (*MapReq) Descriptor() ([]byte, []int) { + return file_test_proto_rawDescGZIP(), []int{5} +} + +func (x *MapReq) GetSms() map[string]string { + if x != nil { + return x.Sms + } + return nil +} + +func (x *MapReq) GetSmi() map[string]int32 { + if x != nil { + return x.Smi + } + return nil +} + +func (x *MapReq) GetSmo() map[string]*ObjectReq { + if x != nil { + return x.Smo + } + return nil +} + +func (x *MapReq) GetImo() map[int32]*ObjectReq { + if x != nil { + return x.Imo + } + return nil +} + +func (x *MapReq) GetSma() map[string]*ArrayReq { + if x != nil { + return x.Sma + } + return nil +} + +type ArrayReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Nums []int32 `protobuf:"varint,1,rep,packed,name=nums,proto3" json:"nums"` + Strs []string `protobuf:"bytes,2,rep,name=strs,proto3" json:"strs"` + Bools []bool `protobuf:"varint,3,rep,packed,name=bools,proto3" json:"bools"` + Objs []*ObjectReq `protobuf:"bytes,4,rep,name=objs,proto3" json:"objs"` + MapObjs []*MapReq `protobuf:"bytes,5,rep,name=mapObjs,proto3" json:"mapObjs"` +} + +func (x *ArrayReq) Reset() { + *x = ArrayReq{} + if protoimpl.UnsafeEnabled { + mi := &file_test_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ArrayReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ArrayReq) ProtoMessage() {} + +func (x *ArrayReq) ProtoReflect() protoreflect.Message { + mi := &file_test_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ArrayReq.ProtoReflect.Descriptor instead. +func (*ArrayReq) Descriptor() ([]byte, []int) { + return file_test_proto_rawDescGZIP(), []int{6} +} + +func (x *ArrayReq) GetNums() []int32 { + if x != nil { + return x.Nums + } + return nil +} + +func (x *ArrayReq) GetStrs() []string { + if x != nil { + return x.Strs + } + return nil +} + +func (x *ArrayReq) GetBools() []bool { + if x != nil { + return x.Bools + } + return nil +} + +func (x *ArrayReq) GetObjs() []*ObjectReq { + if x != nil { + return x.Objs + } + return nil +} + +func (x *ArrayReq) GetMapObjs() []*MapReq { + if x != nil { + return x.MapObjs + } + return nil +} + +var File_test_proto protoreflect.FileDescriptor + +var file_test_proto_rawDesc = []byte{ + 0x0a, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x6a, 0x74, + 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x07, 0x0a, 0x05, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x89, 0x02, 0x0a, 0x09, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x33, 0x32, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x03, 0x69, 0x33, 0x32, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x36, 0x34, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x69, 0x36, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x69, + 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x75, 0x69, 0x33, 0x32, 0x12, 0x12, + 0x0a, 0x04, 0x75, 0x69, 0x36, 0x34, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x75, 0x69, + 0x36, 0x34, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, + 0x52, 0x04, 0x73, 0x69, 0x33, 0x32, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x36, 0x34, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x12, 0x52, 0x04, 0x73, 0x69, 0x36, 0x34, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x78, 0x33, + 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x66, 0x69, 0x78, 0x33, 0x32, 0x12, 0x14, + 0x0a, 0x05, 0x66, 0x69, 0x78, 0x36, 0x34, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x06, 0x52, 0x05, 0x66, + 0x69, 0x78, 0x36, 0x34, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x66, 0x69, 0x78, 0x33, 0x32, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0f, 0x52, 0x06, 0x73, 0x66, 0x69, 0x78, 0x33, 0x32, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x66, 0x69, 0x78, 0x36, 0x34, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x10, 0x52, 0x06, 0x73, 0x66, + 0x69, 0x78, 0x36, 0x34, 0x22, 0x33, 0x0a, 0x09, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, + 0x71, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x73, 0x74, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x61, 0x65, 0x36, 0x34, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x05, 0x62, 0x61, 0x65, 0x36, 0x34, 0x22, 0x25, 0x0a, 0x07, 0x42, 0x6f, 0x6f, + 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x01, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, + 0x22, 0xc7, 0x01, 0x0a, 0x09, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x26, + 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, + 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x26, + 0x0a, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6a, + 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, + 0x52, 0x04, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x26, 0x0a, 0x03, 0x6f, 0x62, 0x6a, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x03, 0x6f, 0x62, 0x6a, 0x12, 0x0c, + 0x0a, 0x01, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x0c, 0x0a, 0x01, + 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, 0x22, 0xc7, 0x04, 0x0a, 0x06, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x03, 0x73, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, + 0x73, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x73, 0x6d, 0x69, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, + 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6d, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, + 0x69, 0x12, 0x2c, 0x0a, 0x03, 0x73, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, + 0x71, 0x2e, 0x53, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, 0x6f, 0x12, + 0x2c, 0x0a, 0x03, 0x69, 0x6d, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, + 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, + 0x49, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x69, 0x6d, 0x6f, 0x12, 0x2c, 0x0a, + 0x03, 0x73, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, + 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6d, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, 0x61, 0x1a, 0x36, 0x0a, 0x08, 0x53, + 0x6d, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x6d, 0x69, 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, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x08, 0x53, + 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x08, 0x49, 0x6d, 0x6f, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x08, 0x53, 0x6d, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, 0x71, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x08, 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x04, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x12, + 0x28, 0x0a, 0x04, 0x6f, 0x62, 0x6a, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x52, 0x04, 0x6f, 0x62, 0x6a, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x6d, 0x61, 0x70, + 0x4f, 0x62, 0x6a, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6a, 0x74, 0x6f, + 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x52, 0x07, 0x6d, + 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x73, 0x32, 0xd1, 0x03, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0e, 0xd2, 0xd3, 0xee, + 0x0b, 0x09, 0x0a, 0x07, 0x2f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x54, + 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, + 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, + 0x79, 0x22, 0x0e, 0xd2, 0xd3, 0xee, 0x0b, 0x09, 0x0a, 0x07, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x12, 0x2e, + 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, + 0x6d, 0x6d, 0x79, 0x22, 0x0c, 0xd2, 0xd3, 0xee, 0x0b, 0x07, 0x0a, 0x05, 0x2f, 0x62, 0x6f, 0x6f, + 0x6c, 0x12, 0x44, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0e, 0xd2, 0xd3, 0xee, 0x0b, 0x09, 0x0a, 0x07, + 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x54, 0x65, 0x73, 0x74, 0x4d, + 0x61, 0x70, 0x12, 0x11, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0b, 0xd2, 0xd3, 0xee, 0x0b, 0x06, 0x0a, 0x04, + 0x2f, 0x6d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x12, 0x13, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0d, 0xd2, 0xd3, 0xee, 0x0b, 0x08, 0x0a, + 0x06, 0x2f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x31, 0xd2, 0xf7, 0xd6, 0x0f, 0x0f, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x31, 0x39, 0x30, 0x39, 0x30, 0xe2, 0xf7, 0xd6, + 0x0f, 0x08, 0x68, 0x74, 0x74, 0x70, 0x6a, 0x73, 0x6f, 0x6e, 0xe8, 0xf7, 0xd6, 0x0f, 0x88, 0x27, + 0xf2, 0xf7, 0xd6, 0x0f, 0x05, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x74, 0x65, + 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_test_proto_rawDescOnce sync.Once + file_test_proto_rawDescData = file_test_proto_rawDesc +) + +func file_test_proto_rawDescGZIP() []byte { + file_test_proto_rawDescOnce.Do(func() { + file_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_test_proto_rawDescData) + }) + return file_test_proto_rawDescData +} + +var file_test_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_test_proto_goTypes = []interface{}{ + (*Dummy)(nil), // 0: jtop.test.Dummy + (*NumberReq)(nil), // 1: jtop.test.NumberReq + (*StringReq)(nil), // 2: jtop.test.StringReq + (*BoolReq)(nil), // 3: jtop.test.BoolReq + (*ObjectReq)(nil), // 4: jtop.test.ObjectReq + (*MapReq)(nil), // 5: jtop.test.MapReq + (*ArrayReq)(nil), // 6: jtop.test.ArrayReq + nil, // 7: jtop.test.MapReq.SmsEntry + nil, // 8: jtop.test.MapReq.SmiEntry + nil, // 9: jtop.test.MapReq.SmoEntry + nil, // 10: jtop.test.MapReq.ImoEntry + nil, // 11: jtop.test.MapReq.SmaEntry +} +var file_test_proto_depIdxs = []int32{ + 1, // 0: jtop.test.ObjectReq.num:type_name -> jtop.test.NumberReq + 2, // 1: jtop.test.ObjectReq.str:type_name -> jtop.test.StringReq + 3, // 2: jtop.test.ObjectReq.bool:type_name -> jtop.test.BoolReq + 4, // 3: jtop.test.ObjectReq.obj:type_name -> jtop.test.ObjectReq + 7, // 4: jtop.test.MapReq.sms:type_name -> jtop.test.MapReq.SmsEntry + 8, // 5: jtop.test.MapReq.smi:type_name -> jtop.test.MapReq.SmiEntry + 9, // 6: jtop.test.MapReq.smo:type_name -> jtop.test.MapReq.SmoEntry + 10, // 7: jtop.test.MapReq.imo:type_name -> jtop.test.MapReq.ImoEntry + 11, // 8: jtop.test.MapReq.sma:type_name -> jtop.test.MapReq.SmaEntry + 4, // 9: jtop.test.ArrayReq.objs:type_name -> jtop.test.ObjectReq + 5, // 10: jtop.test.ArrayReq.mapObjs:type_name -> jtop.test.MapReq + 4, // 11: jtop.test.MapReq.SmoEntry.value:type_name -> jtop.test.ObjectReq + 4, // 12: jtop.test.MapReq.ImoEntry.value:type_name -> jtop.test.ObjectReq + 6, // 13: jtop.test.MapReq.SmaEntry.value:type_name -> jtop.test.ArrayReq + 1, // 14: jtop.test.TestServer.TestNumber:input_type -> jtop.test.NumberReq + 2, // 15: jtop.test.TestServer.TestString:input_type -> jtop.test.StringReq + 3, // 16: jtop.test.TestServer.TestBool:input_type -> jtop.test.BoolReq + 4, // 17: jtop.test.TestServer.TestObject:input_type -> jtop.test.ObjectReq + 5, // 18: jtop.test.TestServer.TestMap:input_type -> jtop.test.MapReq + 6, // 19: jtop.test.TestServer.TestArray:input_type -> jtop.test.ArrayReq + 0, // 20: jtop.test.TestServer.TestNumber:output_type -> jtop.test.Dummy + 0, // 21: jtop.test.TestServer.TestString:output_type -> jtop.test.Dummy + 0, // 22: jtop.test.TestServer.TestBool:output_type -> jtop.test.Dummy + 0, // 23: jtop.test.TestServer.TestObject:output_type -> jtop.test.Dummy + 0, // 24: jtop.test.TestServer.TestMap:output_type -> jtop.test.Dummy + 0, // 25: jtop.test.TestServer.TestArray:output_type -> jtop.test.Dummy + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_test_proto_init() } +func file_test_proto_init() { + if File_test_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Dummy); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NumberReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*StringReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BoolReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ObjectReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MapReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ArrayReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_test_proto_rawDesc, + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_test_proto_goTypes, + DependencyIndexes: file_test_proto_depIdxs, + MessageInfos: file_test_proto_msgTypes, + }.Build() + File_test_proto = out.File + file_test_proto_rawDesc = nil + file_test_proto_goTypes = nil + file_test_proto_depIdxs = nil +} diff --git a/proto/jtop/testdata/test.pb.go b/proto/jtop/testdata/test.pb.go index ca0b511..90f0be1 100644 --- a/proto/jtop/testdata/test.pb.go +++ b/proto/jtop/testdata/test.pb.go @@ -403,7 +403,6 @@ type MapReq struct { Sms map[string]string `protobuf:"bytes,1,rep,name=sms,proto3" json:"sms,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Smi map[string]int32 `protobuf:"bytes,2,rep,name=smi,proto3" json:"smi,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - Bms map[bool]string `protobuf:"bytes,3,rep,name=bms,proto3" json:"bms,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Smo map[string]*ObjectReq `protobuf:"bytes,4,rep,name=smo,proto3" json:"smo,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Imo map[int32]*ObjectReq `protobuf:"bytes,5,rep,name=imo,proto3" json:"imo,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` Sma map[string]*ArrayReq `protobuf:"bytes,6,rep,name=sma,proto3" json:"sma,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` @@ -455,13 +454,6 @@ func (x *MapReq) GetSmi() map[string]int32 { return nil } -func (x *MapReq) GetBms() map[bool]string { - if x != nil { - return x.Bms - } - return nil -} - func (x *MapReq) GetSmo() map[string]*ObjectReq { if x != nil { return x.Smo @@ -603,91 +595,84 @@ var file_test_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x03, 0x6f, 0x62, 0x6a, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x0c, 0x0a, 0x01, - 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, 0x22, 0xad, 0x05, 0x0a, 0x06, 0x4d, + 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x01, 0x62, 0x22, 0xc7, 0x04, 0x0a, 0x06, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x12, 0x2c, 0x0a, 0x03, 0x73, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x73, 0x6d, 0x69, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6d, 0x69, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, - 0x69, 0x12, 0x2c, 0x0a, 0x03, 0x62, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, + 0x69, 0x12, 0x2c, 0x0a, 0x03, 0x73, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, - 0x71, 0x2e, 0x42, 0x6d, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x62, 0x6d, 0x73, 0x12, - 0x2c, 0x0a, 0x03, 0x73, 0x6d, 0x6f, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, + 0x71, 0x2e, 0x53, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, 0x6f, 0x12, + 0x2c, 0x0a, 0x03, 0x69, 0x6d, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, - 0x53, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, 0x6f, 0x12, 0x2c, 0x0a, - 0x03, 0x69, 0x6d, 0x6f, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, - 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x49, 0x6d, - 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x69, 0x6d, 0x6f, 0x12, 0x2c, 0x0a, 0x03, 0x73, - 0x6d, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, - 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6d, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, 0x61, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x6d, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x6d, 0x69, 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, 0x05, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x42, 0x6d, 0x73, + 0x49, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x69, 0x6d, 0x6f, 0x12, 0x2c, 0x0a, + 0x03, 0x73, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6a, 0x74, 0x6f, + 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6d, + 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x73, 0x6d, 0x61, 0x1a, 0x36, 0x0a, 0x08, 0x53, + 0x6d, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x36, 0x0a, 0x08, 0x53, 0x6d, 0x69, 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, 0x05, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x08, 0x53, + 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4c, 0x0a, 0x08, 0x49, 0x6d, 0x6f, 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, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x4c, 0x0a, 0x08, 0x53, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x4c, 0x0a, 0x08, 0x49, 0x6d, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, - 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, - 0x08, 0x53, 0x6d, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6a, 0x74, 0x6f, - 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, 0x71, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x08, 0x41, - 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x75, 0x6d, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x04, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, - 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x72, 0x73, 0x12, - 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x05, - 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 0x28, 0x0a, 0x04, 0x6f, 0x62, 0x6a, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x04, 0x6f, 0x62, 0x6a, 0x73, 0x12, - 0x2b, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, - 0x52, 0x65, 0x71, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x73, 0x32, 0xd1, 0x03, 0x0a, - 0x0a, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x54, - 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, - 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, + 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x08, 0x53, 0x6d, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, 0x71, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x08, 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x75, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, + 0x04, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x72, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x04, 0x73, 0x74, 0x72, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6f, 0x6f, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6f, 0x6f, 0x6c, 0x73, 0x12, + 0x28, 0x0a, 0x04, 0x6f, 0x62, 0x6a, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x52, 0x04, 0x6f, 0x62, 0x6a, 0x73, 0x12, 0x2b, 0x0a, 0x07, 0x6d, 0x61, 0x70, + 0x4f, 0x62, 0x6a, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6a, 0x74, 0x6f, + 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x52, 0x07, 0x6d, + 0x61, 0x70, 0x4f, 0x62, 0x6a, 0x73, 0x32, 0xd1, 0x03, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0e, 0xd2, 0xd3, 0xee, + 0x0b, 0x09, 0x0a, 0x07, 0x2f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x54, + 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, - 0x79, 0x22, 0x0e, 0xd2, 0xd3, 0xee, 0x0b, 0x09, 0x0a, 0x07, 0x2f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, - 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, + 0x79, 0x22, 0x0e, 0xd2, 0xd3, 0xee, 0x0b, 0x09, 0x0a, 0x07, 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x12, 0x2e, + 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, + 0x6d, 0x6d, 0x79, 0x22, 0x0c, 0xd2, 0xd3, 0xee, 0x0b, 0x07, 0x0a, 0x05, 0x2f, 0x62, 0x6f, 0x6f, + 0x6c, 0x12, 0x44, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0e, 0xd2, 0xd3, 0xee, 0x0b, 0x09, 0x0a, 0x07, - 0x2f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x3e, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x42, - 0x6f, 0x6f, 0x6c, 0x12, 0x12, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, - 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, - 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0c, 0xd2, 0xd3, 0xee, 0x0b, 0x07, - 0x0a, 0x05, 0x2f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x44, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, - 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, - 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0e, 0xd2, - 0xd3, 0xee, 0x0b, 0x09, 0x0a, 0x07, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, - 0x07, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x61, 0x70, 0x12, 0x11, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, - 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, 0x61, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, - 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0b, 0xd2, - 0xd3, 0xee, 0x0b, 0x06, 0x0a, 0x04, 0x2f, 0x6d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x09, 0x54, 0x65, - 0x73, 0x74, 0x41, 0x72, 0x72, 0x61, 0x79, 0x12, 0x13, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, - 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, 0x72, 0x61, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, - 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0d, - 0xd2, 0xd3, 0xee, 0x0b, 0x08, 0x0a, 0x06, 0x2f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x31, 0xd2, - 0xf7, 0xd6, 0x0f, 0x0f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x31, 0x39, - 0x30, 0x39, 0x30, 0xe2, 0xf7, 0xd6, 0x0f, 0x08, 0x68, 0x74, 0x74, 0x70, 0x6a, 0x73, 0x6f, 0x6e, - 0xe8, 0xf7, 0xd6, 0x0f, 0x88, 0x27, 0xf2, 0xf7, 0xd6, 0x0f, 0x05, 0x2f, 0x74, 0x65, 0x73, 0x74, - 0x42, 0x0a, 0x5a, 0x08, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3b, 0x0a, 0x07, 0x54, 0x65, 0x73, 0x74, 0x4d, + 0x61, 0x70, 0x12, 0x11, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x4d, + 0x61, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0b, 0xd2, 0xd3, 0xee, 0x0b, 0x06, 0x0a, 0x04, + 0x2f, 0x6d, 0x61, 0x70, 0x12, 0x41, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x41, 0x72, 0x72, 0x61, + 0x79, 0x12, 0x13, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x72, + 0x72, 0x61, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x6a, 0x74, 0x6f, 0x70, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x44, 0x75, 0x6d, 0x6d, 0x79, 0x22, 0x0d, 0xd2, 0xd3, 0xee, 0x0b, 0x08, 0x0a, + 0x06, 0x2f, 0x61, 0x72, 0x72, 0x61, 0x79, 0x1a, 0x31, 0xd2, 0xf7, 0xd6, 0x0f, 0x0f, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x68, 0x6f, 0x73, 0x74, 0x3a, 0x31, 0x39, 0x30, 0x39, 0x30, 0xe2, 0xf7, 0xd6, + 0x0f, 0x08, 0x68, 0x74, 0x74, 0x70, 0x6a, 0x73, 0x6f, 0x6e, 0xe8, 0xf7, 0xd6, 0x0f, 0x88, 0x27, + 0xf2, 0xf7, 0xd6, 0x0f, 0x05, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x42, 0x0a, 0x5a, 0x08, 0x74, 0x65, + 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -702,7 +687,7 @@ func file_test_proto_rawDescGZIP() []byte { return file_test_proto_rawDescData } -var file_test_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_test_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_test_proto_goTypes = []interface{}{ (*Dummy)(nil), // 0: jtop.test.Dummy (*NumberReq)(nil), // 1: jtop.test.NumberReq @@ -713,10 +698,9 @@ var file_test_proto_goTypes = []interface{}{ (*ArrayReq)(nil), // 6: jtop.test.ArrayReq nil, // 7: jtop.test.MapReq.SmsEntry nil, // 8: jtop.test.MapReq.SmiEntry - nil, // 9: jtop.test.MapReq.BmsEntry - nil, // 10: jtop.test.MapReq.SmoEntry - nil, // 11: jtop.test.MapReq.ImoEntry - nil, // 12: jtop.test.MapReq.SmaEntry + nil, // 9: jtop.test.MapReq.SmoEntry + nil, // 10: jtop.test.MapReq.ImoEntry + nil, // 11: jtop.test.MapReq.SmaEntry } var file_test_proto_depIdxs = []int32{ 1, // 0: jtop.test.ObjectReq.num:type_name -> jtop.test.NumberReq @@ -725,32 +709,31 @@ var file_test_proto_depIdxs = []int32{ 4, // 3: jtop.test.ObjectReq.obj:type_name -> jtop.test.ObjectReq 7, // 4: jtop.test.MapReq.sms:type_name -> jtop.test.MapReq.SmsEntry 8, // 5: jtop.test.MapReq.smi:type_name -> jtop.test.MapReq.SmiEntry - 9, // 6: jtop.test.MapReq.bms:type_name -> jtop.test.MapReq.BmsEntry - 10, // 7: jtop.test.MapReq.smo:type_name -> jtop.test.MapReq.SmoEntry - 11, // 8: jtop.test.MapReq.imo:type_name -> jtop.test.MapReq.ImoEntry - 12, // 9: jtop.test.MapReq.sma:type_name -> jtop.test.MapReq.SmaEntry - 4, // 10: jtop.test.ArrayReq.objs:type_name -> jtop.test.ObjectReq - 5, // 11: jtop.test.ArrayReq.mapObjs:type_name -> jtop.test.MapReq - 4, // 12: jtop.test.MapReq.SmoEntry.value:type_name -> jtop.test.ObjectReq - 4, // 13: jtop.test.MapReq.ImoEntry.value:type_name -> jtop.test.ObjectReq - 6, // 14: jtop.test.MapReq.SmaEntry.value:type_name -> jtop.test.ArrayReq - 1, // 15: jtop.test.TestServer.TestNumber:input_type -> jtop.test.NumberReq - 2, // 16: jtop.test.TestServer.TestString:input_type -> jtop.test.StringReq - 3, // 17: jtop.test.TestServer.TestBool:input_type -> jtop.test.BoolReq - 4, // 18: jtop.test.TestServer.TestObject:input_type -> jtop.test.ObjectReq - 5, // 19: jtop.test.TestServer.TestMap:input_type -> jtop.test.MapReq - 6, // 20: jtop.test.TestServer.TestArray:input_type -> jtop.test.ArrayReq - 0, // 21: jtop.test.TestServer.TestNumber:output_type -> jtop.test.Dummy - 0, // 22: jtop.test.TestServer.TestString:output_type -> jtop.test.Dummy - 0, // 23: jtop.test.TestServer.TestBool:output_type -> jtop.test.Dummy - 0, // 24: jtop.test.TestServer.TestObject:output_type -> jtop.test.Dummy - 0, // 25: jtop.test.TestServer.TestMap:output_type -> jtop.test.Dummy - 0, // 26: jtop.test.TestServer.TestArray:output_type -> jtop.test.Dummy - 21, // [21:27] is the sub-list for method output_type - 15, // [15:21] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 9, // 6: jtop.test.MapReq.smo:type_name -> jtop.test.MapReq.SmoEntry + 10, // 7: jtop.test.MapReq.imo:type_name -> jtop.test.MapReq.ImoEntry + 11, // 8: jtop.test.MapReq.sma:type_name -> jtop.test.MapReq.SmaEntry + 4, // 9: jtop.test.ArrayReq.objs:type_name -> jtop.test.ObjectReq + 5, // 10: jtop.test.ArrayReq.mapObjs:type_name -> jtop.test.MapReq + 4, // 11: jtop.test.MapReq.SmoEntry.value:type_name -> jtop.test.ObjectReq + 4, // 12: jtop.test.MapReq.ImoEntry.value:type_name -> jtop.test.ObjectReq + 6, // 13: jtop.test.MapReq.SmaEntry.value:type_name -> jtop.test.ArrayReq + 1, // 14: jtop.test.TestServer.TestNumber:input_type -> jtop.test.NumberReq + 2, // 15: jtop.test.TestServer.TestString:input_type -> jtop.test.StringReq + 3, // 16: jtop.test.TestServer.TestBool:input_type -> jtop.test.BoolReq + 4, // 17: jtop.test.TestServer.TestObject:input_type -> jtop.test.ObjectReq + 5, // 18: jtop.test.TestServer.TestMap:input_type -> jtop.test.MapReq + 6, // 19: jtop.test.TestServer.TestArray:input_type -> jtop.test.ArrayReq + 0, // 20: jtop.test.TestServer.TestNumber:output_type -> jtop.test.Dummy + 0, // 21: jtop.test.TestServer.TestString:output_type -> jtop.test.Dummy + 0, // 22: jtop.test.TestServer.TestBool:output_type -> jtop.test.Dummy + 0, // 23: jtop.test.TestServer.TestObject:output_type -> jtop.test.Dummy + 0, // 24: jtop.test.TestServer.TestMap:output_type -> jtop.test.Dummy + 0, // 25: jtop.test.TestServer.TestArray:output_type -> jtop.test.Dummy + 20, // [20:26] is the sub-list for method output_type + 14, // [14:20] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_test_proto_init() } @@ -850,7 +833,7 @@ func file_test_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_test_proto_rawDesc, NumEnums: 0, - NumMessages: 13, + NumMessages: 12, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/jtop/testdata/test.pd b/proto/jtop/testdata/test.pd index 21d0737..b469102 100644 --- a/proto/jtop/testdata/test.pd +++ b/proto/jtop/testdata/test.pd @@ -1,5 +1,5 @@ -¤ +¾ test.proto jtop.testproto/annotation.proto" Dummy"‰ @@ -29,11 +29,10 @@ test.proto jtop.testproto/annotation.proto" bool ( 2.jtop.test.BoolReqRbool& obj ( 2.jtop.test.ObjectReqRobj a (Ra -b (Rb"­ +b (Rb"Ç MapReq, sms ( 2.jtop.test.MapReq.SmsEntryRsms, smi ( 2.jtop.test.MapReq.SmiEntryRsmi, -bms ( 2.jtop.test.MapReq.BmsEntryRbms, smo ( 2.jtop.test.MapReq.SmoEntryRsmo, imo ( 2.jtop.test.MapReq.ImoEntryRimo, sma ( 2.jtop.test.MapReq.SmaEntryRsma6 @@ -42,10 +41,7 @@ test.proto jtop.testproto/annotation.proto" value ( Rvalue:86 SmiEntry key ( Rkey -value (Rvalue:86 -BmsEntry -key (Rkey -value ( Rvalue:8L +value (Rvalue:8L SmoEntry key ( Rkey* value ( 2.jtop.test.ObjectReqRvalue:8L diff --git a/proto/jtop/testdata/test.proto b/proto/jtop/testdata/test.proto index 6d4c211..759e4be 100644 --- a/proto/jtop/testdata/test.proto +++ b/proto/jtop/testdata/test.proto @@ -84,7 +84,6 @@ message ObjectReq { message MapReq { map sms = 1; map smi = 2; - map bms = 3; map smo = 4; map imo = 5; map sma = 6;