basic_test.proto 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. syntax = "proto3";
  2. package basic_test;
  3. import "google/protobuf/struct.proto";
  4. message Foo {
  5. Bar bar = 1;
  6. repeated Baz baz = 2;
  7. }
  8. message Bar {
  9. string msg = 1;
  10. }
  11. message Baz {
  12. string msg = 1;
  13. }
  14. message TestMessage {
  15. int32 optional_int32 = 1;
  16. int64 optional_int64 = 2;
  17. uint32 optional_uint32 = 3;
  18. uint64 optional_uint64 = 4;
  19. bool optional_bool = 5;
  20. float optional_float = 6;
  21. double optional_double = 7;
  22. string optional_string = 8;
  23. bytes optional_bytes = 9;
  24. TestMessage2 optional_msg = 10;
  25. TestEnum optional_enum = 11;
  26. repeated int32 repeated_int32 = 12;
  27. repeated int64 repeated_int64 = 13;
  28. repeated uint32 repeated_uint32 = 14;
  29. repeated uint64 repeated_uint64 = 15;
  30. repeated bool repeated_bool = 16;
  31. repeated float repeated_float = 17;
  32. repeated double repeated_double = 18;
  33. repeated string repeated_string = 19;
  34. repeated bytes repeated_bytes = 20;
  35. repeated TestMessage2 repeated_msg = 21;
  36. repeated TestEnum repeated_enum = 22;
  37. }
  38. message TestMessage2 {
  39. int32 foo = 1;
  40. }
  41. enum TestEnum {
  42. Default = 0;
  43. A = 1;
  44. B = 2;
  45. C = 3;
  46. }
  47. message TestEmbeddedMessageParent {
  48. TestEmbeddedMessageChild child_msg = 1;
  49. int32 number = 2;
  50. repeated TestEmbeddedMessageChild repeated_msg = 3;
  51. repeated int32 repeated_number = 4;
  52. }
  53. message TestEmbeddedMessageChild {
  54. TestMessage sub_child = 1;
  55. }
  56. message Recursive1 {
  57. Recursive2 foo = 1;
  58. }
  59. message Recursive2 {
  60. Recursive1 foo = 1;
  61. }
  62. message MapMessage {
  63. map<string, int32> map_string_int32 = 1;
  64. map<string, TestMessage2> map_string_msg = 2;
  65. }
  66. message MapMessageWireEquiv {
  67. repeated MapMessageWireEquiv_entry1 map_string_int32 = 1;
  68. repeated MapMessageWireEquiv_entry2 map_string_msg = 2;
  69. }
  70. message MapMessageWireEquiv_entry1 {
  71. string key = 1;
  72. int32 value = 2;
  73. }
  74. message MapMessageWireEquiv_entry2 {
  75. string key = 1;
  76. TestMessage2 value = 2;
  77. }
  78. message OneofMessage {
  79. oneof my_oneof {
  80. string a = 1;
  81. int32 b = 2;
  82. TestMessage2 c = 3;
  83. TestEnum d = 4;
  84. }
  85. }
  86. message Outer {
  87. map<int32, Inner> items = 1;
  88. }
  89. message Inner {
  90. }
  91. message MyRepeatedStruct {
  92. repeated MyStruct structs = 1;
  93. }
  94. message MyStruct {
  95. string string = 1;
  96. google.protobuf.Struct struct = 2;
  97. }