1// Code generated by protoc-gen-gogo.
2// source: my_test/test.proto
3// DO NOT EDIT!
4
5/*
6Package my_test is a generated protocol buffer package.
7
8This package holds interesting messages.
9
10It is generated from these files:
11	my_test/test.proto
12
13It has these top-level messages:
14	Request
15	Reply
16	OtherBase
17	ReplyExtensions
18	OtherReplyExtensions
19	OldReply
20	Communique
21*/
22package my_test
23
24import proto "github.com/gogo/protobuf/proto"
25import fmt "fmt"
26import math "math"
27import _ "multi"
28
29// Reference imports to suppress errors if they are not otherwise used.
30var _ = proto.Marshal
31var _ = fmt.Errorf
32var _ = math.Inf
33
34// This is a compile-time assertion to ensure that this generated file
35// is compatible with the proto package it is being compiled against.
36// A compilation error at this line likely means your copy of the
37// proto package needs to be updated.
38const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package
39
40type HatType int32
41
42const (
43	// deliberately skipping 0
44	HatType_FEDORA HatType = 1
45	HatType_FEZ    HatType = 2
46)
47
48var HatType_name = map[int32]string{
49	1: "FEDORA",
50	2: "FEZ",
51}
52var HatType_value = map[string]int32{
53	"FEDORA": 1,
54	"FEZ":    2,
55}
56
57func (x HatType) Enum() *HatType {
58	p := new(HatType)
59	*p = x
60	return p
61}
62func (x HatType) String() string {
63	return proto.EnumName(HatType_name, int32(x))
64}
65func (x *HatType) UnmarshalJSON(data []byte) error {
66	value, err := proto.UnmarshalJSONEnum(HatType_value, data, "HatType")
67	if err != nil {
68		return err
69	}
70	*x = HatType(value)
71	return nil
72}
73func (HatType) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{0} }
74
75// This enum represents days of the week.
76type Days int32
77
78const (
79	Days_MONDAY  Days = 1
80	Days_TUESDAY Days = 2
81	Days_LUNDI   Days = 1
82)
83
84var Days_name = map[int32]string{
85	1: "MONDAY",
86	2: "TUESDAY",
87	// Duplicate value: 1: "LUNDI",
88}
89var Days_value = map[string]int32{
90	"MONDAY":  1,
91	"TUESDAY": 2,
92	"LUNDI":   1,
93}
94
95func (x Days) Enum() *Days {
96	p := new(Days)
97	*p = x
98	return p
99}
100func (x Days) String() string {
101	return proto.EnumName(Days_name, int32(x))
102}
103func (x *Days) UnmarshalJSON(data []byte) error {
104	value, err := proto.UnmarshalJSONEnum(Days_value, data, "Days")
105	if err != nil {
106		return err
107	}
108	*x = Days(value)
109	return nil
110}
111func (Days) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{1} }
112
113type Request_Color int32
114
115const (
116	Request_RED   Request_Color = 0
117	Request_GREEN Request_Color = 1
118	Request_BLUE  Request_Color = 2
119)
120
121var Request_Color_name = map[int32]string{
122	0: "RED",
123	1: "GREEN",
124	2: "BLUE",
125}
126var Request_Color_value = map[string]int32{
127	"RED":   0,
128	"GREEN": 1,
129	"BLUE":  2,
130}
131
132func (x Request_Color) Enum() *Request_Color {
133	p := new(Request_Color)
134	*p = x
135	return p
136}
137func (x Request_Color) String() string {
138	return proto.EnumName(Request_Color_name, int32(x))
139}
140func (x *Request_Color) UnmarshalJSON(data []byte) error {
141	value, err := proto.UnmarshalJSONEnum(Request_Color_value, data, "Request_Color")
142	if err != nil {
143		return err
144	}
145	*x = Request_Color(value)
146	return nil
147}
148func (Request_Color) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{0, 0} }
149
150type Reply_Entry_Game int32
151
152const (
153	Reply_Entry_FOOTBALL Reply_Entry_Game = 1
154	Reply_Entry_TENNIS   Reply_Entry_Game = 2
155)
156
157var Reply_Entry_Game_name = map[int32]string{
158	1: "FOOTBALL",
159	2: "TENNIS",
160}
161var Reply_Entry_Game_value = map[string]int32{
162	"FOOTBALL": 1,
163	"TENNIS":   2,
164}
165
166func (x Reply_Entry_Game) Enum() *Reply_Entry_Game {
167	p := new(Reply_Entry_Game)
168	*p = x
169	return p
170}
171func (x Reply_Entry_Game) String() string {
172	return proto.EnumName(Reply_Entry_Game_name, int32(x))
173}
174func (x *Reply_Entry_Game) UnmarshalJSON(data []byte) error {
175	value, err := proto.UnmarshalJSONEnum(Reply_Entry_Game_value, data, "Reply_Entry_Game")
176	if err != nil {
177		return err
178	}
179	*x = Reply_Entry_Game(value)
180	return nil
181}
182func (Reply_Entry_Game) EnumDescriptor() ([]byte, []int) { return fileDescriptorTest, []int{1, 0, 0} }
183
184// This is a message that might be sent somewhere.
185type Request struct {
186	Key []int64 `protobuf:"varint,1,rep,name=key" json:"key,omitempty"`
187	//  optional imp.ImportedMessage imported_message = 2;
188	Hue *Request_Color `protobuf:"varint,3,opt,name=hue,enum=my.test.Request_Color" json:"hue,omitempty"`
189	Hat *HatType       `protobuf:"varint,4,opt,name=hat,enum=my.test.HatType,def=1" json:"hat,omitempty"`
190	//  optional imp.ImportedMessage.Owner owner = 6;
191	Deadline  *float32           `protobuf:"fixed32,7,opt,name=deadline,def=inf" json:"deadline,omitempty"`
192	Somegroup *Request_SomeGroup `protobuf:"group,8,opt,name=SomeGroup,json=somegroup" json:"somegroup,omitempty"`
193	// This is a map field. It will generate map[int32]string.
194	NameMapping map[int32]string `protobuf:"bytes,14,rep,name=name_mapping,json=nameMapping" json:"name_mapping,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
195	// This is a map field whose value type is a message.
196	MsgMapping map[int64]*Reply `protobuf:"bytes,15,rep,name=msg_mapping,json=msgMapping" json:"msg_mapping,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
197	Reset_     *int32           `protobuf:"varint,12,opt,name=reset" json:"reset,omitempty"`
198	// This field should not conflict with any getters.
199	GetKey_          *string `protobuf:"bytes,16,opt,name=get_key,json=getKey" json:"get_key,omitempty"`
200	XXX_unrecognized []byte  `json:"-"`
201}
202
203func (m *Request) Reset()                    { *m = Request{} }
204func (m *Request) String() string            { return proto.CompactTextString(m) }
205func (*Request) ProtoMessage()               {}
206func (*Request) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{0} }
207
208const Default_Request_Hat HatType = HatType_FEDORA
209
210var Default_Request_Deadline float32 = float32(math.Inf(1))
211
212func (m *Request) GetKey() []int64 {
213	if m != nil {
214		return m.Key
215	}
216	return nil
217}
218
219func (m *Request) GetHue() Request_Color {
220	if m != nil && m.Hue != nil {
221		return *m.Hue
222	}
223	return Request_RED
224}
225
226func (m *Request) GetHat() HatType {
227	if m != nil && m.Hat != nil {
228		return *m.Hat
229	}
230	return Default_Request_Hat
231}
232
233func (m *Request) GetDeadline() float32 {
234	if m != nil && m.Deadline != nil {
235		return *m.Deadline
236	}
237	return Default_Request_Deadline
238}
239
240func (m *Request) GetSomegroup() *Request_SomeGroup {
241	if m != nil {
242		return m.Somegroup
243	}
244	return nil
245}
246
247func (m *Request) GetNameMapping() map[int32]string {
248	if m != nil {
249		return m.NameMapping
250	}
251	return nil
252}
253
254func (m *Request) GetMsgMapping() map[int64]*Reply {
255	if m != nil {
256		return m.MsgMapping
257	}
258	return nil
259}
260
261func (m *Request) GetReset_() int32 {
262	if m != nil && m.Reset_ != nil {
263		return *m.Reset_
264	}
265	return 0
266}
267
268func (m *Request) GetGetKey_() string {
269	if m != nil && m.GetKey_ != nil {
270		return *m.GetKey_
271	}
272	return ""
273}
274
275type Request_SomeGroup struct {
276	GroupField       *int32 `protobuf:"varint,9,opt,name=group_field,json=groupField" json:"group_field,omitempty"`
277	XXX_unrecognized []byte `json:"-"`
278}
279
280func (m *Request_SomeGroup) Reset()                    { *m = Request_SomeGroup{} }
281func (m *Request_SomeGroup) String() string            { return proto.CompactTextString(m) }
282func (*Request_SomeGroup) ProtoMessage()               {}
283func (*Request_SomeGroup) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{0, 0} }
284
285func (m *Request_SomeGroup) GetGroupField() int32 {
286	if m != nil && m.GroupField != nil {
287		return *m.GroupField
288	}
289	return 0
290}
291
292type Reply struct {
293	Found                        []*Reply_Entry `protobuf:"bytes,1,rep,name=found" json:"found,omitempty"`
294	CompactKeys                  []int32        `protobuf:"varint,2,rep,packed,name=compact_keys,json=compactKeys" json:"compact_keys,omitempty"`
295	proto.XXX_InternalExtensions `json:"-"`
296	XXX_unrecognized             []byte `json:"-"`
297}
298
299func (m *Reply) Reset()                    { *m = Reply{} }
300func (m *Reply) String() string            { return proto.CompactTextString(m) }
301func (*Reply) ProtoMessage()               {}
302func (*Reply) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{1} }
303
304var extRange_Reply = []proto.ExtensionRange{
305	{Start: 100, End: 536870911},
306}
307
308func (*Reply) ExtensionRangeArray() []proto.ExtensionRange {
309	return extRange_Reply
310}
311
312func (m *Reply) GetFound() []*Reply_Entry {
313	if m != nil {
314		return m.Found
315	}
316	return nil
317}
318
319func (m *Reply) GetCompactKeys() []int32 {
320	if m != nil {
321		return m.CompactKeys
322	}
323	return nil
324}
325
326type Reply_Entry struct {
327	KeyThatNeeds_1234Camel_CasIng *int64 `protobuf:"varint,1,req,name=key_that_needs_1234camel_CasIng,json=keyThatNeeds1234camelCasIng" json:"key_that_needs_1234camel_CasIng,omitempty"`
328	Value                         *int64 `protobuf:"varint,2,opt,name=value,def=7" json:"value,omitempty"`
329	XMyFieldName_2                *int64 `protobuf:"varint,3,opt,name=_my_field_name_2,json=MyFieldName2" json:"_my_field_name_2,omitempty"`
330	XXX_unrecognized              []byte `json:"-"`
331}
332
333func (m *Reply_Entry) Reset()                    { *m = Reply_Entry{} }
334func (m *Reply_Entry) String() string            { return proto.CompactTextString(m) }
335func (*Reply_Entry) ProtoMessage()               {}
336func (*Reply_Entry) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{1, 0} }
337
338const Default_Reply_Entry_Value int64 = 7
339
340func (m *Reply_Entry) GetKeyThatNeeds_1234Camel_CasIng() int64 {
341	if m != nil && m.KeyThatNeeds_1234Camel_CasIng != nil {
342		return *m.KeyThatNeeds_1234Camel_CasIng
343	}
344	return 0
345}
346
347func (m *Reply_Entry) GetValue() int64 {
348	if m != nil && m.Value != nil {
349		return *m.Value
350	}
351	return Default_Reply_Entry_Value
352}
353
354func (m *Reply_Entry) GetXMyFieldName_2() int64 {
355	if m != nil && m.XMyFieldName_2 != nil {
356		return *m.XMyFieldName_2
357	}
358	return 0
359}
360
361type OtherBase struct {
362	Name                         *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
363	proto.XXX_InternalExtensions `json:"-"`
364	XXX_unrecognized             []byte `json:"-"`
365}
366
367func (m *OtherBase) Reset()                    { *m = OtherBase{} }
368func (m *OtherBase) String() string            { return proto.CompactTextString(m) }
369func (*OtherBase) ProtoMessage()               {}
370func (*OtherBase) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{2} }
371
372var extRange_OtherBase = []proto.ExtensionRange{
373	{Start: 100, End: 536870911},
374}
375
376func (*OtherBase) ExtensionRangeArray() []proto.ExtensionRange {
377	return extRange_OtherBase
378}
379
380func (m *OtherBase) GetName() string {
381	if m != nil && m.Name != nil {
382		return *m.Name
383	}
384	return ""
385}
386
387type ReplyExtensions struct {
388	XXX_unrecognized []byte `json:"-"`
389}
390
391func (m *ReplyExtensions) Reset()                    { *m = ReplyExtensions{} }
392func (m *ReplyExtensions) String() string            { return proto.CompactTextString(m) }
393func (*ReplyExtensions) ProtoMessage()               {}
394func (*ReplyExtensions) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{3} }
395
396var E_ReplyExtensions_Time = &proto.ExtensionDesc{
397	ExtendedType:  (*Reply)(nil),
398	ExtensionType: (*float64)(nil),
399	Field:         101,
400	Name:          "my.test.ReplyExtensions.time",
401	Tag:           "fixed64,101,opt,name=time",
402	Filename:      "my_test/test.proto",
403}
404
405var E_ReplyExtensions_Carrot = &proto.ExtensionDesc{
406	ExtendedType:  (*Reply)(nil),
407	ExtensionType: (*ReplyExtensions)(nil),
408	Field:         105,
409	Name:          "my.test.ReplyExtensions.carrot",
410	Tag:           "bytes,105,opt,name=carrot",
411	Filename:      "my_test/test.proto",
412}
413
414var E_ReplyExtensions_Donut = &proto.ExtensionDesc{
415	ExtendedType:  (*OtherBase)(nil),
416	ExtensionType: (*ReplyExtensions)(nil),
417	Field:         101,
418	Name:          "my.test.ReplyExtensions.donut",
419	Tag:           "bytes,101,opt,name=donut",
420	Filename:      "my_test/test.proto",
421}
422
423type OtherReplyExtensions struct {
424	Key              *int32 `protobuf:"varint,1,opt,name=key" json:"key,omitempty"`
425	XXX_unrecognized []byte `json:"-"`
426}
427
428func (m *OtherReplyExtensions) Reset()                    { *m = OtherReplyExtensions{} }
429func (m *OtherReplyExtensions) String() string            { return proto.CompactTextString(m) }
430func (*OtherReplyExtensions) ProtoMessage()               {}
431func (*OtherReplyExtensions) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{4} }
432
433func (m *OtherReplyExtensions) GetKey() int32 {
434	if m != nil && m.Key != nil {
435		return *m.Key
436	}
437	return 0
438}
439
440type OldReply struct {
441	proto.XXX_InternalExtensions `json:"-"`
442	XXX_unrecognized             []byte `json:"-"`
443}
444
445func (m *OldReply) Reset()                    { *m = OldReply{} }
446func (m *OldReply) String() string            { return proto.CompactTextString(m) }
447func (*OldReply) ProtoMessage()               {}
448func (*OldReply) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{5} }
449
450func (m *OldReply) Marshal() ([]byte, error) {
451	return proto.MarshalMessageSet(&m.XXX_InternalExtensions)
452}
453func (m *OldReply) Unmarshal(buf []byte) error {
454	return proto.UnmarshalMessageSet(buf, &m.XXX_InternalExtensions)
455}
456func (m *OldReply) MarshalJSON() ([]byte, error) {
457	return proto.MarshalMessageSetJSON(&m.XXX_InternalExtensions)
458}
459func (m *OldReply) UnmarshalJSON(buf []byte) error {
460	return proto.UnmarshalMessageSetJSON(buf, &m.XXX_InternalExtensions)
461}
462
463// ensure OldReply satisfies proto.Marshaler and proto.Unmarshaler
464var _ proto.Marshaler = (*OldReply)(nil)
465var _ proto.Unmarshaler = (*OldReply)(nil)
466
467var extRange_OldReply = []proto.ExtensionRange{
468	{Start: 100, End: 2147483646},
469}
470
471func (*OldReply) ExtensionRangeArray() []proto.ExtensionRange {
472	return extRange_OldReply
473}
474
475type Communique struct {
476	MakeMeCry *bool `protobuf:"varint,1,opt,name=make_me_cry,json=makeMeCry" json:"make_me_cry,omitempty"`
477	// This is a oneof, called "union".
478	//
479	// Types that are valid to be assigned to Union:
480	//	*Communique_Number
481	//	*Communique_Name
482	//	*Communique_Data
483	//	*Communique_TempC
484	//	*Communique_Height
485	//	*Communique_Today
486	//	*Communique_Maybe
487	//	*Communique_Delta_
488	//	*Communique_Msg
489	//	*Communique_Somegroup
490	Union            isCommunique_Union `protobuf_oneof:"union"`
491	XXX_unrecognized []byte             `json:"-"`
492}
493
494func (m *Communique) Reset()                    { *m = Communique{} }
495func (m *Communique) String() string            { return proto.CompactTextString(m) }
496func (*Communique) ProtoMessage()               {}
497func (*Communique) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{6} }
498
499type isCommunique_Union interface {
500	isCommunique_Union()
501}
502
503type Communique_Number struct {
504	Number int32 `protobuf:"varint,5,opt,name=number,oneof"`
505}
506type Communique_Name struct {
507	Name string `protobuf:"bytes,6,opt,name=name,oneof"`
508}
509type Communique_Data struct {
510	Data []byte `protobuf:"bytes,7,opt,name=data,oneof"`
511}
512type Communique_TempC struct {
513	TempC float64 `protobuf:"fixed64,8,opt,name=temp_c,json=tempC,oneof"`
514}
515type Communique_Height struct {
516	Height float32 `protobuf:"fixed32,9,opt,name=height,oneof"`
517}
518type Communique_Today struct {
519	Today Days `protobuf:"varint,10,opt,name=today,enum=my.test.Days,oneof"`
520}
521type Communique_Maybe struct {
522	Maybe bool `protobuf:"varint,11,opt,name=maybe,oneof"`
523}
524type Communique_Delta_ struct {
525	Delta int32 `protobuf:"zigzag32,12,opt,name=delta,oneof"`
526}
527type Communique_Msg struct {
528	Msg *Reply `protobuf:"bytes,13,opt,name=msg,oneof"`
529}
530type Communique_Somegroup struct {
531	Somegroup *Communique_SomeGroup `protobuf:"group,14,opt,name=SomeGroup,json=somegroup,oneof"`
532}
533
534func (*Communique_Number) isCommunique_Union()    {}
535func (*Communique_Name) isCommunique_Union()      {}
536func (*Communique_Data) isCommunique_Union()      {}
537func (*Communique_TempC) isCommunique_Union()     {}
538func (*Communique_Height) isCommunique_Union()    {}
539func (*Communique_Today) isCommunique_Union()     {}
540func (*Communique_Maybe) isCommunique_Union()     {}
541func (*Communique_Delta_) isCommunique_Union()    {}
542func (*Communique_Msg) isCommunique_Union()       {}
543func (*Communique_Somegroup) isCommunique_Union() {}
544
545func (m *Communique) GetUnion() isCommunique_Union {
546	if m != nil {
547		return m.Union
548	}
549	return nil
550}
551
552func (m *Communique) GetMakeMeCry() bool {
553	if m != nil && m.MakeMeCry != nil {
554		return *m.MakeMeCry
555	}
556	return false
557}
558
559func (m *Communique) GetNumber() int32 {
560	if x, ok := m.GetUnion().(*Communique_Number); ok {
561		return x.Number
562	}
563	return 0
564}
565
566func (m *Communique) GetName() string {
567	if x, ok := m.GetUnion().(*Communique_Name); ok {
568		return x.Name
569	}
570	return ""
571}
572
573func (m *Communique) GetData() []byte {
574	if x, ok := m.GetUnion().(*Communique_Data); ok {
575		return x.Data
576	}
577	return nil
578}
579
580func (m *Communique) GetTempC() float64 {
581	if x, ok := m.GetUnion().(*Communique_TempC); ok {
582		return x.TempC
583	}
584	return 0
585}
586
587func (m *Communique) GetHeight() float32 {
588	if x, ok := m.GetUnion().(*Communique_Height); ok {
589		return x.Height
590	}
591	return 0
592}
593
594func (m *Communique) GetToday() Days {
595	if x, ok := m.GetUnion().(*Communique_Today); ok {
596		return x.Today
597	}
598	return Days_MONDAY
599}
600
601func (m *Communique) GetMaybe() bool {
602	if x, ok := m.GetUnion().(*Communique_Maybe); ok {
603		return x.Maybe
604	}
605	return false
606}
607
608func (m *Communique) GetDelta() int32 {
609	if x, ok := m.GetUnion().(*Communique_Delta_); ok {
610		return x.Delta
611	}
612	return 0
613}
614
615func (m *Communique) GetMsg() *Reply {
616	if x, ok := m.GetUnion().(*Communique_Msg); ok {
617		return x.Msg
618	}
619	return nil
620}
621
622func (m *Communique) GetSomegroup() *Communique_SomeGroup {
623	if x, ok := m.GetUnion().(*Communique_Somegroup); ok {
624		return x.Somegroup
625	}
626	return nil
627}
628
629// XXX_OneofFuncs is for the internal use of the proto package.
630func (*Communique) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
631	return _Communique_OneofMarshaler, _Communique_OneofUnmarshaler, _Communique_OneofSizer, []interface{}{
632		(*Communique_Number)(nil),
633		(*Communique_Name)(nil),
634		(*Communique_Data)(nil),
635		(*Communique_TempC)(nil),
636		(*Communique_Height)(nil),
637		(*Communique_Today)(nil),
638		(*Communique_Maybe)(nil),
639		(*Communique_Delta_)(nil),
640		(*Communique_Msg)(nil),
641		(*Communique_Somegroup)(nil),
642	}
643}
644
645func _Communique_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
646	m := msg.(*Communique)
647	// union
648	switch x := m.Union.(type) {
649	case *Communique_Number:
650		_ = b.EncodeVarint(5<<3 | proto.WireVarint)
651		_ = b.EncodeVarint(uint64(x.Number))
652	case *Communique_Name:
653		_ = b.EncodeVarint(6<<3 | proto.WireBytes)
654		_ = b.EncodeStringBytes(x.Name)
655	case *Communique_Data:
656		_ = b.EncodeVarint(7<<3 | proto.WireBytes)
657		_ = b.EncodeRawBytes(x.Data)
658	case *Communique_TempC:
659		_ = b.EncodeVarint(8<<3 | proto.WireFixed64)
660		_ = b.EncodeFixed64(math.Float64bits(x.TempC))
661	case *Communique_Height:
662		_ = b.EncodeVarint(9<<3 | proto.WireFixed32)
663		_ = b.EncodeFixed32(uint64(math.Float32bits(x.Height)))
664	case *Communique_Today:
665		_ = b.EncodeVarint(10<<3 | proto.WireVarint)
666		_ = b.EncodeVarint(uint64(x.Today))
667	case *Communique_Maybe:
668		t := uint64(0)
669		if x.Maybe {
670			t = 1
671		}
672		_ = b.EncodeVarint(11<<3 | proto.WireVarint)
673		_ = b.EncodeVarint(t)
674	case *Communique_Delta_:
675		_ = b.EncodeVarint(12<<3 | proto.WireVarint)
676		_ = b.EncodeZigzag32(uint64(x.Delta))
677	case *Communique_Msg:
678		_ = b.EncodeVarint(13<<3 | proto.WireBytes)
679		if err := b.EncodeMessage(x.Msg); err != nil {
680			return err
681		}
682	case *Communique_Somegroup:
683		_ = b.EncodeVarint(14<<3 | proto.WireStartGroup)
684		if err := b.Marshal(x.Somegroup); err != nil {
685			return err
686		}
687		_ = b.EncodeVarint(14<<3 | proto.WireEndGroup)
688	case nil:
689	default:
690		return fmt.Errorf("Communique.Union has unexpected type %T", x)
691	}
692	return nil
693}
694
695func _Communique_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
696	m := msg.(*Communique)
697	switch tag {
698	case 5: // union.number
699		if wire != proto.WireVarint {
700			return true, proto.ErrInternalBadWireType
701		}
702		x, err := b.DecodeVarint()
703		m.Union = &Communique_Number{int32(x)}
704		return true, err
705	case 6: // union.name
706		if wire != proto.WireBytes {
707			return true, proto.ErrInternalBadWireType
708		}
709		x, err := b.DecodeStringBytes()
710		m.Union = &Communique_Name{x}
711		return true, err
712	case 7: // union.data
713		if wire != proto.WireBytes {
714			return true, proto.ErrInternalBadWireType
715		}
716		x, err := b.DecodeRawBytes(true)
717		m.Union = &Communique_Data{x}
718		return true, err
719	case 8: // union.temp_c
720		if wire != proto.WireFixed64 {
721			return true, proto.ErrInternalBadWireType
722		}
723		x, err := b.DecodeFixed64()
724		m.Union = &Communique_TempC{math.Float64frombits(x)}
725		return true, err
726	case 9: // union.height
727		if wire != proto.WireFixed32 {
728			return true, proto.ErrInternalBadWireType
729		}
730		x, err := b.DecodeFixed32()
731		m.Union = &Communique_Height{math.Float32frombits(uint32(x))}
732		return true, err
733	case 10: // union.today
734		if wire != proto.WireVarint {
735			return true, proto.ErrInternalBadWireType
736		}
737		x, err := b.DecodeVarint()
738		m.Union = &Communique_Today{Days(x)}
739		return true, err
740	case 11: // union.maybe
741		if wire != proto.WireVarint {
742			return true, proto.ErrInternalBadWireType
743		}
744		x, err := b.DecodeVarint()
745		m.Union = &Communique_Maybe{x != 0}
746		return true, err
747	case 12: // union.delta
748		if wire != proto.WireVarint {
749			return true, proto.ErrInternalBadWireType
750		}
751		x, err := b.DecodeZigzag32()
752		m.Union = &Communique_Delta_{int32(x)}
753		return true, err
754	case 13: // union.msg
755		if wire != proto.WireBytes {
756			return true, proto.ErrInternalBadWireType
757		}
758		msg := new(Reply)
759		err := b.DecodeMessage(msg)
760		m.Union = &Communique_Msg{msg}
761		return true, err
762	case 14: // union.somegroup
763		if wire != proto.WireStartGroup {
764			return true, proto.ErrInternalBadWireType
765		}
766		msg := new(Communique_SomeGroup)
767		err := b.DecodeGroup(msg)
768		m.Union = &Communique_Somegroup{msg}
769		return true, err
770	default:
771		return false, nil
772	}
773}
774
775func _Communique_OneofSizer(msg proto.Message) (n int) {
776	m := msg.(*Communique)
777	// union
778	switch x := m.Union.(type) {
779	case *Communique_Number:
780		n += proto.SizeVarint(5<<3 | proto.WireVarint)
781		n += proto.SizeVarint(uint64(x.Number))
782	case *Communique_Name:
783		n += proto.SizeVarint(6<<3 | proto.WireBytes)
784		n += proto.SizeVarint(uint64(len(x.Name)))
785		n += len(x.Name)
786	case *Communique_Data:
787		n += proto.SizeVarint(7<<3 | proto.WireBytes)
788		n += proto.SizeVarint(uint64(len(x.Data)))
789		n += len(x.Data)
790	case *Communique_TempC:
791		n += proto.SizeVarint(8<<3 | proto.WireFixed64)
792		n += 8
793	case *Communique_Height:
794		n += proto.SizeVarint(9<<3 | proto.WireFixed32)
795		n += 4
796	case *Communique_Today:
797		n += proto.SizeVarint(10<<3 | proto.WireVarint)
798		n += proto.SizeVarint(uint64(x.Today))
799	case *Communique_Maybe:
800		n += proto.SizeVarint(11<<3 | proto.WireVarint)
801		n += 1
802	case *Communique_Delta_:
803		n += proto.SizeVarint(12<<3 | proto.WireVarint)
804		n += proto.SizeVarint(uint64((uint32(x.Delta) << 1) ^ uint32((int32(x.Delta) >> 31))))
805	case *Communique_Msg:
806		s := proto.Size(x.Msg)
807		n += proto.SizeVarint(13<<3 | proto.WireBytes)
808		n += proto.SizeVarint(uint64(s))
809		n += s
810	case *Communique_Somegroup:
811		n += proto.SizeVarint(14<<3 | proto.WireStartGroup)
812		n += proto.Size(x.Somegroup)
813		n += proto.SizeVarint(14<<3 | proto.WireEndGroup)
814	case nil:
815	default:
816		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
817	}
818	return n
819}
820
821type Communique_SomeGroup struct {
822	Member           *string `protobuf:"bytes,15,opt,name=member" json:"member,omitempty"`
823	XXX_unrecognized []byte  `json:"-"`
824}
825
826func (m *Communique_SomeGroup) Reset()                    { *m = Communique_SomeGroup{} }
827func (m *Communique_SomeGroup) String() string            { return proto.CompactTextString(m) }
828func (*Communique_SomeGroup) ProtoMessage()               {}
829func (*Communique_SomeGroup) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{6, 0} }
830
831func (m *Communique_SomeGroup) GetMember() string {
832	if m != nil && m.Member != nil {
833		return *m.Member
834	}
835	return ""
836}
837
838type Communique_Delta struct {
839	XXX_unrecognized []byte `json:"-"`
840}
841
842func (m *Communique_Delta) Reset()                    { *m = Communique_Delta{} }
843func (m *Communique_Delta) String() string            { return proto.CompactTextString(m) }
844func (*Communique_Delta) ProtoMessage()               {}
845func (*Communique_Delta) Descriptor() ([]byte, []int) { return fileDescriptorTest, []int{6, 1} }
846
847var E_Tag = &proto.ExtensionDesc{
848	ExtendedType:  (*Reply)(nil),
849	ExtensionType: (*string)(nil),
850	Field:         103,
851	Name:          "my.test.tag",
852	Tag:           "bytes,103,opt,name=tag",
853	Filename:      "my_test/test.proto",
854}
855
856var E_Donut = &proto.ExtensionDesc{
857	ExtendedType:  (*Reply)(nil),
858	ExtensionType: (*OtherReplyExtensions)(nil),
859	Field:         106,
860	Name:          "my.test.donut",
861	Tag:           "bytes,106,opt,name=donut",
862	Filename:      "my_test/test.proto",
863}
864
865func init() {
866	proto.RegisterType((*Request)(nil), "my.test.Request")
867	proto.RegisterType((*Request_SomeGroup)(nil), "my.test.Request.SomeGroup")
868	proto.RegisterType((*Reply)(nil), "my.test.Reply")
869	proto.RegisterType((*Reply_Entry)(nil), "my.test.Reply.Entry")
870	proto.RegisterType((*OtherBase)(nil), "my.test.OtherBase")
871	proto.RegisterType((*ReplyExtensions)(nil), "my.test.ReplyExtensions")
872	proto.RegisterType((*OtherReplyExtensions)(nil), "my.test.OtherReplyExtensions")
873	proto.RegisterType((*OldReply)(nil), "my.test.OldReply")
874	proto.RegisterType((*Communique)(nil), "my.test.Communique")
875	proto.RegisterType((*Communique_SomeGroup)(nil), "my.test.Communique.SomeGroup")
876	proto.RegisterType((*Communique_Delta)(nil), "my.test.Communique.Delta")
877	proto.RegisterEnum("my.test.HatType", HatType_name, HatType_value)
878	proto.RegisterEnum("my.test.Days", Days_name, Days_value)
879	proto.RegisterEnum("my.test.Request_Color", Request_Color_name, Request_Color_value)
880	proto.RegisterEnum("my.test.Reply_Entry_Game", Reply_Entry_Game_name, Reply_Entry_Game_value)
881	proto.RegisterExtension(E_ReplyExtensions_Time)
882	proto.RegisterExtension(E_ReplyExtensions_Carrot)
883	proto.RegisterExtension(E_ReplyExtensions_Donut)
884	proto.RegisterExtension(E_Tag)
885	proto.RegisterExtension(E_Donut)
886}
887
888func init() { proto.RegisterFile("my_test/test.proto", fileDescriptorTest) }
889
890var fileDescriptorTest = []byte{
891	// 988 bytes of a gzipped FileDescriptorProto
892	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x54, 0xdd, 0x6e, 0xe3, 0x44,
893	0x14, 0xce, 0xd8, 0x71, 0x7e, 0x4e, 0xb2, 0xad, 0x19, 0x55, 0xad, 0x15, 0xb4, 0x5b, 0x13, 0x28,
894	0x32, 0x15, 0xca, 0x6a, 0x0d, 0x12, 0xab, 0x48, 0x20, 0x9a, 0x9f, 0x36, 0xd5, 0x36, 0x89, 0x34,
895	0x6d, 0x2f, 0xe0, 0xc6, 0x9a, 0x8d, 0xa7, 0x8e, 0x69, 0xc6, 0xce, 0xda, 0x63, 0x84, 0xef, 0xfa,
896	0x14, 0xf0, 0x1a, 0xdc, 0xf3, 0x42, 0xbc, 0x45, 0xd1, 0x8c, 0x43, 0x92, 0x36, 0xab, 0xbd, 0xb1,
897	0x7c, 0xbe, 0xf9, 0xce, 0xe7, 0x39, 0x3f, 0xfe, 0x00, 0xf3, 0xdc, 0x13, 0x2c, 0x15, 0xaf, 0xe5,
898	0xa3, 0xb3, 0x4c, 0x62, 0x11, 0xe3, 0x2a, 0xcf, 0x3b, 0x32, 0x6c, 0x61, 0x9e, 0x2d, 0x44, 0xf8,
899	0x5a, 0x3d, 0xdf, 0x14, 0x87, 0xed, 0x7f, 0xcb, 0x50, 0x25, 0xec, 0x43, 0xc6, 0x52, 0x81, 0x4d,
900	0xd0, 0xef, 0x59, 0x6e, 0x21, 0x5b, 0x77, 0x74, 0x22, 0x5f, 0xb1, 0x03, 0xfa, 0x3c, 0x63, 0x96,
901	0x6e, 0x23, 0x67, 0xcf, 0x3d, 0xec, 0xac, 0x84, 0x3a, 0xab, 0x84, 0x4e, 0x3f, 0x5e, 0xc4, 0x09,
902	0x91, 0x14, 0x7c, 0x0a, 0xfa, 0x9c, 0x0a, 0xab, 0xac, 0x98, 0xe6, 0x9a, 0x39, 0xa2, 0xe2, 0x26,
903	0x5f, 0xb2, 0x6e, 0xe5, 0x7c, 0x38, 0x98, 0x92, 0x33, 0x22, 0x49, 0xf8, 0x18, 0x6a, 0x3e, 0xa3,
904	0xfe, 0x22, 0x8c, 0x98, 0x55, 0xb5, 0x91, 0xa3, 0x75, 0xf5, 0x30, 0xba, 0x23, 0x6b, 0x10, 0xbf,
905	0x85, 0x7a, 0x1a, 0x73, 0x16, 0x24, 0x71, 0xb6, 0xb4, 0x6a, 0x36, 0x72, 0xc0, 0x6d, 0xed, 0x7c,
906	0xfc, 0x3a, 0xe6, 0xec, 0x42, 0x32, 0xc8, 0x86, 0x8c, 0x07, 0xd0, 0x8c, 0x28, 0x67, 0x1e, 0xa7,
907	0xcb, 0x65, 0x18, 0x05, 0xd6, 0x9e, 0xad, 0x3b, 0x0d, 0xf7, 0x8b, 0x9d, 0xe4, 0x09, 0xe5, 0x6c,
908	0x5c, 0x70, 0x86, 0x91, 0x48, 0x72, 0xd2, 0x88, 0x36, 0x08, 0x3e, 0x83, 0x06, 0x4f, 0x83, 0xb5,
909	0xc8, 0xbe, 0x12, 0xb1, 0x77, 0x44, 0xc6, 0x69, 0xf0, 0x44, 0x03, 0xf8, 0x1a, 0xc0, 0x07, 0x60,
910	0x24, 0x2c, 0x65, 0xc2, 0x6a, 0xda, 0xc8, 0x31, 0x48, 0x11, 0xe0, 0x23, 0xa8, 0x06, 0x4c, 0x78,
911	0xb2, 0xcb, 0xa6, 0x8d, 0x9c, 0x3a, 0xa9, 0x04, 0x4c, 0xbc, 0x63, 0x79, 0xeb, 0x5b, 0xa8, 0xaf,
912	0xeb, 0xc1, 0xc7, 0xd0, 0x50, 0xd5, 0x78, 0x77, 0x21, 0x5b, 0xf8, 0x56, 0x5d, 0x29, 0x80, 0x82,
913	0xce, 0x25, 0xd2, 0xfa, 0x09, 0xcc, 0xe7, 0x05, 0x6c, 0x86, 0x27, 0xc9, 0x6a, 0x78, 0x07, 0x60,
914	0xfc, 0x4e, 0x17, 0x19, 0xb3, 0x34, 0xf5, 0xa9, 0x22, 0xe8, 0x6a, 0x6f, 0x51, 0x6b, 0x0c, 0xfb,
915	0xcf, 0xee, 0xbe, 0x9d, 0x8e, 0x8b, 0xf4, 0xaf, 0xb6, 0xd3, 0x1b, 0xee, 0xde, 0x56, 0xf9, 0xcb,
916	0x45, 0xbe, 0x25, 0xd7, 0x3e, 0x01, 0x43, 0x6d, 0x02, 0xae, 0x82, 0x4e, 0x86, 0x03, 0xb3, 0x84,
917	0xeb, 0x60, 0x5c, 0x90, 0xe1, 0x70, 0x62, 0x22, 0x5c, 0x83, 0x72, 0xef, 0xea, 0x76, 0x68, 0x6a,
918	0xed, 0xbf, 0x34, 0x30, 0x54, 0x2e, 0x3e, 0x05, 0xe3, 0x2e, 0xce, 0x22, 0x5f, 0xad, 0x5a, 0xc3,
919	0x3d, 0x78, 0x2a, 0xdd, 0x29, 0xba, 0x59, 0x50, 0xf0, 0x09, 0x34, 0x67, 0x31, 0x5f, 0xd2, 0x99,
920	0x6a, 0x5b, 0x6a, 0x69, 0xb6, 0xee, 0x18, 0x3d, 0xcd, 0x44, 0xa4, 0xb1, 0xc2, 0xdf, 0xb1, 0x3c,
921	0x6d, 0xfd, 0x8d, 0xc0, 0x28, 0x2a, 0x19, 0xc0, 0xf1, 0x3d, 0xcb, 0x3d, 0x31, 0xa7, 0xc2, 0x8b,
922	0x18, 0xf3, 0x53, 0xef, 0x8d, 0xfb, 0xdd, 0xf7, 0x33, 0xca, 0xd9, 0xc2, 0xeb, 0xd3, 0xf4, 0x32,
923	0x0a, 0x2c, 0x64, 0x6b, 0x8e, 0x4e, 0x3e, 0xbf, 0x67, 0xf9, 0xcd, 0x9c, 0x8a, 0x89, 0x24, 0xad,
924	0x39, 0x05, 0x05, 0x1f, 0x6d, 0x57, 0xaf, 0x77, 0xd1, 0x0f, 0xab, 0x82, 0xf1, 0xd7, 0x60, 0x7a,
925	0x3c, 0x2f, 0x46, 0xe3, 0xa9, 0x5d, 0x73, 0xd5, 0xff, 0xa1, 0x93, 0xe6, 0x38, 0x57, 0xe3, 0x91,
926	0xa3, 0x71, 0xdb, 0x36, 0x94, 0x2f, 0x28, 0x67, 0xb8, 0x09, 0xb5, 0xf3, 0xe9, 0xf4, 0xa6, 0x77,
927	0x76, 0x75, 0x65, 0x22, 0x0c, 0x50, 0xb9, 0x19, 0x4e, 0x26, 0x97, 0xd7, 0xa6, 0x76, 0x5a, 0xab,
928	0xf9, 0xe6, 0xc3, 0xc3, 0xc3, 0x83, 0xd6, 0xfe, 0x06, 0xea, 0x53, 0x31, 0x67, 0x49, 0x8f, 0xa6,
929	0x0c, 0x63, 0x28, 0x4b, 0x59, 0x35, 0x8a, 0x3a, 0x51, 0xef, 0x5b, 0xd4, 0x7f, 0x10, 0xec, 0xab,
930	0x2e, 0x0d, 0xff, 0x10, 0x2c, 0x4a, 0xc3, 0x38, 0x4a, 0xdd, 0x36, 0x94, 0x45, 0xc8, 0x19, 0x7e,
931	0x36, 0x22, 0x8b, 0xd9, 0xc8, 0x41, 0x44, 0x9d, 0xb9, 0x3f, 0x43, 0x65, 0x46, 0x93, 0x24, 0x16,
932	0x3b, 0xac, 0x50, 0x8d, 0xd7, 0x7a, 0x8a, 0x6e, 0xd4, 0xc9, 0x2a, 0xcf, 0xed, 0x81, 0xe1, 0xc7,
933	0x51, 0x26, 0x30, 0x5e, 0x53, 0xd7, 0x97, 0x56, 0x9f, 0xfa, 0x94, 0x48, 0x91, 0xda, 0x76, 0xe0,
934	0x40, 0xe5, 0x3c, 0x3b, 0xde, 0x5d, 0xde, 0xb6, 0x05, 0xb5, 0xe9, 0xc2, 0x57, 0x3c, 0x55, 0xfd,
935	0xe3, 0xe3, 0xe3, 0x63, 0xb5, 0xab, 0xd5, 0x50, 0xfb, 0x4f, 0x1d, 0xa0, 0x1f, 0x73, 0x9e, 0x45,
936	0xe1, 0x87, 0x8c, 0xe1, 0x57, 0xd0, 0xe0, 0xf4, 0x9e, 0x79, 0x9c, 0x79, 0xb3, 0xa4, 0x90, 0xa8,
937	0x91, 0xba, 0x84, 0xc6, 0xac, 0x9f, 0xe4, 0xd8, 0x82, 0x4a, 0x94, 0xf1, 0xf7, 0x2c, 0xb1, 0x0c,
938	0xa9, 0x3e, 0x2a, 0x91, 0x55, 0x8c, 0x0f, 0x56, 0x8d, 0xae, 0xc8, 0x46, 0x8f, 0x4a, 0x45, 0xab,
939	0x25, 0xea, 0x53, 0x41, 0x95, 0x31, 0x35, 0x25, 0x2a, 0x23, 0x7c, 0x04, 0x15, 0xc1, 0xf8, 0xd2,
940	0x9b, 0x29, 0x3b, 0x42, 0xa3, 0x12, 0x31, 0x64, 0xdc, 0x97, 0xf2, 0x73, 0x16, 0x06, 0x73, 0xa1,
941	0x7e, 0x53, 0x4d, 0xca, 0x17, 0x31, 0x3e, 0x01, 0x43, 0xc4, 0x3e, 0xcd, 0x2d, 0x50, 0x9e, 0xf8,
942	0x62, 0xdd, 0x9b, 0x01, 0xcd, 0x53, 0x25, 0x20, 0x4f, 0xf1, 0x21, 0x18, 0x9c, 0xe6, 0xef, 0x99,
943	0xd5, 0x90, 0x37, 0x97, 0xb8, 0x0a, 0x25, 0xee, 0xb3, 0x85, 0xa0, 0xca, 0x40, 0x3e, 0x93, 0xb8,
944	0x0a, 0x71, 0x1b, 0x74, 0x9e, 0x06, 0xd6, 0x8b, 0x8f, 0xfd, 0x94, 0xa3, 0x12, 0x91, 0x87, 0xf8,
945	0xc7, 0x6d, 0xff, 0xdc, 0x53, 0xfe, 0xf9, 0x72, 0xcd, 0xdc, 0xf4, 0x6e, 0x63, 0xa1, 0xa3, 0xd2,
946	0x96, 0x89, 0xb6, 0xbe, 0xdc, 0x36, 0xa3, 0x43, 0xa8, 0x70, 0xa6, 0xfa, 0xb7, 0x5f, 0x38, 0x56,
947	0x11, 0xb5, 0xaa, 0x60, 0x0c, 0xe4, 0x85, 0x7a, 0x55, 0x30, 0xb2, 0x28, 0x8c, 0xa3, 0xd3, 0x57,
948	0x50, 0x5d, 0xd9, 0xbd, 0x5c, 0xf3, 0xc2, 0xf0, 0x4d, 0x24, 0x4d, 0xe1, 0x7c, 0xf8, 0xab, 0xa9,
949	0x9d, 0x76, 0xa0, 0x2c, 0x4b, 0x97, 0x87, 0xe3, 0xe9, 0x64, 0x70, 0xf6, 0x8b, 0x89, 0x70, 0x03,
950	0xaa, 0x37, 0xb7, 0xc3, 0x6b, 0x19, 0x68, 0xd2, 0x35, 0xae, 0x6e, 0x27, 0x83, 0x4b, 0x13, 0xb5,
951	0x34, 0x13, 0x75, 0x6d, 0xd0, 0x05, 0x0d, 0x76, 0xf6, 0x35, 0x50, 0xd7, 0x90, 0x47, 0xdd, 0xfe,
952	0xff, 0x2b, 0xf9, 0x9c, 0xf3, 0x9b, 0xea, 0xce, 0xcb, 0xa7, 0x8b, 0xfa, 0xf1, 0x9d, 0xfc, 0x2f,
953	0x00, 0x00, 0xff, 0xff, 0x43, 0x23, 0x7b, 0xca, 0x33, 0x07, 0x00, 0x00,
954}
955