1
// Protocol Buffers - Google's data interchange format
2
// Copyright 2008 Google Inc.
3
// http://code.google.com/p/protobuf/
5
// Licensed under the Apache License, Version 2.0 (the "License");
6
// you may not use this file except in compliance with the License.
7
// You may obtain a copy of the License at
9
// http://www.apache.org/licenses/LICENSE-2.0
11
// Unless required by applicable law or agreed to in writing, software
12
// distributed under the License is distributed on an "AS IS" BASIS,
13
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
// See the License for the specific language governing permissions and
15
// limitations under the License.
17
// Author: kenton@google.com (Kenton Varda)
18
// Based on original Protocol Buffers design by
19
// Sanjay Ghemawat, Jeff Dean, and others.
21
// This file contains messages for testing message_set_wire_format.
23
package protobuf_unittest;
25
option optimize_for = SPEED;
27
// A message with message_set_wire_format.
28
message TestMessageSet {
29
option message_set_wire_format = true;
33
message TestMessageSetContainer {
34
optional TestMessageSet message_set = 1;
37
message TestMessageSetExtension1 {
38
extend TestMessageSet {
39
optional TestMessageSetExtension1 message_set_extension = 1545008;
41
optional int32 i = 15;
44
message TestMessageSetExtension2 {
45
extend TestMessageSet {
46
optional TestMessageSetExtension2 message_set_extension = 1547769;
48
optional string str = 25;
51
// MessageSet wire format is equivalent to this.
52
message RawMessageSet {
53
repeated group Item = 1 {
54
required int32 type_id = 2;
55
required bytes message = 3;