Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.6 KiB
99 lines
3.6 KiB
// Protocol Buffers - Google's data interchange format |
|
// Copyright 2008 Google Inc. All rights reserved. |
|
// https://developers.google.com/protocol-buffers/ |
|
// |
|
// 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. |
|
// * Neither the name of Google Inc. nor the names of its |
|
// contributors may be used to endorse or promote products derived from |
|
// this software without specific prior written permission. |
|
// |
|
// 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. |
|
|
|
// Author: kenton@google.com (Kenton Varda) |
|
// Based on original Protocol Buffers design by |
|
// Sanjay Ghemawat, Jeff Dean, and others. |
|
// |
|
// This file is similar to unittest_mset_wire_format.proto, but does not |
|
// have a TestMessageSet, so it can be downgraded to proto1. |
|
|
|
syntax = "proto2"; |
|
|
|
import "objectivec/Tests/unittest_mset_wire_format.proto"; |
|
|
|
package objc.protobuf.tests; |
|
|
|
message TestMessageSetContainer { |
|
optional objc.protobuf.tests.wireformat.TestMessageSet message_set = 1; |
|
} |
|
|
|
message NestedTestMessageSetContainer { |
|
optional TestMessageSetContainer container = 1; |
|
optional NestedTestMessageSetContainer child = 2; |
|
} |
|
|
|
message NestedTestInt { |
|
optional fixed32 a = 1; |
|
optional int32 b = 3; |
|
optional NestedTestInt child = 2; |
|
} |
|
|
|
message TestMessageSetExtension1 { |
|
extend objc.protobuf.tests.wireformat.TestMessageSet { |
|
optional TestMessageSetExtension1 message_set_extension = 1545008; |
|
} |
|
optional int32 i = 15; |
|
optional objc.protobuf.tests.wireformat.TestMessageSet recursive = 16; |
|
optional string test_aliasing = 17 [ctype = STRING_PIECE]; |
|
} |
|
|
|
message TestMessageSetExtension2 { |
|
extend objc.protobuf.tests.wireformat.TestMessageSet { |
|
optional TestMessageSetExtension2 message_set_extension = 1547769; |
|
} |
|
optional string str = 25; |
|
} |
|
|
|
message TestMessageSetExtension3 { |
|
extend objc.protobuf.tests.wireformat.TestMessageSet { |
|
optional TestMessageSetExtension3 message_set_extension = 195273129; |
|
} |
|
optional NestedTestInt msg = 35; |
|
} |
|
|
|
// This message was used to generate |
|
// //net/proto2/python/internal/testdata/message_set_message, but is commented |
|
// out since it must not actually exist in code, to simulate an "unknown" |
|
// extension. |
|
// message TestMessageSetUnknownExtension { |
|
// extend TestMessageSet { |
|
// optional TestMessageSetUnknownExtension message_set_extension = 56141421; |
|
// } |
|
// optional int64 a = 1; |
|
// } |
|
|
|
// MessageSet wire format is equivalent to this. |
|
message RawMessageSet { |
|
repeated group Item = 1 { |
|
required int32 type_id = 2; |
|
required bytes message = 3; |
|
} |
|
}
|
|
|