| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 | // Protocol Buffers - Google's data interchange format// Copyright 2008 Google Inc.  All rights reserved.//// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file or at// https://developers.google.com/open-source/licenses/bsdsyntax = "proto2";package protobuf_unittest;import "google/protobuf/descriptor.proto";option csharp_namespace = "ProtobufUnittest";// Retention attributes set directly on custom optionsextend google.protobuf.FileOptions {  optional int32 plain_option = 505092806;  optional int32 runtime_retention_option = 505039132      [retention = RETENTION_RUNTIME];  optional int32 source_retention_option = 504878676      [retention = RETENTION_SOURCE];}option (plain_option) = 1;option (runtime_retention_option) = 2;option (source_retention_option) = 3;// Retention attributes set on fields nested within a messagemessage OptionsMessage {  optional int32 plain_field = 1;  optional int32 runtime_retention_field = 2 [retention = RETENTION_RUNTIME];  optional int32 source_retention_field = 3 [retention = RETENTION_SOURCE];}extend google.protobuf.FileOptions {  optional OptionsMessage file_option = 504871168;}option (file_option) = {  plain_field: 1  runtime_retention_field: 2  source_retention_field: 3};// Retention attribute nested inside a repeated message fieldextend google.protobuf.FileOptions {  repeated OptionsMessage repeated_options = 504823570;}option (repeated_options) = {  plain_field: 1  runtime_retention_field: 2  source_retention_field: 3};extend google.protobuf.ExtensionRangeOptions {  optional OptionsMessage extension_range_option = 504822148;}extend google.protobuf.MessageOptions {  optional OptionsMessage message_option = 504820819;}extend google.protobuf.FieldOptions {  optional OptionsMessage field_option = 504589219;}extend google.protobuf.OneofOptions {  optional OptionsMessage oneof_option = 504479153;}extend google.protobuf.EnumOptions {  optional OptionsMessage enum_option = 504451567;}extend google.protobuf.EnumValueOptions {  optional OptionsMessage enum_entry_option = 504450522;}extend google.protobuf.ServiceOptions {  optional OptionsMessage service_option = 504387709;}extend google.protobuf.MethodOptions {  optional OptionsMessage method_option = 504349420;}message Extendee {  extensions 1, 2;}extend Extendee {  optional int32 i = 1 [(field_option) = {    plain_field: 1    runtime_retention_field: 2    source_retention_field: 3  }];}message TopLevelMessage {  option (message_option) = {    plain_field: 1    runtime_retention_field: 2    source_retention_field: 3  };  message NestedMessage {    option (message_option) = {      plain_field: 1      runtime_retention_field: 2      source_retention_field: 3    };  }  enum NestedEnum {    option (enum_option) = {      plain_field: 1      runtime_retention_field: 2      source_retention_field: 3    };    NESTED_UNKNOWN = 0;  }  optional float f = 1 [(field_option) = {    plain_field: 1    runtime_retention_field: 2    source_retention_field: 3  }];  oneof o {    option (oneof_option) = {      plain_field: 1      runtime_retention_field: 2      source_retention_field: 3    };    int64 i = 2;  }  extensions 10 to 100 [(extension_range_option) = {    plain_field: 1    runtime_retention_field: 2    source_retention_field: 3  }];  extend Extendee {    optional string s = 2 [(field_option) = {      plain_field: 1      runtime_retention_field: 2      source_retention_field: 3    }];  }}enum TopLevelEnum {  option (enum_option) = {    plain_field: 1    runtime_retention_field: 2    source_retention_field: 3  };  TOP_LEVEL_UNKNOWN = 0 [(enum_entry_option) = {    plain_field: 1    runtime_retention_field: 2    source_retention_field: 3  }];}service Service {  option (service_option) = {    plain_field: 1    runtime_retention_field: 2    source_retention_field: 3  };  rpc DoStuff(TopLevelMessage) returns (TopLevelMessage) {    option (method_option) = {      plain_field: 1      runtime_retention_field: 2      source_retention_field: 3    };  }}
 |