blob: ce6cc599e02e62ae5c88d80377dca2d4943f3963 [file] [log] [blame]
// Protocol Buffers for Go with Gadgets
//
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
// http://github.com/gogo/protobuf
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
syntax = "proto2";
package test;
import "github.com/gogo/protobuf/gogoproto/gogo.proto";
option (gogoproto.goproto_stringer_all) = false;
option (gogoproto.goproto_enum_prefix_all) = false;
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.equal_all) = true;
option (gogoproto.verbose_equal_all) = true;
option (gogoproto.stringer_all) = true;
option (gogoproto.gostring_all) = true;
option (gogoproto.face_all) = true;
option (gogoproto.description_all) = true;
option (gogoproto.testgen_all) = true;
option (gogoproto.populate_all) = true;
option (gogoproto.benchgen_all) = true;
option (gogoproto.unmarshaler_all) = false;
option (gogoproto.marshaler_all) = true;
option (gogoproto.sizer_all) = true;
option (gogoproto.protosizer_all) = false;
option (gogoproto.goproto_enum_stringer_all) = false;
option (gogoproto.enum_stringer_all) = true;
option (gogoproto.unsafe_marshaler_all) = false;
option (gogoproto.unsafe_unmarshaler_all) = false;
option (gogoproto.compare_all) = true;
message NidOptNative {
optional double Field1 = 1 [(gogoproto.nullable) = false];
optional float Field2 = 2 [(gogoproto.nullable) = false];
optional int32 Field3 = 3 [(gogoproto.nullable) = false];
optional int64 Field4 = 4 [(gogoproto.nullable) = false];
optional uint32 Field5 = 5 [(gogoproto.nullable) = false];
optional uint64 Field6 = 6 [(gogoproto.nullable) = false];
optional sint32 Field7 = 7 [(gogoproto.nullable) = false];
optional sint64 Field8 = 8 [(gogoproto.nullable) = false];
optional fixed32 Field9 = 9 [(gogoproto.nullable) = false];
optional sfixed32 Field10 = 10 [(gogoproto.nullable) = false];
optional fixed64 Field11 = 11 [(gogoproto.nullable) = false];
optional sfixed64 Field12 = 12 [(gogoproto.nullable) = false];
optional bool Field13 = 13 [(gogoproto.nullable) = false];
optional string Field14 = 14 [(gogoproto.nullable) = false];
optional bytes Field15 = 15 [(gogoproto.nullable) = false];
}
message NinOptNative {
optional double Field1 = 1;
optional float Field2 = 2;
optional int32 Field3 = 3;
optional int64 Field4 = 4;
optional uint32 Field5 = 5;
optional uint64 Field6 = 6;
optional sint32 Field7 = 7;
optional sint64 Field8 = 8;
optional fixed32 Field9 = 9;
optional sfixed32 Field10 = 10;
optional fixed64 Field11 = 11;
optional sfixed64 Field12 = 12;
optional bool Field13 = 13;
optional string Field14 = 14;
optional bytes Field15 = 15;
}
message NidRepNative {
repeated double Field1 = 1 [(gogoproto.nullable) = false];
repeated float Field2 = 2 [(gogoproto.nullable) = false];
repeated int32 Field3 = 3 [(gogoproto.nullable) = false];
repeated int64 Field4 = 4 [(gogoproto.nullable) = false];
repeated uint32 Field5 = 5 [(gogoproto.nullable) = false];
repeated uint64 Field6 = 6 [(gogoproto.nullable) = false];
repeated sint32 Field7 = 7 [(gogoproto.nullable) = false];
repeated sint64 Field8 = 8 [(gogoproto.nullable) = false];
repeated fixed32 Field9 = 9 [(gogoproto.nullable) = false];
repeated sfixed32 Field10 = 10 [(gogoproto.nullable) = false];
repeated fixed64 Field11 = 11 [(gogoproto.nullable) = false];
repeated sfixed64 Field12 = 12 [(gogoproto.nullable) = false];
repeated bool Field13 = 13 [(gogoproto.nullable) = false];
repeated string Field14 = 14 [(gogoproto.nullable) = false];
repeated bytes Field15 = 15 [(gogoproto.nullable) = false];
}
message NinRepNative {
repeated double Field1 = 1;
repeated float Field2 = 2;
repeated int32 Field3 = 3;
repeated int64 Field4 = 4;
repeated uint32 Field5 = 5;
repeated uint64 Field6 = 6;
repeated sint32 Field7 = 7;
repeated sint64 Field8 = 8;
repeated fixed32 Field9 = 9;
repeated sfixed32 Field10 = 10;
repeated fixed64 Field11 = 11;
repeated sfixed64 Field12 = 12;
repeated bool Field13 = 13;
repeated string Field14 = 14;
repeated bytes Field15 = 15;
}
message NidRepPackedNative {
repeated double Field1 = 1 [(gogoproto.nullable) = false, packed = true];
repeated float Field2 = 2 [(gogoproto.nullable) = false, packed = true];
repeated int32 Field3 = 3 [(gogoproto.nullable) = false, packed = true];
repeated int64 Field4 = 4 [(gogoproto.nullable) = false, packed = true];
repeated uint32 Field5 = 5 [(gogoproto.nullable) = false, packed = true];
repeated uint64 Field6 = 6 [(gogoproto.nullable) = false, packed = true];
repeated sint32 Field7 = 7 [(gogoproto.nullable) = false, packed = true];
repeated sint64 Field8 = 8 [(gogoproto.nullable) = false, packed = true];
repeated fixed32 Field9 = 9 [(gogoproto.nullable) = false, packed = true];
repeated sfixed32 Field10 = 10 [(gogoproto.nullable) = false, packed = true];
repeated fixed64 Field11 = 11 [(gogoproto.nullable) = false, packed = true];
repeated sfixed64 Field12 = 12 [(gogoproto.nullable) = false, packed = true];
repeated bool Field13 = 13 [(gogoproto.nullable) = false, packed = true];
}
message NinRepPackedNative {
repeated double Field1 = 1 [packed = true];
repeated float Field2 = 2 [packed = true];
repeated int32 Field3 = 3 [packed = true];
repeated int64 Field4 = 4 [packed = true];
repeated uint32 Field5 = 5 [packed = true];
repeated uint64 Field6 = 6 [packed = true];
repeated sint32 Field7 = 7 [packed = true];
repeated sint64 Field8 = 8 [packed = true];
repeated fixed32 Field9 = 9 [packed = true];
repeated sfixed32 Field10 = 10 [packed = true];
repeated fixed64 Field11 = 11 [packed = true];
repeated sfixed64 Field12 = 12 [packed = true];
repeated bool Field13 = 13 [packed = true];
}
message NidOptStruct {
optional double Field1 = 1 [(gogoproto.nullable) = false];
optional float Field2 = 2 [(gogoproto.nullable) = false];
optional NidOptNative Field3 = 3 [(gogoproto.nullable) = false];
optional NinOptNative Field4 = 4 [(gogoproto.nullable) = false];
optional uint64 Field6 = 6 [(gogoproto.nullable) = false];
optional sint32 Field7 = 7 [(gogoproto.nullable) = false];
optional NidOptNative Field8 = 8 [(gogoproto.nullable) = false];
optional bool Field13 = 13 [(gogoproto.nullable) = false];
optional string Field14 = 14 [(gogoproto.nullable) = false];
optional bytes Field15 = 15 [(gogoproto.nullable) = false];
}
message NinOptStruct {
optional double Field1 = 1;
optional float Field2 = 2;
optional NidOptNative Field3 = 3;
optional NinOptNative Field4 = 4;
optional uint64 Field6 = 6;
optional sint32 Field7 = 7;
optional NidOptNative Field8 = 8;
optional bool Field13 = 13;
optional string Field14 = 14;
optional bytes Field15 = 15;
}
message NidRepStruct {
repeated double Field1 = 1 [(gogoproto.nullable) = false];
repeated float Field2 = 2 [(gogoproto.nullable) = false];
repeated NidOptNative Field3 = 3 [(gogoproto.nullable) = false];
repeated NinOptNative Field4 = 4 [(gogoproto.nullable) = false];
repeated uint64 Field6 = 6 [(gogoproto.nullable) = false];
repeated sint32 Field7 = 7 [(gogoproto.nullable) = false];
repeated NidOptNative Field8 = 8 [(gogoproto.nullable) = false];
repeated bool Field13 = 13 [(gogoproto.nullable) = false];
repeated string Field14 = 14 [(gogoproto.nullable) = false];
repeated bytes Field15 = 15 [(gogoproto.nullable) = false];
}
message NinRepStruct {
repeated double Field1 = 1;
repeated float Field2 = 2;
repeated NidOptNative Field3 = 3;
repeated NinOptNative Field4 = 4;
repeated uint64 Field6 = 6;
repeated sint32 Field7 = 7;
repeated NidOptNative Field8 = 8;
repeated bool Field13 = 13;
repeated string Field14 = 14;
repeated bytes Field15 = 15;
}
message NidEmbeddedStruct {
optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
optional NidOptNative Field200 = 200 [(gogoproto.nullable) = false];
optional bool Field210 = 210 [(gogoproto.nullable) = false];
}
message NinEmbeddedStruct {
optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
optional NidOptNative Field200 = 200;
optional bool Field210 = 210;
}
message NidNestedStruct {
optional NidOptStruct Field1 = 1 [(gogoproto.nullable) = false];
repeated NidRepStruct Field2 = 2 [(gogoproto.nullable) = false];
}
message NinNestedStruct {
optional NinOptStruct Field1 = 1;
repeated NinRepStruct Field2 = 2;
}
message NidOptCustom {
optional bytes Id = 1 [(gogoproto.customtype) = "Uuid", (gogoproto.nullable) = false];
optional bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128", (gogoproto.nullable) = false];
}
message CustomDash {
optional bytes Value = 1 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom-dash-type.Bytes"];
}
message NinOptCustom {
optional bytes Id = 1 [(gogoproto.customtype) = "Uuid"];
optional bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
}
message NidRepCustom {
repeated bytes Id = 1 [(gogoproto.customtype) = "Uuid", (gogoproto.nullable) = false];
repeated bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128", (gogoproto.nullable) = false];
}
message NinRepCustom {
repeated bytes Id = 1 [(gogoproto.customtype) = "Uuid"];
repeated bytes Value = 2 [(gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
}
message NinOptNativeUnion {
option (gogoproto.onlyone) = true;
optional double Field1 = 1;
optional float Field2 = 2;
optional int32 Field3 = 3;
optional int64 Field4 = 4;
optional uint32 Field5 = 5;
optional uint64 Field6 = 6;
optional bool Field13 = 13;
optional string Field14 = 14;
optional bytes Field15 = 15;
}
message NinOptStructUnion {
option (gogoproto.onlyone) = true;
optional double Field1 = 1;
optional float Field2 = 2;
optional NidOptNative Field3 = 3;
optional NinOptNative Field4 = 4;
optional uint64 Field6 = 6;
optional sint32 Field7 = 7;
optional bool Field13 = 13;
optional string Field14 = 14;
optional bytes Field15 = 15;
}
message NinEmbeddedStructUnion {
option (gogoproto.onlyone) = true;
optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
optional NinOptNative Field200 = 200;
optional bool Field210 = 210;
}
message NinNestedStructUnion {
option (gogoproto.onlyone) = true;
optional NinOptNativeUnion Field1 = 1;
optional NinOptStructUnion Field2 = 2;
optional NinEmbeddedStructUnion Field3 = 3;
}
message Tree {
option (gogoproto.onlyone) = true;
optional OrBranch Or = 1;
optional AndBranch And = 2;
optional Leaf Leaf = 3;
}
message OrBranch {
optional Tree Left = 1 [(gogoproto.nullable) = false];
optional Tree Right = 2 [(gogoproto.nullable) = false];
}
message AndBranch {
optional Tree Left = 1 [(gogoproto.nullable) = false];
optional Tree Right = 2 [(gogoproto.nullable) = false];
}
message Leaf {
optional int64 Value = 1 [(gogoproto.nullable) = false];
optional string StrValue = 2 [(gogoproto.nullable) = false];
}
message DeepTree {
option (gogoproto.onlyone) = true;
optional ADeepBranch Down = 1;
optional AndDeepBranch And = 2;
optional DeepLeaf Leaf = 3;
}
message ADeepBranch {
optional DeepTree Down = 2 [(gogoproto.nullable) = false];
}
message AndDeepBranch {
optional DeepTree Left = 1 [(gogoproto.nullable) = false];
optional DeepTree Right = 2 [(gogoproto.nullable) = false];
}
message DeepLeaf {
optional Tree Tree = 1 [(gogoproto.nullable) = false];
}
message Nil {
}
enum TheTestEnum {
A = 0;
B = 1;
C = 2;
}
enum AnotherTestEnum {
option (gogoproto.goproto_enum_prefix) = false;
D = 10;
E = 11;
}
// YetAnotherTestEnum is used to test cross-package import of custom name
// fields and default resolution.
enum YetAnotherTestEnum {
option (gogoproto.goproto_enum_prefix) = false;
AA = 0;
BB = 1 [(gogoproto.enumvalue_customname) = "BetterYetBB"];
}
// YetAnotherTestEnum is used to test cross-package import of custom name
// fields and default resolution.
enum YetYetAnotherTestEnum {
option (gogoproto.goproto_enum_prefix) = true;
CC = 0;
DD = 1 [(gogoproto.enumvalue_customname) = "BetterYetDD"];
}
message NidOptEnum {
optional TheTestEnum Field1 = 1 [(gogoproto.nullable) = false];
}
message NinOptEnum {
optional TheTestEnum Field1 = 1;
optional YetAnotherTestEnum Field2 = 2;
optional YetYetAnotherTestEnum Field3 = 3;
}
message NidRepEnum {
repeated TheTestEnum Field1 = 1 [(gogoproto.nullable) = false];
repeated YetAnotherTestEnum Field2 = 2 [(gogoproto.nullable) = false];
repeated YetYetAnotherTestEnum Field3 = 3 [(gogoproto.nullable) = false];
}
message NinRepEnum {
repeated TheTestEnum Field1 = 1;
repeated YetAnotherTestEnum Field2 = 2;
repeated YetYetAnotherTestEnum Field3 = 3;
}
message NinOptEnumDefault {
option (gogoproto.goproto_getters) = true;
option (gogoproto.face) = false;
optional TheTestEnum Field1 = 1 [default=C];
optional YetAnotherTestEnum Field2 = 2 [default=BB];
optional YetYetAnotherTestEnum Field3 = 3 [default=CC];
}
message AnotherNinOptEnum {
optional AnotherTestEnum Field1 = 1;
optional YetAnotherTestEnum Field2 = 2;
optional YetYetAnotherTestEnum Field3 = 3;
}
message AnotherNinOptEnumDefault {
option (gogoproto.goproto_getters) = true;
option (gogoproto.face) = false;
optional AnotherTestEnum Field1 = 1 [default=E];
optional YetAnotherTestEnum Field2 = 2 [default=BB];
optional YetYetAnotherTestEnum Field3 = 3 [default=CC];
}
message Timer {
optional sfixed64 Time1 = 1 [(gogoproto.nullable) = false];
optional sfixed64 Time2 = 2 [(gogoproto.nullable) = false];
optional bytes Data = 3 [(gogoproto.nullable) = false];
}
message MyExtendable {
option (gogoproto.face) = false;
optional int64 Field1 = 1;
extensions 100 to 199;
}
extend MyExtendable {
optional double FieldA = 100;
optional NinOptNative FieldB = 101;
optional NinEmbeddedStruct FieldC = 102;
repeated int64 FieldD = 104;
repeated NinOptNative FieldE = 105;
}
message OtherExtenable {
option (gogoproto.face) = false;
optional int64 Field2 = 2;
extensions 14 to 16;
optional int64 Field13 = 13;
extensions 10 to 12;
optional MyExtendable M = 1;
}
message NestedDefinition {
optional int64 Field1 = 1;
message NestedMessage {
optional fixed64 NestedField1 = 1;
optional NestedNestedMsg NNM = 2;
message NestedNestedMsg {
optional string NestedNestedField1 = 10;
}
}
enum NestedEnum {
TYPE_NESTED = 1;
}
optional NestedEnum EnumField = 2;
optional NestedMessage.NestedNestedMsg NNM = 3;
optional NestedMessage NM = 4;
}
message NestedScope {
optional NestedDefinition.NestedMessage.NestedNestedMsg A = 1;
optional NestedDefinition.NestedEnum B = 2;
optional NestedDefinition.NestedMessage C = 3;
}
message NinOptNativeDefault {
option (gogoproto.goproto_getters) = true;
option (gogoproto.face) = false;
optional double Field1 = 1 [default = 1234.1234];
optional float Field2 = 2 [default = 1234.1234];
optional int32 Field3 = 3 [default = 1234];
optional int64 Field4 = 4 [default = 1234];
optional uint32 Field5 = 5 [default = 1234];
optional uint64 Field6 = 6 [default = 1234];
optional sint32 Field7 = 7 [default = 1234];
optional sint64 Field8 = 8 [default = 1234];
optional fixed32 Field9 = 9 [default = 1234];
optional sfixed32 Field10 = 10 [default = 1234];
optional fixed64 Field11 = 11 [default = 1234];
optional sfixed64 Field12 = 12 [default = 1234];
optional bool Field13 = 13 [default = true];
optional string Field14 = 14 [default = "1234"];
optional bytes Field15 = 15;
}
message CustomContainer {
optional NidOptCustom CustomStruct = 1 [(gogoproto.nullable) = false];
}
message CustomNameNidOptNative {
optional double Field1 = 1 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldA"];
optional float Field2 = 2 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldB"];
optional int32 Field3 = 3 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldC"];
optional int64 Field4 = 4 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldD"];
optional uint32 Field5 = 5 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldE"];
optional uint64 Field6 = 6 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldF"];
optional sint32 Field7 = 7 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldG"];
optional sint64 Field8 = 8 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldH"];
optional fixed32 Field9 = 9 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldI"];
optional sfixed32 Field10 = 10 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldJ"];
optional fixed64 Field11 = 11 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldK"];
optional sfixed64 Field12 = 12 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldL"];
optional bool Field13 = 13 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldM"];
optional string Field14 = 14 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldN"];
optional bytes Field15 = 15 [(gogoproto.nullable) = false, (gogoproto.customname) = "FieldO"];
}
message CustomNameNinOptNative {
optional double Field1 = 1 [(gogoproto.customname) = "FieldA"];
optional float Field2 = 2 [(gogoproto.customname) = "FieldB"];
optional int32 Field3 = 3 [(gogoproto.customname) = "FieldC"];
optional int64 Field4 = 4 [(gogoproto.customname) = "FieldD"];
optional uint32 Field5 = 5 [(gogoproto.customname) = "FieldE"];
optional uint64 Field6 = 6 [(gogoproto.customname) = "FieldF"];
optional sint32 Field7 = 7 [(gogoproto.customname) = "FieldG"];
optional sint64 Field8 = 8 [(gogoproto.customname) = "FieldH"];
optional fixed32 Field9 = 9 [(gogoproto.customname) = "FieldI"];
optional sfixed32 Field10 = 10 [(gogoproto.customname) = "FieldJ"];
optional fixed64 Field11 = 11 [(gogoproto.customname) = "FieldK"];
optional sfixed64 Field12 = 12 [(gogoproto.customname) = "FielL"];
optional bool Field13 = 13 [(gogoproto.customname) = "FieldM"];
optional string Field14 = 14 [(gogoproto.customname) = "FieldN"];
optional bytes Field15 = 15 [(gogoproto.customname) = "FieldO"];
}
message CustomNameNinRepNative {
repeated double Field1 = 1 [(gogoproto.customname) = "FieldA"];
repeated float Field2 = 2 [(gogoproto.customname) = "FieldB"];
repeated int32 Field3 = 3 [(gogoproto.customname) = "FieldC"];
repeated int64 Field4 = 4 [(gogoproto.customname) = "FieldD"];
repeated uint32 Field5 = 5 [(gogoproto.customname) = "FieldE"];
repeated uint64 Field6 = 6 [(gogoproto.customname) = "FieldF"];
repeated sint32 Field7 = 7 [(gogoproto.customname) = "FieldG"];
repeated sint64 Field8 = 8 [(gogoproto.customname) = "FieldH"];
repeated fixed32 Field9 = 9 [(gogoproto.customname) = "FieldI"];
repeated sfixed32 Field10 = 10 [(gogoproto.customname) = "FieldJ"];
repeated fixed64 Field11 = 11 [(gogoproto.customname) = "FieldK"];
repeated sfixed64 Field12 = 12 [(gogoproto.customname) = "FieldL"];
repeated bool Field13 = 13 [(gogoproto.customname) = "FieldM"];
repeated string Field14 = 14 [(gogoproto.customname) = "FieldN"];
repeated bytes Field15 = 15 [(gogoproto.customname) = "FieldO"];
}
message CustomNameNinStruct {
optional double Field1 = 1 [(gogoproto.customname) = "FieldA"];
optional float Field2 = 2 [(gogoproto.customname) = "FieldB"];
optional NidOptNative Field3 = 3 [(gogoproto.customname) = "FieldC"];
repeated NinOptNative Field4 = 4 [(gogoproto.customname) = "FieldD"];
optional uint64 Field6 = 6 [(gogoproto.customname) = "FieldE"];
optional sint32 Field7 = 7 [(gogoproto.customname) = "FieldF"];
optional NidOptNative Field8 = 8 [(gogoproto.customname) = "FieldG"];
optional bool Field13 = 13 [(gogoproto.customname) = "FieldH"];
optional string Field14 = 14 [(gogoproto.customname) = "FieldI"];
optional bytes Field15 = 15 [(gogoproto.customname) = "FieldJ"];
}
message CustomNameCustomType {
optional bytes Id = 1 [(gogoproto.customname) = "FieldA", (gogoproto.customtype) = "Uuid"];
optional bytes Value = 2 [(gogoproto.customname) = "FieldB", (gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
repeated bytes Ids = 3 [(gogoproto.customname) = "FieldC", (gogoproto.customtype) = "Uuid"];
repeated bytes Values = 4 [(gogoproto.customname) = "FieldD", (gogoproto.customtype) = "github.com/gogo/protobuf/test/custom.Uint128"];
}
message CustomNameNinEmbeddedStructUnion {
option (gogoproto.onlyone) = true;
optional NidOptNative Field1 = 1 [(gogoproto.embed) = true];
optional NinOptNative Field200 = 200 [(gogoproto.customname) = "FieldA"];
optional bool Field210 = 210 [(gogoproto.customname) = "FieldB"];
}
message CustomNameEnum {
optional TheTestEnum Field1 = 1 [(gogoproto.customname) = "FieldA"];
repeated TheTestEnum Field2 = 2 [(gogoproto.customname) = "FieldB"];
}
message NoExtensionsMap {
option (gogoproto.face) = false;
option (gogoproto.goproto_extensions_map) = false;
optional int64 Field1 = 1;
extensions 100 to 199;
}
extend NoExtensionsMap {
optional double FieldA1 = 100;
optional NinOptNative FieldB1 = 101;
optional NinEmbeddedStruct FieldC1 = 102;
}
message Unrecognized {
option (gogoproto.goproto_unrecognized) = false;
optional string Field1 = 1;
}
message UnrecognizedWithInner {
message Inner {
option (gogoproto.goproto_unrecognized) = false;
optional uint32 Field1 = 1;
}
repeated Inner embedded = 1;
optional string Field2 = 2;
}
message UnrecognizedWithEmbed {
message Embedded {
option (gogoproto.goproto_unrecognized) = false;
optional uint32 Field1 = 1;
}
optional Embedded embedded = 1 [(gogoproto.embed) = true, (gogoproto.nullable) = false];
optional string Field2 = 2;
}
message Node {
optional string Label = 1;
repeated Node Children = 2;
}
message NonByteCustomType {
optional ProtoType Field1 = 1 [(gogoproto.customtype) = "T"];
}
message NidOptNonByteCustomType {
optional ProtoType Field1 = 1 [(gogoproto.customtype) = "T", (gogoproto.nullable) = false];
}
message NinOptNonByteCustomType {
optional ProtoType Field1 = 1 [(gogoproto.customtype) = "T"];
}
message NidRepNonByteCustomType {
repeated ProtoType Field1 = 1 [(gogoproto.customtype) = "T", (gogoproto.nullable) = false];
}
message NinRepNonByteCustomType {
repeated ProtoType Field1 = 1 [(gogoproto.customtype) = "T"];
}
message ProtoType {
optional string Field2 = 1;
}