1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: grpc/channelz/v1/channelz.proto
3
4package grpc_channelz_v1 // import "google.golang.org/grpc/channelz/grpc_channelz_v1"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import any "github.com/golang/protobuf/ptypes/any"
10import duration "github.com/golang/protobuf/ptypes/duration"
11import timestamp "github.com/golang/protobuf/ptypes/timestamp"
12import wrappers "github.com/golang/protobuf/ptypes/wrappers"
13
14import (
15	context "golang.org/x/net/context"
16	grpc "google.golang.org/grpc"
17)
18
19// Reference imports to suppress errors if they are not otherwise used.
20var _ = proto.Marshal
21var _ = fmt.Errorf
22var _ = math.Inf
23
24// This is a compile-time assertion to ensure that this generated file
25// is compatible with the proto package it is being compiled against.
26// A compilation error at this line likely means your copy of the
27// proto package needs to be updated.
28const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
29
30type ChannelConnectivityState_State int32
31
32const (
33	ChannelConnectivityState_UNKNOWN           ChannelConnectivityState_State = 0
34	ChannelConnectivityState_IDLE              ChannelConnectivityState_State = 1
35	ChannelConnectivityState_CONNECTING        ChannelConnectivityState_State = 2
36	ChannelConnectivityState_READY             ChannelConnectivityState_State = 3
37	ChannelConnectivityState_TRANSIENT_FAILURE ChannelConnectivityState_State = 4
38	ChannelConnectivityState_SHUTDOWN          ChannelConnectivityState_State = 5
39)
40
41var ChannelConnectivityState_State_name = map[int32]string{
42	0: "UNKNOWN",
43	1: "IDLE",
44	2: "CONNECTING",
45	3: "READY",
46	4: "TRANSIENT_FAILURE",
47	5: "SHUTDOWN",
48}
49var ChannelConnectivityState_State_value = map[string]int32{
50	"UNKNOWN":           0,
51	"IDLE":              1,
52	"CONNECTING":        2,
53	"READY":             3,
54	"TRANSIENT_FAILURE": 4,
55	"SHUTDOWN":          5,
56}
57
58func (x ChannelConnectivityState_State) String() string {
59	return proto.EnumName(ChannelConnectivityState_State_name, int32(x))
60}
61func (ChannelConnectivityState_State) EnumDescriptor() ([]byte, []int) {
62	return fileDescriptor_channelz_449295370a82a4c0, []int{2, 0}
63}
64
65// The supported severity levels of trace events.
66type ChannelTraceEvent_Severity int32
67
68const (
69	ChannelTraceEvent_CT_UNKNOWN ChannelTraceEvent_Severity = 0
70	ChannelTraceEvent_CT_INFO    ChannelTraceEvent_Severity = 1
71	ChannelTraceEvent_CT_WARNING ChannelTraceEvent_Severity = 2
72	ChannelTraceEvent_CT_ERROR   ChannelTraceEvent_Severity = 3
73)
74
75var ChannelTraceEvent_Severity_name = map[int32]string{
76	0: "CT_UNKNOWN",
77	1: "CT_INFO",
78	2: "CT_WARNING",
79	3: "CT_ERROR",
80}
81var ChannelTraceEvent_Severity_value = map[string]int32{
82	"CT_UNKNOWN": 0,
83	"CT_INFO":    1,
84	"CT_WARNING": 2,
85	"CT_ERROR":   3,
86}
87
88func (x ChannelTraceEvent_Severity) String() string {
89	return proto.EnumName(ChannelTraceEvent_Severity_name, int32(x))
90}
91func (ChannelTraceEvent_Severity) EnumDescriptor() ([]byte, []int) {
92	return fileDescriptor_channelz_449295370a82a4c0, []int{4, 0}
93}
94
95// Channel is a logical grouping of channels, subchannels, and sockets.
96type Channel struct {
97	// The identifier for this channel. This should bet set.
98	Ref *ChannelRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
99	// Data specific to this channel.
100	Data *ChannelData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
101	// There are no ordering guarantees on the order of channel refs.
102	// There may not be cycles in the ref graph.
103	// A channel ref may be present in more than one channel or subchannel.
104	ChannelRef []*ChannelRef `protobuf:"bytes,3,rep,name=channel_ref,json=channelRef,proto3" json:"channel_ref,omitempty"`
105	// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
106	// There are no ordering guarantees on the order of subchannel refs.
107	// There may not be cycles in the ref graph.
108	// A sub channel ref may be present in more than one channel or subchannel.
109	SubchannelRef []*SubchannelRef `protobuf:"bytes,4,rep,name=subchannel_ref,json=subchannelRef,proto3" json:"subchannel_ref,omitempty"`
110	// There are no ordering guarantees on the order of sockets.
111	SocketRef            []*SocketRef `protobuf:"bytes,5,rep,name=socket_ref,json=socketRef,proto3" json:"socket_ref,omitempty"`
112	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
113	XXX_unrecognized     []byte       `json:"-"`
114	XXX_sizecache        int32        `json:"-"`
115}
116
117func (m *Channel) Reset()         { *m = Channel{} }
118func (m *Channel) String() string { return proto.CompactTextString(m) }
119func (*Channel) ProtoMessage()    {}
120func (*Channel) Descriptor() ([]byte, []int) {
121	return fileDescriptor_channelz_449295370a82a4c0, []int{0}
122}
123func (m *Channel) XXX_Unmarshal(b []byte) error {
124	return xxx_messageInfo_Channel.Unmarshal(m, b)
125}
126func (m *Channel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
127	return xxx_messageInfo_Channel.Marshal(b, m, deterministic)
128}
129func (dst *Channel) XXX_Merge(src proto.Message) {
130	xxx_messageInfo_Channel.Merge(dst, src)
131}
132func (m *Channel) XXX_Size() int {
133	return xxx_messageInfo_Channel.Size(m)
134}
135func (m *Channel) XXX_DiscardUnknown() {
136	xxx_messageInfo_Channel.DiscardUnknown(m)
137}
138
139var xxx_messageInfo_Channel proto.InternalMessageInfo
140
141func (m *Channel) GetRef() *ChannelRef {
142	if m != nil {
143		return m.Ref
144	}
145	return nil
146}
147
148func (m *Channel) GetData() *ChannelData {
149	if m != nil {
150		return m.Data
151	}
152	return nil
153}
154
155func (m *Channel) GetChannelRef() []*ChannelRef {
156	if m != nil {
157		return m.ChannelRef
158	}
159	return nil
160}
161
162func (m *Channel) GetSubchannelRef() []*SubchannelRef {
163	if m != nil {
164		return m.SubchannelRef
165	}
166	return nil
167}
168
169func (m *Channel) GetSocketRef() []*SocketRef {
170	if m != nil {
171		return m.SocketRef
172	}
173	return nil
174}
175
176// Subchannel is a logical grouping of channels, subchannels, and sockets.
177// A subchannel is load balanced over by it's ancestor
178type Subchannel struct {
179	// The identifier for this channel.
180	Ref *SubchannelRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
181	// Data specific to this channel.
182	Data *ChannelData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
183	// There are no ordering guarantees on the order of channel refs.
184	// There may not be cycles in the ref graph.
185	// A channel ref may be present in more than one channel or subchannel.
186	ChannelRef []*ChannelRef `protobuf:"bytes,3,rep,name=channel_ref,json=channelRef,proto3" json:"channel_ref,omitempty"`
187	// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
188	// There are no ordering guarantees on the order of subchannel refs.
189	// There may not be cycles in the ref graph.
190	// A sub channel ref may be present in more than one channel or subchannel.
191	SubchannelRef []*SubchannelRef `protobuf:"bytes,4,rep,name=subchannel_ref,json=subchannelRef,proto3" json:"subchannel_ref,omitempty"`
192	// There are no ordering guarantees on the order of sockets.
193	SocketRef            []*SocketRef `protobuf:"bytes,5,rep,name=socket_ref,json=socketRef,proto3" json:"socket_ref,omitempty"`
194	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
195	XXX_unrecognized     []byte       `json:"-"`
196	XXX_sizecache        int32        `json:"-"`
197}
198
199func (m *Subchannel) Reset()         { *m = Subchannel{} }
200func (m *Subchannel) String() string { return proto.CompactTextString(m) }
201func (*Subchannel) ProtoMessage()    {}
202func (*Subchannel) Descriptor() ([]byte, []int) {
203	return fileDescriptor_channelz_449295370a82a4c0, []int{1}
204}
205func (m *Subchannel) XXX_Unmarshal(b []byte) error {
206	return xxx_messageInfo_Subchannel.Unmarshal(m, b)
207}
208func (m *Subchannel) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
209	return xxx_messageInfo_Subchannel.Marshal(b, m, deterministic)
210}
211func (dst *Subchannel) XXX_Merge(src proto.Message) {
212	xxx_messageInfo_Subchannel.Merge(dst, src)
213}
214func (m *Subchannel) XXX_Size() int {
215	return xxx_messageInfo_Subchannel.Size(m)
216}
217func (m *Subchannel) XXX_DiscardUnknown() {
218	xxx_messageInfo_Subchannel.DiscardUnknown(m)
219}
220
221var xxx_messageInfo_Subchannel proto.InternalMessageInfo
222
223func (m *Subchannel) GetRef() *SubchannelRef {
224	if m != nil {
225		return m.Ref
226	}
227	return nil
228}
229
230func (m *Subchannel) GetData() *ChannelData {
231	if m != nil {
232		return m.Data
233	}
234	return nil
235}
236
237func (m *Subchannel) GetChannelRef() []*ChannelRef {
238	if m != nil {
239		return m.ChannelRef
240	}
241	return nil
242}
243
244func (m *Subchannel) GetSubchannelRef() []*SubchannelRef {
245	if m != nil {
246		return m.SubchannelRef
247	}
248	return nil
249}
250
251func (m *Subchannel) GetSocketRef() []*SocketRef {
252	if m != nil {
253		return m.SocketRef
254	}
255	return nil
256}
257
258// These come from the specified states in this document:
259// https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
260type ChannelConnectivityState struct {
261	State                ChannelConnectivityState_State `protobuf:"varint,1,opt,name=state,proto3,enum=grpc.channelz.v1.ChannelConnectivityState_State" json:"state,omitempty"`
262	XXX_NoUnkeyedLiteral struct{}                       `json:"-"`
263	XXX_unrecognized     []byte                         `json:"-"`
264	XXX_sizecache        int32                          `json:"-"`
265}
266
267func (m *ChannelConnectivityState) Reset()         { *m = ChannelConnectivityState{} }
268func (m *ChannelConnectivityState) String() string { return proto.CompactTextString(m) }
269func (*ChannelConnectivityState) ProtoMessage()    {}
270func (*ChannelConnectivityState) Descriptor() ([]byte, []int) {
271	return fileDescriptor_channelz_449295370a82a4c0, []int{2}
272}
273func (m *ChannelConnectivityState) XXX_Unmarshal(b []byte) error {
274	return xxx_messageInfo_ChannelConnectivityState.Unmarshal(m, b)
275}
276func (m *ChannelConnectivityState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
277	return xxx_messageInfo_ChannelConnectivityState.Marshal(b, m, deterministic)
278}
279func (dst *ChannelConnectivityState) XXX_Merge(src proto.Message) {
280	xxx_messageInfo_ChannelConnectivityState.Merge(dst, src)
281}
282func (m *ChannelConnectivityState) XXX_Size() int {
283	return xxx_messageInfo_ChannelConnectivityState.Size(m)
284}
285func (m *ChannelConnectivityState) XXX_DiscardUnknown() {
286	xxx_messageInfo_ChannelConnectivityState.DiscardUnknown(m)
287}
288
289var xxx_messageInfo_ChannelConnectivityState proto.InternalMessageInfo
290
291func (m *ChannelConnectivityState) GetState() ChannelConnectivityState_State {
292	if m != nil {
293		return m.State
294	}
295	return ChannelConnectivityState_UNKNOWN
296}
297
298// Channel data is data related to a specific Channel or Subchannel.
299type ChannelData struct {
300	// The connectivity state of the channel or subchannel.  Implementations
301	// should always set this.
302	State *ChannelConnectivityState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
303	// The target this channel originally tried to connect to.  May be absent
304	Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
305	// A trace of recent events on the channel.  May be absent.
306	Trace *ChannelTrace `protobuf:"bytes,3,opt,name=trace,proto3" json:"trace,omitempty"`
307	// The number of calls started on the channel
308	CallsStarted int64 `protobuf:"varint,4,opt,name=calls_started,json=callsStarted,proto3" json:"calls_started,omitempty"`
309	// The number of calls that have completed with an OK status
310	CallsSucceeded int64 `protobuf:"varint,5,opt,name=calls_succeeded,json=callsSucceeded,proto3" json:"calls_succeeded,omitempty"`
311	// The number of calls that have completed with a non-OK status
312	CallsFailed int64 `protobuf:"varint,6,opt,name=calls_failed,json=callsFailed,proto3" json:"calls_failed,omitempty"`
313	// The last time a call was started on the channel.
314	LastCallStartedTimestamp *timestamp.Timestamp `protobuf:"bytes,7,opt,name=last_call_started_timestamp,json=lastCallStartedTimestamp,proto3" json:"last_call_started_timestamp,omitempty"`
315	XXX_NoUnkeyedLiteral     struct{}             `json:"-"`
316	XXX_unrecognized         []byte               `json:"-"`
317	XXX_sizecache            int32                `json:"-"`
318}
319
320func (m *ChannelData) Reset()         { *m = ChannelData{} }
321func (m *ChannelData) String() string { return proto.CompactTextString(m) }
322func (*ChannelData) ProtoMessage()    {}
323func (*ChannelData) Descriptor() ([]byte, []int) {
324	return fileDescriptor_channelz_449295370a82a4c0, []int{3}
325}
326func (m *ChannelData) XXX_Unmarshal(b []byte) error {
327	return xxx_messageInfo_ChannelData.Unmarshal(m, b)
328}
329func (m *ChannelData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
330	return xxx_messageInfo_ChannelData.Marshal(b, m, deterministic)
331}
332func (dst *ChannelData) XXX_Merge(src proto.Message) {
333	xxx_messageInfo_ChannelData.Merge(dst, src)
334}
335func (m *ChannelData) XXX_Size() int {
336	return xxx_messageInfo_ChannelData.Size(m)
337}
338func (m *ChannelData) XXX_DiscardUnknown() {
339	xxx_messageInfo_ChannelData.DiscardUnknown(m)
340}
341
342var xxx_messageInfo_ChannelData proto.InternalMessageInfo
343
344func (m *ChannelData) GetState() *ChannelConnectivityState {
345	if m != nil {
346		return m.State
347	}
348	return nil
349}
350
351func (m *ChannelData) GetTarget() string {
352	if m != nil {
353		return m.Target
354	}
355	return ""
356}
357
358func (m *ChannelData) GetTrace() *ChannelTrace {
359	if m != nil {
360		return m.Trace
361	}
362	return nil
363}
364
365func (m *ChannelData) GetCallsStarted() int64 {
366	if m != nil {
367		return m.CallsStarted
368	}
369	return 0
370}
371
372func (m *ChannelData) GetCallsSucceeded() int64 {
373	if m != nil {
374		return m.CallsSucceeded
375	}
376	return 0
377}
378
379func (m *ChannelData) GetCallsFailed() int64 {
380	if m != nil {
381		return m.CallsFailed
382	}
383	return 0
384}
385
386func (m *ChannelData) GetLastCallStartedTimestamp() *timestamp.Timestamp {
387	if m != nil {
388		return m.LastCallStartedTimestamp
389	}
390	return nil
391}
392
393// A trace event is an interesting thing that happened to a channel or
394// subchannel, such as creation, address resolution, subchannel creation, etc.
395type ChannelTraceEvent struct {
396	// High level description of the event.
397	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
398	// the severity of the trace event
399	Severity ChannelTraceEvent_Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=grpc.channelz.v1.ChannelTraceEvent_Severity" json:"severity,omitempty"`
400	// When this event occurred.
401	Timestamp *timestamp.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
402	// ref of referenced channel or subchannel.
403	// Optional, only present if this event refers to a child object. For example,
404	// this field would be filled if this trace event was for a subchannel being
405	// created.
406	//
407	// Types that are valid to be assigned to ChildRef:
408	//	*ChannelTraceEvent_ChannelRef
409	//	*ChannelTraceEvent_SubchannelRef
410	ChildRef             isChannelTraceEvent_ChildRef `protobuf_oneof:"child_ref"`
411	XXX_NoUnkeyedLiteral struct{}                     `json:"-"`
412	XXX_unrecognized     []byte                       `json:"-"`
413	XXX_sizecache        int32                        `json:"-"`
414}
415
416func (m *ChannelTraceEvent) Reset()         { *m = ChannelTraceEvent{} }
417func (m *ChannelTraceEvent) String() string { return proto.CompactTextString(m) }
418func (*ChannelTraceEvent) ProtoMessage()    {}
419func (*ChannelTraceEvent) Descriptor() ([]byte, []int) {
420	return fileDescriptor_channelz_449295370a82a4c0, []int{4}
421}
422func (m *ChannelTraceEvent) XXX_Unmarshal(b []byte) error {
423	return xxx_messageInfo_ChannelTraceEvent.Unmarshal(m, b)
424}
425func (m *ChannelTraceEvent) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
426	return xxx_messageInfo_ChannelTraceEvent.Marshal(b, m, deterministic)
427}
428func (dst *ChannelTraceEvent) XXX_Merge(src proto.Message) {
429	xxx_messageInfo_ChannelTraceEvent.Merge(dst, src)
430}
431func (m *ChannelTraceEvent) XXX_Size() int {
432	return xxx_messageInfo_ChannelTraceEvent.Size(m)
433}
434func (m *ChannelTraceEvent) XXX_DiscardUnknown() {
435	xxx_messageInfo_ChannelTraceEvent.DiscardUnknown(m)
436}
437
438var xxx_messageInfo_ChannelTraceEvent proto.InternalMessageInfo
439
440func (m *ChannelTraceEvent) GetDescription() string {
441	if m != nil {
442		return m.Description
443	}
444	return ""
445}
446
447func (m *ChannelTraceEvent) GetSeverity() ChannelTraceEvent_Severity {
448	if m != nil {
449		return m.Severity
450	}
451	return ChannelTraceEvent_CT_UNKNOWN
452}
453
454func (m *ChannelTraceEvent) GetTimestamp() *timestamp.Timestamp {
455	if m != nil {
456		return m.Timestamp
457	}
458	return nil
459}
460
461type isChannelTraceEvent_ChildRef interface {
462	isChannelTraceEvent_ChildRef()
463}
464
465type ChannelTraceEvent_ChannelRef struct {
466	ChannelRef *ChannelRef `protobuf:"bytes,4,opt,name=channel_ref,json=channelRef,proto3,oneof"`
467}
468
469type ChannelTraceEvent_SubchannelRef struct {
470	SubchannelRef *SubchannelRef `protobuf:"bytes,5,opt,name=subchannel_ref,json=subchannelRef,proto3,oneof"`
471}
472
473func (*ChannelTraceEvent_ChannelRef) isChannelTraceEvent_ChildRef() {}
474
475func (*ChannelTraceEvent_SubchannelRef) isChannelTraceEvent_ChildRef() {}
476
477func (m *ChannelTraceEvent) GetChildRef() isChannelTraceEvent_ChildRef {
478	if m != nil {
479		return m.ChildRef
480	}
481	return nil
482}
483
484func (m *ChannelTraceEvent) GetChannelRef() *ChannelRef {
485	if x, ok := m.GetChildRef().(*ChannelTraceEvent_ChannelRef); ok {
486		return x.ChannelRef
487	}
488	return nil
489}
490
491func (m *ChannelTraceEvent) GetSubchannelRef() *SubchannelRef {
492	if x, ok := m.GetChildRef().(*ChannelTraceEvent_SubchannelRef); ok {
493		return x.SubchannelRef
494	}
495	return nil
496}
497
498// XXX_OneofFuncs is for the internal use of the proto package.
499func (*ChannelTraceEvent) 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{}) {
500	return _ChannelTraceEvent_OneofMarshaler, _ChannelTraceEvent_OneofUnmarshaler, _ChannelTraceEvent_OneofSizer, []interface{}{
501		(*ChannelTraceEvent_ChannelRef)(nil),
502		(*ChannelTraceEvent_SubchannelRef)(nil),
503	}
504}
505
506func _ChannelTraceEvent_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
507	m := msg.(*ChannelTraceEvent)
508	// child_ref
509	switch x := m.ChildRef.(type) {
510	case *ChannelTraceEvent_ChannelRef:
511		b.EncodeVarint(4<<3 | proto.WireBytes)
512		if err := b.EncodeMessage(x.ChannelRef); err != nil {
513			return err
514		}
515	case *ChannelTraceEvent_SubchannelRef:
516		b.EncodeVarint(5<<3 | proto.WireBytes)
517		if err := b.EncodeMessage(x.SubchannelRef); err != nil {
518			return err
519		}
520	case nil:
521	default:
522		return fmt.Errorf("ChannelTraceEvent.ChildRef has unexpected type %T", x)
523	}
524	return nil
525}
526
527func _ChannelTraceEvent_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
528	m := msg.(*ChannelTraceEvent)
529	switch tag {
530	case 4: // child_ref.channel_ref
531		if wire != proto.WireBytes {
532			return true, proto.ErrInternalBadWireType
533		}
534		msg := new(ChannelRef)
535		err := b.DecodeMessage(msg)
536		m.ChildRef = &ChannelTraceEvent_ChannelRef{msg}
537		return true, err
538	case 5: // child_ref.subchannel_ref
539		if wire != proto.WireBytes {
540			return true, proto.ErrInternalBadWireType
541		}
542		msg := new(SubchannelRef)
543		err := b.DecodeMessage(msg)
544		m.ChildRef = &ChannelTraceEvent_SubchannelRef{msg}
545		return true, err
546	default:
547		return false, nil
548	}
549}
550
551func _ChannelTraceEvent_OneofSizer(msg proto.Message) (n int) {
552	m := msg.(*ChannelTraceEvent)
553	// child_ref
554	switch x := m.ChildRef.(type) {
555	case *ChannelTraceEvent_ChannelRef:
556		s := proto.Size(x.ChannelRef)
557		n += 1 // tag and wire
558		n += proto.SizeVarint(uint64(s))
559		n += s
560	case *ChannelTraceEvent_SubchannelRef:
561		s := proto.Size(x.SubchannelRef)
562		n += 1 // tag and wire
563		n += proto.SizeVarint(uint64(s))
564		n += s
565	case nil:
566	default:
567		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
568	}
569	return n
570}
571
572// ChannelTrace represents the recent events that have occurred on the channel.
573type ChannelTrace struct {
574	// Number of events ever logged in this tracing object. This can differ from
575	// events.size() because events can be overwritten or garbage collected by
576	// implementations.
577	NumEventsLogged int64 `protobuf:"varint,1,opt,name=num_events_logged,json=numEventsLogged,proto3" json:"num_events_logged,omitempty"`
578	// Time that this channel was created.
579	CreationTimestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=creation_timestamp,json=creationTimestamp,proto3" json:"creation_timestamp,omitempty"`
580	// List of events that have occurred on this channel.
581	Events               []*ChannelTraceEvent `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"`
582	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
583	XXX_unrecognized     []byte               `json:"-"`
584	XXX_sizecache        int32                `json:"-"`
585}
586
587func (m *ChannelTrace) Reset()         { *m = ChannelTrace{} }
588func (m *ChannelTrace) String() string { return proto.CompactTextString(m) }
589func (*ChannelTrace) ProtoMessage()    {}
590func (*ChannelTrace) Descriptor() ([]byte, []int) {
591	return fileDescriptor_channelz_449295370a82a4c0, []int{5}
592}
593func (m *ChannelTrace) XXX_Unmarshal(b []byte) error {
594	return xxx_messageInfo_ChannelTrace.Unmarshal(m, b)
595}
596func (m *ChannelTrace) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
597	return xxx_messageInfo_ChannelTrace.Marshal(b, m, deterministic)
598}
599func (dst *ChannelTrace) XXX_Merge(src proto.Message) {
600	xxx_messageInfo_ChannelTrace.Merge(dst, src)
601}
602func (m *ChannelTrace) XXX_Size() int {
603	return xxx_messageInfo_ChannelTrace.Size(m)
604}
605func (m *ChannelTrace) XXX_DiscardUnknown() {
606	xxx_messageInfo_ChannelTrace.DiscardUnknown(m)
607}
608
609var xxx_messageInfo_ChannelTrace proto.InternalMessageInfo
610
611func (m *ChannelTrace) GetNumEventsLogged() int64 {
612	if m != nil {
613		return m.NumEventsLogged
614	}
615	return 0
616}
617
618func (m *ChannelTrace) GetCreationTimestamp() *timestamp.Timestamp {
619	if m != nil {
620		return m.CreationTimestamp
621	}
622	return nil
623}
624
625func (m *ChannelTrace) GetEvents() []*ChannelTraceEvent {
626	if m != nil {
627		return m.Events
628	}
629	return nil
630}
631
632// ChannelRef is a reference to a Channel.
633type ChannelRef struct {
634	// The globally unique id for this channel.  Must be a positive number.
635	ChannelId int64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
636	// An optional name associated with the channel.
637	Name                 string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
638	XXX_NoUnkeyedLiteral struct{} `json:"-"`
639	XXX_unrecognized     []byte   `json:"-"`
640	XXX_sizecache        int32    `json:"-"`
641}
642
643func (m *ChannelRef) Reset()         { *m = ChannelRef{} }
644func (m *ChannelRef) String() string { return proto.CompactTextString(m) }
645func (*ChannelRef) ProtoMessage()    {}
646func (*ChannelRef) Descriptor() ([]byte, []int) {
647	return fileDescriptor_channelz_449295370a82a4c0, []int{6}
648}
649func (m *ChannelRef) XXX_Unmarshal(b []byte) error {
650	return xxx_messageInfo_ChannelRef.Unmarshal(m, b)
651}
652func (m *ChannelRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
653	return xxx_messageInfo_ChannelRef.Marshal(b, m, deterministic)
654}
655func (dst *ChannelRef) XXX_Merge(src proto.Message) {
656	xxx_messageInfo_ChannelRef.Merge(dst, src)
657}
658func (m *ChannelRef) XXX_Size() int {
659	return xxx_messageInfo_ChannelRef.Size(m)
660}
661func (m *ChannelRef) XXX_DiscardUnknown() {
662	xxx_messageInfo_ChannelRef.DiscardUnknown(m)
663}
664
665var xxx_messageInfo_ChannelRef proto.InternalMessageInfo
666
667func (m *ChannelRef) GetChannelId() int64 {
668	if m != nil {
669		return m.ChannelId
670	}
671	return 0
672}
673
674func (m *ChannelRef) GetName() string {
675	if m != nil {
676		return m.Name
677	}
678	return ""
679}
680
681// ChannelRef is a reference to a Subchannel.
682type SubchannelRef struct {
683	// The globally unique id for this subchannel.  Must be a positive number.
684	SubchannelId int64 `protobuf:"varint,7,opt,name=subchannel_id,json=subchannelId,proto3" json:"subchannel_id,omitempty"`
685	// An optional name associated with the subchannel.
686	Name                 string   `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
687	XXX_NoUnkeyedLiteral struct{} `json:"-"`
688	XXX_unrecognized     []byte   `json:"-"`
689	XXX_sizecache        int32    `json:"-"`
690}
691
692func (m *SubchannelRef) Reset()         { *m = SubchannelRef{} }
693func (m *SubchannelRef) String() string { return proto.CompactTextString(m) }
694func (*SubchannelRef) ProtoMessage()    {}
695func (*SubchannelRef) Descriptor() ([]byte, []int) {
696	return fileDescriptor_channelz_449295370a82a4c0, []int{7}
697}
698func (m *SubchannelRef) XXX_Unmarshal(b []byte) error {
699	return xxx_messageInfo_SubchannelRef.Unmarshal(m, b)
700}
701func (m *SubchannelRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
702	return xxx_messageInfo_SubchannelRef.Marshal(b, m, deterministic)
703}
704func (dst *SubchannelRef) XXX_Merge(src proto.Message) {
705	xxx_messageInfo_SubchannelRef.Merge(dst, src)
706}
707func (m *SubchannelRef) XXX_Size() int {
708	return xxx_messageInfo_SubchannelRef.Size(m)
709}
710func (m *SubchannelRef) XXX_DiscardUnknown() {
711	xxx_messageInfo_SubchannelRef.DiscardUnknown(m)
712}
713
714var xxx_messageInfo_SubchannelRef proto.InternalMessageInfo
715
716func (m *SubchannelRef) GetSubchannelId() int64 {
717	if m != nil {
718		return m.SubchannelId
719	}
720	return 0
721}
722
723func (m *SubchannelRef) GetName() string {
724	if m != nil {
725		return m.Name
726	}
727	return ""
728}
729
730// SocketRef is a reference to a Socket.
731type SocketRef struct {
732	// The globally unique id for this socket.  Must be a positive number.
733	SocketId int64 `protobuf:"varint,3,opt,name=socket_id,json=socketId,proto3" json:"socket_id,omitempty"`
734	// An optional name associated with the socket.
735	Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
736	XXX_NoUnkeyedLiteral struct{} `json:"-"`
737	XXX_unrecognized     []byte   `json:"-"`
738	XXX_sizecache        int32    `json:"-"`
739}
740
741func (m *SocketRef) Reset()         { *m = SocketRef{} }
742func (m *SocketRef) String() string { return proto.CompactTextString(m) }
743func (*SocketRef) ProtoMessage()    {}
744func (*SocketRef) Descriptor() ([]byte, []int) {
745	return fileDescriptor_channelz_449295370a82a4c0, []int{8}
746}
747func (m *SocketRef) XXX_Unmarshal(b []byte) error {
748	return xxx_messageInfo_SocketRef.Unmarshal(m, b)
749}
750func (m *SocketRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
751	return xxx_messageInfo_SocketRef.Marshal(b, m, deterministic)
752}
753func (dst *SocketRef) XXX_Merge(src proto.Message) {
754	xxx_messageInfo_SocketRef.Merge(dst, src)
755}
756func (m *SocketRef) XXX_Size() int {
757	return xxx_messageInfo_SocketRef.Size(m)
758}
759func (m *SocketRef) XXX_DiscardUnknown() {
760	xxx_messageInfo_SocketRef.DiscardUnknown(m)
761}
762
763var xxx_messageInfo_SocketRef proto.InternalMessageInfo
764
765func (m *SocketRef) GetSocketId() int64 {
766	if m != nil {
767		return m.SocketId
768	}
769	return 0
770}
771
772func (m *SocketRef) GetName() string {
773	if m != nil {
774		return m.Name
775	}
776	return ""
777}
778
779// ServerRef is a reference to a Server.
780type ServerRef struct {
781	// A globally unique identifier for this server.  Must be a positive number.
782	ServerId int64 `protobuf:"varint,5,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
783	// An optional name associated with the server.
784	Name                 string   `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
785	XXX_NoUnkeyedLiteral struct{} `json:"-"`
786	XXX_unrecognized     []byte   `json:"-"`
787	XXX_sizecache        int32    `json:"-"`
788}
789
790func (m *ServerRef) Reset()         { *m = ServerRef{} }
791func (m *ServerRef) String() string { return proto.CompactTextString(m) }
792func (*ServerRef) ProtoMessage()    {}
793func (*ServerRef) Descriptor() ([]byte, []int) {
794	return fileDescriptor_channelz_449295370a82a4c0, []int{9}
795}
796func (m *ServerRef) XXX_Unmarshal(b []byte) error {
797	return xxx_messageInfo_ServerRef.Unmarshal(m, b)
798}
799func (m *ServerRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
800	return xxx_messageInfo_ServerRef.Marshal(b, m, deterministic)
801}
802func (dst *ServerRef) XXX_Merge(src proto.Message) {
803	xxx_messageInfo_ServerRef.Merge(dst, src)
804}
805func (m *ServerRef) XXX_Size() int {
806	return xxx_messageInfo_ServerRef.Size(m)
807}
808func (m *ServerRef) XXX_DiscardUnknown() {
809	xxx_messageInfo_ServerRef.DiscardUnknown(m)
810}
811
812var xxx_messageInfo_ServerRef proto.InternalMessageInfo
813
814func (m *ServerRef) GetServerId() int64 {
815	if m != nil {
816		return m.ServerId
817	}
818	return 0
819}
820
821func (m *ServerRef) GetName() string {
822	if m != nil {
823		return m.Name
824	}
825	return ""
826}
827
828// Server represents a single server.  There may be multiple servers in a single
829// program.
830type Server struct {
831	// The identifier for a Server.  This should be set.
832	Ref *ServerRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
833	// The associated data of the Server.
834	Data *ServerData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
835	// The sockets that the server is listening on.  There are no ordering
836	// guarantees.  This may be absent.
837	ListenSocket         []*SocketRef `protobuf:"bytes,3,rep,name=listen_socket,json=listenSocket,proto3" json:"listen_socket,omitempty"`
838	XXX_NoUnkeyedLiteral struct{}     `json:"-"`
839	XXX_unrecognized     []byte       `json:"-"`
840	XXX_sizecache        int32        `json:"-"`
841}
842
843func (m *Server) Reset()         { *m = Server{} }
844func (m *Server) String() string { return proto.CompactTextString(m) }
845func (*Server) ProtoMessage()    {}
846func (*Server) Descriptor() ([]byte, []int) {
847	return fileDescriptor_channelz_449295370a82a4c0, []int{10}
848}
849func (m *Server) XXX_Unmarshal(b []byte) error {
850	return xxx_messageInfo_Server.Unmarshal(m, b)
851}
852func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
853	return xxx_messageInfo_Server.Marshal(b, m, deterministic)
854}
855func (dst *Server) XXX_Merge(src proto.Message) {
856	xxx_messageInfo_Server.Merge(dst, src)
857}
858func (m *Server) XXX_Size() int {
859	return xxx_messageInfo_Server.Size(m)
860}
861func (m *Server) XXX_DiscardUnknown() {
862	xxx_messageInfo_Server.DiscardUnknown(m)
863}
864
865var xxx_messageInfo_Server proto.InternalMessageInfo
866
867func (m *Server) GetRef() *ServerRef {
868	if m != nil {
869		return m.Ref
870	}
871	return nil
872}
873
874func (m *Server) GetData() *ServerData {
875	if m != nil {
876		return m.Data
877	}
878	return nil
879}
880
881func (m *Server) GetListenSocket() []*SocketRef {
882	if m != nil {
883		return m.ListenSocket
884	}
885	return nil
886}
887
888// ServerData is data for a specific Server.
889type ServerData struct {
890	// A trace of recent events on the server.  May be absent.
891	Trace *ChannelTrace `protobuf:"bytes,1,opt,name=trace,proto3" json:"trace,omitempty"`
892	// The number of incoming calls started on the server
893	CallsStarted int64 `protobuf:"varint,2,opt,name=calls_started,json=callsStarted,proto3" json:"calls_started,omitempty"`
894	// The number of incoming calls that have completed with an OK status
895	CallsSucceeded int64 `protobuf:"varint,3,opt,name=calls_succeeded,json=callsSucceeded,proto3" json:"calls_succeeded,omitempty"`
896	// The number of incoming calls that have a completed with a non-OK status
897	CallsFailed int64 `protobuf:"varint,4,opt,name=calls_failed,json=callsFailed,proto3" json:"calls_failed,omitempty"`
898	// The last time a call was started on the server.
899	LastCallStartedTimestamp *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_call_started_timestamp,json=lastCallStartedTimestamp,proto3" json:"last_call_started_timestamp,omitempty"`
900	XXX_NoUnkeyedLiteral     struct{}             `json:"-"`
901	XXX_unrecognized         []byte               `json:"-"`
902	XXX_sizecache            int32                `json:"-"`
903}
904
905func (m *ServerData) Reset()         { *m = ServerData{} }
906func (m *ServerData) String() string { return proto.CompactTextString(m) }
907func (*ServerData) ProtoMessage()    {}
908func (*ServerData) Descriptor() ([]byte, []int) {
909	return fileDescriptor_channelz_449295370a82a4c0, []int{11}
910}
911func (m *ServerData) XXX_Unmarshal(b []byte) error {
912	return xxx_messageInfo_ServerData.Unmarshal(m, b)
913}
914func (m *ServerData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
915	return xxx_messageInfo_ServerData.Marshal(b, m, deterministic)
916}
917func (dst *ServerData) XXX_Merge(src proto.Message) {
918	xxx_messageInfo_ServerData.Merge(dst, src)
919}
920func (m *ServerData) XXX_Size() int {
921	return xxx_messageInfo_ServerData.Size(m)
922}
923func (m *ServerData) XXX_DiscardUnknown() {
924	xxx_messageInfo_ServerData.DiscardUnknown(m)
925}
926
927var xxx_messageInfo_ServerData proto.InternalMessageInfo
928
929func (m *ServerData) GetTrace() *ChannelTrace {
930	if m != nil {
931		return m.Trace
932	}
933	return nil
934}
935
936func (m *ServerData) GetCallsStarted() int64 {
937	if m != nil {
938		return m.CallsStarted
939	}
940	return 0
941}
942
943func (m *ServerData) GetCallsSucceeded() int64 {
944	if m != nil {
945		return m.CallsSucceeded
946	}
947	return 0
948}
949
950func (m *ServerData) GetCallsFailed() int64 {
951	if m != nil {
952		return m.CallsFailed
953	}
954	return 0
955}
956
957func (m *ServerData) GetLastCallStartedTimestamp() *timestamp.Timestamp {
958	if m != nil {
959		return m.LastCallStartedTimestamp
960	}
961	return nil
962}
963
964// Information about an actual connection.  Pronounced "sock-ay".
965type Socket struct {
966	// The identifier for the Socket.
967	Ref *SocketRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
968	// Data specific to this Socket.
969	Data *SocketData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
970	// The locally bound address.
971	Local *Address `protobuf:"bytes,3,opt,name=local,proto3" json:"local,omitempty"`
972	// The remote bound address.  May be absent.
973	Remote *Address `protobuf:"bytes,4,opt,name=remote,proto3" json:"remote,omitempty"`
974	// Security details for this socket.  May be absent if not available, or
975	// there is no security on the socket.
976	Security *Security `protobuf:"bytes,5,opt,name=security,proto3" json:"security,omitempty"`
977	// Optional, represents the name of the remote endpoint, if different than
978	// the original target name.
979	RemoteName           string   `protobuf:"bytes,6,opt,name=remote_name,json=remoteName,proto3" json:"remote_name,omitempty"`
980	XXX_NoUnkeyedLiteral struct{} `json:"-"`
981	XXX_unrecognized     []byte   `json:"-"`
982	XXX_sizecache        int32    `json:"-"`
983}
984
985func (m *Socket) Reset()         { *m = Socket{} }
986func (m *Socket) String() string { return proto.CompactTextString(m) }
987func (*Socket) ProtoMessage()    {}
988func (*Socket) Descriptor() ([]byte, []int) {
989	return fileDescriptor_channelz_449295370a82a4c0, []int{12}
990}
991func (m *Socket) XXX_Unmarshal(b []byte) error {
992	return xxx_messageInfo_Socket.Unmarshal(m, b)
993}
994func (m *Socket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
995	return xxx_messageInfo_Socket.Marshal(b, m, deterministic)
996}
997func (dst *Socket) XXX_Merge(src proto.Message) {
998	xxx_messageInfo_Socket.Merge(dst, src)
999}
1000func (m *Socket) XXX_Size() int {
1001	return xxx_messageInfo_Socket.Size(m)
1002}
1003func (m *Socket) XXX_DiscardUnknown() {
1004	xxx_messageInfo_Socket.DiscardUnknown(m)
1005}
1006
1007var xxx_messageInfo_Socket proto.InternalMessageInfo
1008
1009func (m *Socket) GetRef() *SocketRef {
1010	if m != nil {
1011		return m.Ref
1012	}
1013	return nil
1014}
1015
1016func (m *Socket) GetData() *SocketData {
1017	if m != nil {
1018		return m.Data
1019	}
1020	return nil
1021}
1022
1023func (m *Socket) GetLocal() *Address {
1024	if m != nil {
1025		return m.Local
1026	}
1027	return nil
1028}
1029
1030func (m *Socket) GetRemote() *Address {
1031	if m != nil {
1032		return m.Remote
1033	}
1034	return nil
1035}
1036
1037func (m *Socket) GetSecurity() *Security {
1038	if m != nil {
1039		return m.Security
1040	}
1041	return nil
1042}
1043
1044func (m *Socket) GetRemoteName() string {
1045	if m != nil {
1046		return m.RemoteName
1047	}
1048	return ""
1049}
1050
1051// SocketData is data associated for a specific Socket.  The fields present
1052// are specific to the implementation, so there may be minor differences in
1053// the semantics.  (e.g. flow control windows)
1054type SocketData struct {
1055	// The number of streams that have been started.
1056	StreamsStarted int64 `protobuf:"varint,1,opt,name=streams_started,json=streamsStarted,proto3" json:"streams_started,omitempty"`
1057	// The number of streams that have ended successfully:
1058	// On client side, received frame with eos bit set;
1059	// On server side, sent frame with eos bit set.
1060	StreamsSucceeded int64 `protobuf:"varint,2,opt,name=streams_succeeded,json=streamsSucceeded,proto3" json:"streams_succeeded,omitempty"`
1061	// The number of streams that have ended unsuccessfully:
1062	// On client side, ended without receiving frame with eos bit set;
1063	// On server side, ended without sending frame with eos bit set.
1064	StreamsFailed int64 `protobuf:"varint,3,opt,name=streams_failed,json=streamsFailed,proto3" json:"streams_failed,omitempty"`
1065	// The number of grpc messages successfully sent on this socket.
1066	MessagesSent int64 `protobuf:"varint,4,opt,name=messages_sent,json=messagesSent,proto3" json:"messages_sent,omitempty"`
1067	// The number of grpc messages received on this socket.
1068	MessagesReceived int64 `protobuf:"varint,5,opt,name=messages_received,json=messagesReceived,proto3" json:"messages_received,omitempty"`
1069	// The number of keep alives sent.  This is typically implemented with HTTP/2
1070	// ping messages.
1071	KeepAlivesSent int64 `protobuf:"varint,6,opt,name=keep_alives_sent,json=keepAlivesSent,proto3" json:"keep_alives_sent,omitempty"`
1072	// The last time a stream was created by this endpoint.  Usually unset for
1073	// servers.
1074	LastLocalStreamCreatedTimestamp *timestamp.Timestamp `protobuf:"bytes,7,opt,name=last_local_stream_created_timestamp,json=lastLocalStreamCreatedTimestamp,proto3" json:"last_local_stream_created_timestamp,omitempty"`
1075	// The last time a stream was created by the remote endpoint.  Usually unset
1076	// for clients.
1077	LastRemoteStreamCreatedTimestamp *timestamp.Timestamp `protobuf:"bytes,8,opt,name=last_remote_stream_created_timestamp,json=lastRemoteStreamCreatedTimestamp,proto3" json:"last_remote_stream_created_timestamp,omitempty"`
1078	// The last time a message was sent by this endpoint.
1079	LastMessageSentTimestamp *timestamp.Timestamp `protobuf:"bytes,9,opt,name=last_message_sent_timestamp,json=lastMessageSentTimestamp,proto3" json:"last_message_sent_timestamp,omitempty"`
1080	// The last time a message was received by this endpoint.
1081	LastMessageReceivedTimestamp *timestamp.Timestamp `protobuf:"bytes,10,opt,name=last_message_received_timestamp,json=lastMessageReceivedTimestamp,proto3" json:"last_message_received_timestamp,omitempty"`
1082	// The amount of window, granted to the local endpoint by the remote endpoint.
1083	// This may be slightly out of date due to network latency.  This does NOT
1084	// include stream level or TCP level flow control info.
1085	LocalFlowControlWindow *wrappers.Int64Value `protobuf:"bytes,11,opt,name=local_flow_control_window,json=localFlowControlWindow,proto3" json:"local_flow_control_window,omitempty"`
1086	// The amount of window, granted to the remote endpoint by the local endpoint.
1087	// This may be slightly out of date due to network latency.  This does NOT
1088	// include stream level or TCP level flow control info.
1089	RemoteFlowControlWindow *wrappers.Int64Value `protobuf:"bytes,12,opt,name=remote_flow_control_window,json=remoteFlowControlWindow,proto3" json:"remote_flow_control_window,omitempty"`
1090	// Socket options set on this socket.  May be absent if 'summary' is set
1091	// on GetSocketRequest.
1092	Option               []*SocketOption `protobuf:"bytes,13,rep,name=option,proto3" json:"option,omitempty"`
1093	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
1094	XXX_unrecognized     []byte          `json:"-"`
1095	XXX_sizecache        int32           `json:"-"`
1096}
1097
1098func (m *SocketData) Reset()         { *m = SocketData{} }
1099func (m *SocketData) String() string { return proto.CompactTextString(m) }
1100func (*SocketData) ProtoMessage()    {}
1101func (*SocketData) Descriptor() ([]byte, []int) {
1102	return fileDescriptor_channelz_449295370a82a4c0, []int{13}
1103}
1104func (m *SocketData) XXX_Unmarshal(b []byte) error {
1105	return xxx_messageInfo_SocketData.Unmarshal(m, b)
1106}
1107func (m *SocketData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1108	return xxx_messageInfo_SocketData.Marshal(b, m, deterministic)
1109}
1110func (dst *SocketData) XXX_Merge(src proto.Message) {
1111	xxx_messageInfo_SocketData.Merge(dst, src)
1112}
1113func (m *SocketData) XXX_Size() int {
1114	return xxx_messageInfo_SocketData.Size(m)
1115}
1116func (m *SocketData) XXX_DiscardUnknown() {
1117	xxx_messageInfo_SocketData.DiscardUnknown(m)
1118}
1119
1120var xxx_messageInfo_SocketData proto.InternalMessageInfo
1121
1122func (m *SocketData) GetStreamsStarted() int64 {
1123	if m != nil {
1124		return m.StreamsStarted
1125	}
1126	return 0
1127}
1128
1129func (m *SocketData) GetStreamsSucceeded() int64 {
1130	if m != nil {
1131		return m.StreamsSucceeded
1132	}
1133	return 0
1134}
1135
1136func (m *SocketData) GetStreamsFailed() int64 {
1137	if m != nil {
1138		return m.StreamsFailed
1139	}
1140	return 0
1141}
1142
1143func (m *SocketData) GetMessagesSent() int64 {
1144	if m != nil {
1145		return m.MessagesSent
1146	}
1147	return 0
1148}
1149
1150func (m *SocketData) GetMessagesReceived() int64 {
1151	if m != nil {
1152		return m.MessagesReceived
1153	}
1154	return 0
1155}
1156
1157func (m *SocketData) GetKeepAlivesSent() int64 {
1158	if m != nil {
1159		return m.KeepAlivesSent
1160	}
1161	return 0
1162}
1163
1164func (m *SocketData) GetLastLocalStreamCreatedTimestamp() *timestamp.Timestamp {
1165	if m != nil {
1166		return m.LastLocalStreamCreatedTimestamp
1167	}
1168	return nil
1169}
1170
1171func (m *SocketData) GetLastRemoteStreamCreatedTimestamp() *timestamp.Timestamp {
1172	if m != nil {
1173		return m.LastRemoteStreamCreatedTimestamp
1174	}
1175	return nil
1176}
1177
1178func (m *SocketData) GetLastMessageSentTimestamp() *timestamp.Timestamp {
1179	if m != nil {
1180		return m.LastMessageSentTimestamp
1181	}
1182	return nil
1183}
1184
1185func (m *SocketData) GetLastMessageReceivedTimestamp() *timestamp.Timestamp {
1186	if m != nil {
1187		return m.LastMessageReceivedTimestamp
1188	}
1189	return nil
1190}
1191
1192func (m *SocketData) GetLocalFlowControlWindow() *wrappers.Int64Value {
1193	if m != nil {
1194		return m.LocalFlowControlWindow
1195	}
1196	return nil
1197}
1198
1199func (m *SocketData) GetRemoteFlowControlWindow() *wrappers.Int64Value {
1200	if m != nil {
1201		return m.RemoteFlowControlWindow
1202	}
1203	return nil
1204}
1205
1206func (m *SocketData) GetOption() []*SocketOption {
1207	if m != nil {
1208		return m.Option
1209	}
1210	return nil
1211}
1212
1213// Address represents the address used to create the socket.
1214type Address struct {
1215	// Types that are valid to be assigned to Address:
1216	//	*Address_TcpipAddress
1217	//	*Address_UdsAddress_
1218	//	*Address_OtherAddress_
1219	Address              isAddress_Address `protobuf_oneof:"address"`
1220	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
1221	XXX_unrecognized     []byte            `json:"-"`
1222	XXX_sizecache        int32             `json:"-"`
1223}
1224
1225func (m *Address) Reset()         { *m = Address{} }
1226func (m *Address) String() string { return proto.CompactTextString(m) }
1227func (*Address) ProtoMessage()    {}
1228func (*Address) Descriptor() ([]byte, []int) {
1229	return fileDescriptor_channelz_449295370a82a4c0, []int{14}
1230}
1231func (m *Address) XXX_Unmarshal(b []byte) error {
1232	return xxx_messageInfo_Address.Unmarshal(m, b)
1233}
1234func (m *Address) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1235	return xxx_messageInfo_Address.Marshal(b, m, deterministic)
1236}
1237func (dst *Address) XXX_Merge(src proto.Message) {
1238	xxx_messageInfo_Address.Merge(dst, src)
1239}
1240func (m *Address) XXX_Size() int {
1241	return xxx_messageInfo_Address.Size(m)
1242}
1243func (m *Address) XXX_DiscardUnknown() {
1244	xxx_messageInfo_Address.DiscardUnknown(m)
1245}
1246
1247var xxx_messageInfo_Address proto.InternalMessageInfo
1248
1249type isAddress_Address interface {
1250	isAddress_Address()
1251}
1252
1253type Address_TcpipAddress struct {
1254	TcpipAddress *Address_TcpIpAddress `protobuf:"bytes,1,opt,name=tcpip_address,json=tcpipAddress,proto3,oneof"`
1255}
1256
1257type Address_UdsAddress_ struct {
1258	UdsAddress *Address_UdsAddress `protobuf:"bytes,2,opt,name=uds_address,json=udsAddress,proto3,oneof"`
1259}
1260
1261type Address_OtherAddress_ struct {
1262	OtherAddress *Address_OtherAddress `protobuf:"bytes,3,opt,name=other_address,json=otherAddress,proto3,oneof"`
1263}
1264
1265func (*Address_TcpipAddress) isAddress_Address() {}
1266
1267func (*Address_UdsAddress_) isAddress_Address() {}
1268
1269func (*Address_OtherAddress_) isAddress_Address() {}
1270
1271func (m *Address) GetAddress() isAddress_Address {
1272	if m != nil {
1273		return m.Address
1274	}
1275	return nil
1276}
1277
1278func (m *Address) GetTcpipAddress() *Address_TcpIpAddress {
1279	if x, ok := m.GetAddress().(*Address_TcpipAddress); ok {
1280		return x.TcpipAddress
1281	}
1282	return nil
1283}
1284
1285func (m *Address) GetUdsAddress() *Address_UdsAddress {
1286	if x, ok := m.GetAddress().(*Address_UdsAddress_); ok {
1287		return x.UdsAddress
1288	}
1289	return nil
1290}
1291
1292func (m *Address) GetOtherAddress() *Address_OtherAddress {
1293	if x, ok := m.GetAddress().(*Address_OtherAddress_); ok {
1294		return x.OtherAddress
1295	}
1296	return nil
1297}
1298
1299// XXX_OneofFuncs is for the internal use of the proto package.
1300func (*Address) 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{}) {
1301	return _Address_OneofMarshaler, _Address_OneofUnmarshaler, _Address_OneofSizer, []interface{}{
1302		(*Address_TcpipAddress)(nil),
1303		(*Address_UdsAddress_)(nil),
1304		(*Address_OtherAddress_)(nil),
1305	}
1306}
1307
1308func _Address_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1309	m := msg.(*Address)
1310	// address
1311	switch x := m.Address.(type) {
1312	case *Address_TcpipAddress:
1313		b.EncodeVarint(1<<3 | proto.WireBytes)
1314		if err := b.EncodeMessage(x.TcpipAddress); err != nil {
1315			return err
1316		}
1317	case *Address_UdsAddress_:
1318		b.EncodeVarint(2<<3 | proto.WireBytes)
1319		if err := b.EncodeMessage(x.UdsAddress); err != nil {
1320			return err
1321		}
1322	case *Address_OtherAddress_:
1323		b.EncodeVarint(3<<3 | proto.WireBytes)
1324		if err := b.EncodeMessage(x.OtherAddress); err != nil {
1325			return err
1326		}
1327	case nil:
1328	default:
1329		return fmt.Errorf("Address.Address has unexpected type %T", x)
1330	}
1331	return nil
1332}
1333
1334func _Address_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1335	m := msg.(*Address)
1336	switch tag {
1337	case 1: // address.tcpip_address
1338		if wire != proto.WireBytes {
1339			return true, proto.ErrInternalBadWireType
1340		}
1341		msg := new(Address_TcpIpAddress)
1342		err := b.DecodeMessage(msg)
1343		m.Address = &Address_TcpipAddress{msg}
1344		return true, err
1345	case 2: // address.uds_address
1346		if wire != proto.WireBytes {
1347			return true, proto.ErrInternalBadWireType
1348		}
1349		msg := new(Address_UdsAddress)
1350		err := b.DecodeMessage(msg)
1351		m.Address = &Address_UdsAddress_{msg}
1352		return true, err
1353	case 3: // address.other_address
1354		if wire != proto.WireBytes {
1355			return true, proto.ErrInternalBadWireType
1356		}
1357		msg := new(Address_OtherAddress)
1358		err := b.DecodeMessage(msg)
1359		m.Address = &Address_OtherAddress_{msg}
1360		return true, err
1361	default:
1362		return false, nil
1363	}
1364}
1365
1366func _Address_OneofSizer(msg proto.Message) (n int) {
1367	m := msg.(*Address)
1368	// address
1369	switch x := m.Address.(type) {
1370	case *Address_TcpipAddress:
1371		s := proto.Size(x.TcpipAddress)
1372		n += 1 // tag and wire
1373		n += proto.SizeVarint(uint64(s))
1374		n += s
1375	case *Address_UdsAddress_:
1376		s := proto.Size(x.UdsAddress)
1377		n += 1 // tag and wire
1378		n += proto.SizeVarint(uint64(s))
1379		n += s
1380	case *Address_OtherAddress_:
1381		s := proto.Size(x.OtherAddress)
1382		n += 1 // tag and wire
1383		n += proto.SizeVarint(uint64(s))
1384		n += s
1385	case nil:
1386	default:
1387		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1388	}
1389	return n
1390}
1391
1392type Address_TcpIpAddress struct {
1393	// Either the IPv4 or IPv6 address in bytes.  Will be either 4 bytes or 16
1394	// bytes in length.
1395	IpAddress []byte `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
1396	// 0-64k, or -1 if not appropriate.
1397	Port                 int32    `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
1398	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1399	XXX_unrecognized     []byte   `json:"-"`
1400	XXX_sizecache        int32    `json:"-"`
1401}
1402
1403func (m *Address_TcpIpAddress) Reset()         { *m = Address_TcpIpAddress{} }
1404func (m *Address_TcpIpAddress) String() string { return proto.CompactTextString(m) }
1405func (*Address_TcpIpAddress) ProtoMessage()    {}
1406func (*Address_TcpIpAddress) Descriptor() ([]byte, []int) {
1407	return fileDescriptor_channelz_449295370a82a4c0, []int{14, 0}
1408}
1409func (m *Address_TcpIpAddress) XXX_Unmarshal(b []byte) error {
1410	return xxx_messageInfo_Address_TcpIpAddress.Unmarshal(m, b)
1411}
1412func (m *Address_TcpIpAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1413	return xxx_messageInfo_Address_TcpIpAddress.Marshal(b, m, deterministic)
1414}
1415func (dst *Address_TcpIpAddress) XXX_Merge(src proto.Message) {
1416	xxx_messageInfo_Address_TcpIpAddress.Merge(dst, src)
1417}
1418func (m *Address_TcpIpAddress) XXX_Size() int {
1419	return xxx_messageInfo_Address_TcpIpAddress.Size(m)
1420}
1421func (m *Address_TcpIpAddress) XXX_DiscardUnknown() {
1422	xxx_messageInfo_Address_TcpIpAddress.DiscardUnknown(m)
1423}
1424
1425var xxx_messageInfo_Address_TcpIpAddress proto.InternalMessageInfo
1426
1427func (m *Address_TcpIpAddress) GetIpAddress() []byte {
1428	if m != nil {
1429		return m.IpAddress
1430	}
1431	return nil
1432}
1433
1434func (m *Address_TcpIpAddress) GetPort() int32 {
1435	if m != nil {
1436		return m.Port
1437	}
1438	return 0
1439}
1440
1441// A Unix Domain Socket address.
1442type Address_UdsAddress struct {
1443	Filename             string   `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
1444	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1445	XXX_unrecognized     []byte   `json:"-"`
1446	XXX_sizecache        int32    `json:"-"`
1447}
1448
1449func (m *Address_UdsAddress) Reset()         { *m = Address_UdsAddress{} }
1450func (m *Address_UdsAddress) String() string { return proto.CompactTextString(m) }
1451func (*Address_UdsAddress) ProtoMessage()    {}
1452func (*Address_UdsAddress) Descriptor() ([]byte, []int) {
1453	return fileDescriptor_channelz_449295370a82a4c0, []int{14, 1}
1454}
1455func (m *Address_UdsAddress) XXX_Unmarshal(b []byte) error {
1456	return xxx_messageInfo_Address_UdsAddress.Unmarshal(m, b)
1457}
1458func (m *Address_UdsAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1459	return xxx_messageInfo_Address_UdsAddress.Marshal(b, m, deterministic)
1460}
1461func (dst *Address_UdsAddress) XXX_Merge(src proto.Message) {
1462	xxx_messageInfo_Address_UdsAddress.Merge(dst, src)
1463}
1464func (m *Address_UdsAddress) XXX_Size() int {
1465	return xxx_messageInfo_Address_UdsAddress.Size(m)
1466}
1467func (m *Address_UdsAddress) XXX_DiscardUnknown() {
1468	xxx_messageInfo_Address_UdsAddress.DiscardUnknown(m)
1469}
1470
1471var xxx_messageInfo_Address_UdsAddress proto.InternalMessageInfo
1472
1473func (m *Address_UdsAddress) GetFilename() string {
1474	if m != nil {
1475		return m.Filename
1476	}
1477	return ""
1478}
1479
1480// An address type not included above.
1481type Address_OtherAddress struct {
1482	// The human readable version of the value.  This value should be set.
1483	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1484	// The actual address message.
1485	Value                *any.Any `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
1486	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1487	XXX_unrecognized     []byte   `json:"-"`
1488	XXX_sizecache        int32    `json:"-"`
1489}
1490
1491func (m *Address_OtherAddress) Reset()         { *m = Address_OtherAddress{} }
1492func (m *Address_OtherAddress) String() string { return proto.CompactTextString(m) }
1493func (*Address_OtherAddress) ProtoMessage()    {}
1494func (*Address_OtherAddress) Descriptor() ([]byte, []int) {
1495	return fileDescriptor_channelz_449295370a82a4c0, []int{14, 2}
1496}
1497func (m *Address_OtherAddress) XXX_Unmarshal(b []byte) error {
1498	return xxx_messageInfo_Address_OtherAddress.Unmarshal(m, b)
1499}
1500func (m *Address_OtherAddress) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1501	return xxx_messageInfo_Address_OtherAddress.Marshal(b, m, deterministic)
1502}
1503func (dst *Address_OtherAddress) XXX_Merge(src proto.Message) {
1504	xxx_messageInfo_Address_OtherAddress.Merge(dst, src)
1505}
1506func (m *Address_OtherAddress) XXX_Size() int {
1507	return xxx_messageInfo_Address_OtherAddress.Size(m)
1508}
1509func (m *Address_OtherAddress) XXX_DiscardUnknown() {
1510	xxx_messageInfo_Address_OtherAddress.DiscardUnknown(m)
1511}
1512
1513var xxx_messageInfo_Address_OtherAddress proto.InternalMessageInfo
1514
1515func (m *Address_OtherAddress) GetName() string {
1516	if m != nil {
1517		return m.Name
1518	}
1519	return ""
1520}
1521
1522func (m *Address_OtherAddress) GetValue() *any.Any {
1523	if m != nil {
1524		return m.Value
1525	}
1526	return nil
1527}
1528
1529// Security represents details about how secure the socket is.
1530type Security struct {
1531	// Types that are valid to be assigned to Model:
1532	//	*Security_Tls_
1533	//	*Security_Other
1534	Model                isSecurity_Model `protobuf_oneof:"model"`
1535	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
1536	XXX_unrecognized     []byte           `json:"-"`
1537	XXX_sizecache        int32            `json:"-"`
1538}
1539
1540func (m *Security) Reset()         { *m = Security{} }
1541func (m *Security) String() string { return proto.CompactTextString(m) }
1542func (*Security) ProtoMessage()    {}
1543func (*Security) Descriptor() ([]byte, []int) {
1544	return fileDescriptor_channelz_449295370a82a4c0, []int{15}
1545}
1546func (m *Security) XXX_Unmarshal(b []byte) error {
1547	return xxx_messageInfo_Security.Unmarshal(m, b)
1548}
1549func (m *Security) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1550	return xxx_messageInfo_Security.Marshal(b, m, deterministic)
1551}
1552func (dst *Security) XXX_Merge(src proto.Message) {
1553	xxx_messageInfo_Security.Merge(dst, src)
1554}
1555func (m *Security) XXX_Size() int {
1556	return xxx_messageInfo_Security.Size(m)
1557}
1558func (m *Security) XXX_DiscardUnknown() {
1559	xxx_messageInfo_Security.DiscardUnknown(m)
1560}
1561
1562var xxx_messageInfo_Security proto.InternalMessageInfo
1563
1564type isSecurity_Model interface {
1565	isSecurity_Model()
1566}
1567
1568type Security_Tls_ struct {
1569	Tls *Security_Tls `protobuf:"bytes,1,opt,name=tls,proto3,oneof"`
1570}
1571
1572type Security_Other struct {
1573	Other *Security_OtherSecurity `protobuf:"bytes,2,opt,name=other,proto3,oneof"`
1574}
1575
1576func (*Security_Tls_) isSecurity_Model() {}
1577
1578func (*Security_Other) isSecurity_Model() {}
1579
1580func (m *Security) GetModel() isSecurity_Model {
1581	if m != nil {
1582		return m.Model
1583	}
1584	return nil
1585}
1586
1587func (m *Security) GetTls() *Security_Tls {
1588	if x, ok := m.GetModel().(*Security_Tls_); ok {
1589		return x.Tls
1590	}
1591	return nil
1592}
1593
1594func (m *Security) GetOther() *Security_OtherSecurity {
1595	if x, ok := m.GetModel().(*Security_Other); ok {
1596		return x.Other
1597	}
1598	return nil
1599}
1600
1601// XXX_OneofFuncs is for the internal use of the proto package.
1602func (*Security) 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{}) {
1603	return _Security_OneofMarshaler, _Security_OneofUnmarshaler, _Security_OneofSizer, []interface{}{
1604		(*Security_Tls_)(nil),
1605		(*Security_Other)(nil),
1606	}
1607}
1608
1609func _Security_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1610	m := msg.(*Security)
1611	// model
1612	switch x := m.Model.(type) {
1613	case *Security_Tls_:
1614		b.EncodeVarint(1<<3 | proto.WireBytes)
1615		if err := b.EncodeMessage(x.Tls); err != nil {
1616			return err
1617		}
1618	case *Security_Other:
1619		b.EncodeVarint(2<<3 | proto.WireBytes)
1620		if err := b.EncodeMessage(x.Other); err != nil {
1621			return err
1622		}
1623	case nil:
1624	default:
1625		return fmt.Errorf("Security.Model has unexpected type %T", x)
1626	}
1627	return nil
1628}
1629
1630func _Security_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1631	m := msg.(*Security)
1632	switch tag {
1633	case 1: // model.tls
1634		if wire != proto.WireBytes {
1635			return true, proto.ErrInternalBadWireType
1636		}
1637		msg := new(Security_Tls)
1638		err := b.DecodeMessage(msg)
1639		m.Model = &Security_Tls_{msg}
1640		return true, err
1641	case 2: // model.other
1642		if wire != proto.WireBytes {
1643			return true, proto.ErrInternalBadWireType
1644		}
1645		msg := new(Security_OtherSecurity)
1646		err := b.DecodeMessage(msg)
1647		m.Model = &Security_Other{msg}
1648		return true, err
1649	default:
1650		return false, nil
1651	}
1652}
1653
1654func _Security_OneofSizer(msg proto.Message) (n int) {
1655	m := msg.(*Security)
1656	// model
1657	switch x := m.Model.(type) {
1658	case *Security_Tls_:
1659		s := proto.Size(x.Tls)
1660		n += 1 // tag and wire
1661		n += proto.SizeVarint(uint64(s))
1662		n += s
1663	case *Security_Other:
1664		s := proto.Size(x.Other)
1665		n += 1 // tag and wire
1666		n += proto.SizeVarint(uint64(s))
1667		n += s
1668	case nil:
1669	default:
1670		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1671	}
1672	return n
1673}
1674
1675type Security_Tls struct {
1676	// Types that are valid to be assigned to CipherSuite:
1677	//	*Security_Tls_StandardName
1678	//	*Security_Tls_OtherName
1679	CipherSuite isSecurity_Tls_CipherSuite `protobuf_oneof:"cipher_suite"`
1680	// the certificate used by this endpoint.
1681	LocalCertificate []byte `protobuf:"bytes,3,opt,name=local_certificate,json=localCertificate,proto3" json:"local_certificate,omitempty"`
1682	// the certificate used by the remote endpoint.
1683	RemoteCertificate    []byte   `protobuf:"bytes,4,opt,name=remote_certificate,json=remoteCertificate,proto3" json:"remote_certificate,omitempty"`
1684	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1685	XXX_unrecognized     []byte   `json:"-"`
1686	XXX_sizecache        int32    `json:"-"`
1687}
1688
1689func (m *Security_Tls) Reset()         { *m = Security_Tls{} }
1690func (m *Security_Tls) String() string { return proto.CompactTextString(m) }
1691func (*Security_Tls) ProtoMessage()    {}
1692func (*Security_Tls) Descriptor() ([]byte, []int) {
1693	return fileDescriptor_channelz_449295370a82a4c0, []int{15, 0}
1694}
1695func (m *Security_Tls) XXX_Unmarshal(b []byte) error {
1696	return xxx_messageInfo_Security_Tls.Unmarshal(m, b)
1697}
1698func (m *Security_Tls) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1699	return xxx_messageInfo_Security_Tls.Marshal(b, m, deterministic)
1700}
1701func (dst *Security_Tls) XXX_Merge(src proto.Message) {
1702	xxx_messageInfo_Security_Tls.Merge(dst, src)
1703}
1704func (m *Security_Tls) XXX_Size() int {
1705	return xxx_messageInfo_Security_Tls.Size(m)
1706}
1707func (m *Security_Tls) XXX_DiscardUnknown() {
1708	xxx_messageInfo_Security_Tls.DiscardUnknown(m)
1709}
1710
1711var xxx_messageInfo_Security_Tls proto.InternalMessageInfo
1712
1713type isSecurity_Tls_CipherSuite interface {
1714	isSecurity_Tls_CipherSuite()
1715}
1716
1717type Security_Tls_StandardName struct {
1718	StandardName string `protobuf:"bytes,1,opt,name=standard_name,json=standardName,proto3,oneof"`
1719}
1720
1721type Security_Tls_OtherName struct {
1722	OtherName string `protobuf:"bytes,2,opt,name=other_name,json=otherName,proto3,oneof"`
1723}
1724
1725func (*Security_Tls_StandardName) isSecurity_Tls_CipherSuite() {}
1726
1727func (*Security_Tls_OtherName) isSecurity_Tls_CipherSuite() {}
1728
1729func (m *Security_Tls) GetCipherSuite() isSecurity_Tls_CipherSuite {
1730	if m != nil {
1731		return m.CipherSuite
1732	}
1733	return nil
1734}
1735
1736func (m *Security_Tls) GetStandardName() string {
1737	if x, ok := m.GetCipherSuite().(*Security_Tls_StandardName); ok {
1738		return x.StandardName
1739	}
1740	return ""
1741}
1742
1743func (m *Security_Tls) GetOtherName() string {
1744	if x, ok := m.GetCipherSuite().(*Security_Tls_OtherName); ok {
1745		return x.OtherName
1746	}
1747	return ""
1748}
1749
1750func (m *Security_Tls) GetLocalCertificate() []byte {
1751	if m != nil {
1752		return m.LocalCertificate
1753	}
1754	return nil
1755}
1756
1757func (m *Security_Tls) GetRemoteCertificate() []byte {
1758	if m != nil {
1759		return m.RemoteCertificate
1760	}
1761	return nil
1762}
1763
1764// XXX_OneofFuncs is for the internal use of the proto package.
1765func (*Security_Tls) 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{}) {
1766	return _Security_Tls_OneofMarshaler, _Security_Tls_OneofUnmarshaler, _Security_Tls_OneofSizer, []interface{}{
1767		(*Security_Tls_StandardName)(nil),
1768		(*Security_Tls_OtherName)(nil),
1769	}
1770}
1771
1772func _Security_Tls_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
1773	m := msg.(*Security_Tls)
1774	// cipher_suite
1775	switch x := m.CipherSuite.(type) {
1776	case *Security_Tls_StandardName:
1777		b.EncodeVarint(1<<3 | proto.WireBytes)
1778		b.EncodeStringBytes(x.StandardName)
1779	case *Security_Tls_OtherName:
1780		b.EncodeVarint(2<<3 | proto.WireBytes)
1781		b.EncodeStringBytes(x.OtherName)
1782	case nil:
1783	default:
1784		return fmt.Errorf("Security_Tls.CipherSuite has unexpected type %T", x)
1785	}
1786	return nil
1787}
1788
1789func _Security_Tls_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
1790	m := msg.(*Security_Tls)
1791	switch tag {
1792	case 1: // cipher_suite.standard_name
1793		if wire != proto.WireBytes {
1794			return true, proto.ErrInternalBadWireType
1795		}
1796		x, err := b.DecodeStringBytes()
1797		m.CipherSuite = &Security_Tls_StandardName{x}
1798		return true, err
1799	case 2: // cipher_suite.other_name
1800		if wire != proto.WireBytes {
1801			return true, proto.ErrInternalBadWireType
1802		}
1803		x, err := b.DecodeStringBytes()
1804		m.CipherSuite = &Security_Tls_OtherName{x}
1805		return true, err
1806	default:
1807		return false, nil
1808	}
1809}
1810
1811func _Security_Tls_OneofSizer(msg proto.Message) (n int) {
1812	m := msg.(*Security_Tls)
1813	// cipher_suite
1814	switch x := m.CipherSuite.(type) {
1815	case *Security_Tls_StandardName:
1816		n += 1 // tag and wire
1817		n += proto.SizeVarint(uint64(len(x.StandardName)))
1818		n += len(x.StandardName)
1819	case *Security_Tls_OtherName:
1820		n += 1 // tag and wire
1821		n += proto.SizeVarint(uint64(len(x.OtherName)))
1822		n += len(x.OtherName)
1823	case nil:
1824	default:
1825		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
1826	}
1827	return n
1828}
1829
1830type Security_OtherSecurity struct {
1831	// The human readable version of the value.
1832	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1833	// The actual security details message.
1834	Value                *any.Any `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
1835	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1836	XXX_unrecognized     []byte   `json:"-"`
1837	XXX_sizecache        int32    `json:"-"`
1838}
1839
1840func (m *Security_OtherSecurity) Reset()         { *m = Security_OtherSecurity{} }
1841func (m *Security_OtherSecurity) String() string { return proto.CompactTextString(m) }
1842func (*Security_OtherSecurity) ProtoMessage()    {}
1843func (*Security_OtherSecurity) Descriptor() ([]byte, []int) {
1844	return fileDescriptor_channelz_449295370a82a4c0, []int{15, 1}
1845}
1846func (m *Security_OtherSecurity) XXX_Unmarshal(b []byte) error {
1847	return xxx_messageInfo_Security_OtherSecurity.Unmarshal(m, b)
1848}
1849func (m *Security_OtherSecurity) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1850	return xxx_messageInfo_Security_OtherSecurity.Marshal(b, m, deterministic)
1851}
1852func (dst *Security_OtherSecurity) XXX_Merge(src proto.Message) {
1853	xxx_messageInfo_Security_OtherSecurity.Merge(dst, src)
1854}
1855func (m *Security_OtherSecurity) XXX_Size() int {
1856	return xxx_messageInfo_Security_OtherSecurity.Size(m)
1857}
1858func (m *Security_OtherSecurity) XXX_DiscardUnknown() {
1859	xxx_messageInfo_Security_OtherSecurity.DiscardUnknown(m)
1860}
1861
1862var xxx_messageInfo_Security_OtherSecurity proto.InternalMessageInfo
1863
1864func (m *Security_OtherSecurity) GetName() string {
1865	if m != nil {
1866		return m.Name
1867	}
1868	return ""
1869}
1870
1871func (m *Security_OtherSecurity) GetValue() *any.Any {
1872	if m != nil {
1873		return m.Value
1874	}
1875	return nil
1876}
1877
1878// SocketOption represents socket options for a socket.  Specifically, these
1879// are the options returned by getsockopt().
1880type SocketOption struct {
1881	// The full name of the socket option.  Typically this will be the upper case
1882	// name, such as "SO_REUSEPORT".
1883	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1884	// The human readable value of this socket option.  At least one of value or
1885	// additional will be set.
1886	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
1887	// Additional data associated with the socket option.  At least one of value
1888	// or additional will be set.
1889	Additional           *any.Any `protobuf:"bytes,3,opt,name=additional,proto3" json:"additional,omitempty"`
1890	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1891	XXX_unrecognized     []byte   `json:"-"`
1892	XXX_sizecache        int32    `json:"-"`
1893}
1894
1895func (m *SocketOption) Reset()         { *m = SocketOption{} }
1896func (m *SocketOption) String() string { return proto.CompactTextString(m) }
1897func (*SocketOption) ProtoMessage()    {}
1898func (*SocketOption) Descriptor() ([]byte, []int) {
1899	return fileDescriptor_channelz_449295370a82a4c0, []int{16}
1900}
1901func (m *SocketOption) XXX_Unmarshal(b []byte) error {
1902	return xxx_messageInfo_SocketOption.Unmarshal(m, b)
1903}
1904func (m *SocketOption) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1905	return xxx_messageInfo_SocketOption.Marshal(b, m, deterministic)
1906}
1907func (dst *SocketOption) XXX_Merge(src proto.Message) {
1908	xxx_messageInfo_SocketOption.Merge(dst, src)
1909}
1910func (m *SocketOption) XXX_Size() int {
1911	return xxx_messageInfo_SocketOption.Size(m)
1912}
1913func (m *SocketOption) XXX_DiscardUnknown() {
1914	xxx_messageInfo_SocketOption.DiscardUnknown(m)
1915}
1916
1917var xxx_messageInfo_SocketOption proto.InternalMessageInfo
1918
1919func (m *SocketOption) GetName() string {
1920	if m != nil {
1921		return m.Name
1922	}
1923	return ""
1924}
1925
1926func (m *SocketOption) GetValue() string {
1927	if m != nil {
1928		return m.Value
1929	}
1930	return ""
1931}
1932
1933func (m *SocketOption) GetAdditional() *any.Any {
1934	if m != nil {
1935		return m.Additional
1936	}
1937	return nil
1938}
1939
1940// For use with SocketOption's additional field.  This is primarily used for
1941// SO_RCVTIMEO and SO_SNDTIMEO
1942type SocketOptionTimeout struct {
1943	Duration             *duration.Duration `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"`
1944	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1945	XXX_unrecognized     []byte             `json:"-"`
1946	XXX_sizecache        int32              `json:"-"`
1947}
1948
1949func (m *SocketOptionTimeout) Reset()         { *m = SocketOptionTimeout{} }
1950func (m *SocketOptionTimeout) String() string { return proto.CompactTextString(m) }
1951func (*SocketOptionTimeout) ProtoMessage()    {}
1952func (*SocketOptionTimeout) Descriptor() ([]byte, []int) {
1953	return fileDescriptor_channelz_449295370a82a4c0, []int{17}
1954}
1955func (m *SocketOptionTimeout) XXX_Unmarshal(b []byte) error {
1956	return xxx_messageInfo_SocketOptionTimeout.Unmarshal(m, b)
1957}
1958func (m *SocketOptionTimeout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1959	return xxx_messageInfo_SocketOptionTimeout.Marshal(b, m, deterministic)
1960}
1961func (dst *SocketOptionTimeout) XXX_Merge(src proto.Message) {
1962	xxx_messageInfo_SocketOptionTimeout.Merge(dst, src)
1963}
1964func (m *SocketOptionTimeout) XXX_Size() int {
1965	return xxx_messageInfo_SocketOptionTimeout.Size(m)
1966}
1967func (m *SocketOptionTimeout) XXX_DiscardUnknown() {
1968	xxx_messageInfo_SocketOptionTimeout.DiscardUnknown(m)
1969}
1970
1971var xxx_messageInfo_SocketOptionTimeout proto.InternalMessageInfo
1972
1973func (m *SocketOptionTimeout) GetDuration() *duration.Duration {
1974	if m != nil {
1975		return m.Duration
1976	}
1977	return nil
1978}
1979
1980// For use with SocketOption's additional field.  This is primarily used for
1981// SO_LINGER.
1982type SocketOptionLinger struct {
1983	// active maps to `struct linger.l_onoff`
1984	Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`
1985	// duration maps to `struct linger.l_linger`
1986	Duration             *duration.Duration `protobuf:"bytes,2,opt,name=duration,proto3" json:"duration,omitempty"`
1987	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
1988	XXX_unrecognized     []byte             `json:"-"`
1989	XXX_sizecache        int32              `json:"-"`
1990}
1991
1992func (m *SocketOptionLinger) Reset()         { *m = SocketOptionLinger{} }
1993func (m *SocketOptionLinger) String() string { return proto.CompactTextString(m) }
1994func (*SocketOptionLinger) ProtoMessage()    {}
1995func (*SocketOptionLinger) Descriptor() ([]byte, []int) {
1996	return fileDescriptor_channelz_449295370a82a4c0, []int{18}
1997}
1998func (m *SocketOptionLinger) XXX_Unmarshal(b []byte) error {
1999	return xxx_messageInfo_SocketOptionLinger.Unmarshal(m, b)
2000}
2001func (m *SocketOptionLinger) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2002	return xxx_messageInfo_SocketOptionLinger.Marshal(b, m, deterministic)
2003}
2004func (dst *SocketOptionLinger) XXX_Merge(src proto.Message) {
2005	xxx_messageInfo_SocketOptionLinger.Merge(dst, src)
2006}
2007func (m *SocketOptionLinger) XXX_Size() int {
2008	return xxx_messageInfo_SocketOptionLinger.Size(m)
2009}
2010func (m *SocketOptionLinger) XXX_DiscardUnknown() {
2011	xxx_messageInfo_SocketOptionLinger.DiscardUnknown(m)
2012}
2013
2014var xxx_messageInfo_SocketOptionLinger proto.InternalMessageInfo
2015
2016func (m *SocketOptionLinger) GetActive() bool {
2017	if m != nil {
2018		return m.Active
2019	}
2020	return false
2021}
2022
2023func (m *SocketOptionLinger) GetDuration() *duration.Duration {
2024	if m != nil {
2025		return m.Duration
2026	}
2027	return nil
2028}
2029
2030// For use with SocketOption's additional field.  Tcp info for
2031// SOL_TCP and TCP_INFO.
2032type SocketOptionTcpInfo struct {
2033	TcpiState            uint32   `protobuf:"varint,1,opt,name=tcpi_state,json=tcpiState,proto3" json:"tcpi_state,omitempty"`
2034	TcpiCaState          uint32   `protobuf:"varint,2,opt,name=tcpi_ca_state,json=tcpiCaState,proto3" json:"tcpi_ca_state,omitempty"`
2035	TcpiRetransmits      uint32   `protobuf:"varint,3,opt,name=tcpi_retransmits,json=tcpiRetransmits,proto3" json:"tcpi_retransmits,omitempty"`
2036	TcpiProbes           uint32   `protobuf:"varint,4,opt,name=tcpi_probes,json=tcpiProbes,proto3" json:"tcpi_probes,omitempty"`
2037	TcpiBackoff          uint32   `protobuf:"varint,5,opt,name=tcpi_backoff,json=tcpiBackoff,proto3" json:"tcpi_backoff,omitempty"`
2038	TcpiOptions          uint32   `protobuf:"varint,6,opt,name=tcpi_options,json=tcpiOptions,proto3" json:"tcpi_options,omitempty"`
2039	TcpiSndWscale        uint32   `protobuf:"varint,7,opt,name=tcpi_snd_wscale,json=tcpiSndWscale,proto3" json:"tcpi_snd_wscale,omitempty"`
2040	TcpiRcvWscale        uint32   `protobuf:"varint,8,opt,name=tcpi_rcv_wscale,json=tcpiRcvWscale,proto3" json:"tcpi_rcv_wscale,omitempty"`
2041	TcpiRto              uint32   `protobuf:"varint,9,opt,name=tcpi_rto,json=tcpiRto,proto3" json:"tcpi_rto,omitempty"`
2042	TcpiAto              uint32   `protobuf:"varint,10,opt,name=tcpi_ato,json=tcpiAto,proto3" json:"tcpi_ato,omitempty"`
2043	TcpiSndMss           uint32   `protobuf:"varint,11,opt,name=tcpi_snd_mss,json=tcpiSndMss,proto3" json:"tcpi_snd_mss,omitempty"`
2044	TcpiRcvMss           uint32   `protobuf:"varint,12,opt,name=tcpi_rcv_mss,json=tcpiRcvMss,proto3" json:"tcpi_rcv_mss,omitempty"`
2045	TcpiUnacked          uint32   `protobuf:"varint,13,opt,name=tcpi_unacked,json=tcpiUnacked,proto3" json:"tcpi_unacked,omitempty"`
2046	TcpiSacked           uint32   `protobuf:"varint,14,opt,name=tcpi_sacked,json=tcpiSacked,proto3" json:"tcpi_sacked,omitempty"`
2047	TcpiLost             uint32   `protobuf:"varint,15,opt,name=tcpi_lost,json=tcpiLost,proto3" json:"tcpi_lost,omitempty"`
2048	TcpiRetrans          uint32   `protobuf:"varint,16,opt,name=tcpi_retrans,json=tcpiRetrans,proto3" json:"tcpi_retrans,omitempty"`
2049	TcpiFackets          uint32   `protobuf:"varint,17,opt,name=tcpi_fackets,json=tcpiFackets,proto3" json:"tcpi_fackets,omitempty"`
2050	TcpiLastDataSent     uint32   `protobuf:"varint,18,opt,name=tcpi_last_data_sent,json=tcpiLastDataSent,proto3" json:"tcpi_last_data_sent,omitempty"`
2051	TcpiLastAckSent      uint32   `protobuf:"varint,19,opt,name=tcpi_last_ack_sent,json=tcpiLastAckSent,proto3" json:"tcpi_last_ack_sent,omitempty"`
2052	TcpiLastDataRecv     uint32   `protobuf:"varint,20,opt,name=tcpi_last_data_recv,json=tcpiLastDataRecv,proto3" json:"tcpi_last_data_recv,omitempty"`
2053	TcpiLastAckRecv      uint32   `protobuf:"varint,21,opt,name=tcpi_last_ack_recv,json=tcpiLastAckRecv,proto3" json:"tcpi_last_ack_recv,omitempty"`
2054	TcpiPmtu             uint32   `protobuf:"varint,22,opt,name=tcpi_pmtu,json=tcpiPmtu,proto3" json:"tcpi_pmtu,omitempty"`
2055	TcpiRcvSsthresh      uint32   `protobuf:"varint,23,opt,name=tcpi_rcv_ssthresh,json=tcpiRcvSsthresh,proto3" json:"tcpi_rcv_ssthresh,omitempty"`
2056	TcpiRtt              uint32   `protobuf:"varint,24,opt,name=tcpi_rtt,json=tcpiRtt,proto3" json:"tcpi_rtt,omitempty"`
2057	TcpiRttvar           uint32   `protobuf:"varint,25,opt,name=tcpi_rttvar,json=tcpiRttvar,proto3" json:"tcpi_rttvar,omitempty"`
2058	TcpiSndSsthresh      uint32   `protobuf:"varint,26,opt,name=tcpi_snd_ssthresh,json=tcpiSndSsthresh,proto3" json:"tcpi_snd_ssthresh,omitempty"`
2059	TcpiSndCwnd          uint32   `protobuf:"varint,27,opt,name=tcpi_snd_cwnd,json=tcpiSndCwnd,proto3" json:"tcpi_snd_cwnd,omitempty"`
2060	TcpiAdvmss           uint32   `protobuf:"varint,28,opt,name=tcpi_advmss,json=tcpiAdvmss,proto3" json:"tcpi_advmss,omitempty"`
2061	TcpiReordering       uint32   `protobuf:"varint,29,opt,name=tcpi_reordering,json=tcpiReordering,proto3" json:"tcpi_reordering,omitempty"`
2062	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2063	XXX_unrecognized     []byte   `json:"-"`
2064	XXX_sizecache        int32    `json:"-"`
2065}
2066
2067func (m *SocketOptionTcpInfo) Reset()         { *m = SocketOptionTcpInfo{} }
2068func (m *SocketOptionTcpInfo) String() string { return proto.CompactTextString(m) }
2069func (*SocketOptionTcpInfo) ProtoMessage()    {}
2070func (*SocketOptionTcpInfo) Descriptor() ([]byte, []int) {
2071	return fileDescriptor_channelz_449295370a82a4c0, []int{19}
2072}
2073func (m *SocketOptionTcpInfo) XXX_Unmarshal(b []byte) error {
2074	return xxx_messageInfo_SocketOptionTcpInfo.Unmarshal(m, b)
2075}
2076func (m *SocketOptionTcpInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2077	return xxx_messageInfo_SocketOptionTcpInfo.Marshal(b, m, deterministic)
2078}
2079func (dst *SocketOptionTcpInfo) XXX_Merge(src proto.Message) {
2080	xxx_messageInfo_SocketOptionTcpInfo.Merge(dst, src)
2081}
2082func (m *SocketOptionTcpInfo) XXX_Size() int {
2083	return xxx_messageInfo_SocketOptionTcpInfo.Size(m)
2084}
2085func (m *SocketOptionTcpInfo) XXX_DiscardUnknown() {
2086	xxx_messageInfo_SocketOptionTcpInfo.DiscardUnknown(m)
2087}
2088
2089var xxx_messageInfo_SocketOptionTcpInfo proto.InternalMessageInfo
2090
2091func (m *SocketOptionTcpInfo) GetTcpiState() uint32 {
2092	if m != nil {
2093		return m.TcpiState
2094	}
2095	return 0
2096}
2097
2098func (m *SocketOptionTcpInfo) GetTcpiCaState() uint32 {
2099	if m != nil {
2100		return m.TcpiCaState
2101	}
2102	return 0
2103}
2104
2105func (m *SocketOptionTcpInfo) GetTcpiRetransmits() uint32 {
2106	if m != nil {
2107		return m.TcpiRetransmits
2108	}
2109	return 0
2110}
2111
2112func (m *SocketOptionTcpInfo) GetTcpiProbes() uint32 {
2113	if m != nil {
2114		return m.TcpiProbes
2115	}
2116	return 0
2117}
2118
2119func (m *SocketOptionTcpInfo) GetTcpiBackoff() uint32 {
2120	if m != nil {
2121		return m.TcpiBackoff
2122	}
2123	return 0
2124}
2125
2126func (m *SocketOptionTcpInfo) GetTcpiOptions() uint32 {
2127	if m != nil {
2128		return m.TcpiOptions
2129	}
2130	return 0
2131}
2132
2133func (m *SocketOptionTcpInfo) GetTcpiSndWscale() uint32 {
2134	if m != nil {
2135		return m.TcpiSndWscale
2136	}
2137	return 0
2138}
2139
2140func (m *SocketOptionTcpInfo) GetTcpiRcvWscale() uint32 {
2141	if m != nil {
2142		return m.TcpiRcvWscale
2143	}
2144	return 0
2145}
2146
2147func (m *SocketOptionTcpInfo) GetTcpiRto() uint32 {
2148	if m != nil {
2149		return m.TcpiRto
2150	}
2151	return 0
2152}
2153
2154func (m *SocketOptionTcpInfo) GetTcpiAto() uint32 {
2155	if m != nil {
2156		return m.TcpiAto
2157	}
2158	return 0
2159}
2160
2161func (m *SocketOptionTcpInfo) GetTcpiSndMss() uint32 {
2162	if m != nil {
2163		return m.TcpiSndMss
2164	}
2165	return 0
2166}
2167
2168func (m *SocketOptionTcpInfo) GetTcpiRcvMss() uint32 {
2169	if m != nil {
2170		return m.TcpiRcvMss
2171	}
2172	return 0
2173}
2174
2175func (m *SocketOptionTcpInfo) GetTcpiUnacked() uint32 {
2176	if m != nil {
2177		return m.TcpiUnacked
2178	}
2179	return 0
2180}
2181
2182func (m *SocketOptionTcpInfo) GetTcpiSacked() uint32 {
2183	if m != nil {
2184		return m.TcpiSacked
2185	}
2186	return 0
2187}
2188
2189func (m *SocketOptionTcpInfo) GetTcpiLost() uint32 {
2190	if m != nil {
2191		return m.TcpiLost
2192	}
2193	return 0
2194}
2195
2196func (m *SocketOptionTcpInfo) GetTcpiRetrans() uint32 {
2197	if m != nil {
2198		return m.TcpiRetrans
2199	}
2200	return 0
2201}
2202
2203func (m *SocketOptionTcpInfo) GetTcpiFackets() uint32 {
2204	if m != nil {
2205		return m.TcpiFackets
2206	}
2207	return 0
2208}
2209
2210func (m *SocketOptionTcpInfo) GetTcpiLastDataSent() uint32 {
2211	if m != nil {
2212		return m.TcpiLastDataSent
2213	}
2214	return 0
2215}
2216
2217func (m *SocketOptionTcpInfo) GetTcpiLastAckSent() uint32 {
2218	if m != nil {
2219		return m.TcpiLastAckSent
2220	}
2221	return 0
2222}
2223
2224func (m *SocketOptionTcpInfo) GetTcpiLastDataRecv() uint32 {
2225	if m != nil {
2226		return m.TcpiLastDataRecv
2227	}
2228	return 0
2229}
2230
2231func (m *SocketOptionTcpInfo) GetTcpiLastAckRecv() uint32 {
2232	if m != nil {
2233		return m.TcpiLastAckRecv
2234	}
2235	return 0
2236}
2237
2238func (m *SocketOptionTcpInfo) GetTcpiPmtu() uint32 {
2239	if m != nil {
2240		return m.TcpiPmtu
2241	}
2242	return 0
2243}
2244
2245func (m *SocketOptionTcpInfo) GetTcpiRcvSsthresh() uint32 {
2246	if m != nil {
2247		return m.TcpiRcvSsthresh
2248	}
2249	return 0
2250}
2251
2252func (m *SocketOptionTcpInfo) GetTcpiRtt() uint32 {
2253	if m != nil {
2254		return m.TcpiRtt
2255	}
2256	return 0
2257}
2258
2259func (m *SocketOptionTcpInfo) GetTcpiRttvar() uint32 {
2260	if m != nil {
2261		return m.TcpiRttvar
2262	}
2263	return 0
2264}
2265
2266func (m *SocketOptionTcpInfo) GetTcpiSndSsthresh() uint32 {
2267	if m != nil {
2268		return m.TcpiSndSsthresh
2269	}
2270	return 0
2271}
2272
2273func (m *SocketOptionTcpInfo) GetTcpiSndCwnd() uint32 {
2274	if m != nil {
2275		return m.TcpiSndCwnd
2276	}
2277	return 0
2278}
2279
2280func (m *SocketOptionTcpInfo) GetTcpiAdvmss() uint32 {
2281	if m != nil {
2282		return m.TcpiAdvmss
2283	}
2284	return 0
2285}
2286
2287func (m *SocketOptionTcpInfo) GetTcpiReordering() uint32 {
2288	if m != nil {
2289		return m.TcpiReordering
2290	}
2291	return 0
2292}
2293
2294type GetTopChannelsRequest struct {
2295	// start_channel_id indicates that only channels at or above this id should be
2296	// included in the results.
2297	// To request the first page, this should be set to 0. To request
2298	// subsequent pages, the client generates this value by adding 1 to
2299	// the highest seen result ID.
2300	StartChannelId int64 `protobuf:"varint,1,opt,name=start_channel_id,json=startChannelId,proto3" json:"start_channel_id,omitempty"`
2301	// If non-zero, the server will return a page of results containing
2302	// at most this many items. If zero, the server will choose a
2303	// reasonable page size.  Must never be negative.
2304	MaxResults           int64    `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
2305	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2306	XXX_unrecognized     []byte   `json:"-"`
2307	XXX_sizecache        int32    `json:"-"`
2308}
2309
2310func (m *GetTopChannelsRequest) Reset()         { *m = GetTopChannelsRequest{} }
2311func (m *GetTopChannelsRequest) String() string { return proto.CompactTextString(m) }
2312func (*GetTopChannelsRequest) ProtoMessage()    {}
2313func (*GetTopChannelsRequest) Descriptor() ([]byte, []int) {
2314	return fileDescriptor_channelz_449295370a82a4c0, []int{20}
2315}
2316func (m *GetTopChannelsRequest) XXX_Unmarshal(b []byte) error {
2317	return xxx_messageInfo_GetTopChannelsRequest.Unmarshal(m, b)
2318}
2319func (m *GetTopChannelsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2320	return xxx_messageInfo_GetTopChannelsRequest.Marshal(b, m, deterministic)
2321}
2322func (dst *GetTopChannelsRequest) XXX_Merge(src proto.Message) {
2323	xxx_messageInfo_GetTopChannelsRequest.Merge(dst, src)
2324}
2325func (m *GetTopChannelsRequest) XXX_Size() int {
2326	return xxx_messageInfo_GetTopChannelsRequest.Size(m)
2327}
2328func (m *GetTopChannelsRequest) XXX_DiscardUnknown() {
2329	xxx_messageInfo_GetTopChannelsRequest.DiscardUnknown(m)
2330}
2331
2332var xxx_messageInfo_GetTopChannelsRequest proto.InternalMessageInfo
2333
2334func (m *GetTopChannelsRequest) GetStartChannelId() int64 {
2335	if m != nil {
2336		return m.StartChannelId
2337	}
2338	return 0
2339}
2340
2341func (m *GetTopChannelsRequest) GetMaxResults() int64 {
2342	if m != nil {
2343		return m.MaxResults
2344	}
2345	return 0
2346}
2347
2348type GetTopChannelsResponse struct {
2349	// list of channels that the connection detail service knows about.  Sorted in
2350	// ascending channel_id order.
2351	// Must contain at least 1 result, otherwise 'end' must be true.
2352	Channel []*Channel `protobuf:"bytes,1,rep,name=channel,proto3" json:"channel,omitempty"`
2353	// If set, indicates that the list of channels is the final list.  Requesting
2354	// more channels can only return more if they are created after this RPC
2355	// completes.
2356	End                  bool     `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2357	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2358	XXX_unrecognized     []byte   `json:"-"`
2359	XXX_sizecache        int32    `json:"-"`
2360}
2361
2362func (m *GetTopChannelsResponse) Reset()         { *m = GetTopChannelsResponse{} }
2363func (m *GetTopChannelsResponse) String() string { return proto.CompactTextString(m) }
2364func (*GetTopChannelsResponse) ProtoMessage()    {}
2365func (*GetTopChannelsResponse) Descriptor() ([]byte, []int) {
2366	return fileDescriptor_channelz_449295370a82a4c0, []int{21}
2367}
2368func (m *GetTopChannelsResponse) XXX_Unmarshal(b []byte) error {
2369	return xxx_messageInfo_GetTopChannelsResponse.Unmarshal(m, b)
2370}
2371func (m *GetTopChannelsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2372	return xxx_messageInfo_GetTopChannelsResponse.Marshal(b, m, deterministic)
2373}
2374func (dst *GetTopChannelsResponse) XXX_Merge(src proto.Message) {
2375	xxx_messageInfo_GetTopChannelsResponse.Merge(dst, src)
2376}
2377func (m *GetTopChannelsResponse) XXX_Size() int {
2378	return xxx_messageInfo_GetTopChannelsResponse.Size(m)
2379}
2380func (m *GetTopChannelsResponse) XXX_DiscardUnknown() {
2381	xxx_messageInfo_GetTopChannelsResponse.DiscardUnknown(m)
2382}
2383
2384var xxx_messageInfo_GetTopChannelsResponse proto.InternalMessageInfo
2385
2386func (m *GetTopChannelsResponse) GetChannel() []*Channel {
2387	if m != nil {
2388		return m.Channel
2389	}
2390	return nil
2391}
2392
2393func (m *GetTopChannelsResponse) GetEnd() bool {
2394	if m != nil {
2395		return m.End
2396	}
2397	return false
2398}
2399
2400type GetServersRequest struct {
2401	// start_server_id indicates that only servers at or above this id should be
2402	// included in the results.
2403	// To request the first page, this must be set to 0. To request
2404	// subsequent pages, the client generates this value by adding 1 to
2405	// the highest seen result ID.
2406	StartServerId int64 `protobuf:"varint,1,opt,name=start_server_id,json=startServerId,proto3" json:"start_server_id,omitempty"`
2407	// If non-zero, the server will return a page of results containing
2408	// at most this many items. If zero, the server will choose a
2409	// reasonable page size.  Must never be negative.
2410	MaxResults           int64    `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
2411	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2412	XXX_unrecognized     []byte   `json:"-"`
2413	XXX_sizecache        int32    `json:"-"`
2414}
2415
2416func (m *GetServersRequest) Reset()         { *m = GetServersRequest{} }
2417func (m *GetServersRequest) String() string { return proto.CompactTextString(m) }
2418func (*GetServersRequest) ProtoMessage()    {}
2419func (*GetServersRequest) Descriptor() ([]byte, []int) {
2420	return fileDescriptor_channelz_449295370a82a4c0, []int{22}
2421}
2422func (m *GetServersRequest) XXX_Unmarshal(b []byte) error {
2423	return xxx_messageInfo_GetServersRequest.Unmarshal(m, b)
2424}
2425func (m *GetServersRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2426	return xxx_messageInfo_GetServersRequest.Marshal(b, m, deterministic)
2427}
2428func (dst *GetServersRequest) XXX_Merge(src proto.Message) {
2429	xxx_messageInfo_GetServersRequest.Merge(dst, src)
2430}
2431func (m *GetServersRequest) XXX_Size() int {
2432	return xxx_messageInfo_GetServersRequest.Size(m)
2433}
2434func (m *GetServersRequest) XXX_DiscardUnknown() {
2435	xxx_messageInfo_GetServersRequest.DiscardUnknown(m)
2436}
2437
2438var xxx_messageInfo_GetServersRequest proto.InternalMessageInfo
2439
2440func (m *GetServersRequest) GetStartServerId() int64 {
2441	if m != nil {
2442		return m.StartServerId
2443	}
2444	return 0
2445}
2446
2447func (m *GetServersRequest) GetMaxResults() int64 {
2448	if m != nil {
2449		return m.MaxResults
2450	}
2451	return 0
2452}
2453
2454type GetServersResponse struct {
2455	// list of servers that the connection detail service knows about.  Sorted in
2456	// ascending server_id order.
2457	// Must contain at least 1 result, otherwise 'end' must be true.
2458	Server []*Server `protobuf:"bytes,1,rep,name=server,proto3" json:"server,omitempty"`
2459	// If set, indicates that the list of servers is the final list.  Requesting
2460	// more servers will only return more if they are created after this RPC
2461	// completes.
2462	End                  bool     `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2463	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2464	XXX_unrecognized     []byte   `json:"-"`
2465	XXX_sizecache        int32    `json:"-"`
2466}
2467
2468func (m *GetServersResponse) Reset()         { *m = GetServersResponse{} }
2469func (m *GetServersResponse) String() string { return proto.CompactTextString(m) }
2470func (*GetServersResponse) ProtoMessage()    {}
2471func (*GetServersResponse) Descriptor() ([]byte, []int) {
2472	return fileDescriptor_channelz_449295370a82a4c0, []int{23}
2473}
2474func (m *GetServersResponse) XXX_Unmarshal(b []byte) error {
2475	return xxx_messageInfo_GetServersResponse.Unmarshal(m, b)
2476}
2477func (m *GetServersResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2478	return xxx_messageInfo_GetServersResponse.Marshal(b, m, deterministic)
2479}
2480func (dst *GetServersResponse) XXX_Merge(src proto.Message) {
2481	xxx_messageInfo_GetServersResponse.Merge(dst, src)
2482}
2483func (m *GetServersResponse) XXX_Size() int {
2484	return xxx_messageInfo_GetServersResponse.Size(m)
2485}
2486func (m *GetServersResponse) XXX_DiscardUnknown() {
2487	xxx_messageInfo_GetServersResponse.DiscardUnknown(m)
2488}
2489
2490var xxx_messageInfo_GetServersResponse proto.InternalMessageInfo
2491
2492func (m *GetServersResponse) GetServer() []*Server {
2493	if m != nil {
2494		return m.Server
2495	}
2496	return nil
2497}
2498
2499func (m *GetServersResponse) GetEnd() bool {
2500	if m != nil {
2501		return m.End
2502	}
2503	return false
2504}
2505
2506type GetServerRequest struct {
2507	// server_id is the identifier of the specific server to get.
2508	ServerId             int64    `protobuf:"varint,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
2509	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2510	XXX_unrecognized     []byte   `json:"-"`
2511	XXX_sizecache        int32    `json:"-"`
2512}
2513
2514func (m *GetServerRequest) Reset()         { *m = GetServerRequest{} }
2515func (m *GetServerRequest) String() string { return proto.CompactTextString(m) }
2516func (*GetServerRequest) ProtoMessage()    {}
2517func (*GetServerRequest) Descriptor() ([]byte, []int) {
2518	return fileDescriptor_channelz_449295370a82a4c0, []int{24}
2519}
2520func (m *GetServerRequest) XXX_Unmarshal(b []byte) error {
2521	return xxx_messageInfo_GetServerRequest.Unmarshal(m, b)
2522}
2523func (m *GetServerRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2524	return xxx_messageInfo_GetServerRequest.Marshal(b, m, deterministic)
2525}
2526func (dst *GetServerRequest) XXX_Merge(src proto.Message) {
2527	xxx_messageInfo_GetServerRequest.Merge(dst, src)
2528}
2529func (m *GetServerRequest) XXX_Size() int {
2530	return xxx_messageInfo_GetServerRequest.Size(m)
2531}
2532func (m *GetServerRequest) XXX_DiscardUnknown() {
2533	xxx_messageInfo_GetServerRequest.DiscardUnknown(m)
2534}
2535
2536var xxx_messageInfo_GetServerRequest proto.InternalMessageInfo
2537
2538func (m *GetServerRequest) GetServerId() int64 {
2539	if m != nil {
2540		return m.ServerId
2541	}
2542	return 0
2543}
2544
2545type GetServerResponse struct {
2546	// The Server that corresponds to the requested server_id.  This field
2547	// should be set.
2548	Server               *Server  `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
2549	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2550	XXX_unrecognized     []byte   `json:"-"`
2551	XXX_sizecache        int32    `json:"-"`
2552}
2553
2554func (m *GetServerResponse) Reset()         { *m = GetServerResponse{} }
2555func (m *GetServerResponse) String() string { return proto.CompactTextString(m) }
2556func (*GetServerResponse) ProtoMessage()    {}
2557func (*GetServerResponse) Descriptor() ([]byte, []int) {
2558	return fileDescriptor_channelz_449295370a82a4c0, []int{25}
2559}
2560func (m *GetServerResponse) XXX_Unmarshal(b []byte) error {
2561	return xxx_messageInfo_GetServerResponse.Unmarshal(m, b)
2562}
2563func (m *GetServerResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2564	return xxx_messageInfo_GetServerResponse.Marshal(b, m, deterministic)
2565}
2566func (dst *GetServerResponse) XXX_Merge(src proto.Message) {
2567	xxx_messageInfo_GetServerResponse.Merge(dst, src)
2568}
2569func (m *GetServerResponse) XXX_Size() int {
2570	return xxx_messageInfo_GetServerResponse.Size(m)
2571}
2572func (m *GetServerResponse) XXX_DiscardUnknown() {
2573	xxx_messageInfo_GetServerResponse.DiscardUnknown(m)
2574}
2575
2576var xxx_messageInfo_GetServerResponse proto.InternalMessageInfo
2577
2578func (m *GetServerResponse) GetServer() *Server {
2579	if m != nil {
2580		return m.Server
2581	}
2582	return nil
2583}
2584
2585type GetServerSocketsRequest struct {
2586	ServerId int64 `protobuf:"varint,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
2587	// start_socket_id indicates that only sockets at or above this id should be
2588	// included in the results.
2589	// To request the first page, this must be set to 0. To request
2590	// subsequent pages, the client generates this value by adding 1 to
2591	// the highest seen result ID.
2592	StartSocketId int64 `protobuf:"varint,2,opt,name=start_socket_id,json=startSocketId,proto3" json:"start_socket_id,omitempty"`
2593	// If non-zero, the server will return a page of results containing
2594	// at most this many items. If zero, the server will choose a
2595	// reasonable page size.  Must never be negative.
2596	MaxResults           int64    `protobuf:"varint,3,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
2597	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2598	XXX_unrecognized     []byte   `json:"-"`
2599	XXX_sizecache        int32    `json:"-"`
2600}
2601
2602func (m *GetServerSocketsRequest) Reset()         { *m = GetServerSocketsRequest{} }
2603func (m *GetServerSocketsRequest) String() string { return proto.CompactTextString(m) }
2604func (*GetServerSocketsRequest) ProtoMessage()    {}
2605func (*GetServerSocketsRequest) Descriptor() ([]byte, []int) {
2606	return fileDescriptor_channelz_449295370a82a4c0, []int{26}
2607}
2608func (m *GetServerSocketsRequest) XXX_Unmarshal(b []byte) error {
2609	return xxx_messageInfo_GetServerSocketsRequest.Unmarshal(m, b)
2610}
2611func (m *GetServerSocketsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2612	return xxx_messageInfo_GetServerSocketsRequest.Marshal(b, m, deterministic)
2613}
2614func (dst *GetServerSocketsRequest) XXX_Merge(src proto.Message) {
2615	xxx_messageInfo_GetServerSocketsRequest.Merge(dst, src)
2616}
2617func (m *GetServerSocketsRequest) XXX_Size() int {
2618	return xxx_messageInfo_GetServerSocketsRequest.Size(m)
2619}
2620func (m *GetServerSocketsRequest) XXX_DiscardUnknown() {
2621	xxx_messageInfo_GetServerSocketsRequest.DiscardUnknown(m)
2622}
2623
2624var xxx_messageInfo_GetServerSocketsRequest proto.InternalMessageInfo
2625
2626func (m *GetServerSocketsRequest) GetServerId() int64 {
2627	if m != nil {
2628		return m.ServerId
2629	}
2630	return 0
2631}
2632
2633func (m *GetServerSocketsRequest) GetStartSocketId() int64 {
2634	if m != nil {
2635		return m.StartSocketId
2636	}
2637	return 0
2638}
2639
2640func (m *GetServerSocketsRequest) GetMaxResults() int64 {
2641	if m != nil {
2642		return m.MaxResults
2643	}
2644	return 0
2645}
2646
2647type GetServerSocketsResponse struct {
2648	// list of socket refs that the connection detail service knows about.  Sorted in
2649	// ascending socket_id order.
2650	// Must contain at least 1 result, otherwise 'end' must be true.
2651	SocketRef []*SocketRef `protobuf:"bytes,1,rep,name=socket_ref,json=socketRef,proto3" json:"socket_ref,omitempty"`
2652	// If set, indicates that the list of sockets is the final list.  Requesting
2653	// more sockets will only return more if they are created after this RPC
2654	// completes.
2655	End                  bool     `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2656	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2657	XXX_unrecognized     []byte   `json:"-"`
2658	XXX_sizecache        int32    `json:"-"`
2659}
2660
2661func (m *GetServerSocketsResponse) Reset()         { *m = GetServerSocketsResponse{} }
2662func (m *GetServerSocketsResponse) String() string { return proto.CompactTextString(m) }
2663func (*GetServerSocketsResponse) ProtoMessage()    {}
2664func (*GetServerSocketsResponse) Descriptor() ([]byte, []int) {
2665	return fileDescriptor_channelz_449295370a82a4c0, []int{27}
2666}
2667func (m *GetServerSocketsResponse) XXX_Unmarshal(b []byte) error {
2668	return xxx_messageInfo_GetServerSocketsResponse.Unmarshal(m, b)
2669}
2670func (m *GetServerSocketsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2671	return xxx_messageInfo_GetServerSocketsResponse.Marshal(b, m, deterministic)
2672}
2673func (dst *GetServerSocketsResponse) XXX_Merge(src proto.Message) {
2674	xxx_messageInfo_GetServerSocketsResponse.Merge(dst, src)
2675}
2676func (m *GetServerSocketsResponse) XXX_Size() int {
2677	return xxx_messageInfo_GetServerSocketsResponse.Size(m)
2678}
2679func (m *GetServerSocketsResponse) XXX_DiscardUnknown() {
2680	xxx_messageInfo_GetServerSocketsResponse.DiscardUnknown(m)
2681}
2682
2683var xxx_messageInfo_GetServerSocketsResponse proto.InternalMessageInfo
2684
2685func (m *GetServerSocketsResponse) GetSocketRef() []*SocketRef {
2686	if m != nil {
2687		return m.SocketRef
2688	}
2689	return nil
2690}
2691
2692func (m *GetServerSocketsResponse) GetEnd() bool {
2693	if m != nil {
2694		return m.End
2695	}
2696	return false
2697}
2698
2699type GetChannelRequest struct {
2700	// channel_id is the identifier of the specific channel to get.
2701	ChannelId            int64    `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
2702	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2703	XXX_unrecognized     []byte   `json:"-"`
2704	XXX_sizecache        int32    `json:"-"`
2705}
2706
2707func (m *GetChannelRequest) Reset()         { *m = GetChannelRequest{} }
2708func (m *GetChannelRequest) String() string { return proto.CompactTextString(m) }
2709func (*GetChannelRequest) ProtoMessage()    {}
2710func (*GetChannelRequest) Descriptor() ([]byte, []int) {
2711	return fileDescriptor_channelz_449295370a82a4c0, []int{28}
2712}
2713func (m *GetChannelRequest) XXX_Unmarshal(b []byte) error {
2714	return xxx_messageInfo_GetChannelRequest.Unmarshal(m, b)
2715}
2716func (m *GetChannelRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2717	return xxx_messageInfo_GetChannelRequest.Marshal(b, m, deterministic)
2718}
2719func (dst *GetChannelRequest) XXX_Merge(src proto.Message) {
2720	xxx_messageInfo_GetChannelRequest.Merge(dst, src)
2721}
2722func (m *GetChannelRequest) XXX_Size() int {
2723	return xxx_messageInfo_GetChannelRequest.Size(m)
2724}
2725func (m *GetChannelRequest) XXX_DiscardUnknown() {
2726	xxx_messageInfo_GetChannelRequest.DiscardUnknown(m)
2727}
2728
2729var xxx_messageInfo_GetChannelRequest proto.InternalMessageInfo
2730
2731func (m *GetChannelRequest) GetChannelId() int64 {
2732	if m != nil {
2733		return m.ChannelId
2734	}
2735	return 0
2736}
2737
2738type GetChannelResponse struct {
2739	// The Channel that corresponds to the requested channel_id.  This field
2740	// should be set.
2741	Channel              *Channel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
2742	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2743	XXX_unrecognized     []byte   `json:"-"`
2744	XXX_sizecache        int32    `json:"-"`
2745}
2746
2747func (m *GetChannelResponse) Reset()         { *m = GetChannelResponse{} }
2748func (m *GetChannelResponse) String() string { return proto.CompactTextString(m) }
2749func (*GetChannelResponse) ProtoMessage()    {}
2750func (*GetChannelResponse) Descriptor() ([]byte, []int) {
2751	return fileDescriptor_channelz_449295370a82a4c0, []int{29}
2752}
2753func (m *GetChannelResponse) XXX_Unmarshal(b []byte) error {
2754	return xxx_messageInfo_GetChannelResponse.Unmarshal(m, b)
2755}
2756func (m *GetChannelResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2757	return xxx_messageInfo_GetChannelResponse.Marshal(b, m, deterministic)
2758}
2759func (dst *GetChannelResponse) XXX_Merge(src proto.Message) {
2760	xxx_messageInfo_GetChannelResponse.Merge(dst, src)
2761}
2762func (m *GetChannelResponse) XXX_Size() int {
2763	return xxx_messageInfo_GetChannelResponse.Size(m)
2764}
2765func (m *GetChannelResponse) XXX_DiscardUnknown() {
2766	xxx_messageInfo_GetChannelResponse.DiscardUnknown(m)
2767}
2768
2769var xxx_messageInfo_GetChannelResponse proto.InternalMessageInfo
2770
2771func (m *GetChannelResponse) GetChannel() *Channel {
2772	if m != nil {
2773		return m.Channel
2774	}
2775	return nil
2776}
2777
2778type GetSubchannelRequest struct {
2779	// subchannel_id is the identifier of the specific subchannel to get.
2780	SubchannelId         int64    `protobuf:"varint,1,opt,name=subchannel_id,json=subchannelId,proto3" json:"subchannel_id,omitempty"`
2781	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2782	XXX_unrecognized     []byte   `json:"-"`
2783	XXX_sizecache        int32    `json:"-"`
2784}
2785
2786func (m *GetSubchannelRequest) Reset()         { *m = GetSubchannelRequest{} }
2787func (m *GetSubchannelRequest) String() string { return proto.CompactTextString(m) }
2788func (*GetSubchannelRequest) ProtoMessage()    {}
2789func (*GetSubchannelRequest) Descriptor() ([]byte, []int) {
2790	return fileDescriptor_channelz_449295370a82a4c0, []int{30}
2791}
2792func (m *GetSubchannelRequest) XXX_Unmarshal(b []byte) error {
2793	return xxx_messageInfo_GetSubchannelRequest.Unmarshal(m, b)
2794}
2795func (m *GetSubchannelRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2796	return xxx_messageInfo_GetSubchannelRequest.Marshal(b, m, deterministic)
2797}
2798func (dst *GetSubchannelRequest) XXX_Merge(src proto.Message) {
2799	xxx_messageInfo_GetSubchannelRequest.Merge(dst, src)
2800}
2801func (m *GetSubchannelRequest) XXX_Size() int {
2802	return xxx_messageInfo_GetSubchannelRequest.Size(m)
2803}
2804func (m *GetSubchannelRequest) XXX_DiscardUnknown() {
2805	xxx_messageInfo_GetSubchannelRequest.DiscardUnknown(m)
2806}
2807
2808var xxx_messageInfo_GetSubchannelRequest proto.InternalMessageInfo
2809
2810func (m *GetSubchannelRequest) GetSubchannelId() int64 {
2811	if m != nil {
2812		return m.SubchannelId
2813	}
2814	return 0
2815}
2816
2817type GetSubchannelResponse struct {
2818	// The Subchannel that corresponds to the requested subchannel_id.  This
2819	// field should be set.
2820	Subchannel           *Subchannel `protobuf:"bytes,1,opt,name=subchannel,proto3" json:"subchannel,omitempty"`
2821	XXX_NoUnkeyedLiteral struct{}    `json:"-"`
2822	XXX_unrecognized     []byte      `json:"-"`
2823	XXX_sizecache        int32       `json:"-"`
2824}
2825
2826func (m *GetSubchannelResponse) Reset()         { *m = GetSubchannelResponse{} }
2827func (m *GetSubchannelResponse) String() string { return proto.CompactTextString(m) }
2828func (*GetSubchannelResponse) ProtoMessage()    {}
2829func (*GetSubchannelResponse) Descriptor() ([]byte, []int) {
2830	return fileDescriptor_channelz_449295370a82a4c0, []int{31}
2831}
2832func (m *GetSubchannelResponse) XXX_Unmarshal(b []byte) error {
2833	return xxx_messageInfo_GetSubchannelResponse.Unmarshal(m, b)
2834}
2835func (m *GetSubchannelResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2836	return xxx_messageInfo_GetSubchannelResponse.Marshal(b, m, deterministic)
2837}
2838func (dst *GetSubchannelResponse) XXX_Merge(src proto.Message) {
2839	xxx_messageInfo_GetSubchannelResponse.Merge(dst, src)
2840}
2841func (m *GetSubchannelResponse) XXX_Size() int {
2842	return xxx_messageInfo_GetSubchannelResponse.Size(m)
2843}
2844func (m *GetSubchannelResponse) XXX_DiscardUnknown() {
2845	xxx_messageInfo_GetSubchannelResponse.DiscardUnknown(m)
2846}
2847
2848var xxx_messageInfo_GetSubchannelResponse proto.InternalMessageInfo
2849
2850func (m *GetSubchannelResponse) GetSubchannel() *Subchannel {
2851	if m != nil {
2852		return m.Subchannel
2853	}
2854	return nil
2855}
2856
2857type GetSocketRequest struct {
2858	// socket_id is the identifier of the specific socket to get.
2859	SocketId int64 `protobuf:"varint,1,opt,name=socket_id,json=socketId,proto3" json:"socket_id,omitempty"`
2860	// If true, the response will contain only high level information
2861	// that is inexpensive to obtain. Fields thay may be omitted are
2862	// documented.
2863	Summary              bool     `protobuf:"varint,2,opt,name=summary,proto3" json:"summary,omitempty"`
2864	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2865	XXX_unrecognized     []byte   `json:"-"`
2866	XXX_sizecache        int32    `json:"-"`
2867}
2868
2869func (m *GetSocketRequest) Reset()         { *m = GetSocketRequest{} }
2870func (m *GetSocketRequest) String() string { return proto.CompactTextString(m) }
2871func (*GetSocketRequest) ProtoMessage()    {}
2872func (*GetSocketRequest) Descriptor() ([]byte, []int) {
2873	return fileDescriptor_channelz_449295370a82a4c0, []int{32}
2874}
2875func (m *GetSocketRequest) XXX_Unmarshal(b []byte) error {
2876	return xxx_messageInfo_GetSocketRequest.Unmarshal(m, b)
2877}
2878func (m *GetSocketRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2879	return xxx_messageInfo_GetSocketRequest.Marshal(b, m, deterministic)
2880}
2881func (dst *GetSocketRequest) XXX_Merge(src proto.Message) {
2882	xxx_messageInfo_GetSocketRequest.Merge(dst, src)
2883}
2884func (m *GetSocketRequest) XXX_Size() int {
2885	return xxx_messageInfo_GetSocketRequest.Size(m)
2886}
2887func (m *GetSocketRequest) XXX_DiscardUnknown() {
2888	xxx_messageInfo_GetSocketRequest.DiscardUnknown(m)
2889}
2890
2891var xxx_messageInfo_GetSocketRequest proto.InternalMessageInfo
2892
2893func (m *GetSocketRequest) GetSocketId() int64 {
2894	if m != nil {
2895		return m.SocketId
2896	}
2897	return 0
2898}
2899
2900func (m *GetSocketRequest) GetSummary() bool {
2901	if m != nil {
2902		return m.Summary
2903	}
2904	return false
2905}
2906
2907type GetSocketResponse struct {
2908	// The Socket that corresponds to the requested socket_id.  This field
2909	// should be set.
2910	Socket               *Socket  `protobuf:"bytes,1,opt,name=socket,proto3" json:"socket,omitempty"`
2911	XXX_NoUnkeyedLiteral struct{} `json:"-"`
2912	XXX_unrecognized     []byte   `json:"-"`
2913	XXX_sizecache        int32    `json:"-"`
2914}
2915
2916func (m *GetSocketResponse) Reset()         { *m = GetSocketResponse{} }
2917func (m *GetSocketResponse) String() string { return proto.CompactTextString(m) }
2918func (*GetSocketResponse) ProtoMessage()    {}
2919func (*GetSocketResponse) Descriptor() ([]byte, []int) {
2920	return fileDescriptor_channelz_449295370a82a4c0, []int{33}
2921}
2922func (m *GetSocketResponse) XXX_Unmarshal(b []byte) error {
2923	return xxx_messageInfo_GetSocketResponse.Unmarshal(m, b)
2924}
2925func (m *GetSocketResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
2926	return xxx_messageInfo_GetSocketResponse.Marshal(b, m, deterministic)
2927}
2928func (dst *GetSocketResponse) XXX_Merge(src proto.Message) {
2929	xxx_messageInfo_GetSocketResponse.Merge(dst, src)
2930}
2931func (m *GetSocketResponse) XXX_Size() int {
2932	return xxx_messageInfo_GetSocketResponse.Size(m)
2933}
2934func (m *GetSocketResponse) XXX_DiscardUnknown() {
2935	xxx_messageInfo_GetSocketResponse.DiscardUnknown(m)
2936}
2937
2938var xxx_messageInfo_GetSocketResponse proto.InternalMessageInfo
2939
2940func (m *GetSocketResponse) GetSocket() *Socket {
2941	if m != nil {
2942		return m.Socket
2943	}
2944	return nil
2945}
2946
2947func init() {
2948	proto.RegisterType((*Channel)(nil), "grpc.channelz.v1.Channel")
2949	proto.RegisterType((*Subchannel)(nil), "grpc.channelz.v1.Subchannel")
2950	proto.RegisterType((*ChannelConnectivityState)(nil), "grpc.channelz.v1.ChannelConnectivityState")
2951	proto.RegisterType((*ChannelData)(nil), "grpc.channelz.v1.ChannelData")
2952	proto.RegisterType((*ChannelTraceEvent)(nil), "grpc.channelz.v1.ChannelTraceEvent")
2953	proto.RegisterType((*ChannelTrace)(nil), "grpc.channelz.v1.ChannelTrace")
2954	proto.RegisterType((*ChannelRef)(nil), "grpc.channelz.v1.ChannelRef")
2955	proto.RegisterType((*SubchannelRef)(nil), "grpc.channelz.v1.SubchannelRef")
2956	proto.RegisterType((*SocketRef)(nil), "grpc.channelz.v1.SocketRef")
2957	proto.RegisterType((*ServerRef)(nil), "grpc.channelz.v1.ServerRef")
2958	proto.RegisterType((*Server)(nil), "grpc.channelz.v1.Server")
2959	proto.RegisterType((*ServerData)(nil), "grpc.channelz.v1.ServerData")
2960	proto.RegisterType((*Socket)(nil), "grpc.channelz.v1.Socket")
2961	proto.RegisterType((*SocketData)(nil), "grpc.channelz.v1.SocketData")
2962	proto.RegisterType((*Address)(nil), "grpc.channelz.v1.Address")
2963	proto.RegisterType((*Address_TcpIpAddress)(nil), "grpc.channelz.v1.Address.TcpIpAddress")
2964	proto.RegisterType((*Address_UdsAddress)(nil), "grpc.channelz.v1.Address.UdsAddress")
2965	proto.RegisterType((*Address_OtherAddress)(nil), "grpc.channelz.v1.Address.OtherAddress")
2966	proto.RegisterType((*Security)(nil), "grpc.channelz.v1.Security")
2967	proto.RegisterType((*Security_Tls)(nil), "grpc.channelz.v1.Security.Tls")
2968	proto.RegisterType((*Security_OtherSecurity)(nil), "grpc.channelz.v1.Security.OtherSecurity")
2969	proto.RegisterType((*SocketOption)(nil), "grpc.channelz.v1.SocketOption")
2970	proto.RegisterType((*SocketOptionTimeout)(nil), "grpc.channelz.v1.SocketOptionTimeout")
2971	proto.RegisterType((*SocketOptionLinger)(nil), "grpc.channelz.v1.SocketOptionLinger")
2972	proto.RegisterType((*SocketOptionTcpInfo)(nil), "grpc.channelz.v1.SocketOptionTcpInfo")
2973	proto.RegisterType((*GetTopChannelsRequest)(nil), "grpc.channelz.v1.GetTopChannelsRequest")
2974	proto.RegisterType((*GetTopChannelsResponse)(nil), "grpc.channelz.v1.GetTopChannelsResponse")
2975	proto.RegisterType((*GetServersRequest)(nil), "grpc.channelz.v1.GetServersRequest")
2976	proto.RegisterType((*GetServersResponse)(nil), "grpc.channelz.v1.GetServersResponse")
2977	proto.RegisterType((*GetServerRequest)(nil), "grpc.channelz.v1.GetServerRequest")
2978	proto.RegisterType((*GetServerResponse)(nil), "grpc.channelz.v1.GetServerResponse")
2979	proto.RegisterType((*GetServerSocketsRequest)(nil), "grpc.channelz.v1.GetServerSocketsRequest")
2980	proto.RegisterType((*GetServerSocketsResponse)(nil), "grpc.channelz.v1.GetServerSocketsResponse")
2981	proto.RegisterType((*GetChannelRequest)(nil), "grpc.channelz.v1.GetChannelRequest")
2982	proto.RegisterType((*GetChannelResponse)(nil), "grpc.channelz.v1.GetChannelResponse")
2983	proto.RegisterType((*GetSubchannelRequest)(nil), "grpc.channelz.v1.GetSubchannelRequest")
2984	proto.RegisterType((*GetSubchannelResponse)(nil), "grpc.channelz.v1.GetSubchannelResponse")
2985	proto.RegisterType((*GetSocketRequest)(nil), "grpc.channelz.v1.GetSocketRequest")
2986	proto.RegisterType((*GetSocketResponse)(nil), "grpc.channelz.v1.GetSocketResponse")
2987	proto.RegisterEnum("grpc.channelz.v1.ChannelConnectivityState_State", ChannelConnectivityState_State_name, ChannelConnectivityState_State_value)
2988	proto.RegisterEnum("grpc.channelz.v1.ChannelTraceEvent_Severity", ChannelTraceEvent_Severity_name, ChannelTraceEvent_Severity_value)
2989}
2990
2991// Reference imports to suppress errors if they are not otherwise used.
2992var _ context.Context
2993var _ grpc.ClientConn
2994
2995// This is a compile-time assertion to ensure that this generated file
2996// is compatible with the grpc package it is being compiled against.
2997const _ = grpc.SupportPackageIsVersion4
2998
2999// ChannelzClient is the client API for Channelz service.
3000//
3001// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
3002type ChannelzClient interface {
3003	// Gets all root channels (i.e. channels the application has directly
3004	// created). This does not include subchannels nor non-top level channels.
3005	GetTopChannels(ctx context.Context, in *GetTopChannelsRequest, opts ...grpc.CallOption) (*GetTopChannelsResponse, error)
3006	// Gets all servers that exist in the process.
3007	GetServers(ctx context.Context, in *GetServersRequest, opts ...grpc.CallOption) (*GetServersResponse, error)
3008	// Returns a single Server, or else a NOT_FOUND code.
3009	GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error)
3010	// Gets all server sockets that exist in the process.
3011	GetServerSockets(ctx context.Context, in *GetServerSocketsRequest, opts ...grpc.CallOption) (*GetServerSocketsResponse, error)
3012	// Returns a single Channel, or else a NOT_FOUND code.
3013	GetChannel(ctx context.Context, in *GetChannelRequest, opts ...grpc.CallOption) (*GetChannelResponse, error)
3014	// Returns a single Subchannel, or else a NOT_FOUND code.
3015	GetSubchannel(ctx context.Context, in *GetSubchannelRequest, opts ...grpc.CallOption) (*GetSubchannelResponse, error)
3016	// Returns a single Socket or else a NOT_FOUND code.
3017	GetSocket(ctx context.Context, in *GetSocketRequest, opts ...grpc.CallOption) (*GetSocketResponse, error)
3018}
3019
3020type channelzClient struct {
3021	cc *grpc.ClientConn
3022}
3023
3024func NewChannelzClient(cc *grpc.ClientConn) ChannelzClient {
3025	return &channelzClient{cc}
3026}
3027
3028func (c *channelzClient) GetTopChannels(ctx context.Context, in *GetTopChannelsRequest, opts ...grpc.CallOption) (*GetTopChannelsResponse, error) {
3029	out := new(GetTopChannelsResponse)
3030	err := c.cc.Invoke(ctx, "/grpc.channelz.v1.Channelz/GetTopChannels", in, out, opts...)
3031	if err != nil {
3032		return nil, err
3033	}
3034	return out, nil
3035}
3036
3037func (c *channelzClient) GetServers(ctx context.Context, in *GetServersRequest, opts ...grpc.CallOption) (*GetServersResponse, error) {
3038	out := new(GetServersResponse)
3039	err := c.cc.Invoke(ctx, "/grpc.channelz.v1.Channelz/GetServers", in, out, opts...)
3040	if err != nil {
3041		return nil, err
3042	}
3043	return out, nil
3044}
3045
3046func (c *channelzClient) GetServer(ctx context.Context, in *GetServerRequest, opts ...grpc.CallOption) (*GetServerResponse, error) {
3047	out := new(GetServerResponse)
3048	err := c.cc.Invoke(ctx, "/grpc.channelz.v1.Channelz/GetServer", in, out, opts...)
3049	if err != nil {
3050		return nil, err
3051	}
3052	return out, nil
3053}
3054
3055func (c *channelzClient) GetServerSockets(ctx context.Context, in *GetServerSocketsRequest, opts ...grpc.CallOption) (*GetServerSocketsResponse, error) {
3056	out := new(GetServerSocketsResponse)
3057	err := c.cc.Invoke(ctx, "/grpc.channelz.v1.Channelz/GetServerSockets", in, out, opts...)
3058	if err != nil {
3059		return nil, err
3060	}
3061	return out, nil
3062}
3063
3064func (c *channelzClient) GetChannel(ctx context.Context, in *GetChannelRequest, opts ...grpc.CallOption) (*GetChannelResponse, error) {
3065	out := new(GetChannelResponse)
3066	err := c.cc.Invoke(ctx, "/grpc.channelz.v1.Channelz/GetChannel", in, out, opts...)
3067	if err != nil {
3068		return nil, err
3069	}
3070	return out, nil
3071}
3072
3073func (c *channelzClient) GetSubchannel(ctx context.Context, in *GetSubchannelRequest, opts ...grpc.CallOption) (*GetSubchannelResponse, error) {
3074	out := new(GetSubchannelResponse)
3075	err := c.cc.Invoke(ctx, "/grpc.channelz.v1.Channelz/GetSubchannel", in, out, opts...)
3076	if err != nil {
3077		return nil, err
3078	}
3079	return out, nil
3080}
3081
3082func (c *channelzClient) GetSocket(ctx context.Context, in *GetSocketRequest, opts ...grpc.CallOption) (*GetSocketResponse, error) {
3083	out := new(GetSocketResponse)
3084	err := c.cc.Invoke(ctx, "/grpc.channelz.v1.Channelz/GetSocket", in, out, opts...)
3085	if err != nil {
3086		return nil, err
3087	}
3088	return out, nil
3089}
3090
3091// ChannelzServer is the server API for Channelz service.
3092type ChannelzServer interface {
3093	// Gets all root channels (i.e. channels the application has directly
3094	// created). This does not include subchannels nor non-top level channels.
3095	GetTopChannels(context.Context, *GetTopChannelsRequest) (*GetTopChannelsResponse, error)
3096	// Gets all servers that exist in the process.
3097	GetServers(context.Context, *GetServersRequest) (*GetServersResponse, error)
3098	// Returns a single Server, or else a NOT_FOUND code.
3099	GetServer(context.Context, *GetServerRequest) (*GetServerResponse, error)
3100	// Gets all server sockets that exist in the process.
3101	GetServerSockets(context.Context, *GetServerSocketsRequest) (*GetServerSocketsResponse, error)
3102	// Returns a single Channel, or else a NOT_FOUND code.
3103	GetChannel(context.Context, *GetChannelRequest) (*GetChannelResponse, error)
3104	// Returns a single Subchannel, or else a NOT_FOUND code.
3105	GetSubchannel(context.Context, *GetSubchannelRequest) (*GetSubchannelResponse, error)
3106	// Returns a single Socket or else a NOT_FOUND code.
3107	GetSocket(context.Context, *GetSocketRequest) (*GetSocketResponse, error)
3108}
3109
3110func RegisterChannelzServer(s *grpc.Server, srv ChannelzServer) {
3111	s.RegisterService(&_Channelz_serviceDesc, srv)
3112}
3113
3114func _Channelz_GetTopChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3115	in := new(GetTopChannelsRequest)
3116	if err := dec(in); err != nil {
3117		return nil, err
3118	}
3119	if interceptor == nil {
3120		return srv.(ChannelzServer).GetTopChannels(ctx, in)
3121	}
3122	info := &grpc.UnaryServerInfo{
3123		Server:     srv,
3124		FullMethod: "/grpc.channelz.v1.Channelz/GetTopChannels",
3125	}
3126	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3127		return srv.(ChannelzServer).GetTopChannels(ctx, req.(*GetTopChannelsRequest))
3128	}
3129	return interceptor(ctx, in, info, handler)
3130}
3131
3132func _Channelz_GetServers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3133	in := new(GetServersRequest)
3134	if err := dec(in); err != nil {
3135		return nil, err
3136	}
3137	if interceptor == nil {
3138		return srv.(ChannelzServer).GetServers(ctx, in)
3139	}
3140	info := &grpc.UnaryServerInfo{
3141		Server:     srv,
3142		FullMethod: "/grpc.channelz.v1.Channelz/GetServers",
3143	}
3144	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3145		return srv.(ChannelzServer).GetServers(ctx, req.(*GetServersRequest))
3146	}
3147	return interceptor(ctx, in, info, handler)
3148}
3149
3150func _Channelz_GetServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3151	in := new(GetServerRequest)
3152	if err := dec(in); err != nil {
3153		return nil, err
3154	}
3155	if interceptor == nil {
3156		return srv.(ChannelzServer).GetServer(ctx, in)
3157	}
3158	info := &grpc.UnaryServerInfo{
3159		Server:     srv,
3160		FullMethod: "/grpc.channelz.v1.Channelz/GetServer",
3161	}
3162	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3163		return srv.(ChannelzServer).GetServer(ctx, req.(*GetServerRequest))
3164	}
3165	return interceptor(ctx, in, info, handler)
3166}
3167
3168func _Channelz_GetServerSockets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3169	in := new(GetServerSocketsRequest)
3170	if err := dec(in); err != nil {
3171		return nil, err
3172	}
3173	if interceptor == nil {
3174		return srv.(ChannelzServer).GetServerSockets(ctx, in)
3175	}
3176	info := &grpc.UnaryServerInfo{
3177		Server:     srv,
3178		FullMethod: "/grpc.channelz.v1.Channelz/GetServerSockets",
3179	}
3180	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3181		return srv.(ChannelzServer).GetServerSockets(ctx, req.(*GetServerSocketsRequest))
3182	}
3183	return interceptor(ctx, in, info, handler)
3184}
3185
3186func _Channelz_GetChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3187	in := new(GetChannelRequest)
3188	if err := dec(in); err != nil {
3189		return nil, err
3190	}
3191	if interceptor == nil {
3192		return srv.(ChannelzServer).GetChannel(ctx, in)
3193	}
3194	info := &grpc.UnaryServerInfo{
3195		Server:     srv,
3196		FullMethod: "/grpc.channelz.v1.Channelz/GetChannel",
3197	}
3198	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3199		return srv.(ChannelzServer).GetChannel(ctx, req.(*GetChannelRequest))
3200	}
3201	return interceptor(ctx, in, info, handler)
3202}
3203
3204func _Channelz_GetSubchannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3205	in := new(GetSubchannelRequest)
3206	if err := dec(in); err != nil {
3207		return nil, err
3208	}
3209	if interceptor == nil {
3210		return srv.(ChannelzServer).GetSubchannel(ctx, in)
3211	}
3212	info := &grpc.UnaryServerInfo{
3213		Server:     srv,
3214		FullMethod: "/grpc.channelz.v1.Channelz/GetSubchannel",
3215	}
3216	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3217		return srv.(ChannelzServer).GetSubchannel(ctx, req.(*GetSubchannelRequest))
3218	}
3219	return interceptor(ctx, in, info, handler)
3220}
3221
3222func _Channelz_GetSocket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3223	in := new(GetSocketRequest)
3224	if err := dec(in); err != nil {
3225		return nil, err
3226	}
3227	if interceptor == nil {
3228		return srv.(ChannelzServer).GetSocket(ctx, in)
3229	}
3230	info := &grpc.UnaryServerInfo{
3231		Server:     srv,
3232		FullMethod: "/grpc.channelz.v1.Channelz/GetSocket",
3233	}
3234	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3235		return srv.(ChannelzServer).GetSocket(ctx, req.(*GetSocketRequest))
3236	}
3237	return interceptor(ctx, in, info, handler)
3238}
3239
3240var _Channelz_serviceDesc = grpc.ServiceDesc{
3241	ServiceName: "grpc.channelz.v1.Channelz",
3242	HandlerType: (*ChannelzServer)(nil),
3243	Methods: []grpc.MethodDesc{
3244		{
3245			MethodName: "GetTopChannels",
3246			Handler:    _Channelz_GetTopChannels_Handler,
3247		},
3248		{
3249			MethodName: "GetServers",
3250			Handler:    _Channelz_GetServers_Handler,
3251		},
3252		{
3253			MethodName: "GetServer",
3254			Handler:    _Channelz_GetServer_Handler,
3255		},
3256		{
3257			MethodName: "GetServerSockets",
3258			Handler:    _Channelz_GetServerSockets_Handler,
3259		},
3260		{
3261			MethodName: "GetChannel",
3262			Handler:    _Channelz_GetChannel_Handler,
3263		},
3264		{
3265			MethodName: "GetSubchannel",
3266			Handler:    _Channelz_GetSubchannel_Handler,
3267		},
3268		{
3269			MethodName: "GetSocket",
3270			Handler:    _Channelz_GetSocket_Handler,
3271		},
3272	},
3273	Streams:  []grpc.StreamDesc{},
3274	Metadata: "grpc/channelz/v1/channelz.proto",
3275}
3276
3277func init() {
3278	proto.RegisterFile("grpc/channelz/v1/channelz.proto", fileDescriptor_channelz_449295370a82a4c0)
3279}
3280
3281var fileDescriptor_channelz_449295370a82a4c0 = []byte{
3282	// 2584 bytes of a gzipped FileDescriptorProto
3283	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0x59, 0x4b, 0x6f, 0xdb, 0xd8,
3284	0xf5, 0xb7, 0xde, 0xd4, 0xd1, 0x23, 0xf2, 0x4d, 0x26, 0x43, 0x2b, 0x99, 0xb1, 0xff, 0xf4, 0x4c,
3285	0xc6, 0x93, 0xfc, 0x23, 0xc7, 0x9e, 0x34, 0x28, 0x3a, 0x2d, 0x3a, 0xb6, 0x62, 0xc7, 0x72, 0x1d,
3286	0x39, 0xa0, 0xe4, 0x49, 0xa6, 0x28, 0xca, 0xa1, 0xc9, 0x6b, 0x99, 0x35, 0x45, 0xaa, 0xbc, 0x57,
3287	0xf2, 0x24, 0x9b, 0x2e, 0xba, 0xef, 0xb2, 0x28, 0xfa, 0x01, 0xba, 0xe9, 0xa2, 0x40, 0x81, 0x02,
3288	0xed, 0xb6, 0xdf, 0xa6, 0xdf, 0xa2, 0xb8, 0x0f, 0x3e, 0xf4, 0xb2, 0x14, 0x64, 0xd9, 0x8d, 0x21,
3289	0x1e, 0xfe, 0xce, 0xef, 0x9c, 0x7b, 0x5e, 0xf7, 0xf2, 0x1a, 0xd6, 0x7b, 0xc1, 0xc0, 0xda, 0xb6,
3290	0x2e, 0x4d, 0xcf, 0xc3, 0xee, 0xbb, 0xed, 0xd1, 0x4e, 0xf4, 0xbb, 0x31, 0x08, 0x7c, 0xea, 0xa3,
3291	0x1a, 0x03, 0x34, 0x22, 0xe1, 0x68, 0xa7, 0xbe, 0xd6, 0xf3, 0xfd, 0x9e, 0x8b, 0xb7, 0xf9, 0xfb,
3292	0xf3, 0xe1, 0xc5, 0xb6, 0xe9, 0xbd, 0x15, 0xe0, 0xfa, 0xa7, 0x93, 0xaf, 0xec, 0x61, 0x60, 0x52,
3293	0xc7, 0xf7, 0xe4, 0xfb, 0xf5, 0xc9, 0xf7, 0xd4, 0xe9, 0x63, 0x42, 0xcd, 0xfe, 0x60, 0x1e, 0xc1,
3294	0x75, 0x60, 0x0e, 0x06, 0x38, 0x20, 0xe2, 0xbd, 0xf6, 0xb7, 0x34, 0x14, 0x9a, 0xc2, 0x17, 0xd4,
3295	0x80, 0x4c, 0x80, 0x2f, 0xd4, 0xd4, 0x46, 0x6a, 0xab, 0xb4, 0x7b, 0xbf, 0x31, 0xe9, 0x67, 0x43,
3296	0xe2, 0x74, 0x7c, 0xa1, 0x33, 0x20, 0xda, 0x81, 0xac, 0x6d, 0x52, 0x53, 0x4d, 0x73, 0x85, 0x4f,
3297	0xe6, 0x2a, 0x3c, 0x37, 0xa9, 0xa9, 0x73, 0x28, 0xfa, 0x19, 0x94, 0x24, 0xc0, 0x60, 0xa6, 0x32,
3298	0x1b, 0x99, 0x85, 0xa6, 0xc0, 0x8a, 0x7e, 0xa3, 0x43, 0xa8, 0x92, 0xe1, 0x79, 0x92, 0x21, 0xcb,
3299	0x19, 0xd6, 0xa7, 0x19, 0x3a, 0x11, 0x8e, 0x91, 0x54, 0x48, 0xf2, 0x11, 0xfd, 0x04, 0x80, 0xf8,
3300	0xd6, 0x15, 0xa6, 0x9c, 0x23, 0xc7, 0x39, 0xee, 0xcd, 0xe0, 0xe0, 0x18, 0xa6, 0x5f, 0x24, 0xe1,
3301	0x4f, 0xed, 0x1f, 0x69, 0x80, 0x98, 0x1c, 0xed, 0x24, 0x83, 0xb6, 0xd0, 0x8f, 0xff, 0xe1, 0xb8,
3302	0xfd, 0x3b, 0x05, 0xaa, 0x74, 0xaf, 0xe9, 0x7b, 0x1e, 0xb6, 0xa8, 0x33, 0x72, 0xe8, 0xdb, 0x0e,
3303	0x35, 0x29, 0x46, 0x87, 0x90, 0x23, 0xec, 0x07, 0x8f, 0x63, 0x75, 0xf7, 0xc9, 0xdc, 0x95, 0x4d,
3304	0xa9, 0x36, 0xf8, 0x5f, 0x5d, 0xa8, 0x6b, 0xbf, 0x86, 0x9c, 0x20, 0x2c, 0x41, 0xe1, 0xac, 0xfd,
3305	0x8b, 0xf6, 0xe9, 0xeb, 0x76, 0x6d, 0x05, 0x29, 0x90, 0x6d, 0x3d, 0x3f, 0x39, 0xa8, 0xa5, 0x50,
3306	0x15, 0xa0, 0x79, 0xda, 0x6e, 0x1f, 0x34, 0xbb, 0xad, 0xf6, 0x8b, 0x5a, 0x1a, 0x15, 0x21, 0xa7,
3307	0x1f, 0xec, 0x3d, 0xff, 0xae, 0x96, 0x41, 0x1f, 0xc1, 0x6a, 0x57, 0xdf, 0x6b, 0x77, 0x5a, 0x07,
3308	0xed, 0xae, 0x71, 0xb8, 0xd7, 0x3a, 0x39, 0xd3, 0x0f, 0x6a, 0x59, 0x54, 0x06, 0xa5, 0x73, 0x74,
3309	0xd6, 0x7d, 0xce, 0x98, 0x72, 0xda, 0x7f, 0xd2, 0x50, 0x4a, 0x64, 0x07, 0x7d, 0x93, 0xf4, 0xbb,
3310	0xb4, 0xfb, 0x70, 0x79, 0xbf, 0xa5, 0xc7, 0xe8, 0x2e, 0xe4, 0xa9, 0x19, 0xf4, 0x30, 0xe5, 0xe5,
3311	0x50, 0xd4, 0xe5, 0x13, 0x7a, 0x0a, 0x39, 0x1a, 0x98, 0x16, 0x56, 0x33, 0x9c, 0xf9, 0xd3, 0xb9,
3312	0xcc, 0x5d, 0x86, 0xd2, 0x05, 0x18, 0x6d, 0x42, 0xc5, 0x32, 0x5d, 0x97, 0x18, 0x84, 0x9a, 0x01,
3313	0xc5, 0xb6, 0x9a, 0xdd, 0x48, 0x6d, 0x65, 0xf4, 0x32, 0x17, 0x76, 0x84, 0x0c, 0x7d, 0x01, 0xb7,
3314	0x24, 0x68, 0x68, 0x59, 0x18, 0xdb, 0xd8, 0x56, 0x73, 0x1c, 0x56, 0x15, 0xb0, 0x50, 0x8a, 0xfe,
3315	0x0f, 0x84, 0xa2, 0x71, 0x61, 0x3a, 0x2e, 0xb6, 0xd5, 0x3c, 0x47, 0x95, 0xb8, 0xec, 0x90, 0x8b,
3316	0xd0, 0x77, 0x70, 0xcf, 0x35, 0x09, 0x35, 0x98, 0x2c, 0x34, 0x6a, 0x44, 0x43, 0x48, 0x2d, 0x70,
3317	0xe7, 0xeb, 0x0d, 0x31, 0x85, 0x1a, 0xe1, 0x14, 0x6a, 0x74, 0x43, 0x84, 0xae, 0x32, 0xf5, 0xa6,
3318	0xe9, 0xba, 0xd2, 0xbb, 0xe8, 0x8d, 0xf6, 0xa7, 0x0c, 0xac, 0x26, 0xd7, 0x78, 0x30, 0xc2, 0x1e,
3319	0x45, 0x1b, 0x50, 0xb2, 0x31, 0xb1, 0x02, 0x67, 0xc0, 0xc6, 0x20, 0x8f, 0x7b, 0x51, 0x4f, 0x8a,
3320	0xd0, 0x11, 0x28, 0x04, 0x8f, 0x70, 0xe0, 0xd0, 0xb7, 0x3c, 0xa6, 0xd5, 0xdd, 0xff, 0xbf, 0x39,
3321	0x78, 0x9c, 0xb8, 0xd1, 0x91, 0x3a, 0x7a, 0xa4, 0x8d, 0x7e, 0x0c, 0xc5, 0x78, 0x29, 0x99, 0x85,
3322	0x4b, 0x89, 0xc1, 0xe8, 0xe7, 0xe3, 0xfd, 0x9a, 0x5d, 0x3c, 0x52, 0x8f, 0x56, 0xc6, 0x3a, 0xf6,
3323	0x68, 0xaa, 0x63, 0x73, 0x4b, 0x4d, 0x98, 0xa3, 0x95, 0x89, 0x9e, 0xd5, 0x0e, 0x40, 0x09, 0x97,
3324	0xc6, 0xcb, 0xbf, 0x6b, 0xc4, 0x8d, 0x51, 0x82, 0x42, 0xb3, 0x6b, 0xb4, 0xda, 0x87, 0xa7, 0xb2,
3325	0x37, 0xba, 0xc6, 0xeb, 0x3d, 0xbd, 0x2d, 0x7a, 0xa3, 0x0c, 0x4a, 0xb3, 0x6b, 0x1c, 0xe8, 0xfa,
3326	0xa9, 0x5e, 0xcb, 0xec, 0x97, 0xa0, 0x68, 0x5d, 0x3a, 0xae, 0xcd, 0x7c, 0x61, 0xbd, 0x5c, 0x4e,
3327	0x46, 0x10, 0x3d, 0x84, 0x55, 0x6f, 0xd8, 0x37, 0x30, 0x8b, 0x24, 0x31, 0x5c, 0xbf, 0xd7, 0xc3,
3328	0x36, 0xcf, 0x4d, 0x46, 0xbf, 0xe5, 0x0d, 0xfb, 0x3c, 0xc2, 0xe4, 0x84, 0x8b, 0x51, 0x0b, 0x90,
3329	0x15, 0x60, 0xbe, 0x8b, 0x25, 0x2a, 0x25, 0xbd, 0x30, 0xbc, 0xab, 0xa1, 0x56, 0x24, 0x42, 0x5f,
3330	0x43, 0x5e, 0x98, 0x94, 0x13, 0x71, 0x73, 0x89, 0x44, 0xeb, 0x52, 0x45, 0xb3, 0x00, 0xe2, 0xf0,
3331	0xa3, 0x4f, 0x20, 0x0c, 0xbf, 0xe1, 0x84, 0xae, 0x17, 0xa5, 0xa4, 0x65, 0x23, 0x04, 0x59, 0xcf,
3332	0xec, 0x63, 0xd9, 0xa4, 0xfc, 0xf7, 0x71, 0x56, 0xc9, 0xd4, 0xb2, 0xc7, 0x59, 0x25, 0x5b, 0xcb,
3333	0x1d, 0x67, 0x95, 0x5c, 0x2d, 0x7f, 0x9c, 0x55, 0xf2, 0xb5, 0xc2, 0x71, 0x56, 0x29, 0xd4, 0x94,
3334	0xe3, 0xac, 0xa2, 0xd4, 0x8a, 0x9a, 0x0b, 0x95, 0xb1, 0xfc, 0xb0, 0x0e, 0x4d, 0x24, 0xd6, 0xb1,
3335	0x79, 0x8b, 0x64, 0xf4, 0x72, 0x2c, 0x4c, 0x58, 0x53, 0xc6, 0xac, 0xa5, 0x6a, 0xe9, 0xe3, 0xac,
3336	0x92, 0xae, 0x65, 0xe6, 0x59, 0xd6, 0xbe, 0x87, 0x62, 0x34, 0x7b, 0xd1, 0x3d, 0x90, 0xd3, 0x97,
3337	0x59, 0xc9, 0x70, 0x2b, 0x8a, 0x10, 0x24, 0x2c, 0x64, 0xe7, 0x5a, 0x98, 0xbd, 0x1e, 0x66, 0x01,
3338	0x07, 0x23, 0x1c, 0x84, 0x16, 0xf8, 0x03, 0xb3, 0x90, 0x93, 0x16, 0xb8, 0x20, 0x61, 0x21, 0xbf,
3339	0xd4, 0x1a, 0x62, 0x0b, 0x7f, 0x4d, 0x41, 0x5e, 0x98, 0x40, 0x8f, 0x93, 0x7b, 0xeb, 0xac, 0x7d,
3340	0x26, 0xf4, 0x44, 0xec, 0xab, 0x4f, 0xc6, 0xf6, 0xd5, 0xfb, 0xf3, 0xf0, 0x89, 0x6d, 0xf5, 0x1b,
3341	0xa8, 0xb8, 0x0e, 0xa1, 0xd8, 0x33, 0x44, 0x60, 0x64, 0x19, 0xdd, 0xb8, 0xa5, 0x95, 0x85, 0x86,
3342	0x10, 0x68, 0x7f, 0x60, 0xa7, 0x81, 0x88, 0x36, 0x9e, 0xda, 0xa9, 0x0f, 0x9a, 0xda, 0xe9, 0xe5,
3343	0xa6, 0x76, 0x66, 0xa9, 0xa9, 0x9d, 0x7d, 0xef, 0xa9, 0x9d, 0xfb, 0x80, 0xa9, 0xfd, 0x97, 0x34,
3344	0xe4, 0x45, 0x6c, 0x16, 0xa7, 0x2f, 0x8a, 0xe9, 0x92, 0xe9, 0xe3, 0xf8, 0x44, 0xfa, 0xb6, 0x21,
3345	0xe7, 0xfa, 0x96, 0xe9, 0xca, 0xd9, 0xbc, 0x36, 0xad, 0xb2, 0x67, 0xdb, 0x01, 0x26, 0x44, 0x17,
3346	0x38, 0xb4, 0x03, 0xf9, 0x00, 0xf7, 0x7d, 0x8a, 0xe5, 0x44, 0xbe, 0x41, 0x43, 0x02, 0xd1, 0x33,
3347	0xb6, 0x9b, 0x58, 0x43, 0xbe, 0x9b, 0x44, 0x71, 0x99, 0x2e, 0x2c, 0x81, 0xd0, 0x23, 0x2c, 0x5a,
3348	0x87, 0x92, 0x60, 0x30, 0x12, 0x5d, 0x00, 0x42, 0xd4, 0x36, 0xfb, 0x58, 0xfb, 0x7d, 0x01, 0x20,
3349	0x5e, 0x11, 0x4b, 0x2f, 0xa1, 0x01, 0x36, 0xfb, 0x71, 0x15, 0x88, 0x21, 0x54, 0x95, 0xe2, 0xb0,
3350	0x0e, 0x1e, 0xc1, 0x6a, 0x04, 0x8c, 0x2a, 0x41, 0x14, 0x4c, 0x2d, 0x84, 0x46, 0xb5, 0xf0, 0x39,
3351	0x84, 0xea, 0x61, 0x35, 0x88, 0x9a, 0xa9, 0x48, 0xa9, 0xac, 0x87, 0x4d, 0xa8, 0xf4, 0x31, 0x21,
3352	0x66, 0x0f, 0x13, 0x83, 0x60, 0x8f, 0x86, 0xc7, 0x86, 0x50, 0xd8, 0x61, 0x3b, 0xef, 0x23, 0x58,
3353	0x8d, 0x40, 0x01, 0xb6, 0xb0, 0x33, 0x8a, 0x0e, 0x0e, 0xb5, 0xf0, 0x85, 0x2e, 0xe5, 0x68, 0x0b,
3354	0x6a, 0x57, 0x18, 0x0f, 0x0c, 0xd3, 0x75, 0x46, 0x21, 0xa9, 0x38, 0x3e, 0x54, 0x99, 0x7c, 0x8f,
3355	0x8b, 0x39, 0xed, 0x25, 0x6c, 0xf2, 0x5a, 0xe4, 0x19, 0x32, 0x84, 0x5f, 0x06, 0x1f, 0xf5, 0xef,
3356	0x79, 0x92, 0x58, 0x67, 0x34, 0x27, 0x8c, 0xa5, 0xc3, 0x49, 0x9a, 0x82, 0x23, 0xde, 0x2d, 0x7e,
3357	0x03, 0x9f, 0x71, 0x4b, 0x32, 0x2f, 0x73, 0x4d, 0x29, 0x0b, 0x4d, 0x6d, 0x30, 0x1e, 0x9d, 0xd3,
3358	0xcc, 0xb1, 0x15, 0x76, 0x98, 0x0c, 0x0c, 0x0f, 0x40, 0xc2, 0x44, 0x71, 0xb9, 0x0e, 0x7b, 0x29,
3359	0xb4, 0x59, 0x9c, 0x62, 0x6a, 0x13, 0xd6, 0xc7, 0xa8, 0xc3, 0x5c, 0x24, 0xe8, 0x61, 0x21, 0xfd,
3360	0xfd, 0x04, 0x7d, 0x98, 0xb4, 0xd8, 0xc4, 0xb7, 0xb0, 0x26, 0xd2, 0x71, 0xe1, 0xfa, 0xd7, 0x86,
3361	0xe5, 0x7b, 0x34, 0xf0, 0x5d, 0xe3, 0xda, 0xf1, 0x6c, 0xff, 0x5a, 0x2d, 0x85, 0xfd, 0x3c, 0x41,
3362	0xde, 0xf2, 0xe8, 0xb3, 0xa7, 0xdf, 0x9a, 0xee, 0x10, 0xeb, 0x77, 0xb9, 0xf6, 0xa1, 0xeb, 0x5f,
3363	0x37, 0x85, 0xee, 0x6b, 0xae, 0x8a, 0xde, 0x40, 0x5d, 0x06, 0x7f, 0x16, 0x71, 0x79, 0x31, 0xf1,
3364	0xc7, 0x42, 0x7d, 0x9a, 0xf9, 0x19, 0xe4, 0x7d, 0x71, 0x22, 0xac, 0xf0, 0x11, 0xfe, 0xe9, 0xbc,
3365	0xf1, 0x71, 0xca, 0x51, 0xba, 0x44, 0x6b, 0xff, 0xcc, 0x40, 0x41, 0xb6, 0x3c, 0x7a, 0x09, 0x15,
3366	0x6a, 0x0d, 0x9c, 0x81, 0x61, 0x0a, 0x81, 0x9c, 0x5c, 0x0f, 0xe6, 0x0e, 0x89, 0x46, 0xd7, 0x1a,
3367	0xb4, 0x06, 0xf2, 0xe1, 0x68, 0x45, 0x2f, 0x73, 0xf5, 0x90, 0xee, 0x05, 0x94, 0x86, 0x36, 0x89,
3368	0xc8, 0xc4, 0x58, 0xfb, 0x6c, 0x3e, 0xd9, 0x99, 0x4d, 0x62, 0x2a, 0x18, 0x46, 0x4f, 0xcc, 0x2f,
3369	0x9f, 0x5e, 0xe2, 0x20, 0xa2, 0xca, 0x2c, 0xf2, 0xeb, 0x94, 0xc1, 0x13, 0x7e, 0xf9, 0x89, 0xe7,
3370	0xfa, 0x1e, 0x94, 0x93, 0x7e, 0xb3, 0x93, 0xcf, 0xc4, 0x9a, 0xcb, 0x7a, 0x31, 0x5e, 0x06, 0x82,
3371	0xec, 0xc0, 0x0f, 0xc4, 0xe7, 0x49, 0x4e, 0xe7, 0xbf, 0xeb, 0x5b, 0x00, 0xb1, 0xb7, 0xa8, 0x0e,
3372	0xca, 0x85, 0xe3, 0x62, 0x3e, 0xe7, 0xc4, 0x79, 0x3c, 0x7a, 0xae, 0xb7, 0xa1, 0x9c, 0x74, 0x26,
3373	0x3a, 0x15, 0xa4, 0xe2, 0x53, 0x01, 0x7a, 0x08, 0xb9, 0x11, 0xcb, 0xae, 0x0c, 0xd1, 0x9d, 0xa9,
3374	0x02, 0xd8, 0xf3, 0xde, 0xea, 0x02, 0xb2, 0x5f, 0x84, 0x82, 0xf4, 0x54, 0xfb, 0x63, 0x86, 0x9d,
3375	0x6c, 0xe5, 0xb8, 0xdd, 0x85, 0x0c, 0x75, 0xc9, 0xfc, 0x6d, 0x37, 0x04, 0x36, 0xba, 0x2e, 0x8b,
3376	0x08, 0x03, 0xb3, 0x8f, 0x37, 0x1e, 0x18, 0x69, 0x77, 0xeb, 0x06, 0x2d, 0xbe, 0x86, 0xf0, 0xe9,
3377	0x68, 0x45, 0x17, 0x8a, 0xf5, 0x7f, 0xa5, 0x20, 0xd3, 0x75, 0x09, 0xfa, 0x1c, 0x2a, 0x84, 0x9a,
3378	0x9e, 0x6d, 0x06, 0xb6, 0x11, 0x2f, 0x8f, 0x45, 0x3e, 0x14, 0xb3, 0x91, 0x8f, 0xd6, 0x01, 0x44,
3379	0x22, 0xe3, 0xa3, 0xe4, 0xd1, 0x8a, 0x5e, 0xe4, 0x32, 0x0e, 0x78, 0x04, 0xab, 0xa2, 0xef, 0x2c,
3380	0x1c, 0x50, 0xe7, 0xc2, 0xb1, 0xd8, 0xa7, 0x65, 0x86, 0x67, 0xa4, 0xc6, 0x5f, 0x34, 0x63, 0x39,
3381	0x7a, 0x0c, 0x48, 0x36, 0x53, 0x12, 0x9d, 0xe5, 0xe8, 0x55, 0xf1, 0x26, 0x01, 0xdf, 0xaf, 0x42,
3382	0xd9, 0x72, 0x06, 0xcc, 0x3a, 0x19, 0x3a, 0x14, 0xd7, 0x4f, 0xa1, 0x32, 0xb6, 0xaa, 0x0f, 0x4e,
3383	0x4d, 0x01, 0x72, 0x7d, 0xdf, 0xc6, 0xae, 0xe6, 0x41, 0x39, 0xd9, 0x6b, 0x33, 0x89, 0xef, 0x24,
3384	0x89, 0x8b, 0x92, 0x02, 0x3d, 0x05, 0x30, 0x6d, 0xdb, 0x61, 0x5a, 0xd1, 0xae, 0x3e, 0xdb, 0x66,
3385	0x02, 0xa7, 0x9d, 0xc0, 0xed, 0xa4, 0x3d, 0x36, 0xc6, 0xfc, 0x21, 0x45, 0x3f, 0x02, 0x25, 0xbc,
3386	0x2d, 0x93, 0x75, 0xb1, 0x36, 0x45, 0xf5, 0x5c, 0x02, 0xf4, 0x08, 0xaa, 0x59, 0x80, 0x92, 0x6c,
3387	0x27, 0x8e, 0xd7, 0xc3, 0x01, 0xfb, 0x4c, 0x37, 0xd9, 0xe7, 0xbb, 0x58, 0x85, 0xa2, 0xcb, 0xa7,
3388	0x31, 0x23, 0xe9, 0xe5, 0x8d, 0xfc, 0x5d, 0x99, 0xf0, 0xd9, 0x1a, 0xb4, 0xbc, 0x0b, 0x9f, 0xf5,
3389	0x22, 0x9b, 0x21, 0x46, 0x7c, 0xa9, 0x50, 0xd1, 0x8b, 0x4c, 0x22, 0x6e, 0x35, 0x34, 0x31, 0xa1,
3390	0x0c, 0xcb, 0x94, 0x88, 0x34, 0x47, 0x94, 0x98, 0xb0, 0x69, 0x0a, 0xcc, 0x97, 0x50, 0xe3, 0x98,
3391	0x00, 0xd3, 0xc0, 0xf4, 0x48, 0xdf, 0xa1, 0x62, 0x60, 0x54, 0xf4, 0x5b, 0x4c, 0xae, 0xc7, 0x62,
3392	0x76, 0x46, 0xe1, 0xd0, 0x41, 0xe0, 0x9f, 0x63, 0xc2, 0x4b, 0xa7, 0xa2, 0x73, 0x07, 0x5e, 0x71,
3393	0x09, 0x3b, 0x4a, 0x72, 0xc0, 0xb9, 0x69, 0x5d, 0xf9, 0x17, 0xe2, 0x1b, 0x54, 0x9a, 0xdb, 0x17,
3394	0xa2, 0x08, 0x22, 0xe6, 0x29, 0xe1, 0x9b, 0xbc, 0x84, 0x88, 0xa5, 0x11, 0xf4, 0x00, 0x6e, 0x89,
3395	0x45, 0x79, 0xb6, 0x71, 0x4d, 0x2c, 0xd3, 0xc5, 0x7c, 0x37, 0xaf, 0xe8, 0x7c, 0x31, 0x1d, 0xcf,
3396	0x7e, 0xcd, 0x85, 0x11, 0x2e, 0xb0, 0x46, 0x21, 0x4e, 0x89, 0x71, 0xba, 0x35, 0x92, 0xb8, 0x35,
3397	0x50, 0x04, 0x8e, 0xfa, 0x7c, 0x23, 0xad, 0xe8, 0x05, 0x0e, 0xa0, 0x7e, 0xf4, 0xca, 0xa4, 0x3e,
3398	0xdf, 0x04, 0xe5, 0xab, 0x3d, 0xea, 0xa3, 0x0d, 0xe9, 0x28, 0xf3, 0xa2, 0x4f, 0x08, 0xdf, 0xc6,
3399	0xe4, 0x6a, 0x3b, 0x9e, 0xfd, 0x92, 0x90, 0x08, 0xc1, 0xec, 0x33, 0x44, 0x39, 0x46, 0xe8, 0xd6,
3400	0x88, 0x21, 0xc2, 0xc5, 0x0e, 0x3d, 0xd3, 0xba, 0xc2, 0xb6, 0x5a, 0x89, 0x17, 0x7b, 0x26, 0x44,
3401	0x51, 0x4c, 0x89, 0x40, 0x54, 0x13, 0x56, 0x04, 0xe0, 0x1e, 0xf0, 0x84, 0x1a, 0xae, 0x4f, 0xa8,
3402	0x7a, 0x8b, 0xbf, 0xe6, 0x3e, 0x9f, 0xf8, 0x84, 0x46, 0x06, 0x64, 0xf2, 0xd4, 0x5a, 0x6c, 0x40,
3403	0x26, 0x2e, 0x82, 0x5c, 0x30, 0x3a, 0x4a, 0xd4, 0xd5, 0x18, 0x72, 0x28, 0x44, 0xe8, 0x31, 0xdc,
3404	0x16, 0x26, 0xd8, 0x31, 0x81, 0x9d, 0x94, 0xc5, 0xf9, 0x0b, 0x71, 0x24, 0xaf, 0x8e, 0x13, 0x93,
3405	0xf0, 0x63, 0xa7, 0x3c, 0xd8, 0xa1, 0x18, 0x6e, 0x5a, 0x57, 0x02, 0x7d, 0x3b, 0xae, 0x19, 0x86,
3406	0xde, 0xb3, 0xae, 0x38, 0x78, 0x9a, 0x3b, 0xc0, 0xd6, 0x48, 0xbd, 0x33, 0xcd, 0xad, 0x63, 0x6b,
3407	0x34, 0xcd, 0xcd, 0xd1, 0x1f, 0x4d, 0x71, 0x73, 0x70, 0x18, 0x9a, 0x41, 0x9f, 0x0e, 0xd5, 0xbb,
3408	0x71, 0x68, 0x5e, 0xf5, 0xe9, 0x10, 0x3d, 0x84, 0xd5, 0x28, 0x3b, 0x84, 0xd0, 0xcb, 0x00, 0x93,
3409	0x4b, 0xf5, 0xe3, 0x44, 0x61, 0x5b, 0xa3, 0x8e, 0x14, 0x27, 0x2a, 0x84, 0xaa, 0x6a, 0xb2, 0x42,
3410	0x68, 0x94, 0x9f, 0x80, 0xd2, 0x91, 0x19, 0xa8, 0x6b, 0x89, 0x1c, 0x73, 0x49, 0x64, 0x87, 0xd5,
3411	0x49, 0x64, 0xa7, 0x1e, 0xdb, 0xe9, 0x78, 0x76, 0x64, 0x27, 0xec, 0x47, 0x86, 0xb5, 0xae, 0x3d,
3412	0x5b, 0xbd, 0x17, 0x27, 0xa3, 0xe3, 0xd9, 0xcd, 0x6b, 0x2f, 0x2e, 0x08, 0xd3, 0x1e, 0xb1, 0xa2,
3413	0xba, 0x1f, 0x1b, 0xdc, 0xe3, 0x12, 0x76, 0xf2, 0x97, 0x39, 0xf7, 0x03, 0x1b, 0x07, 0x8e, 0xd7,
3414	0x53, 0x3f, 0xe1, 0xa0, 0xaa, 0x48, 0x7b, 0x28, 0xd5, 0xce, 0xe1, 0xa3, 0x17, 0x98, 0x76, 0xfd,
3415	0x81, 0xfc, 0x86, 0x24, 0x3a, 0xfe, 0xed, 0x10, 0x13, 0xca, 0x0e, 0xdb, 0xfc, 0x9b, 0xc1, 0x98,
3416	0xba, 0xc1, 0xa8, 0x72, 0x79, 0x33, 0xba, 0x58, 0x58, 0x87, 0x52, 0xdf, 0xfc, 0xc1, 0x08, 0x30,
3417	0x19, 0xba, 0x94, 0xc8, 0xcf, 0x06, 0xe8, 0x9b, 0x3f, 0xe8, 0x42, 0xa2, 0x19, 0x70, 0x77, 0xd2,
3418	0x06, 0x19, 0xf8, 0x1e, 0xc1, 0xe8, 0x2b, 0x28, 0x48, 0x7a, 0x35, 0xc5, 0x8f, 0x58, 0x6b, 0xf3,
3419	0xaf, 0xb3, 0x42, 0x24, 0xaa, 0x41, 0x06, 0x7b, 0xe2, 0xf3, 0x44, 0xd1, 0xd9, 0x4f, 0xed, 0x57,
3420	0xb0, 0xfa, 0x02, 0x53, 0xf1, 0xc9, 0x1c, 0x2d, 0xe0, 0x01, 0xfb, 0xf8, 0x61, 0x0b, 0x88, 0xaf,
3421	0x13, 0x52, 0xe1, 0x77, 0x8a, 0x19, 0x48, 0xf4, 0x32, 0xee, 0xbf, 0x01, 0x94, 0x64, 0x97, 0xae,
3422	0x3f, 0x81, 0xbc, 0x20, 0x96, 0x9e, 0xab, 0x73, 0xaf, 0x12, 0x24, 0x6e, 0x86, 0xdf, 0xdb, 0x50,
3423	0x8b, 0x98, 0x43, 0xb7, 0xc7, 0xee, 0x3f, 0x52, 0xe3, 0xf7, 0x1f, 0xda, 0x41, 0x62, 0xa1, 0x33,
3424	0x3d, 0x49, 0x2d, 0xe3, 0x89, 0xf6, 0x3b, 0xf8, 0x38, 0xa2, 0x11, 0x3b, 0x06, 0x59, 0xc6, 0x7c,
3425	0x22, 0xa4, 0xd1, 0x1d, 0x50, 0x3a, 0x19, 0xd2, 0xf0, 0x22, 0x68, 0x22, 0xa4, 0x99, 0xa9, 0x90,
3426	0x5e, 0x82, 0x3a, 0xed, 0x80, 0x5c, 0xce, 0xf8, 0xff, 0x03, 0x52, 0xef, 0xf3, 0xff, 0x80, 0x19,
3427	0x21, 0xde, 0xe5, 0x11, 0x8b, 0xee, 0xe4, 0xc4, 0x22, 0x6f, 0xbe, 0x97, 0xd3, 0x5a, 0x3c, 0xe1,
3428	0x91, 0xce, 0xac, 0x5a, 0x4d, 0x2d, 0x57, 0xab, 0xda, 0xd7, 0x70, 0x87, 0x2d, 0x34, 0x71, 0x5b,
3429	0x27, 0x3c, 0x98, 0xba, 0xb1, 0x4b, 0x4d, 0xdf, 0xd8, 0x69, 0x67, 0xbc, 0x37, 0x93, 0xca, 0xd2,
3430	0x95, 0x9f, 0x02, 0xc4, 0xc0, 0xf9, 0xff, 0x5b, 0x4b, 0x68, 0x26, 0xf0, 0x5a, 0x4b, 0x54, 0x9d,
3431	0x0c, 0x5a, 0x9c, 0xf6, 0x28, 0xa7, 0xa9, 0x89, 0x7b, 0x3d, 0x15, 0x0a, 0x64, 0xd8, 0xef, 0x9b,
3432	0xc1, 0x5b, 0x19, 0xd9, 0xf0, 0x31, 0xac, 0x47, 0x49, 0x95, 0xa8, 0x47, 0x71, 0xf3, 0x35, 0xbf,
3433	0x1e, 0x85, 0x86, 0xc4, 0xed, 0xfe, 0x39, 0x07, 0x8a, 0x0c, 0xdd, 0x3b, 0x64, 0x41, 0x75, 0x7c,
3434	0x5a, 0xa0, 0x2f, 0xa6, 0x09, 0x66, 0xce, 0xac, 0xfa, 0xd6, 0x62, 0xa0, 0xf4, 0xf1, 0x35, 0x40,
3435	0xdc, 0xd3, 0x68, 0x73, 0xa6, 0xde, 0xf8, 0x3c, 0xa9, 0x7f, 0x76, 0x33, 0x48, 0x12, 0x77, 0xa1,
3436	0x18, 0x49, 0x91, 0x76, 0x83, 0x4a, 0x48, 0xbb, 0x79, 0x23, 0x46, 0xb2, 0x3a, 0x89, 0x41, 0x21,
3437	0xfb, 0x05, 0x7d, 0x79, 0x83, 0xe2, 0x78, 0x53, 0xd7, 0x1f, 0x2e, 0x03, 0x1d, 0x8b, 0x4c, 0xf8,
3438	0xef, 0xdb, 0xd9, 0xde, 0x8d, 0xb7, 0xd3, 0x9c, 0xc8, 0x4c, 0xf6, 0xcf, 0xf7, 0x50, 0x19, 0xab,
3439	0x66, 0xf4, 0x60, 0xb6, 0x57, 0x93, 0xbd, 0x52, 0xff, 0x62, 0x21, 0x6e, 0x3c, 0xf6, 0xe2, 0xa2,
3440	0x70, 0x4e, 0xec, 0x93, 0x55, 0x3f, 0x2f, 0xf6, 0x63, 0xe5, 0xbc, 0xff, 0x06, 0x6e, 0x3b, 0xfe,
3441	0x14, 0x70, 0xbf, 0x12, 0x16, 0xec, 0x2b, 0x76, 0x24, 0x7f, 0x95, 0xfa, 0xe5, 0x13, 0x79, 0x44,
3442	0xef, 0xf9, 0xae, 0xe9, 0xf5, 0x1a, 0x7e, 0xd0, 0xdb, 0x1e, 0xff, 0xb7, 0x3d, 0x7b, 0x0a, 0x77,
3443	0xd3, 0x77, 0xc6, 0x68, 0xe7, 0x3c, 0xcf, 0x4f, 0xf3, 0x5f, 0xfd, 0x37, 0x00, 0x00, 0xff, 0xff,
3444	0x54, 0xae, 0x0b, 0x93, 0xdf, 0x1f, 0x00, 0x00,
3445}
3446