1// Copyright 2018 The gRPC Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// This file defines an interface for exporting monitoring information
16// out of gRPC servers.  See the full design at
17// https://github.com/grpc/proposal/blob/master/A14-channelz.md
18//
19// The canonical version of this proto can be found at
20// https://github.com/grpc/grpc-proto/blob/master/grpc/channelz/v1/channelz.proto
21
22// Code generated by protoc-gen-go. DO NOT EDIT.
23// versions:
24// 	protoc-gen-go v1.25.0
25// 	protoc        v3.14.0
26// source: grpc/channelz/v1/channelz.proto
27
28package grpc_channelz_v1
29
30import (
31	proto "github.com/golang/protobuf/proto"
32	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
33	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
34	anypb "google.golang.org/protobuf/types/known/anypb"
35	durationpb "google.golang.org/protobuf/types/known/durationpb"
36	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
37	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
38	reflect "reflect"
39	sync "sync"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// This is a compile-time assertion that a sufficiently up-to-date version
50// of the legacy proto package is being used.
51const _ = proto.ProtoPackageIsVersion4
52
53type ChannelConnectivityState_State int32
54
55const (
56	ChannelConnectivityState_UNKNOWN           ChannelConnectivityState_State = 0
57	ChannelConnectivityState_IDLE              ChannelConnectivityState_State = 1
58	ChannelConnectivityState_CONNECTING        ChannelConnectivityState_State = 2
59	ChannelConnectivityState_READY             ChannelConnectivityState_State = 3
60	ChannelConnectivityState_TRANSIENT_FAILURE ChannelConnectivityState_State = 4
61	ChannelConnectivityState_SHUTDOWN          ChannelConnectivityState_State = 5
62)
63
64// Enum value maps for ChannelConnectivityState_State.
65var (
66	ChannelConnectivityState_State_name = map[int32]string{
67		0: "UNKNOWN",
68		1: "IDLE",
69		2: "CONNECTING",
70		3: "READY",
71		4: "TRANSIENT_FAILURE",
72		5: "SHUTDOWN",
73	}
74	ChannelConnectivityState_State_value = map[string]int32{
75		"UNKNOWN":           0,
76		"IDLE":              1,
77		"CONNECTING":        2,
78		"READY":             3,
79		"TRANSIENT_FAILURE": 4,
80		"SHUTDOWN":          5,
81	}
82)
83
84func (x ChannelConnectivityState_State) Enum() *ChannelConnectivityState_State {
85	p := new(ChannelConnectivityState_State)
86	*p = x
87	return p
88}
89
90func (x ChannelConnectivityState_State) String() string {
91	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
92}
93
94func (ChannelConnectivityState_State) Descriptor() protoreflect.EnumDescriptor {
95	return file_grpc_channelz_v1_channelz_proto_enumTypes[0].Descriptor()
96}
97
98func (ChannelConnectivityState_State) Type() protoreflect.EnumType {
99	return &file_grpc_channelz_v1_channelz_proto_enumTypes[0]
100}
101
102func (x ChannelConnectivityState_State) Number() protoreflect.EnumNumber {
103	return protoreflect.EnumNumber(x)
104}
105
106// Deprecated: Use ChannelConnectivityState_State.Descriptor instead.
107func (ChannelConnectivityState_State) EnumDescriptor() ([]byte, []int) {
108	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{2, 0}
109}
110
111// The supported severity levels of trace events.
112type ChannelTraceEvent_Severity int32
113
114const (
115	ChannelTraceEvent_CT_UNKNOWN ChannelTraceEvent_Severity = 0
116	ChannelTraceEvent_CT_INFO    ChannelTraceEvent_Severity = 1
117	ChannelTraceEvent_CT_WARNING ChannelTraceEvent_Severity = 2
118	ChannelTraceEvent_CT_ERROR   ChannelTraceEvent_Severity = 3
119)
120
121// Enum value maps for ChannelTraceEvent_Severity.
122var (
123	ChannelTraceEvent_Severity_name = map[int32]string{
124		0: "CT_UNKNOWN",
125		1: "CT_INFO",
126		2: "CT_WARNING",
127		3: "CT_ERROR",
128	}
129	ChannelTraceEvent_Severity_value = map[string]int32{
130		"CT_UNKNOWN": 0,
131		"CT_INFO":    1,
132		"CT_WARNING": 2,
133		"CT_ERROR":   3,
134	}
135)
136
137func (x ChannelTraceEvent_Severity) Enum() *ChannelTraceEvent_Severity {
138	p := new(ChannelTraceEvent_Severity)
139	*p = x
140	return p
141}
142
143func (x ChannelTraceEvent_Severity) String() string {
144	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
145}
146
147func (ChannelTraceEvent_Severity) Descriptor() protoreflect.EnumDescriptor {
148	return file_grpc_channelz_v1_channelz_proto_enumTypes[1].Descriptor()
149}
150
151func (ChannelTraceEvent_Severity) Type() protoreflect.EnumType {
152	return &file_grpc_channelz_v1_channelz_proto_enumTypes[1]
153}
154
155func (x ChannelTraceEvent_Severity) Number() protoreflect.EnumNumber {
156	return protoreflect.EnumNumber(x)
157}
158
159// Deprecated: Use ChannelTraceEvent_Severity.Descriptor instead.
160func (ChannelTraceEvent_Severity) EnumDescriptor() ([]byte, []int) {
161	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{4, 0}
162}
163
164// Channel is a logical grouping of channels, subchannels, and sockets.
165type Channel struct {
166	state         protoimpl.MessageState
167	sizeCache     protoimpl.SizeCache
168	unknownFields protoimpl.UnknownFields
169
170	// The identifier for this channel. This should bet set.
171	Ref *ChannelRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
172	// Data specific to this channel.
173	Data *ChannelData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
174	// There are no ordering guarantees on the order of channel refs.
175	// There may not be cycles in the ref graph.
176	// A channel ref may be present in more than one channel or subchannel.
177	ChannelRef []*ChannelRef `protobuf:"bytes,3,rep,name=channel_ref,json=channelRef,proto3" json:"channel_ref,omitempty"`
178	// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
179	// There are no ordering guarantees on the order of subchannel refs.
180	// There may not be cycles in the ref graph.
181	// A sub channel ref may be present in more than one channel or subchannel.
182	SubchannelRef []*SubchannelRef `protobuf:"bytes,4,rep,name=subchannel_ref,json=subchannelRef,proto3" json:"subchannel_ref,omitempty"`
183	// There are no ordering guarantees on the order of sockets.
184	SocketRef []*SocketRef `protobuf:"bytes,5,rep,name=socket_ref,json=socketRef,proto3" json:"socket_ref,omitempty"`
185}
186
187func (x *Channel) Reset() {
188	*x = Channel{}
189	if protoimpl.UnsafeEnabled {
190		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[0]
191		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
192		ms.StoreMessageInfo(mi)
193	}
194}
195
196func (x *Channel) String() string {
197	return protoimpl.X.MessageStringOf(x)
198}
199
200func (*Channel) ProtoMessage() {}
201
202func (x *Channel) ProtoReflect() protoreflect.Message {
203	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[0]
204	if protoimpl.UnsafeEnabled && x != nil {
205		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
206		if ms.LoadMessageInfo() == nil {
207			ms.StoreMessageInfo(mi)
208		}
209		return ms
210	}
211	return mi.MessageOf(x)
212}
213
214// Deprecated: Use Channel.ProtoReflect.Descriptor instead.
215func (*Channel) Descriptor() ([]byte, []int) {
216	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{0}
217}
218
219func (x *Channel) GetRef() *ChannelRef {
220	if x != nil {
221		return x.Ref
222	}
223	return nil
224}
225
226func (x *Channel) GetData() *ChannelData {
227	if x != nil {
228		return x.Data
229	}
230	return nil
231}
232
233func (x *Channel) GetChannelRef() []*ChannelRef {
234	if x != nil {
235		return x.ChannelRef
236	}
237	return nil
238}
239
240func (x *Channel) GetSubchannelRef() []*SubchannelRef {
241	if x != nil {
242		return x.SubchannelRef
243	}
244	return nil
245}
246
247func (x *Channel) GetSocketRef() []*SocketRef {
248	if x != nil {
249		return x.SocketRef
250	}
251	return nil
252}
253
254// Subchannel is a logical grouping of channels, subchannels, and sockets.
255// A subchannel is load balanced over by it's ancestor
256type Subchannel struct {
257	state         protoimpl.MessageState
258	sizeCache     protoimpl.SizeCache
259	unknownFields protoimpl.UnknownFields
260
261	// The identifier for this channel.
262	Ref *SubchannelRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
263	// Data specific to this channel.
264	Data *ChannelData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` // At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
265	// There are no ordering guarantees on the order of channel refs.
266	// There may not be cycles in the ref graph.
267	// A channel ref may be present in more than one channel or subchannel.
268	ChannelRef []*ChannelRef `protobuf:"bytes,3,rep,name=channel_ref,json=channelRef,proto3" json:"channel_ref,omitempty"`
269	// At most one of 'channel_ref+subchannel_ref' and 'socket' is set.
270	// There are no ordering guarantees on the order of subchannel refs.
271	// There may not be cycles in the ref graph.
272	// A sub channel ref may be present in more than one channel or subchannel.
273	SubchannelRef []*SubchannelRef `protobuf:"bytes,4,rep,name=subchannel_ref,json=subchannelRef,proto3" json:"subchannel_ref,omitempty"`
274	// There are no ordering guarantees on the order of sockets.
275	SocketRef []*SocketRef `protobuf:"bytes,5,rep,name=socket_ref,json=socketRef,proto3" json:"socket_ref,omitempty"`
276}
277
278func (x *Subchannel) Reset() {
279	*x = Subchannel{}
280	if protoimpl.UnsafeEnabled {
281		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[1]
282		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
283		ms.StoreMessageInfo(mi)
284	}
285}
286
287func (x *Subchannel) String() string {
288	return protoimpl.X.MessageStringOf(x)
289}
290
291func (*Subchannel) ProtoMessage() {}
292
293func (x *Subchannel) ProtoReflect() protoreflect.Message {
294	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[1]
295	if protoimpl.UnsafeEnabled && x != nil {
296		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
297		if ms.LoadMessageInfo() == nil {
298			ms.StoreMessageInfo(mi)
299		}
300		return ms
301	}
302	return mi.MessageOf(x)
303}
304
305// Deprecated: Use Subchannel.ProtoReflect.Descriptor instead.
306func (*Subchannel) Descriptor() ([]byte, []int) {
307	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{1}
308}
309
310func (x *Subchannel) GetRef() *SubchannelRef {
311	if x != nil {
312		return x.Ref
313	}
314	return nil
315}
316
317func (x *Subchannel) GetData() *ChannelData {
318	if x != nil {
319		return x.Data
320	}
321	return nil
322}
323
324func (x *Subchannel) GetChannelRef() []*ChannelRef {
325	if x != nil {
326		return x.ChannelRef
327	}
328	return nil
329}
330
331func (x *Subchannel) GetSubchannelRef() []*SubchannelRef {
332	if x != nil {
333		return x.SubchannelRef
334	}
335	return nil
336}
337
338func (x *Subchannel) GetSocketRef() []*SocketRef {
339	if x != nil {
340		return x.SocketRef
341	}
342	return nil
343}
344
345// These come from the specified states in this document:
346// https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md
347type ChannelConnectivityState struct {
348	state         protoimpl.MessageState
349	sizeCache     protoimpl.SizeCache
350	unknownFields protoimpl.UnknownFields
351
352	State ChannelConnectivityState_State `protobuf:"varint,1,opt,name=state,proto3,enum=grpc.channelz.v1.ChannelConnectivityState_State" json:"state,omitempty"`
353}
354
355func (x *ChannelConnectivityState) Reset() {
356	*x = ChannelConnectivityState{}
357	if protoimpl.UnsafeEnabled {
358		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[2]
359		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
360		ms.StoreMessageInfo(mi)
361	}
362}
363
364func (x *ChannelConnectivityState) String() string {
365	return protoimpl.X.MessageStringOf(x)
366}
367
368func (*ChannelConnectivityState) ProtoMessage() {}
369
370func (x *ChannelConnectivityState) ProtoReflect() protoreflect.Message {
371	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[2]
372	if protoimpl.UnsafeEnabled && x != nil {
373		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
374		if ms.LoadMessageInfo() == nil {
375			ms.StoreMessageInfo(mi)
376		}
377		return ms
378	}
379	return mi.MessageOf(x)
380}
381
382// Deprecated: Use ChannelConnectivityState.ProtoReflect.Descriptor instead.
383func (*ChannelConnectivityState) Descriptor() ([]byte, []int) {
384	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{2}
385}
386
387func (x *ChannelConnectivityState) GetState() ChannelConnectivityState_State {
388	if x != nil {
389		return x.State
390	}
391	return ChannelConnectivityState_UNKNOWN
392}
393
394// Channel data is data related to a specific Channel or Subchannel.
395type ChannelData struct {
396	state         protoimpl.MessageState
397	sizeCache     protoimpl.SizeCache
398	unknownFields protoimpl.UnknownFields
399
400	// The connectivity state of the channel or subchannel.  Implementations
401	// should always set this.
402	State *ChannelConnectivityState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
403	// The target this channel originally tried to connect to.  May be absent
404	Target string `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
405	// A trace of recent events on the channel.  May be absent.
406	Trace *ChannelTrace `protobuf:"bytes,3,opt,name=trace,proto3" json:"trace,omitempty"`
407	// The number of calls started on the channel
408	CallsStarted int64 `protobuf:"varint,4,opt,name=calls_started,json=callsStarted,proto3" json:"calls_started,omitempty"`
409	// The number of calls that have completed with an OK status
410	CallsSucceeded int64 `protobuf:"varint,5,opt,name=calls_succeeded,json=callsSucceeded,proto3" json:"calls_succeeded,omitempty"`
411	// The number of calls that have completed with a non-OK status
412	CallsFailed int64 `protobuf:"varint,6,opt,name=calls_failed,json=callsFailed,proto3" json:"calls_failed,omitempty"`
413	// The last time a call was started on the channel.
414	LastCallStartedTimestamp *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=last_call_started_timestamp,json=lastCallStartedTimestamp,proto3" json:"last_call_started_timestamp,omitempty"`
415}
416
417func (x *ChannelData) Reset() {
418	*x = ChannelData{}
419	if protoimpl.UnsafeEnabled {
420		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[3]
421		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
422		ms.StoreMessageInfo(mi)
423	}
424}
425
426func (x *ChannelData) String() string {
427	return protoimpl.X.MessageStringOf(x)
428}
429
430func (*ChannelData) ProtoMessage() {}
431
432func (x *ChannelData) ProtoReflect() protoreflect.Message {
433	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[3]
434	if protoimpl.UnsafeEnabled && x != nil {
435		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
436		if ms.LoadMessageInfo() == nil {
437			ms.StoreMessageInfo(mi)
438		}
439		return ms
440	}
441	return mi.MessageOf(x)
442}
443
444// Deprecated: Use ChannelData.ProtoReflect.Descriptor instead.
445func (*ChannelData) Descriptor() ([]byte, []int) {
446	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{3}
447}
448
449func (x *ChannelData) GetState() *ChannelConnectivityState {
450	if x != nil {
451		return x.State
452	}
453	return nil
454}
455
456func (x *ChannelData) GetTarget() string {
457	if x != nil {
458		return x.Target
459	}
460	return ""
461}
462
463func (x *ChannelData) GetTrace() *ChannelTrace {
464	if x != nil {
465		return x.Trace
466	}
467	return nil
468}
469
470func (x *ChannelData) GetCallsStarted() int64 {
471	if x != nil {
472		return x.CallsStarted
473	}
474	return 0
475}
476
477func (x *ChannelData) GetCallsSucceeded() int64 {
478	if x != nil {
479		return x.CallsSucceeded
480	}
481	return 0
482}
483
484func (x *ChannelData) GetCallsFailed() int64 {
485	if x != nil {
486		return x.CallsFailed
487	}
488	return 0
489}
490
491func (x *ChannelData) GetLastCallStartedTimestamp() *timestamppb.Timestamp {
492	if x != nil {
493		return x.LastCallStartedTimestamp
494	}
495	return nil
496}
497
498// A trace event is an interesting thing that happened to a channel or
499// subchannel, such as creation, address resolution, subchannel creation, etc.
500type ChannelTraceEvent struct {
501	state         protoimpl.MessageState
502	sizeCache     protoimpl.SizeCache
503	unknownFields protoimpl.UnknownFields
504
505	// High level description of the event.
506	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
507	// the severity of the trace event
508	Severity ChannelTraceEvent_Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=grpc.channelz.v1.ChannelTraceEvent_Severity" json:"severity,omitempty"`
509	// When this event occurred.
510	Timestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
511	// ref of referenced channel or subchannel.
512	// Optional, only present if this event refers to a child object. For example,
513	// this field would be filled if this trace event was for a subchannel being
514	// created.
515	//
516	// Types that are assignable to ChildRef:
517	//	*ChannelTraceEvent_ChannelRef
518	//	*ChannelTraceEvent_SubchannelRef
519	ChildRef isChannelTraceEvent_ChildRef `protobuf_oneof:"child_ref"`
520}
521
522func (x *ChannelTraceEvent) Reset() {
523	*x = ChannelTraceEvent{}
524	if protoimpl.UnsafeEnabled {
525		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[4]
526		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
527		ms.StoreMessageInfo(mi)
528	}
529}
530
531func (x *ChannelTraceEvent) String() string {
532	return protoimpl.X.MessageStringOf(x)
533}
534
535func (*ChannelTraceEvent) ProtoMessage() {}
536
537func (x *ChannelTraceEvent) ProtoReflect() protoreflect.Message {
538	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[4]
539	if protoimpl.UnsafeEnabled && x != nil {
540		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
541		if ms.LoadMessageInfo() == nil {
542			ms.StoreMessageInfo(mi)
543		}
544		return ms
545	}
546	return mi.MessageOf(x)
547}
548
549// Deprecated: Use ChannelTraceEvent.ProtoReflect.Descriptor instead.
550func (*ChannelTraceEvent) Descriptor() ([]byte, []int) {
551	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{4}
552}
553
554func (x *ChannelTraceEvent) GetDescription() string {
555	if x != nil {
556		return x.Description
557	}
558	return ""
559}
560
561func (x *ChannelTraceEvent) GetSeverity() ChannelTraceEvent_Severity {
562	if x != nil {
563		return x.Severity
564	}
565	return ChannelTraceEvent_CT_UNKNOWN
566}
567
568func (x *ChannelTraceEvent) GetTimestamp() *timestamppb.Timestamp {
569	if x != nil {
570		return x.Timestamp
571	}
572	return nil
573}
574
575func (m *ChannelTraceEvent) GetChildRef() isChannelTraceEvent_ChildRef {
576	if m != nil {
577		return m.ChildRef
578	}
579	return nil
580}
581
582func (x *ChannelTraceEvent) GetChannelRef() *ChannelRef {
583	if x, ok := x.GetChildRef().(*ChannelTraceEvent_ChannelRef); ok {
584		return x.ChannelRef
585	}
586	return nil
587}
588
589func (x *ChannelTraceEvent) GetSubchannelRef() *SubchannelRef {
590	if x, ok := x.GetChildRef().(*ChannelTraceEvent_SubchannelRef); ok {
591		return x.SubchannelRef
592	}
593	return nil
594}
595
596type isChannelTraceEvent_ChildRef interface {
597	isChannelTraceEvent_ChildRef()
598}
599
600type ChannelTraceEvent_ChannelRef struct {
601	ChannelRef *ChannelRef `protobuf:"bytes,4,opt,name=channel_ref,json=channelRef,proto3,oneof"`
602}
603
604type ChannelTraceEvent_SubchannelRef struct {
605	SubchannelRef *SubchannelRef `protobuf:"bytes,5,opt,name=subchannel_ref,json=subchannelRef,proto3,oneof"`
606}
607
608func (*ChannelTraceEvent_ChannelRef) isChannelTraceEvent_ChildRef() {}
609
610func (*ChannelTraceEvent_SubchannelRef) isChannelTraceEvent_ChildRef() {}
611
612// ChannelTrace represents the recent events that have occurred on the channel.
613type ChannelTrace struct {
614	state         protoimpl.MessageState
615	sizeCache     protoimpl.SizeCache
616	unknownFields protoimpl.UnknownFields
617
618	// Number of events ever logged in this tracing object. This can differ from
619	// events.size() because events can be overwritten or garbage collected by
620	// implementations.
621	NumEventsLogged int64 `protobuf:"varint,1,opt,name=num_events_logged,json=numEventsLogged,proto3" json:"num_events_logged,omitempty"`
622	// Time that this channel was created.
623	CreationTimestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=creation_timestamp,json=creationTimestamp,proto3" json:"creation_timestamp,omitempty"`
624	// List of events that have occurred on this channel.
625	Events []*ChannelTraceEvent `protobuf:"bytes,3,rep,name=events,proto3" json:"events,omitempty"`
626}
627
628func (x *ChannelTrace) Reset() {
629	*x = ChannelTrace{}
630	if protoimpl.UnsafeEnabled {
631		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[5]
632		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
633		ms.StoreMessageInfo(mi)
634	}
635}
636
637func (x *ChannelTrace) String() string {
638	return protoimpl.X.MessageStringOf(x)
639}
640
641func (*ChannelTrace) ProtoMessage() {}
642
643func (x *ChannelTrace) ProtoReflect() protoreflect.Message {
644	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[5]
645	if protoimpl.UnsafeEnabled && x != nil {
646		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
647		if ms.LoadMessageInfo() == nil {
648			ms.StoreMessageInfo(mi)
649		}
650		return ms
651	}
652	return mi.MessageOf(x)
653}
654
655// Deprecated: Use ChannelTrace.ProtoReflect.Descriptor instead.
656func (*ChannelTrace) Descriptor() ([]byte, []int) {
657	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{5}
658}
659
660func (x *ChannelTrace) GetNumEventsLogged() int64 {
661	if x != nil {
662		return x.NumEventsLogged
663	}
664	return 0
665}
666
667func (x *ChannelTrace) GetCreationTimestamp() *timestamppb.Timestamp {
668	if x != nil {
669		return x.CreationTimestamp
670	}
671	return nil
672}
673
674func (x *ChannelTrace) GetEvents() []*ChannelTraceEvent {
675	if x != nil {
676		return x.Events
677	}
678	return nil
679}
680
681// ChannelRef is a reference to a Channel.
682type ChannelRef struct {
683	state         protoimpl.MessageState
684	sizeCache     protoimpl.SizeCache
685	unknownFields protoimpl.UnknownFields
686
687	// The globally unique id for this channel.  Must be a positive number.
688	ChannelId int64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
689	// An optional name associated with the channel.
690	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
691}
692
693func (x *ChannelRef) Reset() {
694	*x = ChannelRef{}
695	if protoimpl.UnsafeEnabled {
696		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[6]
697		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
698		ms.StoreMessageInfo(mi)
699	}
700}
701
702func (x *ChannelRef) String() string {
703	return protoimpl.X.MessageStringOf(x)
704}
705
706func (*ChannelRef) ProtoMessage() {}
707
708func (x *ChannelRef) ProtoReflect() protoreflect.Message {
709	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[6]
710	if protoimpl.UnsafeEnabled && x != nil {
711		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
712		if ms.LoadMessageInfo() == nil {
713			ms.StoreMessageInfo(mi)
714		}
715		return ms
716	}
717	return mi.MessageOf(x)
718}
719
720// Deprecated: Use ChannelRef.ProtoReflect.Descriptor instead.
721func (*ChannelRef) Descriptor() ([]byte, []int) {
722	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{6}
723}
724
725func (x *ChannelRef) GetChannelId() int64 {
726	if x != nil {
727		return x.ChannelId
728	}
729	return 0
730}
731
732func (x *ChannelRef) GetName() string {
733	if x != nil {
734		return x.Name
735	}
736	return ""
737}
738
739// SubchannelRef is a reference to a Subchannel.
740type SubchannelRef struct {
741	state         protoimpl.MessageState
742	sizeCache     protoimpl.SizeCache
743	unknownFields protoimpl.UnknownFields
744
745	// The globally unique id for this subchannel.  Must be a positive number.
746	SubchannelId int64 `protobuf:"varint,7,opt,name=subchannel_id,json=subchannelId,proto3" json:"subchannel_id,omitempty"`
747	// An optional name associated with the subchannel.
748	Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name,omitempty"`
749}
750
751func (x *SubchannelRef) Reset() {
752	*x = SubchannelRef{}
753	if protoimpl.UnsafeEnabled {
754		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[7]
755		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
756		ms.StoreMessageInfo(mi)
757	}
758}
759
760func (x *SubchannelRef) String() string {
761	return protoimpl.X.MessageStringOf(x)
762}
763
764func (*SubchannelRef) ProtoMessage() {}
765
766func (x *SubchannelRef) ProtoReflect() protoreflect.Message {
767	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[7]
768	if protoimpl.UnsafeEnabled && x != nil {
769		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
770		if ms.LoadMessageInfo() == nil {
771			ms.StoreMessageInfo(mi)
772		}
773		return ms
774	}
775	return mi.MessageOf(x)
776}
777
778// Deprecated: Use SubchannelRef.ProtoReflect.Descriptor instead.
779func (*SubchannelRef) Descriptor() ([]byte, []int) {
780	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{7}
781}
782
783func (x *SubchannelRef) GetSubchannelId() int64 {
784	if x != nil {
785		return x.SubchannelId
786	}
787	return 0
788}
789
790func (x *SubchannelRef) GetName() string {
791	if x != nil {
792		return x.Name
793	}
794	return ""
795}
796
797// SocketRef is a reference to a Socket.
798type SocketRef struct {
799	state         protoimpl.MessageState
800	sizeCache     protoimpl.SizeCache
801	unknownFields protoimpl.UnknownFields
802
803	// The globally unique id for this socket.  Must be a positive number.
804	SocketId int64 `protobuf:"varint,3,opt,name=socket_id,json=socketId,proto3" json:"socket_id,omitempty"`
805	// An optional name associated with the socket.
806	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
807}
808
809func (x *SocketRef) Reset() {
810	*x = SocketRef{}
811	if protoimpl.UnsafeEnabled {
812		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[8]
813		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
814		ms.StoreMessageInfo(mi)
815	}
816}
817
818func (x *SocketRef) String() string {
819	return protoimpl.X.MessageStringOf(x)
820}
821
822func (*SocketRef) ProtoMessage() {}
823
824func (x *SocketRef) ProtoReflect() protoreflect.Message {
825	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[8]
826	if protoimpl.UnsafeEnabled && x != nil {
827		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
828		if ms.LoadMessageInfo() == nil {
829			ms.StoreMessageInfo(mi)
830		}
831		return ms
832	}
833	return mi.MessageOf(x)
834}
835
836// Deprecated: Use SocketRef.ProtoReflect.Descriptor instead.
837func (*SocketRef) Descriptor() ([]byte, []int) {
838	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{8}
839}
840
841func (x *SocketRef) GetSocketId() int64 {
842	if x != nil {
843		return x.SocketId
844	}
845	return 0
846}
847
848func (x *SocketRef) GetName() string {
849	if x != nil {
850		return x.Name
851	}
852	return ""
853}
854
855// ServerRef is a reference to a Server.
856type ServerRef struct {
857	state         protoimpl.MessageState
858	sizeCache     protoimpl.SizeCache
859	unknownFields protoimpl.UnknownFields
860
861	// A globally unique identifier for this server.  Must be a positive number.
862	ServerId int64 `protobuf:"varint,5,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
863	// An optional name associated with the server.
864	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
865}
866
867func (x *ServerRef) Reset() {
868	*x = ServerRef{}
869	if protoimpl.UnsafeEnabled {
870		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[9]
871		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
872		ms.StoreMessageInfo(mi)
873	}
874}
875
876func (x *ServerRef) String() string {
877	return protoimpl.X.MessageStringOf(x)
878}
879
880func (*ServerRef) ProtoMessage() {}
881
882func (x *ServerRef) ProtoReflect() protoreflect.Message {
883	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[9]
884	if protoimpl.UnsafeEnabled && x != nil {
885		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
886		if ms.LoadMessageInfo() == nil {
887			ms.StoreMessageInfo(mi)
888		}
889		return ms
890	}
891	return mi.MessageOf(x)
892}
893
894// Deprecated: Use ServerRef.ProtoReflect.Descriptor instead.
895func (*ServerRef) Descriptor() ([]byte, []int) {
896	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{9}
897}
898
899func (x *ServerRef) GetServerId() int64 {
900	if x != nil {
901		return x.ServerId
902	}
903	return 0
904}
905
906func (x *ServerRef) GetName() string {
907	if x != nil {
908		return x.Name
909	}
910	return ""
911}
912
913// Server represents a single server.  There may be multiple servers in a single
914// program.
915type Server struct {
916	state         protoimpl.MessageState
917	sizeCache     protoimpl.SizeCache
918	unknownFields protoimpl.UnknownFields
919
920	// The identifier for a Server.  This should be set.
921	Ref *ServerRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
922	// The associated data of the Server.
923	Data *ServerData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
924	// The sockets that the server is listening on.  There are no ordering
925	// guarantees.  This may be absent.
926	ListenSocket []*SocketRef `protobuf:"bytes,3,rep,name=listen_socket,json=listenSocket,proto3" json:"listen_socket,omitempty"`
927}
928
929func (x *Server) Reset() {
930	*x = Server{}
931	if protoimpl.UnsafeEnabled {
932		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[10]
933		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
934		ms.StoreMessageInfo(mi)
935	}
936}
937
938func (x *Server) String() string {
939	return protoimpl.X.MessageStringOf(x)
940}
941
942func (*Server) ProtoMessage() {}
943
944func (x *Server) ProtoReflect() protoreflect.Message {
945	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[10]
946	if protoimpl.UnsafeEnabled && x != nil {
947		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
948		if ms.LoadMessageInfo() == nil {
949			ms.StoreMessageInfo(mi)
950		}
951		return ms
952	}
953	return mi.MessageOf(x)
954}
955
956// Deprecated: Use Server.ProtoReflect.Descriptor instead.
957func (*Server) Descriptor() ([]byte, []int) {
958	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{10}
959}
960
961func (x *Server) GetRef() *ServerRef {
962	if x != nil {
963		return x.Ref
964	}
965	return nil
966}
967
968func (x *Server) GetData() *ServerData {
969	if x != nil {
970		return x.Data
971	}
972	return nil
973}
974
975func (x *Server) GetListenSocket() []*SocketRef {
976	if x != nil {
977		return x.ListenSocket
978	}
979	return nil
980}
981
982// ServerData is data for a specific Server.
983type ServerData struct {
984	state         protoimpl.MessageState
985	sizeCache     protoimpl.SizeCache
986	unknownFields protoimpl.UnknownFields
987
988	// A trace of recent events on the server.  May be absent.
989	Trace *ChannelTrace `protobuf:"bytes,1,opt,name=trace,proto3" json:"trace,omitempty"`
990	// The number of incoming calls started on the server
991	CallsStarted int64 `protobuf:"varint,2,opt,name=calls_started,json=callsStarted,proto3" json:"calls_started,omitempty"`
992	// The number of incoming calls that have completed with an OK status
993	CallsSucceeded int64 `protobuf:"varint,3,opt,name=calls_succeeded,json=callsSucceeded,proto3" json:"calls_succeeded,omitempty"`
994	// The number of incoming calls that have a completed with a non-OK status
995	CallsFailed int64 `protobuf:"varint,4,opt,name=calls_failed,json=callsFailed,proto3" json:"calls_failed,omitempty"`
996	// The last time a call was started on the server.
997	LastCallStartedTimestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_call_started_timestamp,json=lastCallStartedTimestamp,proto3" json:"last_call_started_timestamp,omitempty"`
998}
999
1000func (x *ServerData) Reset() {
1001	*x = ServerData{}
1002	if protoimpl.UnsafeEnabled {
1003		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[11]
1004		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1005		ms.StoreMessageInfo(mi)
1006	}
1007}
1008
1009func (x *ServerData) String() string {
1010	return protoimpl.X.MessageStringOf(x)
1011}
1012
1013func (*ServerData) ProtoMessage() {}
1014
1015func (x *ServerData) ProtoReflect() protoreflect.Message {
1016	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[11]
1017	if protoimpl.UnsafeEnabled && x != nil {
1018		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1019		if ms.LoadMessageInfo() == nil {
1020			ms.StoreMessageInfo(mi)
1021		}
1022		return ms
1023	}
1024	return mi.MessageOf(x)
1025}
1026
1027// Deprecated: Use ServerData.ProtoReflect.Descriptor instead.
1028func (*ServerData) Descriptor() ([]byte, []int) {
1029	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{11}
1030}
1031
1032func (x *ServerData) GetTrace() *ChannelTrace {
1033	if x != nil {
1034		return x.Trace
1035	}
1036	return nil
1037}
1038
1039func (x *ServerData) GetCallsStarted() int64 {
1040	if x != nil {
1041		return x.CallsStarted
1042	}
1043	return 0
1044}
1045
1046func (x *ServerData) GetCallsSucceeded() int64 {
1047	if x != nil {
1048		return x.CallsSucceeded
1049	}
1050	return 0
1051}
1052
1053func (x *ServerData) GetCallsFailed() int64 {
1054	if x != nil {
1055		return x.CallsFailed
1056	}
1057	return 0
1058}
1059
1060func (x *ServerData) GetLastCallStartedTimestamp() *timestamppb.Timestamp {
1061	if x != nil {
1062		return x.LastCallStartedTimestamp
1063	}
1064	return nil
1065}
1066
1067// Information about an actual connection.  Pronounced "sock-ay".
1068type Socket struct {
1069	state         protoimpl.MessageState
1070	sizeCache     protoimpl.SizeCache
1071	unknownFields protoimpl.UnknownFields
1072
1073	// The identifier for the Socket.
1074	Ref *SocketRef `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
1075	// Data specific to this Socket.
1076	Data *SocketData `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
1077	// The locally bound address.
1078	Local *Address `protobuf:"bytes,3,opt,name=local,proto3" json:"local,omitempty"`
1079	// The remote bound address.  May be absent.
1080	Remote *Address `protobuf:"bytes,4,opt,name=remote,proto3" json:"remote,omitempty"`
1081	// Security details for this socket.  May be absent if not available, or
1082	// there is no security on the socket.
1083	Security *Security `protobuf:"bytes,5,opt,name=security,proto3" json:"security,omitempty"`
1084	// Optional, represents the name of the remote endpoint, if different than
1085	// the original target name.
1086	RemoteName string `protobuf:"bytes,6,opt,name=remote_name,json=remoteName,proto3" json:"remote_name,omitempty"`
1087}
1088
1089func (x *Socket) Reset() {
1090	*x = Socket{}
1091	if protoimpl.UnsafeEnabled {
1092		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[12]
1093		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1094		ms.StoreMessageInfo(mi)
1095	}
1096}
1097
1098func (x *Socket) String() string {
1099	return protoimpl.X.MessageStringOf(x)
1100}
1101
1102func (*Socket) ProtoMessage() {}
1103
1104func (x *Socket) ProtoReflect() protoreflect.Message {
1105	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[12]
1106	if protoimpl.UnsafeEnabled && x != nil {
1107		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1108		if ms.LoadMessageInfo() == nil {
1109			ms.StoreMessageInfo(mi)
1110		}
1111		return ms
1112	}
1113	return mi.MessageOf(x)
1114}
1115
1116// Deprecated: Use Socket.ProtoReflect.Descriptor instead.
1117func (*Socket) Descriptor() ([]byte, []int) {
1118	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{12}
1119}
1120
1121func (x *Socket) GetRef() *SocketRef {
1122	if x != nil {
1123		return x.Ref
1124	}
1125	return nil
1126}
1127
1128func (x *Socket) GetData() *SocketData {
1129	if x != nil {
1130		return x.Data
1131	}
1132	return nil
1133}
1134
1135func (x *Socket) GetLocal() *Address {
1136	if x != nil {
1137		return x.Local
1138	}
1139	return nil
1140}
1141
1142func (x *Socket) GetRemote() *Address {
1143	if x != nil {
1144		return x.Remote
1145	}
1146	return nil
1147}
1148
1149func (x *Socket) GetSecurity() *Security {
1150	if x != nil {
1151		return x.Security
1152	}
1153	return nil
1154}
1155
1156func (x *Socket) GetRemoteName() string {
1157	if x != nil {
1158		return x.RemoteName
1159	}
1160	return ""
1161}
1162
1163// SocketData is data associated for a specific Socket.  The fields present
1164// are specific to the implementation, so there may be minor differences in
1165// the semantics.  (e.g. flow control windows)
1166type SocketData struct {
1167	state         protoimpl.MessageState
1168	sizeCache     protoimpl.SizeCache
1169	unknownFields protoimpl.UnknownFields
1170
1171	// The number of streams that have been started.
1172	StreamsStarted int64 `protobuf:"varint,1,opt,name=streams_started,json=streamsStarted,proto3" json:"streams_started,omitempty"`
1173	// The number of streams that have ended successfully:
1174	// On client side, received frame with eos bit set;
1175	// On server side, sent frame with eos bit set.
1176	StreamsSucceeded int64 `protobuf:"varint,2,opt,name=streams_succeeded,json=streamsSucceeded,proto3" json:"streams_succeeded,omitempty"`
1177	// The number of streams that have ended unsuccessfully:
1178	// On client side, ended without receiving frame with eos bit set;
1179	// On server side, ended without sending frame with eos bit set.
1180	StreamsFailed int64 `protobuf:"varint,3,opt,name=streams_failed,json=streamsFailed,proto3" json:"streams_failed,omitempty"`
1181	// The number of grpc messages successfully sent on this socket.
1182	MessagesSent int64 `protobuf:"varint,4,opt,name=messages_sent,json=messagesSent,proto3" json:"messages_sent,omitempty"`
1183	// The number of grpc messages received on this socket.
1184	MessagesReceived int64 `protobuf:"varint,5,opt,name=messages_received,json=messagesReceived,proto3" json:"messages_received,omitempty"`
1185	// The number of keep alives sent.  This is typically implemented with HTTP/2
1186	// ping messages.
1187	KeepAlivesSent int64 `protobuf:"varint,6,opt,name=keep_alives_sent,json=keepAlivesSent,proto3" json:"keep_alives_sent,omitempty"`
1188	// The last time a stream was created by this endpoint.  Usually unset for
1189	// servers.
1190	LastLocalStreamCreatedTimestamp *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=last_local_stream_created_timestamp,json=lastLocalStreamCreatedTimestamp,proto3" json:"last_local_stream_created_timestamp,omitempty"`
1191	// The last time a stream was created by the remote endpoint.  Usually unset
1192	// for clients.
1193	LastRemoteStreamCreatedTimestamp *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=last_remote_stream_created_timestamp,json=lastRemoteStreamCreatedTimestamp,proto3" json:"last_remote_stream_created_timestamp,omitempty"`
1194	// The last time a message was sent by this endpoint.
1195	LastMessageSentTimestamp *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_message_sent_timestamp,json=lastMessageSentTimestamp,proto3" json:"last_message_sent_timestamp,omitempty"`
1196	// The last time a message was received by this endpoint.
1197	LastMessageReceivedTimestamp *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_message_received_timestamp,json=lastMessageReceivedTimestamp,proto3" json:"last_message_received_timestamp,omitempty"`
1198	// The amount of window, granted to the local endpoint by the remote endpoint.
1199	// This may be slightly out of date due to network latency.  This does NOT
1200	// include stream level or TCP level flow control info.
1201	LocalFlowControlWindow *wrapperspb.Int64Value `protobuf:"bytes,11,opt,name=local_flow_control_window,json=localFlowControlWindow,proto3" json:"local_flow_control_window,omitempty"`
1202	// The amount of window, granted to the remote endpoint by the local endpoint.
1203	// This may be slightly out of date due to network latency.  This does NOT
1204	// include stream level or TCP level flow control info.
1205	RemoteFlowControlWindow *wrapperspb.Int64Value `protobuf:"bytes,12,opt,name=remote_flow_control_window,json=remoteFlowControlWindow,proto3" json:"remote_flow_control_window,omitempty"`
1206	// Socket options set on this socket.  May be absent if 'summary' is set
1207	// on GetSocketRequest.
1208	Option []*SocketOption `protobuf:"bytes,13,rep,name=option,proto3" json:"option,omitempty"`
1209}
1210
1211func (x *SocketData) Reset() {
1212	*x = SocketData{}
1213	if protoimpl.UnsafeEnabled {
1214		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[13]
1215		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1216		ms.StoreMessageInfo(mi)
1217	}
1218}
1219
1220func (x *SocketData) String() string {
1221	return protoimpl.X.MessageStringOf(x)
1222}
1223
1224func (*SocketData) ProtoMessage() {}
1225
1226func (x *SocketData) ProtoReflect() protoreflect.Message {
1227	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[13]
1228	if protoimpl.UnsafeEnabled && x != nil {
1229		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1230		if ms.LoadMessageInfo() == nil {
1231			ms.StoreMessageInfo(mi)
1232		}
1233		return ms
1234	}
1235	return mi.MessageOf(x)
1236}
1237
1238// Deprecated: Use SocketData.ProtoReflect.Descriptor instead.
1239func (*SocketData) Descriptor() ([]byte, []int) {
1240	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{13}
1241}
1242
1243func (x *SocketData) GetStreamsStarted() int64 {
1244	if x != nil {
1245		return x.StreamsStarted
1246	}
1247	return 0
1248}
1249
1250func (x *SocketData) GetStreamsSucceeded() int64 {
1251	if x != nil {
1252		return x.StreamsSucceeded
1253	}
1254	return 0
1255}
1256
1257func (x *SocketData) GetStreamsFailed() int64 {
1258	if x != nil {
1259		return x.StreamsFailed
1260	}
1261	return 0
1262}
1263
1264func (x *SocketData) GetMessagesSent() int64 {
1265	if x != nil {
1266		return x.MessagesSent
1267	}
1268	return 0
1269}
1270
1271func (x *SocketData) GetMessagesReceived() int64 {
1272	if x != nil {
1273		return x.MessagesReceived
1274	}
1275	return 0
1276}
1277
1278func (x *SocketData) GetKeepAlivesSent() int64 {
1279	if x != nil {
1280		return x.KeepAlivesSent
1281	}
1282	return 0
1283}
1284
1285func (x *SocketData) GetLastLocalStreamCreatedTimestamp() *timestamppb.Timestamp {
1286	if x != nil {
1287		return x.LastLocalStreamCreatedTimestamp
1288	}
1289	return nil
1290}
1291
1292func (x *SocketData) GetLastRemoteStreamCreatedTimestamp() *timestamppb.Timestamp {
1293	if x != nil {
1294		return x.LastRemoteStreamCreatedTimestamp
1295	}
1296	return nil
1297}
1298
1299func (x *SocketData) GetLastMessageSentTimestamp() *timestamppb.Timestamp {
1300	if x != nil {
1301		return x.LastMessageSentTimestamp
1302	}
1303	return nil
1304}
1305
1306func (x *SocketData) GetLastMessageReceivedTimestamp() *timestamppb.Timestamp {
1307	if x != nil {
1308		return x.LastMessageReceivedTimestamp
1309	}
1310	return nil
1311}
1312
1313func (x *SocketData) GetLocalFlowControlWindow() *wrapperspb.Int64Value {
1314	if x != nil {
1315		return x.LocalFlowControlWindow
1316	}
1317	return nil
1318}
1319
1320func (x *SocketData) GetRemoteFlowControlWindow() *wrapperspb.Int64Value {
1321	if x != nil {
1322		return x.RemoteFlowControlWindow
1323	}
1324	return nil
1325}
1326
1327func (x *SocketData) GetOption() []*SocketOption {
1328	if x != nil {
1329		return x.Option
1330	}
1331	return nil
1332}
1333
1334// Address represents the address used to create the socket.
1335type Address struct {
1336	state         protoimpl.MessageState
1337	sizeCache     protoimpl.SizeCache
1338	unknownFields protoimpl.UnknownFields
1339
1340	// Types that are assignable to Address:
1341	//	*Address_TcpipAddress
1342	//	*Address_UdsAddress_
1343	//	*Address_OtherAddress_
1344	Address isAddress_Address `protobuf_oneof:"address"`
1345}
1346
1347func (x *Address) Reset() {
1348	*x = Address{}
1349	if protoimpl.UnsafeEnabled {
1350		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[14]
1351		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1352		ms.StoreMessageInfo(mi)
1353	}
1354}
1355
1356func (x *Address) String() string {
1357	return protoimpl.X.MessageStringOf(x)
1358}
1359
1360func (*Address) ProtoMessage() {}
1361
1362func (x *Address) ProtoReflect() protoreflect.Message {
1363	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[14]
1364	if protoimpl.UnsafeEnabled && x != nil {
1365		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1366		if ms.LoadMessageInfo() == nil {
1367			ms.StoreMessageInfo(mi)
1368		}
1369		return ms
1370	}
1371	return mi.MessageOf(x)
1372}
1373
1374// Deprecated: Use Address.ProtoReflect.Descriptor instead.
1375func (*Address) Descriptor() ([]byte, []int) {
1376	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{14}
1377}
1378
1379func (m *Address) GetAddress() isAddress_Address {
1380	if m != nil {
1381		return m.Address
1382	}
1383	return nil
1384}
1385
1386func (x *Address) GetTcpipAddress() *Address_TcpIpAddress {
1387	if x, ok := x.GetAddress().(*Address_TcpipAddress); ok {
1388		return x.TcpipAddress
1389	}
1390	return nil
1391}
1392
1393func (x *Address) GetUdsAddress() *Address_UdsAddress {
1394	if x, ok := x.GetAddress().(*Address_UdsAddress_); ok {
1395		return x.UdsAddress
1396	}
1397	return nil
1398}
1399
1400func (x *Address) GetOtherAddress() *Address_OtherAddress {
1401	if x, ok := x.GetAddress().(*Address_OtherAddress_); ok {
1402		return x.OtherAddress
1403	}
1404	return nil
1405}
1406
1407type isAddress_Address interface {
1408	isAddress_Address()
1409}
1410
1411type Address_TcpipAddress struct {
1412	TcpipAddress *Address_TcpIpAddress `protobuf:"bytes,1,opt,name=tcpip_address,json=tcpipAddress,proto3,oneof"`
1413}
1414
1415type Address_UdsAddress_ struct {
1416	UdsAddress *Address_UdsAddress `protobuf:"bytes,2,opt,name=uds_address,json=udsAddress,proto3,oneof"`
1417}
1418
1419type Address_OtherAddress_ struct {
1420	OtherAddress *Address_OtherAddress `protobuf:"bytes,3,opt,name=other_address,json=otherAddress,proto3,oneof"`
1421}
1422
1423func (*Address_TcpipAddress) isAddress_Address() {}
1424
1425func (*Address_UdsAddress_) isAddress_Address() {}
1426
1427func (*Address_OtherAddress_) isAddress_Address() {}
1428
1429// Security represents details about how secure the socket is.
1430type Security struct {
1431	state         protoimpl.MessageState
1432	sizeCache     protoimpl.SizeCache
1433	unknownFields protoimpl.UnknownFields
1434
1435	// Types that are assignable to Model:
1436	//	*Security_Tls_
1437	//	*Security_Other
1438	Model isSecurity_Model `protobuf_oneof:"model"`
1439}
1440
1441func (x *Security) Reset() {
1442	*x = Security{}
1443	if protoimpl.UnsafeEnabled {
1444		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[15]
1445		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1446		ms.StoreMessageInfo(mi)
1447	}
1448}
1449
1450func (x *Security) String() string {
1451	return protoimpl.X.MessageStringOf(x)
1452}
1453
1454func (*Security) ProtoMessage() {}
1455
1456func (x *Security) ProtoReflect() protoreflect.Message {
1457	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[15]
1458	if protoimpl.UnsafeEnabled && x != nil {
1459		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1460		if ms.LoadMessageInfo() == nil {
1461			ms.StoreMessageInfo(mi)
1462		}
1463		return ms
1464	}
1465	return mi.MessageOf(x)
1466}
1467
1468// Deprecated: Use Security.ProtoReflect.Descriptor instead.
1469func (*Security) Descriptor() ([]byte, []int) {
1470	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{15}
1471}
1472
1473func (m *Security) GetModel() isSecurity_Model {
1474	if m != nil {
1475		return m.Model
1476	}
1477	return nil
1478}
1479
1480func (x *Security) GetTls() *Security_Tls {
1481	if x, ok := x.GetModel().(*Security_Tls_); ok {
1482		return x.Tls
1483	}
1484	return nil
1485}
1486
1487func (x *Security) GetOther() *Security_OtherSecurity {
1488	if x, ok := x.GetModel().(*Security_Other); ok {
1489		return x.Other
1490	}
1491	return nil
1492}
1493
1494type isSecurity_Model interface {
1495	isSecurity_Model()
1496}
1497
1498type Security_Tls_ struct {
1499	Tls *Security_Tls `protobuf:"bytes,1,opt,name=tls,proto3,oneof"`
1500}
1501
1502type Security_Other struct {
1503	Other *Security_OtherSecurity `protobuf:"bytes,2,opt,name=other,proto3,oneof"`
1504}
1505
1506func (*Security_Tls_) isSecurity_Model() {}
1507
1508func (*Security_Other) isSecurity_Model() {}
1509
1510// SocketOption represents socket options for a socket.  Specifically, these
1511// are the options returned by getsockopt().
1512type SocketOption struct {
1513	state         protoimpl.MessageState
1514	sizeCache     protoimpl.SizeCache
1515	unknownFields protoimpl.UnknownFields
1516
1517	// The full name of the socket option.  Typically this will be the upper case
1518	// name, such as "SO_REUSEPORT".
1519	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1520	// The human readable value of this socket option.  At least one of value or
1521	// additional will be set.
1522	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
1523	// Additional data associated with the socket option.  At least one of value
1524	// or additional will be set.
1525	Additional *anypb.Any `protobuf:"bytes,3,opt,name=additional,proto3" json:"additional,omitempty"`
1526}
1527
1528func (x *SocketOption) Reset() {
1529	*x = SocketOption{}
1530	if protoimpl.UnsafeEnabled {
1531		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[16]
1532		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1533		ms.StoreMessageInfo(mi)
1534	}
1535}
1536
1537func (x *SocketOption) String() string {
1538	return protoimpl.X.MessageStringOf(x)
1539}
1540
1541func (*SocketOption) ProtoMessage() {}
1542
1543func (x *SocketOption) ProtoReflect() protoreflect.Message {
1544	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[16]
1545	if protoimpl.UnsafeEnabled && x != nil {
1546		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1547		if ms.LoadMessageInfo() == nil {
1548			ms.StoreMessageInfo(mi)
1549		}
1550		return ms
1551	}
1552	return mi.MessageOf(x)
1553}
1554
1555// Deprecated: Use SocketOption.ProtoReflect.Descriptor instead.
1556func (*SocketOption) Descriptor() ([]byte, []int) {
1557	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{16}
1558}
1559
1560func (x *SocketOption) GetName() string {
1561	if x != nil {
1562		return x.Name
1563	}
1564	return ""
1565}
1566
1567func (x *SocketOption) GetValue() string {
1568	if x != nil {
1569		return x.Value
1570	}
1571	return ""
1572}
1573
1574func (x *SocketOption) GetAdditional() *anypb.Any {
1575	if x != nil {
1576		return x.Additional
1577	}
1578	return nil
1579}
1580
1581// For use with SocketOption's additional field.  This is primarily used for
1582// SO_RCVTIMEO and SO_SNDTIMEO
1583type SocketOptionTimeout struct {
1584	state         protoimpl.MessageState
1585	sizeCache     protoimpl.SizeCache
1586	unknownFields protoimpl.UnknownFields
1587
1588	Duration *durationpb.Duration `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"`
1589}
1590
1591func (x *SocketOptionTimeout) Reset() {
1592	*x = SocketOptionTimeout{}
1593	if protoimpl.UnsafeEnabled {
1594		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[17]
1595		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1596		ms.StoreMessageInfo(mi)
1597	}
1598}
1599
1600func (x *SocketOptionTimeout) String() string {
1601	return protoimpl.X.MessageStringOf(x)
1602}
1603
1604func (*SocketOptionTimeout) ProtoMessage() {}
1605
1606func (x *SocketOptionTimeout) ProtoReflect() protoreflect.Message {
1607	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[17]
1608	if protoimpl.UnsafeEnabled && x != nil {
1609		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1610		if ms.LoadMessageInfo() == nil {
1611			ms.StoreMessageInfo(mi)
1612		}
1613		return ms
1614	}
1615	return mi.MessageOf(x)
1616}
1617
1618// Deprecated: Use SocketOptionTimeout.ProtoReflect.Descriptor instead.
1619func (*SocketOptionTimeout) Descriptor() ([]byte, []int) {
1620	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{17}
1621}
1622
1623func (x *SocketOptionTimeout) GetDuration() *durationpb.Duration {
1624	if x != nil {
1625		return x.Duration
1626	}
1627	return nil
1628}
1629
1630// For use with SocketOption's additional field.  This is primarily used for
1631// SO_LINGER.
1632type SocketOptionLinger struct {
1633	state         protoimpl.MessageState
1634	sizeCache     protoimpl.SizeCache
1635	unknownFields protoimpl.UnknownFields
1636
1637	// active maps to `struct linger.l_onoff`
1638	Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`
1639	// duration maps to `struct linger.l_linger`
1640	Duration *durationpb.Duration `protobuf:"bytes,2,opt,name=duration,proto3" json:"duration,omitempty"`
1641}
1642
1643func (x *SocketOptionLinger) Reset() {
1644	*x = SocketOptionLinger{}
1645	if protoimpl.UnsafeEnabled {
1646		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[18]
1647		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1648		ms.StoreMessageInfo(mi)
1649	}
1650}
1651
1652func (x *SocketOptionLinger) String() string {
1653	return protoimpl.X.MessageStringOf(x)
1654}
1655
1656func (*SocketOptionLinger) ProtoMessage() {}
1657
1658func (x *SocketOptionLinger) ProtoReflect() protoreflect.Message {
1659	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[18]
1660	if protoimpl.UnsafeEnabled && x != nil {
1661		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1662		if ms.LoadMessageInfo() == nil {
1663			ms.StoreMessageInfo(mi)
1664		}
1665		return ms
1666	}
1667	return mi.MessageOf(x)
1668}
1669
1670// Deprecated: Use SocketOptionLinger.ProtoReflect.Descriptor instead.
1671func (*SocketOptionLinger) Descriptor() ([]byte, []int) {
1672	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{18}
1673}
1674
1675func (x *SocketOptionLinger) GetActive() bool {
1676	if x != nil {
1677		return x.Active
1678	}
1679	return false
1680}
1681
1682func (x *SocketOptionLinger) GetDuration() *durationpb.Duration {
1683	if x != nil {
1684		return x.Duration
1685	}
1686	return nil
1687}
1688
1689// For use with SocketOption's additional field.  Tcp info for
1690// SOL_TCP and TCP_INFO.
1691type SocketOptionTcpInfo struct {
1692	state         protoimpl.MessageState
1693	sizeCache     protoimpl.SizeCache
1694	unknownFields protoimpl.UnknownFields
1695
1696	TcpiState        uint32 `protobuf:"varint,1,opt,name=tcpi_state,json=tcpiState,proto3" json:"tcpi_state,omitempty"`
1697	TcpiCaState      uint32 `protobuf:"varint,2,opt,name=tcpi_ca_state,json=tcpiCaState,proto3" json:"tcpi_ca_state,omitempty"`
1698	TcpiRetransmits  uint32 `protobuf:"varint,3,opt,name=tcpi_retransmits,json=tcpiRetransmits,proto3" json:"tcpi_retransmits,omitempty"`
1699	TcpiProbes       uint32 `protobuf:"varint,4,opt,name=tcpi_probes,json=tcpiProbes,proto3" json:"tcpi_probes,omitempty"`
1700	TcpiBackoff      uint32 `protobuf:"varint,5,opt,name=tcpi_backoff,json=tcpiBackoff,proto3" json:"tcpi_backoff,omitempty"`
1701	TcpiOptions      uint32 `protobuf:"varint,6,opt,name=tcpi_options,json=tcpiOptions,proto3" json:"tcpi_options,omitempty"`
1702	TcpiSndWscale    uint32 `protobuf:"varint,7,opt,name=tcpi_snd_wscale,json=tcpiSndWscale,proto3" json:"tcpi_snd_wscale,omitempty"`
1703	TcpiRcvWscale    uint32 `protobuf:"varint,8,opt,name=tcpi_rcv_wscale,json=tcpiRcvWscale,proto3" json:"tcpi_rcv_wscale,omitempty"`
1704	TcpiRto          uint32 `protobuf:"varint,9,opt,name=tcpi_rto,json=tcpiRto,proto3" json:"tcpi_rto,omitempty"`
1705	TcpiAto          uint32 `protobuf:"varint,10,opt,name=tcpi_ato,json=tcpiAto,proto3" json:"tcpi_ato,omitempty"`
1706	TcpiSndMss       uint32 `protobuf:"varint,11,opt,name=tcpi_snd_mss,json=tcpiSndMss,proto3" json:"tcpi_snd_mss,omitempty"`
1707	TcpiRcvMss       uint32 `protobuf:"varint,12,opt,name=tcpi_rcv_mss,json=tcpiRcvMss,proto3" json:"tcpi_rcv_mss,omitempty"`
1708	TcpiUnacked      uint32 `protobuf:"varint,13,opt,name=tcpi_unacked,json=tcpiUnacked,proto3" json:"tcpi_unacked,omitempty"`
1709	TcpiSacked       uint32 `protobuf:"varint,14,opt,name=tcpi_sacked,json=tcpiSacked,proto3" json:"tcpi_sacked,omitempty"`
1710	TcpiLost         uint32 `protobuf:"varint,15,opt,name=tcpi_lost,json=tcpiLost,proto3" json:"tcpi_lost,omitempty"`
1711	TcpiRetrans      uint32 `protobuf:"varint,16,opt,name=tcpi_retrans,json=tcpiRetrans,proto3" json:"tcpi_retrans,omitempty"`
1712	TcpiFackets      uint32 `protobuf:"varint,17,opt,name=tcpi_fackets,json=tcpiFackets,proto3" json:"tcpi_fackets,omitempty"`
1713	TcpiLastDataSent uint32 `protobuf:"varint,18,opt,name=tcpi_last_data_sent,json=tcpiLastDataSent,proto3" json:"tcpi_last_data_sent,omitempty"`
1714	TcpiLastAckSent  uint32 `protobuf:"varint,19,opt,name=tcpi_last_ack_sent,json=tcpiLastAckSent,proto3" json:"tcpi_last_ack_sent,omitempty"`
1715	TcpiLastDataRecv uint32 `protobuf:"varint,20,opt,name=tcpi_last_data_recv,json=tcpiLastDataRecv,proto3" json:"tcpi_last_data_recv,omitempty"`
1716	TcpiLastAckRecv  uint32 `protobuf:"varint,21,opt,name=tcpi_last_ack_recv,json=tcpiLastAckRecv,proto3" json:"tcpi_last_ack_recv,omitempty"`
1717	TcpiPmtu         uint32 `protobuf:"varint,22,opt,name=tcpi_pmtu,json=tcpiPmtu,proto3" json:"tcpi_pmtu,omitempty"`
1718	TcpiRcvSsthresh  uint32 `protobuf:"varint,23,opt,name=tcpi_rcv_ssthresh,json=tcpiRcvSsthresh,proto3" json:"tcpi_rcv_ssthresh,omitempty"`
1719	TcpiRtt          uint32 `protobuf:"varint,24,opt,name=tcpi_rtt,json=tcpiRtt,proto3" json:"tcpi_rtt,omitempty"`
1720	TcpiRttvar       uint32 `protobuf:"varint,25,opt,name=tcpi_rttvar,json=tcpiRttvar,proto3" json:"tcpi_rttvar,omitempty"`
1721	TcpiSndSsthresh  uint32 `protobuf:"varint,26,opt,name=tcpi_snd_ssthresh,json=tcpiSndSsthresh,proto3" json:"tcpi_snd_ssthresh,omitempty"`
1722	TcpiSndCwnd      uint32 `protobuf:"varint,27,opt,name=tcpi_snd_cwnd,json=tcpiSndCwnd,proto3" json:"tcpi_snd_cwnd,omitempty"`
1723	TcpiAdvmss       uint32 `protobuf:"varint,28,opt,name=tcpi_advmss,json=tcpiAdvmss,proto3" json:"tcpi_advmss,omitempty"`
1724	TcpiReordering   uint32 `protobuf:"varint,29,opt,name=tcpi_reordering,json=tcpiReordering,proto3" json:"tcpi_reordering,omitempty"`
1725}
1726
1727func (x *SocketOptionTcpInfo) Reset() {
1728	*x = SocketOptionTcpInfo{}
1729	if protoimpl.UnsafeEnabled {
1730		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[19]
1731		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1732		ms.StoreMessageInfo(mi)
1733	}
1734}
1735
1736func (x *SocketOptionTcpInfo) String() string {
1737	return protoimpl.X.MessageStringOf(x)
1738}
1739
1740func (*SocketOptionTcpInfo) ProtoMessage() {}
1741
1742func (x *SocketOptionTcpInfo) ProtoReflect() protoreflect.Message {
1743	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[19]
1744	if protoimpl.UnsafeEnabled && x != nil {
1745		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1746		if ms.LoadMessageInfo() == nil {
1747			ms.StoreMessageInfo(mi)
1748		}
1749		return ms
1750	}
1751	return mi.MessageOf(x)
1752}
1753
1754// Deprecated: Use SocketOptionTcpInfo.ProtoReflect.Descriptor instead.
1755func (*SocketOptionTcpInfo) Descriptor() ([]byte, []int) {
1756	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{19}
1757}
1758
1759func (x *SocketOptionTcpInfo) GetTcpiState() uint32 {
1760	if x != nil {
1761		return x.TcpiState
1762	}
1763	return 0
1764}
1765
1766func (x *SocketOptionTcpInfo) GetTcpiCaState() uint32 {
1767	if x != nil {
1768		return x.TcpiCaState
1769	}
1770	return 0
1771}
1772
1773func (x *SocketOptionTcpInfo) GetTcpiRetransmits() uint32 {
1774	if x != nil {
1775		return x.TcpiRetransmits
1776	}
1777	return 0
1778}
1779
1780func (x *SocketOptionTcpInfo) GetTcpiProbes() uint32 {
1781	if x != nil {
1782		return x.TcpiProbes
1783	}
1784	return 0
1785}
1786
1787func (x *SocketOptionTcpInfo) GetTcpiBackoff() uint32 {
1788	if x != nil {
1789		return x.TcpiBackoff
1790	}
1791	return 0
1792}
1793
1794func (x *SocketOptionTcpInfo) GetTcpiOptions() uint32 {
1795	if x != nil {
1796		return x.TcpiOptions
1797	}
1798	return 0
1799}
1800
1801func (x *SocketOptionTcpInfo) GetTcpiSndWscale() uint32 {
1802	if x != nil {
1803		return x.TcpiSndWscale
1804	}
1805	return 0
1806}
1807
1808func (x *SocketOptionTcpInfo) GetTcpiRcvWscale() uint32 {
1809	if x != nil {
1810		return x.TcpiRcvWscale
1811	}
1812	return 0
1813}
1814
1815func (x *SocketOptionTcpInfo) GetTcpiRto() uint32 {
1816	if x != nil {
1817		return x.TcpiRto
1818	}
1819	return 0
1820}
1821
1822func (x *SocketOptionTcpInfo) GetTcpiAto() uint32 {
1823	if x != nil {
1824		return x.TcpiAto
1825	}
1826	return 0
1827}
1828
1829func (x *SocketOptionTcpInfo) GetTcpiSndMss() uint32 {
1830	if x != nil {
1831		return x.TcpiSndMss
1832	}
1833	return 0
1834}
1835
1836func (x *SocketOptionTcpInfo) GetTcpiRcvMss() uint32 {
1837	if x != nil {
1838		return x.TcpiRcvMss
1839	}
1840	return 0
1841}
1842
1843func (x *SocketOptionTcpInfo) GetTcpiUnacked() uint32 {
1844	if x != nil {
1845		return x.TcpiUnacked
1846	}
1847	return 0
1848}
1849
1850func (x *SocketOptionTcpInfo) GetTcpiSacked() uint32 {
1851	if x != nil {
1852		return x.TcpiSacked
1853	}
1854	return 0
1855}
1856
1857func (x *SocketOptionTcpInfo) GetTcpiLost() uint32 {
1858	if x != nil {
1859		return x.TcpiLost
1860	}
1861	return 0
1862}
1863
1864func (x *SocketOptionTcpInfo) GetTcpiRetrans() uint32 {
1865	if x != nil {
1866		return x.TcpiRetrans
1867	}
1868	return 0
1869}
1870
1871func (x *SocketOptionTcpInfo) GetTcpiFackets() uint32 {
1872	if x != nil {
1873		return x.TcpiFackets
1874	}
1875	return 0
1876}
1877
1878func (x *SocketOptionTcpInfo) GetTcpiLastDataSent() uint32 {
1879	if x != nil {
1880		return x.TcpiLastDataSent
1881	}
1882	return 0
1883}
1884
1885func (x *SocketOptionTcpInfo) GetTcpiLastAckSent() uint32 {
1886	if x != nil {
1887		return x.TcpiLastAckSent
1888	}
1889	return 0
1890}
1891
1892func (x *SocketOptionTcpInfo) GetTcpiLastDataRecv() uint32 {
1893	if x != nil {
1894		return x.TcpiLastDataRecv
1895	}
1896	return 0
1897}
1898
1899func (x *SocketOptionTcpInfo) GetTcpiLastAckRecv() uint32 {
1900	if x != nil {
1901		return x.TcpiLastAckRecv
1902	}
1903	return 0
1904}
1905
1906func (x *SocketOptionTcpInfo) GetTcpiPmtu() uint32 {
1907	if x != nil {
1908		return x.TcpiPmtu
1909	}
1910	return 0
1911}
1912
1913func (x *SocketOptionTcpInfo) GetTcpiRcvSsthresh() uint32 {
1914	if x != nil {
1915		return x.TcpiRcvSsthresh
1916	}
1917	return 0
1918}
1919
1920func (x *SocketOptionTcpInfo) GetTcpiRtt() uint32 {
1921	if x != nil {
1922		return x.TcpiRtt
1923	}
1924	return 0
1925}
1926
1927func (x *SocketOptionTcpInfo) GetTcpiRttvar() uint32 {
1928	if x != nil {
1929		return x.TcpiRttvar
1930	}
1931	return 0
1932}
1933
1934func (x *SocketOptionTcpInfo) GetTcpiSndSsthresh() uint32 {
1935	if x != nil {
1936		return x.TcpiSndSsthresh
1937	}
1938	return 0
1939}
1940
1941func (x *SocketOptionTcpInfo) GetTcpiSndCwnd() uint32 {
1942	if x != nil {
1943		return x.TcpiSndCwnd
1944	}
1945	return 0
1946}
1947
1948func (x *SocketOptionTcpInfo) GetTcpiAdvmss() uint32 {
1949	if x != nil {
1950		return x.TcpiAdvmss
1951	}
1952	return 0
1953}
1954
1955func (x *SocketOptionTcpInfo) GetTcpiReordering() uint32 {
1956	if x != nil {
1957		return x.TcpiReordering
1958	}
1959	return 0
1960}
1961
1962type GetTopChannelsRequest struct {
1963	state         protoimpl.MessageState
1964	sizeCache     protoimpl.SizeCache
1965	unknownFields protoimpl.UnknownFields
1966
1967	// start_channel_id indicates that only channels at or above this id should be
1968	// included in the results.
1969	// To request the first page, this should be set to 0. To request
1970	// subsequent pages, the client generates this value by adding 1 to
1971	// the highest seen result ID.
1972	StartChannelId int64 `protobuf:"varint,1,opt,name=start_channel_id,json=startChannelId,proto3" json:"start_channel_id,omitempty"`
1973	// If non-zero, the server will return a page of results containing
1974	// at most this many items. If zero, the server will choose a
1975	// reasonable page size.  Must never be negative.
1976	MaxResults int64 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
1977}
1978
1979func (x *GetTopChannelsRequest) Reset() {
1980	*x = GetTopChannelsRequest{}
1981	if protoimpl.UnsafeEnabled {
1982		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[20]
1983		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1984		ms.StoreMessageInfo(mi)
1985	}
1986}
1987
1988func (x *GetTopChannelsRequest) String() string {
1989	return protoimpl.X.MessageStringOf(x)
1990}
1991
1992func (*GetTopChannelsRequest) ProtoMessage() {}
1993
1994func (x *GetTopChannelsRequest) ProtoReflect() protoreflect.Message {
1995	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[20]
1996	if protoimpl.UnsafeEnabled && x != nil {
1997		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1998		if ms.LoadMessageInfo() == nil {
1999			ms.StoreMessageInfo(mi)
2000		}
2001		return ms
2002	}
2003	return mi.MessageOf(x)
2004}
2005
2006// Deprecated: Use GetTopChannelsRequest.ProtoReflect.Descriptor instead.
2007func (*GetTopChannelsRequest) Descriptor() ([]byte, []int) {
2008	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{20}
2009}
2010
2011func (x *GetTopChannelsRequest) GetStartChannelId() int64 {
2012	if x != nil {
2013		return x.StartChannelId
2014	}
2015	return 0
2016}
2017
2018func (x *GetTopChannelsRequest) GetMaxResults() int64 {
2019	if x != nil {
2020		return x.MaxResults
2021	}
2022	return 0
2023}
2024
2025type GetTopChannelsResponse struct {
2026	state         protoimpl.MessageState
2027	sizeCache     protoimpl.SizeCache
2028	unknownFields protoimpl.UnknownFields
2029
2030	// list of channels that the connection detail service knows about.  Sorted in
2031	// ascending channel_id order.
2032	// Must contain at least 1 result, otherwise 'end' must be true.
2033	Channel []*Channel `protobuf:"bytes,1,rep,name=channel,proto3" json:"channel,omitempty"`
2034	// If set, indicates that the list of channels is the final list.  Requesting
2035	// more channels can only return more if they are created after this RPC
2036	// completes.
2037	End bool `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2038}
2039
2040func (x *GetTopChannelsResponse) Reset() {
2041	*x = GetTopChannelsResponse{}
2042	if protoimpl.UnsafeEnabled {
2043		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[21]
2044		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2045		ms.StoreMessageInfo(mi)
2046	}
2047}
2048
2049func (x *GetTopChannelsResponse) String() string {
2050	return protoimpl.X.MessageStringOf(x)
2051}
2052
2053func (*GetTopChannelsResponse) ProtoMessage() {}
2054
2055func (x *GetTopChannelsResponse) ProtoReflect() protoreflect.Message {
2056	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[21]
2057	if protoimpl.UnsafeEnabled && x != nil {
2058		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2059		if ms.LoadMessageInfo() == nil {
2060			ms.StoreMessageInfo(mi)
2061		}
2062		return ms
2063	}
2064	return mi.MessageOf(x)
2065}
2066
2067// Deprecated: Use GetTopChannelsResponse.ProtoReflect.Descriptor instead.
2068func (*GetTopChannelsResponse) Descriptor() ([]byte, []int) {
2069	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{21}
2070}
2071
2072func (x *GetTopChannelsResponse) GetChannel() []*Channel {
2073	if x != nil {
2074		return x.Channel
2075	}
2076	return nil
2077}
2078
2079func (x *GetTopChannelsResponse) GetEnd() bool {
2080	if x != nil {
2081		return x.End
2082	}
2083	return false
2084}
2085
2086type GetServersRequest struct {
2087	state         protoimpl.MessageState
2088	sizeCache     protoimpl.SizeCache
2089	unknownFields protoimpl.UnknownFields
2090
2091	// start_server_id indicates that only servers at or above this id should be
2092	// included in the results.
2093	// To request the first page, this must be set to 0. To request
2094	// subsequent pages, the client generates this value by adding 1 to
2095	// the highest seen result ID.
2096	StartServerId int64 `protobuf:"varint,1,opt,name=start_server_id,json=startServerId,proto3" json:"start_server_id,omitempty"`
2097	// If non-zero, the server will return a page of results containing
2098	// at most this many items. If zero, the server will choose a
2099	// reasonable page size.  Must never be negative.
2100	MaxResults int64 `protobuf:"varint,2,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
2101}
2102
2103func (x *GetServersRequest) Reset() {
2104	*x = GetServersRequest{}
2105	if protoimpl.UnsafeEnabled {
2106		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[22]
2107		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2108		ms.StoreMessageInfo(mi)
2109	}
2110}
2111
2112func (x *GetServersRequest) String() string {
2113	return protoimpl.X.MessageStringOf(x)
2114}
2115
2116func (*GetServersRequest) ProtoMessage() {}
2117
2118func (x *GetServersRequest) ProtoReflect() protoreflect.Message {
2119	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[22]
2120	if protoimpl.UnsafeEnabled && x != nil {
2121		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2122		if ms.LoadMessageInfo() == nil {
2123			ms.StoreMessageInfo(mi)
2124		}
2125		return ms
2126	}
2127	return mi.MessageOf(x)
2128}
2129
2130// Deprecated: Use GetServersRequest.ProtoReflect.Descriptor instead.
2131func (*GetServersRequest) Descriptor() ([]byte, []int) {
2132	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{22}
2133}
2134
2135func (x *GetServersRequest) GetStartServerId() int64 {
2136	if x != nil {
2137		return x.StartServerId
2138	}
2139	return 0
2140}
2141
2142func (x *GetServersRequest) GetMaxResults() int64 {
2143	if x != nil {
2144		return x.MaxResults
2145	}
2146	return 0
2147}
2148
2149type GetServersResponse struct {
2150	state         protoimpl.MessageState
2151	sizeCache     protoimpl.SizeCache
2152	unknownFields protoimpl.UnknownFields
2153
2154	// list of servers that the connection detail service knows about.  Sorted in
2155	// ascending server_id order.
2156	// Must contain at least 1 result, otherwise 'end' must be true.
2157	Server []*Server `protobuf:"bytes,1,rep,name=server,proto3" json:"server,omitempty"`
2158	// If set, indicates that the list of servers is the final list.  Requesting
2159	// more servers will only return more if they are created after this RPC
2160	// completes.
2161	End bool `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2162}
2163
2164func (x *GetServersResponse) Reset() {
2165	*x = GetServersResponse{}
2166	if protoimpl.UnsafeEnabled {
2167		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[23]
2168		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2169		ms.StoreMessageInfo(mi)
2170	}
2171}
2172
2173func (x *GetServersResponse) String() string {
2174	return protoimpl.X.MessageStringOf(x)
2175}
2176
2177func (*GetServersResponse) ProtoMessage() {}
2178
2179func (x *GetServersResponse) ProtoReflect() protoreflect.Message {
2180	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[23]
2181	if protoimpl.UnsafeEnabled && x != nil {
2182		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2183		if ms.LoadMessageInfo() == nil {
2184			ms.StoreMessageInfo(mi)
2185		}
2186		return ms
2187	}
2188	return mi.MessageOf(x)
2189}
2190
2191// Deprecated: Use GetServersResponse.ProtoReflect.Descriptor instead.
2192func (*GetServersResponse) Descriptor() ([]byte, []int) {
2193	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{23}
2194}
2195
2196func (x *GetServersResponse) GetServer() []*Server {
2197	if x != nil {
2198		return x.Server
2199	}
2200	return nil
2201}
2202
2203func (x *GetServersResponse) GetEnd() bool {
2204	if x != nil {
2205		return x.End
2206	}
2207	return false
2208}
2209
2210type GetServerRequest struct {
2211	state         protoimpl.MessageState
2212	sizeCache     protoimpl.SizeCache
2213	unknownFields protoimpl.UnknownFields
2214
2215	// server_id is the identifier of the specific server to get.
2216	ServerId int64 `protobuf:"varint,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
2217}
2218
2219func (x *GetServerRequest) Reset() {
2220	*x = GetServerRequest{}
2221	if protoimpl.UnsafeEnabled {
2222		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[24]
2223		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2224		ms.StoreMessageInfo(mi)
2225	}
2226}
2227
2228func (x *GetServerRequest) String() string {
2229	return protoimpl.X.MessageStringOf(x)
2230}
2231
2232func (*GetServerRequest) ProtoMessage() {}
2233
2234func (x *GetServerRequest) ProtoReflect() protoreflect.Message {
2235	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[24]
2236	if protoimpl.UnsafeEnabled && x != nil {
2237		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2238		if ms.LoadMessageInfo() == nil {
2239			ms.StoreMessageInfo(mi)
2240		}
2241		return ms
2242	}
2243	return mi.MessageOf(x)
2244}
2245
2246// Deprecated: Use GetServerRequest.ProtoReflect.Descriptor instead.
2247func (*GetServerRequest) Descriptor() ([]byte, []int) {
2248	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{24}
2249}
2250
2251func (x *GetServerRequest) GetServerId() int64 {
2252	if x != nil {
2253		return x.ServerId
2254	}
2255	return 0
2256}
2257
2258type GetServerResponse struct {
2259	state         protoimpl.MessageState
2260	sizeCache     protoimpl.SizeCache
2261	unknownFields protoimpl.UnknownFields
2262
2263	// The Server that corresponds to the requested server_id.  This field
2264	// should be set.
2265	Server *Server `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"`
2266}
2267
2268func (x *GetServerResponse) Reset() {
2269	*x = GetServerResponse{}
2270	if protoimpl.UnsafeEnabled {
2271		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[25]
2272		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2273		ms.StoreMessageInfo(mi)
2274	}
2275}
2276
2277func (x *GetServerResponse) String() string {
2278	return protoimpl.X.MessageStringOf(x)
2279}
2280
2281func (*GetServerResponse) ProtoMessage() {}
2282
2283func (x *GetServerResponse) ProtoReflect() protoreflect.Message {
2284	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[25]
2285	if protoimpl.UnsafeEnabled && x != nil {
2286		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2287		if ms.LoadMessageInfo() == nil {
2288			ms.StoreMessageInfo(mi)
2289		}
2290		return ms
2291	}
2292	return mi.MessageOf(x)
2293}
2294
2295// Deprecated: Use GetServerResponse.ProtoReflect.Descriptor instead.
2296func (*GetServerResponse) Descriptor() ([]byte, []int) {
2297	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{25}
2298}
2299
2300func (x *GetServerResponse) GetServer() *Server {
2301	if x != nil {
2302		return x.Server
2303	}
2304	return nil
2305}
2306
2307type GetServerSocketsRequest struct {
2308	state         protoimpl.MessageState
2309	sizeCache     protoimpl.SizeCache
2310	unknownFields protoimpl.UnknownFields
2311
2312	ServerId int64 `protobuf:"varint,1,opt,name=server_id,json=serverId,proto3" json:"server_id,omitempty"`
2313	// start_socket_id indicates that only sockets at or above this id should be
2314	// included in the results.
2315	// To request the first page, this must be set to 0. To request
2316	// subsequent pages, the client generates this value by adding 1 to
2317	// the highest seen result ID.
2318	StartSocketId int64 `protobuf:"varint,2,opt,name=start_socket_id,json=startSocketId,proto3" json:"start_socket_id,omitempty"`
2319	// If non-zero, the server will return a page of results containing
2320	// at most this many items. If zero, the server will choose a
2321	// reasonable page size.  Must never be negative.
2322	MaxResults int64 `protobuf:"varint,3,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
2323}
2324
2325func (x *GetServerSocketsRequest) Reset() {
2326	*x = GetServerSocketsRequest{}
2327	if protoimpl.UnsafeEnabled {
2328		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[26]
2329		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2330		ms.StoreMessageInfo(mi)
2331	}
2332}
2333
2334func (x *GetServerSocketsRequest) String() string {
2335	return protoimpl.X.MessageStringOf(x)
2336}
2337
2338func (*GetServerSocketsRequest) ProtoMessage() {}
2339
2340func (x *GetServerSocketsRequest) ProtoReflect() protoreflect.Message {
2341	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[26]
2342	if protoimpl.UnsafeEnabled && x != nil {
2343		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2344		if ms.LoadMessageInfo() == nil {
2345			ms.StoreMessageInfo(mi)
2346		}
2347		return ms
2348	}
2349	return mi.MessageOf(x)
2350}
2351
2352// Deprecated: Use GetServerSocketsRequest.ProtoReflect.Descriptor instead.
2353func (*GetServerSocketsRequest) Descriptor() ([]byte, []int) {
2354	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{26}
2355}
2356
2357func (x *GetServerSocketsRequest) GetServerId() int64 {
2358	if x != nil {
2359		return x.ServerId
2360	}
2361	return 0
2362}
2363
2364func (x *GetServerSocketsRequest) GetStartSocketId() int64 {
2365	if x != nil {
2366		return x.StartSocketId
2367	}
2368	return 0
2369}
2370
2371func (x *GetServerSocketsRequest) GetMaxResults() int64 {
2372	if x != nil {
2373		return x.MaxResults
2374	}
2375	return 0
2376}
2377
2378type GetServerSocketsResponse struct {
2379	state         protoimpl.MessageState
2380	sizeCache     protoimpl.SizeCache
2381	unknownFields protoimpl.UnknownFields
2382
2383	// list of socket refs that the connection detail service knows about.  Sorted in
2384	// ascending socket_id order.
2385	// Must contain at least 1 result, otherwise 'end' must be true.
2386	SocketRef []*SocketRef `protobuf:"bytes,1,rep,name=socket_ref,json=socketRef,proto3" json:"socket_ref,omitempty"`
2387	// If set, indicates that the list of sockets is the final list.  Requesting
2388	// more sockets will only return more if they are created after this RPC
2389	// completes.
2390	End bool `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
2391}
2392
2393func (x *GetServerSocketsResponse) Reset() {
2394	*x = GetServerSocketsResponse{}
2395	if protoimpl.UnsafeEnabled {
2396		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[27]
2397		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2398		ms.StoreMessageInfo(mi)
2399	}
2400}
2401
2402func (x *GetServerSocketsResponse) String() string {
2403	return protoimpl.X.MessageStringOf(x)
2404}
2405
2406func (*GetServerSocketsResponse) ProtoMessage() {}
2407
2408func (x *GetServerSocketsResponse) ProtoReflect() protoreflect.Message {
2409	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[27]
2410	if protoimpl.UnsafeEnabled && x != nil {
2411		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2412		if ms.LoadMessageInfo() == nil {
2413			ms.StoreMessageInfo(mi)
2414		}
2415		return ms
2416	}
2417	return mi.MessageOf(x)
2418}
2419
2420// Deprecated: Use GetServerSocketsResponse.ProtoReflect.Descriptor instead.
2421func (*GetServerSocketsResponse) Descriptor() ([]byte, []int) {
2422	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{27}
2423}
2424
2425func (x *GetServerSocketsResponse) GetSocketRef() []*SocketRef {
2426	if x != nil {
2427		return x.SocketRef
2428	}
2429	return nil
2430}
2431
2432func (x *GetServerSocketsResponse) GetEnd() bool {
2433	if x != nil {
2434		return x.End
2435	}
2436	return false
2437}
2438
2439type GetChannelRequest struct {
2440	state         protoimpl.MessageState
2441	sizeCache     protoimpl.SizeCache
2442	unknownFields protoimpl.UnknownFields
2443
2444	// channel_id is the identifier of the specific channel to get.
2445	ChannelId int64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
2446}
2447
2448func (x *GetChannelRequest) Reset() {
2449	*x = GetChannelRequest{}
2450	if protoimpl.UnsafeEnabled {
2451		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[28]
2452		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2453		ms.StoreMessageInfo(mi)
2454	}
2455}
2456
2457func (x *GetChannelRequest) String() string {
2458	return protoimpl.X.MessageStringOf(x)
2459}
2460
2461func (*GetChannelRequest) ProtoMessage() {}
2462
2463func (x *GetChannelRequest) ProtoReflect() protoreflect.Message {
2464	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[28]
2465	if protoimpl.UnsafeEnabled && x != nil {
2466		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2467		if ms.LoadMessageInfo() == nil {
2468			ms.StoreMessageInfo(mi)
2469		}
2470		return ms
2471	}
2472	return mi.MessageOf(x)
2473}
2474
2475// Deprecated: Use GetChannelRequest.ProtoReflect.Descriptor instead.
2476func (*GetChannelRequest) Descriptor() ([]byte, []int) {
2477	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{28}
2478}
2479
2480func (x *GetChannelRequest) GetChannelId() int64 {
2481	if x != nil {
2482		return x.ChannelId
2483	}
2484	return 0
2485}
2486
2487type GetChannelResponse struct {
2488	state         protoimpl.MessageState
2489	sizeCache     protoimpl.SizeCache
2490	unknownFields protoimpl.UnknownFields
2491
2492	// The Channel that corresponds to the requested channel_id.  This field
2493	// should be set.
2494	Channel *Channel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
2495}
2496
2497func (x *GetChannelResponse) Reset() {
2498	*x = GetChannelResponse{}
2499	if protoimpl.UnsafeEnabled {
2500		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[29]
2501		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2502		ms.StoreMessageInfo(mi)
2503	}
2504}
2505
2506func (x *GetChannelResponse) String() string {
2507	return protoimpl.X.MessageStringOf(x)
2508}
2509
2510func (*GetChannelResponse) ProtoMessage() {}
2511
2512func (x *GetChannelResponse) ProtoReflect() protoreflect.Message {
2513	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[29]
2514	if protoimpl.UnsafeEnabled && x != nil {
2515		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2516		if ms.LoadMessageInfo() == nil {
2517			ms.StoreMessageInfo(mi)
2518		}
2519		return ms
2520	}
2521	return mi.MessageOf(x)
2522}
2523
2524// Deprecated: Use GetChannelResponse.ProtoReflect.Descriptor instead.
2525func (*GetChannelResponse) Descriptor() ([]byte, []int) {
2526	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{29}
2527}
2528
2529func (x *GetChannelResponse) GetChannel() *Channel {
2530	if x != nil {
2531		return x.Channel
2532	}
2533	return nil
2534}
2535
2536type GetSubchannelRequest struct {
2537	state         protoimpl.MessageState
2538	sizeCache     protoimpl.SizeCache
2539	unknownFields protoimpl.UnknownFields
2540
2541	// subchannel_id is the identifier of the specific subchannel to get.
2542	SubchannelId int64 `protobuf:"varint,1,opt,name=subchannel_id,json=subchannelId,proto3" json:"subchannel_id,omitempty"`
2543}
2544
2545func (x *GetSubchannelRequest) Reset() {
2546	*x = GetSubchannelRequest{}
2547	if protoimpl.UnsafeEnabled {
2548		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[30]
2549		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2550		ms.StoreMessageInfo(mi)
2551	}
2552}
2553
2554func (x *GetSubchannelRequest) String() string {
2555	return protoimpl.X.MessageStringOf(x)
2556}
2557
2558func (*GetSubchannelRequest) ProtoMessage() {}
2559
2560func (x *GetSubchannelRequest) ProtoReflect() protoreflect.Message {
2561	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[30]
2562	if protoimpl.UnsafeEnabled && x != nil {
2563		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2564		if ms.LoadMessageInfo() == nil {
2565			ms.StoreMessageInfo(mi)
2566		}
2567		return ms
2568	}
2569	return mi.MessageOf(x)
2570}
2571
2572// Deprecated: Use GetSubchannelRequest.ProtoReflect.Descriptor instead.
2573func (*GetSubchannelRequest) Descriptor() ([]byte, []int) {
2574	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{30}
2575}
2576
2577func (x *GetSubchannelRequest) GetSubchannelId() int64 {
2578	if x != nil {
2579		return x.SubchannelId
2580	}
2581	return 0
2582}
2583
2584type GetSubchannelResponse struct {
2585	state         protoimpl.MessageState
2586	sizeCache     protoimpl.SizeCache
2587	unknownFields protoimpl.UnknownFields
2588
2589	// The Subchannel that corresponds to the requested subchannel_id.  This
2590	// field should be set.
2591	Subchannel *Subchannel `protobuf:"bytes,1,opt,name=subchannel,proto3" json:"subchannel,omitempty"`
2592}
2593
2594func (x *GetSubchannelResponse) Reset() {
2595	*x = GetSubchannelResponse{}
2596	if protoimpl.UnsafeEnabled {
2597		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[31]
2598		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2599		ms.StoreMessageInfo(mi)
2600	}
2601}
2602
2603func (x *GetSubchannelResponse) String() string {
2604	return protoimpl.X.MessageStringOf(x)
2605}
2606
2607func (*GetSubchannelResponse) ProtoMessage() {}
2608
2609func (x *GetSubchannelResponse) ProtoReflect() protoreflect.Message {
2610	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[31]
2611	if protoimpl.UnsafeEnabled && x != nil {
2612		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2613		if ms.LoadMessageInfo() == nil {
2614			ms.StoreMessageInfo(mi)
2615		}
2616		return ms
2617	}
2618	return mi.MessageOf(x)
2619}
2620
2621// Deprecated: Use GetSubchannelResponse.ProtoReflect.Descriptor instead.
2622func (*GetSubchannelResponse) Descriptor() ([]byte, []int) {
2623	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{31}
2624}
2625
2626func (x *GetSubchannelResponse) GetSubchannel() *Subchannel {
2627	if x != nil {
2628		return x.Subchannel
2629	}
2630	return nil
2631}
2632
2633type GetSocketRequest struct {
2634	state         protoimpl.MessageState
2635	sizeCache     protoimpl.SizeCache
2636	unknownFields protoimpl.UnknownFields
2637
2638	// socket_id is the identifier of the specific socket to get.
2639	SocketId int64 `protobuf:"varint,1,opt,name=socket_id,json=socketId,proto3" json:"socket_id,omitempty"`
2640	// If true, the response will contain only high level information
2641	// that is inexpensive to obtain. Fields thay may be omitted are
2642	// documented.
2643	Summary bool `protobuf:"varint,2,opt,name=summary,proto3" json:"summary,omitempty"`
2644}
2645
2646func (x *GetSocketRequest) Reset() {
2647	*x = GetSocketRequest{}
2648	if protoimpl.UnsafeEnabled {
2649		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[32]
2650		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2651		ms.StoreMessageInfo(mi)
2652	}
2653}
2654
2655func (x *GetSocketRequest) String() string {
2656	return protoimpl.X.MessageStringOf(x)
2657}
2658
2659func (*GetSocketRequest) ProtoMessage() {}
2660
2661func (x *GetSocketRequest) ProtoReflect() protoreflect.Message {
2662	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[32]
2663	if protoimpl.UnsafeEnabled && x != nil {
2664		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2665		if ms.LoadMessageInfo() == nil {
2666			ms.StoreMessageInfo(mi)
2667		}
2668		return ms
2669	}
2670	return mi.MessageOf(x)
2671}
2672
2673// Deprecated: Use GetSocketRequest.ProtoReflect.Descriptor instead.
2674func (*GetSocketRequest) Descriptor() ([]byte, []int) {
2675	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{32}
2676}
2677
2678func (x *GetSocketRequest) GetSocketId() int64 {
2679	if x != nil {
2680		return x.SocketId
2681	}
2682	return 0
2683}
2684
2685func (x *GetSocketRequest) GetSummary() bool {
2686	if x != nil {
2687		return x.Summary
2688	}
2689	return false
2690}
2691
2692type GetSocketResponse struct {
2693	state         protoimpl.MessageState
2694	sizeCache     protoimpl.SizeCache
2695	unknownFields protoimpl.UnknownFields
2696
2697	// The Socket that corresponds to the requested socket_id.  This field
2698	// should be set.
2699	Socket *Socket `protobuf:"bytes,1,opt,name=socket,proto3" json:"socket,omitempty"`
2700}
2701
2702func (x *GetSocketResponse) Reset() {
2703	*x = GetSocketResponse{}
2704	if protoimpl.UnsafeEnabled {
2705		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[33]
2706		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2707		ms.StoreMessageInfo(mi)
2708	}
2709}
2710
2711func (x *GetSocketResponse) String() string {
2712	return protoimpl.X.MessageStringOf(x)
2713}
2714
2715func (*GetSocketResponse) ProtoMessage() {}
2716
2717func (x *GetSocketResponse) ProtoReflect() protoreflect.Message {
2718	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[33]
2719	if protoimpl.UnsafeEnabled && x != nil {
2720		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2721		if ms.LoadMessageInfo() == nil {
2722			ms.StoreMessageInfo(mi)
2723		}
2724		return ms
2725	}
2726	return mi.MessageOf(x)
2727}
2728
2729// Deprecated: Use GetSocketResponse.ProtoReflect.Descriptor instead.
2730func (*GetSocketResponse) Descriptor() ([]byte, []int) {
2731	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{33}
2732}
2733
2734func (x *GetSocketResponse) GetSocket() *Socket {
2735	if x != nil {
2736		return x.Socket
2737	}
2738	return nil
2739}
2740
2741type Address_TcpIpAddress struct {
2742	state         protoimpl.MessageState
2743	sizeCache     protoimpl.SizeCache
2744	unknownFields protoimpl.UnknownFields
2745
2746	// Either the IPv4 or IPv6 address in bytes.  Will be either 4 bytes or 16
2747	// bytes in length.
2748	IpAddress []byte `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
2749	// 0-64k, or -1 if not appropriate.
2750	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
2751}
2752
2753func (x *Address_TcpIpAddress) Reset() {
2754	*x = Address_TcpIpAddress{}
2755	if protoimpl.UnsafeEnabled {
2756		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[34]
2757		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2758		ms.StoreMessageInfo(mi)
2759	}
2760}
2761
2762func (x *Address_TcpIpAddress) String() string {
2763	return protoimpl.X.MessageStringOf(x)
2764}
2765
2766func (*Address_TcpIpAddress) ProtoMessage() {}
2767
2768func (x *Address_TcpIpAddress) ProtoReflect() protoreflect.Message {
2769	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[34]
2770	if protoimpl.UnsafeEnabled && x != nil {
2771		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2772		if ms.LoadMessageInfo() == nil {
2773			ms.StoreMessageInfo(mi)
2774		}
2775		return ms
2776	}
2777	return mi.MessageOf(x)
2778}
2779
2780// Deprecated: Use Address_TcpIpAddress.ProtoReflect.Descriptor instead.
2781func (*Address_TcpIpAddress) Descriptor() ([]byte, []int) {
2782	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{14, 0}
2783}
2784
2785func (x *Address_TcpIpAddress) GetIpAddress() []byte {
2786	if x != nil {
2787		return x.IpAddress
2788	}
2789	return nil
2790}
2791
2792func (x *Address_TcpIpAddress) GetPort() int32 {
2793	if x != nil {
2794		return x.Port
2795	}
2796	return 0
2797}
2798
2799// A Unix Domain Socket address.
2800type Address_UdsAddress struct {
2801	state         protoimpl.MessageState
2802	sizeCache     protoimpl.SizeCache
2803	unknownFields protoimpl.UnknownFields
2804
2805	Filename string `protobuf:"bytes,1,opt,name=filename,proto3" json:"filename,omitempty"`
2806}
2807
2808func (x *Address_UdsAddress) Reset() {
2809	*x = Address_UdsAddress{}
2810	if protoimpl.UnsafeEnabled {
2811		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[35]
2812		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2813		ms.StoreMessageInfo(mi)
2814	}
2815}
2816
2817func (x *Address_UdsAddress) String() string {
2818	return protoimpl.X.MessageStringOf(x)
2819}
2820
2821func (*Address_UdsAddress) ProtoMessage() {}
2822
2823func (x *Address_UdsAddress) ProtoReflect() protoreflect.Message {
2824	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[35]
2825	if protoimpl.UnsafeEnabled && x != nil {
2826		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2827		if ms.LoadMessageInfo() == nil {
2828			ms.StoreMessageInfo(mi)
2829		}
2830		return ms
2831	}
2832	return mi.MessageOf(x)
2833}
2834
2835// Deprecated: Use Address_UdsAddress.ProtoReflect.Descriptor instead.
2836func (*Address_UdsAddress) Descriptor() ([]byte, []int) {
2837	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{14, 1}
2838}
2839
2840func (x *Address_UdsAddress) GetFilename() string {
2841	if x != nil {
2842		return x.Filename
2843	}
2844	return ""
2845}
2846
2847// An address type not included above.
2848type Address_OtherAddress struct {
2849	state         protoimpl.MessageState
2850	sizeCache     protoimpl.SizeCache
2851	unknownFields protoimpl.UnknownFields
2852
2853	// The human readable version of the value.  This value should be set.
2854	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
2855	// The actual address message.
2856	Value *anypb.Any `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
2857}
2858
2859func (x *Address_OtherAddress) Reset() {
2860	*x = Address_OtherAddress{}
2861	if protoimpl.UnsafeEnabled {
2862		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[36]
2863		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2864		ms.StoreMessageInfo(mi)
2865	}
2866}
2867
2868func (x *Address_OtherAddress) String() string {
2869	return protoimpl.X.MessageStringOf(x)
2870}
2871
2872func (*Address_OtherAddress) ProtoMessage() {}
2873
2874func (x *Address_OtherAddress) ProtoReflect() protoreflect.Message {
2875	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[36]
2876	if protoimpl.UnsafeEnabled && x != nil {
2877		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2878		if ms.LoadMessageInfo() == nil {
2879			ms.StoreMessageInfo(mi)
2880		}
2881		return ms
2882	}
2883	return mi.MessageOf(x)
2884}
2885
2886// Deprecated: Use Address_OtherAddress.ProtoReflect.Descriptor instead.
2887func (*Address_OtherAddress) Descriptor() ([]byte, []int) {
2888	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{14, 2}
2889}
2890
2891func (x *Address_OtherAddress) GetName() string {
2892	if x != nil {
2893		return x.Name
2894	}
2895	return ""
2896}
2897
2898func (x *Address_OtherAddress) GetValue() *anypb.Any {
2899	if x != nil {
2900		return x.Value
2901	}
2902	return nil
2903}
2904
2905type Security_Tls struct {
2906	state         protoimpl.MessageState
2907	sizeCache     protoimpl.SizeCache
2908	unknownFields protoimpl.UnknownFields
2909
2910	// Types that are assignable to CipherSuite:
2911	//	*Security_Tls_StandardName
2912	//	*Security_Tls_OtherName
2913	CipherSuite isSecurity_Tls_CipherSuite `protobuf_oneof:"cipher_suite"`
2914	// the certificate used by this endpoint.
2915	LocalCertificate []byte `protobuf:"bytes,3,opt,name=local_certificate,json=localCertificate,proto3" json:"local_certificate,omitempty"`
2916	// the certificate used by the remote endpoint.
2917	RemoteCertificate []byte `protobuf:"bytes,4,opt,name=remote_certificate,json=remoteCertificate,proto3" json:"remote_certificate,omitempty"`
2918}
2919
2920func (x *Security_Tls) Reset() {
2921	*x = Security_Tls{}
2922	if protoimpl.UnsafeEnabled {
2923		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[37]
2924		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2925		ms.StoreMessageInfo(mi)
2926	}
2927}
2928
2929func (x *Security_Tls) String() string {
2930	return protoimpl.X.MessageStringOf(x)
2931}
2932
2933func (*Security_Tls) ProtoMessage() {}
2934
2935func (x *Security_Tls) ProtoReflect() protoreflect.Message {
2936	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[37]
2937	if protoimpl.UnsafeEnabled && x != nil {
2938		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2939		if ms.LoadMessageInfo() == nil {
2940			ms.StoreMessageInfo(mi)
2941		}
2942		return ms
2943	}
2944	return mi.MessageOf(x)
2945}
2946
2947// Deprecated: Use Security_Tls.ProtoReflect.Descriptor instead.
2948func (*Security_Tls) Descriptor() ([]byte, []int) {
2949	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{15, 0}
2950}
2951
2952func (m *Security_Tls) GetCipherSuite() isSecurity_Tls_CipherSuite {
2953	if m != nil {
2954		return m.CipherSuite
2955	}
2956	return nil
2957}
2958
2959func (x *Security_Tls) GetStandardName() string {
2960	if x, ok := x.GetCipherSuite().(*Security_Tls_StandardName); ok {
2961		return x.StandardName
2962	}
2963	return ""
2964}
2965
2966func (x *Security_Tls) GetOtherName() string {
2967	if x, ok := x.GetCipherSuite().(*Security_Tls_OtherName); ok {
2968		return x.OtherName
2969	}
2970	return ""
2971}
2972
2973func (x *Security_Tls) GetLocalCertificate() []byte {
2974	if x != nil {
2975		return x.LocalCertificate
2976	}
2977	return nil
2978}
2979
2980func (x *Security_Tls) GetRemoteCertificate() []byte {
2981	if x != nil {
2982		return x.RemoteCertificate
2983	}
2984	return nil
2985}
2986
2987type isSecurity_Tls_CipherSuite interface {
2988	isSecurity_Tls_CipherSuite()
2989}
2990
2991type Security_Tls_StandardName struct {
2992	// The cipher suite name in the RFC 4346 format:
2993	// https://tools.ietf.org/html/rfc4346#appendix-C
2994	StandardName string `protobuf:"bytes,1,opt,name=standard_name,json=standardName,proto3,oneof"`
2995}
2996
2997type Security_Tls_OtherName struct {
2998	// Some other way to describe the cipher suite if
2999	// the RFC 4346 name is not available.
3000	OtherName string `protobuf:"bytes,2,opt,name=other_name,json=otherName,proto3,oneof"`
3001}
3002
3003func (*Security_Tls_StandardName) isSecurity_Tls_CipherSuite() {}
3004
3005func (*Security_Tls_OtherName) isSecurity_Tls_CipherSuite() {}
3006
3007type Security_OtherSecurity struct {
3008	state         protoimpl.MessageState
3009	sizeCache     protoimpl.SizeCache
3010	unknownFields protoimpl.UnknownFields
3011
3012	// The human readable version of the value.
3013	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
3014	// The actual security details message.
3015	Value *anypb.Any `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
3016}
3017
3018func (x *Security_OtherSecurity) Reset() {
3019	*x = Security_OtherSecurity{}
3020	if protoimpl.UnsafeEnabled {
3021		mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[38]
3022		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3023		ms.StoreMessageInfo(mi)
3024	}
3025}
3026
3027func (x *Security_OtherSecurity) String() string {
3028	return protoimpl.X.MessageStringOf(x)
3029}
3030
3031func (*Security_OtherSecurity) ProtoMessage() {}
3032
3033func (x *Security_OtherSecurity) ProtoReflect() protoreflect.Message {
3034	mi := &file_grpc_channelz_v1_channelz_proto_msgTypes[38]
3035	if protoimpl.UnsafeEnabled && x != nil {
3036		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
3037		if ms.LoadMessageInfo() == nil {
3038			ms.StoreMessageInfo(mi)
3039		}
3040		return ms
3041	}
3042	return mi.MessageOf(x)
3043}
3044
3045// Deprecated: Use Security_OtherSecurity.ProtoReflect.Descriptor instead.
3046func (*Security_OtherSecurity) Descriptor() ([]byte, []int) {
3047	return file_grpc_channelz_v1_channelz_proto_rawDescGZIP(), []int{15, 1}
3048}
3049
3050func (x *Security_OtherSecurity) GetName() string {
3051	if x != nil {
3052		return x.Name
3053	}
3054	return ""
3055}
3056
3057func (x *Security_OtherSecurity) GetValue() *anypb.Any {
3058	if x != nil {
3059		return x.Value
3060	}
3061	return nil
3062}
3063
3064var File_grpc_channelz_v1_channelz_proto protoreflect.FileDescriptor
3065
3066var file_grpc_channelz_v1_channelz_proto_rawDesc = []byte{
3067	0x0a, 0x1f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2f,
3068	0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3069	0x6f, 0x12, 0x10, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a,
3070	0x2e, 0x76, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
3071	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e,
3072	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
3073	0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
3074	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
3075	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
3076	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3077	0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
3078	0xaf, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x03, 0x72,
3079	0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
3080	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e,
3081	0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x04, 0x64,
3082	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63,
3083	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61,
3084	0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d,
3085	0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20,
3086	0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e,
3087	0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65,
3088	0x66, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x46, 0x0a,
3089	0x0e, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18,
3090	0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61,
3091	0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e,
3092	0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e,
3093	0x65, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x3a, 0x0a, 0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f,
3094	0x72, 0x65, 0x66, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63,
3095	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63,
3096	0x6b, 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x09, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65,
3097	0x66, 0x22, 0xb5, 0x02, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3098	0x12, 0x31, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
3099	0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31,
3100	0x2e, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x52, 0x03,
3101	0x72, 0x65, 0x66, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28,
3102	0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3103	0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61,
3104	0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
3105	0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72,
3106	0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43,
3107	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e,
3108	0x65, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x46, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e,
3109	0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
3110	0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31,
3111	0x2e, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x52, 0x0d,
3112	0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x3a, 0x0a,
3113	0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x05, 0x20, 0x03, 0x28,
3114	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3115	0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x09,
3116	0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x66, 0x22, 0xc2, 0x01, 0x0a, 0x18, 0x43, 0x68,
3117	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74,
3118	0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
3119	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61,
3120	0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3121	0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74,
3122	0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x5e,
3123	0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
3124	0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x49, 0x44, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x0e,
3125	0x0a, 0x0a, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09,
3126	0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x52, 0x41,
3127	0x4e, 0x53, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x04,
3128	0x12, 0x0c, 0x0a, 0x08, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x05, 0x22, 0xe9,
3129	0x02, 0x0a, 0x0b, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x40,
3130	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
3131	0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31,
3132	0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69,
3133	0x76, 0x69, 0x74, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
3134	0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3135	0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x72, 0x61, 0x63,
3136	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63,
3137	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e,
3138	0x65, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x12, 0x23,
3139	0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18,
3140	0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x74, 0x61, 0x72,
3141	0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x75, 0x63,
3142	0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x61,
3143	0x6c, 0x6c, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c,
3144	0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01,
3145	0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12,
3146	0x59, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61,
3147	0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07,
3148	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
3149	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3150	0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65,
3151	0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x98, 0x03, 0x0a, 0x11, 0x43,
3152	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74,
3153	0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
3154	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
3155	0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02,
3156	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e,
3157	0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54,
3158	0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69,
3159	0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x09,
3160	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
3161	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
3162	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d,
3163	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
3164	0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72,
3165	0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43,
3166	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x68, 0x61,
3167	0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x48, 0x0a, 0x0e, 0x73, 0x75, 0x62, 0x63, 0x68,
3168	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
3169	0x1f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e,
3170	0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66,
3171	0x48, 0x00, 0x52, 0x0d, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65,
3172	0x66, 0x22, 0x45, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a,
3173	0x0a, 0x43, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a,
3174	0x07, 0x43, 0x54, 0x5f, 0x49, 0x4e, 0x46, 0x4f, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x54,
3175	0x5f, 0x57, 0x41, 0x52, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x54,
3176	0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x42, 0x0b, 0x0a, 0x09, 0x63, 0x68, 0x69, 0x6c,
3177	0x64, 0x5f, 0x72, 0x65, 0x66, 0x22, 0xc2, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
3178	0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x76,
3179	0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x67, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
3180	0x03, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x4c, 0x6f, 0x67, 0x67,
3181	0x65, 0x64, 0x12, 0x49, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,
3182	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
3183	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3184	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x63, 0x72, 0x65, 0x61,
3185	0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x3b, 0x0a,
3186	0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e,
3187	0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31,
3188	0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x76, 0x65,
3189	0x6e, 0x74, 0x52, 0x06, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x63, 0x0a, 0x0a, 0x43, 0x68,
3190	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e,
3191	0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x68,
3192	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3193	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10,
3194	0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08,
3195	0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22,
3196	0x6c, 0x0a, 0x0d, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66,
3197	0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69,
3198	0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e,
3199	0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20,
3200	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a,
3201	0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10,
3202	0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x60, 0x0a,
3203	0x09, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f,
3204	0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73,
3205	0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3206	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10,
3207	0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08,
3208	0x06, 0x10, 0x07, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22,
3209	0x60, 0x0a, 0x09, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x12, 0x1b, 0x0a, 0x09,
3210	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
3211	0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
3212	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x4a, 0x04, 0x08,
3213	0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a,
3214	0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10,
3215	0x09, 0x22, 0xab, 0x01, 0x0a, 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x2d, 0x0a, 0x03,
3216	0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63,
3217	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72,
3218	0x76, 0x65, 0x72, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x04, 0x64,
3219	0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63,
3220	0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72,
3221	0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a,
3222	0x0d, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x03,
3223	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e,
3224	0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65,
3225	0x66, 0x52, 0x0c, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x22,
3226	0x8e, 0x02, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x34,
3227	0x0a, 0x05, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
3228	0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31,
3229	0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x05, 0x74,
3230	0x72, 0x61, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x73, 0x74,
3231	0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x61, 0x6c,
3232	0x6c, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x61, 0x6c,
3233	0x6c, 0x73, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,
3234	0x28, 0x03, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64,
3235	0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c,
3236	0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x46,
3237	0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x59, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x61,
3238	0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73,
3239	0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
3240	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
3241	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x6c,
3242	0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
3243	0x22, 0xa6, 0x02, 0x0a, 0x06, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x03, 0x72,
3244	0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
3245	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b,
3246	0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x03, 0x72, 0x65, 0x66, 0x12, 0x30, 0x0a, 0x04, 0x64, 0x61,
3247	0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
3248	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b,
3249	0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x05,
3250	0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72,
3251	0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x41,
3252	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x05, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x31, 0x0a,
3253	0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
3254	0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31,
3255	0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65,
3256	0x12, 0x36, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01,
3257	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
3258	0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08,
3259	0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f,
3260	0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72,
3261	0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x83, 0x07, 0x0a, 0x0a, 0x53, 0x6f,
3262	0x63, 0x6b, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x65,
3263	0x61, 0x6d, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
3264	0x03, 0x52, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65,
3265	0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x5f, 0x73, 0x75, 0x63,
3266	0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73, 0x74,
3267	0x72, 0x65, 0x61, 0x6d, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x25,
3268	0x0a, 0x0e, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
3269	0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x46,
3270	0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
3271	0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x65,
3272	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6d, 0x65,
3273	0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18,
3274	0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52,
3275	0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x65, 0x70, 0x5f,
3276	0x61, 0x6c, 0x69, 0x76, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
3277	0x03, 0x52, 0x0e, 0x6b, 0x65, 0x65, 0x70, 0x41, 0x6c, 0x69, 0x76, 0x65, 0x73, 0x53, 0x65, 0x6e,
3278	0x74, 0x12, 0x68, 0x0a, 0x23, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f,
3279	0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74,
3280	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
3281	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
3282	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1f, 0x6c, 0x61, 0x73, 0x74,
3283	0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74,
3284	0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x6a, 0x0a, 0x24, 0x6c,
3285	0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61,
3286	0x6d, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
3287	0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
3288	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
3289	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74,
3290	0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x54, 0x69,
3291	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x59, 0x0a, 0x1b, 0x6c, 0x61, 0x73, 0x74, 0x5f,
3292	0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d,
3293	0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
3294	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
3295	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65,
3296	0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
3297	0x6d, 0x70, 0x12, 0x61, 0x0a, 0x1f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61,
3298	0x67, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65,
3299	0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
3300	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
3301	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x1c, 0x6c, 0x61, 0x73, 0x74, 0x4d, 0x65, 0x73,
3302	0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65,
3303	0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x56, 0x0a, 0x19, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66,
3304	0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x77, 0x69, 0x6e, 0x64,
3305	0x6f, 0x77, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
3306	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34,
3307	0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x77,
3308	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x58, 0x0a,
3309	0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x63, 0x6f, 0x6e,
3310	0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x0c, 0x20, 0x01, 0x28,
3311	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3312	0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x17,
3313	0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x6c, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f,
3314	0x6c, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x36, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f,
3315	0x6e, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63,
3316	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65,
3317	0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22,
3318	0xb8, 0x03, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x74,
3319	0x63, 0x70, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01,
3320	0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
3321	0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x54, 0x63,
3322	0x70, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x63,
3323	0x70, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x47, 0x0a, 0x0b, 0x75, 0x64,
3324	0x73, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
3325	0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e,
3326	0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x55, 0x64, 0x73, 0x41, 0x64,
3327	0x64, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x75, 0x64, 0x73, 0x41, 0x64, 0x64, 0x72,
3328	0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64,
3329	0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x72, 0x70,
3330	0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64,
3331	0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65,
3332	0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65,
3333	0x73, 0x73, 0x1a, 0x41, 0x0a, 0x0c, 0x54, 0x63, 0x70, 0x49, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65,
3334	0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
3335	0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
3336	0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52,
3337	0x04, 0x70, 0x6f, 0x72, 0x74, 0x1a, 0x28, 0x0a, 0x0a, 0x55, 0x64, 0x73, 0x41, 0x64, 0x64, 0x72,
3338	0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18,
3339	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x1a,
3340	0x4e, 0x0a, 0x0c, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
3341	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
3342	0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
3343	0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
3344	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42,
3345	0x09, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x96, 0x03, 0x0a, 0x08, 0x53,
3346	0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x03, 0x74, 0x6c, 0x73, 0x18, 0x01,
3347	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e,
3348	0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
3349	0x2e, 0x54, 0x6c, 0x73, 0x48, 0x00, 0x52, 0x03, 0x74, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x05, 0x6f,
3350	0x74, 0x68, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x72, 0x70,
3351	0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
3352	0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x65, 0x63, 0x75,
3353	0x72, 0x69, 0x74, 0x79, 0x48, 0x00, 0x52, 0x05, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x1a, 0xb9, 0x01,
3354	0x0a, 0x03, 0x54, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
3355	0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c,
3356	0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a,
3357	0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
3358	0x48, 0x00, 0x52, 0x09, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a,
3359	0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
3360	0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43,
3361	0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x72, 0x65,
3362	0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65,
3363	0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x65,
3364	0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x63, 0x69, 0x70,
3365	0x68, 0x65, 0x72, 0x5f, 0x73, 0x75, 0x69, 0x74, 0x65, 0x1a, 0x4f, 0x0a, 0x0d, 0x4f, 0x74, 0x68,
3366	0x65, 0x72, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
3367	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a,
3368	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
3369	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
3370	0x41, 0x6e, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x6d, 0x6f,
3371	0x64, 0x65, 0x6c, 0x22, 0x6e, 0x0a, 0x0c, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74,
3372	0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3373	0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
3374	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a,
3375	0x0a, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
3376	0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3377	0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x0a, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f,
3378	0x6e, 0x61, 0x6c, 0x22, 0x4c, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74,
3379	0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x64, 0x75,
3380	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
3381	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
3382	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
3383	0x6e, 0x22, 0x63, 0x0a, 0x12, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f,
3384	0x6e, 0x4c, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76,
3385	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12,
3386	0x35, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
3387	0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
3388	0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x64, 0x75,
3389	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb2, 0x08, 0x0a, 0x13, 0x53, 0x6f, 0x63, 0x6b, 0x65,
3390	0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x63, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d,
3391	0x0a, 0x0a, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
3392	0x28, 0x0d, 0x52, 0x09, 0x74, 0x63, 0x70, 0x69, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a,
3393	0x0d, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x63, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02,
3394	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x43, 0x61, 0x53, 0x74, 0x61, 0x74,
3395	0x65, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e,
3396	0x73, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x63, 0x70,
3397	0x69, 0x52, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
3398	0x74, 0x63, 0x70, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
3399	0x0d, 0x52, 0x0a, 0x74, 0x63, 0x70, 0x69, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x73, 0x12, 0x21, 0x0a,
3400	0x0c, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, 0x05, 0x20,
3401	0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66,
3402	0x12, 0x21, 0x0a, 0x0c, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
3403	0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x4f, 0x70, 0x74, 0x69,
3404	0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x73, 0x6e, 0x64, 0x5f,
3405	0x77, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x63,
3406	0x70, 0x69, 0x53, 0x6e, 0x64, 0x57, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74,
3407	0x63, 0x70, 0x69, 0x5f, 0x72, 0x63, 0x76, 0x5f, 0x77, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x08,
3408	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x63, 0x70, 0x69, 0x52, 0x63, 0x76, 0x57, 0x73, 0x63,
3409	0x61, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x72, 0x74, 0x6f, 0x18,
3410	0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x63, 0x70, 0x69, 0x52, 0x74, 0x6f, 0x12, 0x19,
3411	0x0a, 0x08, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x61, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d,
3412	0x52, 0x07, 0x74, 0x63, 0x70, 0x69, 0x41, 0x74, 0x6f, 0x12, 0x20, 0x0a, 0x0c, 0x74, 0x63, 0x70,
3413	0x69, 0x5f, 0x73, 0x6e, 0x64, 0x5f, 0x6d, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
3414	0x0a, 0x74, 0x63, 0x70, 0x69, 0x53, 0x6e, 0x64, 0x4d, 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0c, 0x74,
3415	0x63, 0x70, 0x69, 0x5f, 0x72, 0x63, 0x76, 0x5f, 0x6d, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28,
3416	0x0d, 0x52, 0x0a, 0x74, 0x63, 0x70, 0x69, 0x52, 0x63, 0x76, 0x4d, 0x73, 0x73, 0x12, 0x21, 0x0a,
3417	0x0c, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x75, 0x6e, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x0d, 0x20,
3418	0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x55, 0x6e, 0x61, 0x63, 0x6b, 0x65, 0x64,
3419	0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x73, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x18,
3420	0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x63, 0x70, 0x69, 0x53, 0x61, 0x63, 0x6b, 0x65,
3421	0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x18, 0x0f,
3422	0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x74, 0x63, 0x70, 0x69, 0x4c, 0x6f, 0x73, 0x74, 0x12, 0x21,
3423	0x0a, 0x0c, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x18, 0x10,
3424	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x52, 0x65, 0x74, 0x72, 0x61, 0x6e,
3425	0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x66, 0x61, 0x63, 0x6b, 0x65, 0x74,
3426	0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x46, 0x61, 0x63,
3427	0x6b, 0x65, 0x74, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x6c, 0x61, 0x73,
3428	0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28,
3429	0x0d, 0x52, 0x10, 0x74, 0x63, 0x70, 0x69, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x53,
3430	0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x6c, 0x61, 0x73, 0x74,
3431	0x5f, 0x61, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 0x52,
3432	0x0f, 0x74, 0x63, 0x70, 0x69, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x6b, 0x53, 0x65, 0x6e, 0x74,
3433	0x12, 0x2d, 0x0a, 0x13, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x61,
3434	0x74, 0x61, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x74,
3435	0x63, 0x70, 0x69, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x63, 0x76, 0x12,
3436	0x2b, 0x0a, 0x12, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x6b,
3437	0x5f, 0x72, 0x65, 0x63, 0x76, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x63, 0x70,
3438	0x69, 0x4c, 0x61, 0x73, 0x74, 0x41, 0x63, 0x6b, 0x52, 0x65, 0x63, 0x76, 0x12, 0x1b, 0x0a, 0x09,
3439	0x74, 0x63, 0x70, 0x69, 0x5f, 0x70, 0x6d, 0x74, 0x75, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0d, 0x52,
3440	0x08, 0x74, 0x63, 0x70, 0x69, 0x50, 0x6d, 0x74, 0x75, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x63, 0x70,
3441	0x69, 0x5f, 0x72, 0x63, 0x76, 0x5f, 0x73, 0x73, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x18, 0x17,
3442	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x63, 0x70, 0x69, 0x52, 0x63, 0x76, 0x53, 0x73, 0x74,
3443	0x68, 0x72, 0x65, 0x73, 0x68, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x72, 0x74,
3444	0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x63, 0x70, 0x69, 0x52, 0x74, 0x74,
3445	0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x72, 0x74, 0x74, 0x76, 0x61, 0x72, 0x18,
3446	0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x63, 0x70, 0x69, 0x52, 0x74, 0x74, 0x76, 0x61,
3447	0x72, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x73, 0x6e, 0x64, 0x5f, 0x73, 0x73,
3448	0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x74, 0x63,
3449	0x70, 0x69, 0x53, 0x6e, 0x64, 0x53, 0x73, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x12, 0x22, 0x0a,
3450	0x0d, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x73, 0x6e, 0x64, 0x5f, 0x63, 0x77, 0x6e, 0x64, 0x18, 0x1b,
3451	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x53, 0x6e, 0x64, 0x43, 0x77, 0x6e,
3452	0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x61, 0x64, 0x76, 0x6d, 0x73, 0x73,
3453	0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x63, 0x70, 0x69, 0x41, 0x64, 0x76, 0x6d,
3454	0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x63, 0x70, 0x69, 0x5f, 0x72, 0x65, 0x6f, 0x72, 0x64,
3455	0x65, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x74, 0x63, 0x70,
3456	0x69, 0x52, 0x65, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x62, 0x0a, 0x15, 0x47,
3457	0x65, 0x74, 0x54, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71,
3458	0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x63, 0x68,
3459	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e,
3460	0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1f,
3461	0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20,
3462	0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22,
3463	0x5f, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3464	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x68, 0x61,
3465	0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70,
3466	0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68,
3467	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x10,
3468	0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x65, 0x6e, 0x64,
3469	0x22, 0x5c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65,
3470	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73,
3471	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d,
3472	0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1f, 0x0a,
3473	0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01,
3474	0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x58,
3475	0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
3476	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01,
3477	0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e,
3478	0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06,
3479	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20,
3480	0x01, 0x28, 0x08, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x2f, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53,
3481	0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09,
3482	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
3483	0x08, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x22, 0x45, 0x0a, 0x11, 0x47, 0x65, 0x74,
3484	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30,
3485	0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
3486	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76,
3487	0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
3488	0x22, 0x7f, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x6f, 0x63,
3489	0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73,
3490	0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08,
3491	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x74, 0x61, 0x72,
3492	0x74, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
3493	0x03, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64,
3494	0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
3495	0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
3496	0x73, 0x22, 0x68, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x6f,
3497	0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a,
3498	0x0a, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, 0x18, 0x01, 0x20, 0x03, 0x28,
3499	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3500	0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x66, 0x52, 0x09,
3501	0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64,
3502	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x32, 0x0a, 0x11, 0x47,
3503	0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3504	0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01,
3505	0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22,
3506	0x49, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73,
3507	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3508	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68,
3509	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65,
3510	0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x3b, 0x0a, 0x14, 0x47, 0x65,
3511	0x74, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65,
3512	0x73, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3513	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x63, 0x68,
3514	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x55, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x75,
3515	0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
3516	0x12, 0x3c, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01,
3517	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e,
3518	0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e,
3519	0x65, 0x6c, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x49,
3520	0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
3521	0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18,
3522	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12,
3523	0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
3524	0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x45, 0x0a, 0x11, 0x47, 0x65, 0x74,
3525	0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x30,
3526	0x0a, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18,
3527	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76,
3528	0x31, 0x2e, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74,
3529	0x32, 0x9a, 0x05, 0x0a, 0x08, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x12, 0x63, 0x0a,
3530	0x0e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12,
3531	0x27, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e,
3532	0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3533	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
3534	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54,
3535	0x6f, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3536	0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73,
3537	0x12, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a,
3538	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x52, 0x65,
3539	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61,
3540	0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76,
3541	0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x09, 0x47,
3542	0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
3543	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53,
3544	0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67,
3545	0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e,
3546	0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
3547	0x65, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x6f,
3548	0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61,
3549	0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76,
3550	0x65, 0x72, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3551	0x1a, 0x2a, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a,
3552	0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x6f, 0x63,
3553	0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0a,
3554	0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x23, 0x2e, 0x67, 0x72, 0x70,
3555	0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
3556	0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
3557	0x24, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e,
3558	0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73,
3559	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x63,
3560	0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x26, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68,
3561	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62,
3562	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27,
3563	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76,
3564	0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x75, 0x62, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52,
3565	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x6f,
3566	0x63, 0x6b, 0x65, 0x74, 0x12, 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e,
3567	0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6f, 0x63, 0x6b, 0x65,
3568	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e,
3569	0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53,
3570	0x6f, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x58, 0x0a,
3571	0x13, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c,
3572	0x7a, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x50, 0x72,
3573	0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f,
3574	0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x68,
3575	0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x7a, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x63, 0x68, 0x61, 0x6e,
3576	0x6e, 0x65, 0x6c, 0x7a, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
3577}
3578
3579var (
3580	file_grpc_channelz_v1_channelz_proto_rawDescOnce sync.Once
3581	file_grpc_channelz_v1_channelz_proto_rawDescData = file_grpc_channelz_v1_channelz_proto_rawDesc
3582)
3583
3584func file_grpc_channelz_v1_channelz_proto_rawDescGZIP() []byte {
3585	file_grpc_channelz_v1_channelz_proto_rawDescOnce.Do(func() {
3586		file_grpc_channelz_v1_channelz_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_channelz_v1_channelz_proto_rawDescData)
3587	})
3588	return file_grpc_channelz_v1_channelz_proto_rawDescData
3589}
3590
3591var file_grpc_channelz_v1_channelz_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
3592var file_grpc_channelz_v1_channelz_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
3593var file_grpc_channelz_v1_channelz_proto_goTypes = []interface{}{
3594	(ChannelConnectivityState_State)(0), // 0: grpc.channelz.v1.ChannelConnectivityState.State
3595	(ChannelTraceEvent_Severity)(0),     // 1: grpc.channelz.v1.ChannelTraceEvent.Severity
3596	(*Channel)(nil),                     // 2: grpc.channelz.v1.Channel
3597	(*Subchannel)(nil),                  // 3: grpc.channelz.v1.Subchannel
3598	(*ChannelConnectivityState)(nil),    // 4: grpc.channelz.v1.ChannelConnectivityState
3599	(*ChannelData)(nil),                 // 5: grpc.channelz.v1.ChannelData
3600	(*ChannelTraceEvent)(nil),           // 6: grpc.channelz.v1.ChannelTraceEvent
3601	(*ChannelTrace)(nil),                // 7: grpc.channelz.v1.ChannelTrace
3602	(*ChannelRef)(nil),                  // 8: grpc.channelz.v1.ChannelRef
3603	(*SubchannelRef)(nil),               // 9: grpc.channelz.v1.SubchannelRef
3604	(*SocketRef)(nil),                   // 10: grpc.channelz.v1.SocketRef
3605	(*ServerRef)(nil),                   // 11: grpc.channelz.v1.ServerRef
3606	(*Server)(nil),                      // 12: grpc.channelz.v1.Server
3607	(*ServerData)(nil),                  // 13: grpc.channelz.v1.ServerData
3608	(*Socket)(nil),                      // 14: grpc.channelz.v1.Socket
3609	(*SocketData)(nil),                  // 15: grpc.channelz.v1.SocketData
3610	(*Address)(nil),                     // 16: grpc.channelz.v1.Address
3611	(*Security)(nil),                    // 17: grpc.channelz.v1.Security
3612	(*SocketOption)(nil),                // 18: grpc.channelz.v1.SocketOption
3613	(*SocketOptionTimeout)(nil),         // 19: grpc.channelz.v1.SocketOptionTimeout
3614	(*SocketOptionLinger)(nil),          // 20: grpc.channelz.v1.SocketOptionLinger
3615	(*SocketOptionTcpInfo)(nil),         // 21: grpc.channelz.v1.SocketOptionTcpInfo
3616	(*GetTopChannelsRequest)(nil),       // 22: grpc.channelz.v1.GetTopChannelsRequest
3617	(*GetTopChannelsResponse)(nil),      // 23: grpc.channelz.v1.GetTopChannelsResponse
3618	(*GetServersRequest)(nil),           // 24: grpc.channelz.v1.GetServersRequest
3619	(*GetServersResponse)(nil),          // 25: grpc.channelz.v1.GetServersResponse
3620	(*GetServerRequest)(nil),            // 26: grpc.channelz.v1.GetServerRequest
3621	(*GetServerResponse)(nil),           // 27: grpc.channelz.v1.GetServerResponse
3622	(*GetServerSocketsRequest)(nil),     // 28: grpc.channelz.v1.GetServerSocketsRequest
3623	(*GetServerSocketsResponse)(nil),    // 29: grpc.channelz.v1.GetServerSocketsResponse
3624	(*GetChannelRequest)(nil),           // 30: grpc.channelz.v1.GetChannelRequest
3625	(*GetChannelResponse)(nil),          // 31: grpc.channelz.v1.GetChannelResponse
3626	(*GetSubchannelRequest)(nil),        // 32: grpc.channelz.v1.GetSubchannelRequest
3627	(*GetSubchannelResponse)(nil),       // 33: grpc.channelz.v1.GetSubchannelResponse
3628	(*GetSocketRequest)(nil),            // 34: grpc.channelz.v1.GetSocketRequest
3629	(*GetSocketResponse)(nil),           // 35: grpc.channelz.v1.GetSocketResponse
3630	(*Address_TcpIpAddress)(nil),        // 36: grpc.channelz.v1.Address.TcpIpAddress
3631	(*Address_UdsAddress)(nil),          // 37: grpc.channelz.v1.Address.UdsAddress
3632	(*Address_OtherAddress)(nil),        // 38: grpc.channelz.v1.Address.OtherAddress
3633	(*Security_Tls)(nil),                // 39: grpc.channelz.v1.Security.Tls
3634	(*Security_OtherSecurity)(nil),      // 40: grpc.channelz.v1.Security.OtherSecurity
3635	(*timestamppb.Timestamp)(nil),       // 41: google.protobuf.Timestamp
3636	(*wrapperspb.Int64Value)(nil),       // 42: google.protobuf.Int64Value
3637	(*anypb.Any)(nil),                   // 43: google.protobuf.Any
3638	(*durationpb.Duration)(nil),         // 44: google.protobuf.Duration
3639}
3640var file_grpc_channelz_v1_channelz_proto_depIdxs = []int32{
3641	8,  // 0: grpc.channelz.v1.Channel.ref:type_name -> grpc.channelz.v1.ChannelRef
3642	5,  // 1: grpc.channelz.v1.Channel.data:type_name -> grpc.channelz.v1.ChannelData
3643	8,  // 2: grpc.channelz.v1.Channel.channel_ref:type_name -> grpc.channelz.v1.ChannelRef
3644	9,  // 3: grpc.channelz.v1.Channel.subchannel_ref:type_name -> grpc.channelz.v1.SubchannelRef
3645	10, // 4: grpc.channelz.v1.Channel.socket_ref:type_name -> grpc.channelz.v1.SocketRef
3646	9,  // 5: grpc.channelz.v1.Subchannel.ref:type_name -> grpc.channelz.v1.SubchannelRef
3647	5,  // 6: grpc.channelz.v1.Subchannel.data:type_name -> grpc.channelz.v1.ChannelData
3648	8,  // 7: grpc.channelz.v1.Subchannel.channel_ref:type_name -> grpc.channelz.v1.ChannelRef
3649	9,  // 8: grpc.channelz.v1.Subchannel.subchannel_ref:type_name -> grpc.channelz.v1.SubchannelRef
3650	10, // 9: grpc.channelz.v1.Subchannel.socket_ref:type_name -> grpc.channelz.v1.SocketRef
3651	0,  // 10: grpc.channelz.v1.ChannelConnectivityState.state:type_name -> grpc.channelz.v1.ChannelConnectivityState.State
3652	4,  // 11: grpc.channelz.v1.ChannelData.state:type_name -> grpc.channelz.v1.ChannelConnectivityState
3653	7,  // 12: grpc.channelz.v1.ChannelData.trace:type_name -> grpc.channelz.v1.ChannelTrace
3654	41, // 13: grpc.channelz.v1.ChannelData.last_call_started_timestamp:type_name -> google.protobuf.Timestamp
3655	1,  // 14: grpc.channelz.v1.ChannelTraceEvent.severity:type_name -> grpc.channelz.v1.ChannelTraceEvent.Severity
3656	41, // 15: grpc.channelz.v1.ChannelTraceEvent.timestamp:type_name -> google.protobuf.Timestamp
3657	8,  // 16: grpc.channelz.v1.ChannelTraceEvent.channel_ref:type_name -> grpc.channelz.v1.ChannelRef
3658	9,  // 17: grpc.channelz.v1.ChannelTraceEvent.subchannel_ref:type_name -> grpc.channelz.v1.SubchannelRef
3659	41, // 18: grpc.channelz.v1.ChannelTrace.creation_timestamp:type_name -> google.protobuf.Timestamp
3660	6,  // 19: grpc.channelz.v1.ChannelTrace.events:type_name -> grpc.channelz.v1.ChannelTraceEvent
3661	11, // 20: grpc.channelz.v1.Server.ref:type_name -> grpc.channelz.v1.ServerRef
3662	13, // 21: grpc.channelz.v1.Server.data:type_name -> grpc.channelz.v1.ServerData
3663	10, // 22: grpc.channelz.v1.Server.listen_socket:type_name -> grpc.channelz.v1.SocketRef
3664	7,  // 23: grpc.channelz.v1.ServerData.trace:type_name -> grpc.channelz.v1.ChannelTrace
3665	41, // 24: grpc.channelz.v1.ServerData.last_call_started_timestamp:type_name -> google.protobuf.Timestamp
3666	10, // 25: grpc.channelz.v1.Socket.ref:type_name -> grpc.channelz.v1.SocketRef
3667	15, // 26: grpc.channelz.v1.Socket.data:type_name -> grpc.channelz.v1.SocketData
3668	16, // 27: grpc.channelz.v1.Socket.local:type_name -> grpc.channelz.v1.Address
3669	16, // 28: grpc.channelz.v1.Socket.remote:type_name -> grpc.channelz.v1.Address
3670	17, // 29: grpc.channelz.v1.Socket.security:type_name -> grpc.channelz.v1.Security
3671	41, // 30: grpc.channelz.v1.SocketData.last_local_stream_created_timestamp:type_name -> google.protobuf.Timestamp
3672	41, // 31: grpc.channelz.v1.SocketData.last_remote_stream_created_timestamp:type_name -> google.protobuf.Timestamp
3673	41, // 32: grpc.channelz.v1.SocketData.last_message_sent_timestamp:type_name -> google.protobuf.Timestamp
3674	41, // 33: grpc.channelz.v1.SocketData.last_message_received_timestamp:type_name -> google.protobuf.Timestamp
3675	42, // 34: grpc.channelz.v1.SocketData.local_flow_control_window:type_name -> google.protobuf.Int64Value
3676	42, // 35: grpc.channelz.v1.SocketData.remote_flow_control_window:type_name -> google.protobuf.Int64Value
3677	18, // 36: grpc.channelz.v1.SocketData.option:type_name -> grpc.channelz.v1.SocketOption
3678	36, // 37: grpc.channelz.v1.Address.tcpip_address:type_name -> grpc.channelz.v1.Address.TcpIpAddress
3679	37, // 38: grpc.channelz.v1.Address.uds_address:type_name -> grpc.channelz.v1.Address.UdsAddress
3680	38, // 39: grpc.channelz.v1.Address.other_address:type_name -> grpc.channelz.v1.Address.OtherAddress
3681	39, // 40: grpc.channelz.v1.Security.tls:type_name -> grpc.channelz.v1.Security.Tls
3682	40, // 41: grpc.channelz.v1.Security.other:type_name -> grpc.channelz.v1.Security.OtherSecurity
3683	43, // 42: grpc.channelz.v1.SocketOption.additional:type_name -> google.protobuf.Any
3684	44, // 43: grpc.channelz.v1.SocketOptionTimeout.duration:type_name -> google.protobuf.Duration
3685	44, // 44: grpc.channelz.v1.SocketOptionLinger.duration:type_name -> google.protobuf.Duration
3686	2,  // 45: grpc.channelz.v1.GetTopChannelsResponse.channel:type_name -> grpc.channelz.v1.Channel
3687	12, // 46: grpc.channelz.v1.GetServersResponse.server:type_name -> grpc.channelz.v1.Server
3688	12, // 47: grpc.channelz.v1.GetServerResponse.server:type_name -> grpc.channelz.v1.Server
3689	10, // 48: grpc.channelz.v1.GetServerSocketsResponse.socket_ref:type_name -> grpc.channelz.v1.SocketRef
3690	2,  // 49: grpc.channelz.v1.GetChannelResponse.channel:type_name -> grpc.channelz.v1.Channel
3691	3,  // 50: grpc.channelz.v1.GetSubchannelResponse.subchannel:type_name -> grpc.channelz.v1.Subchannel
3692	14, // 51: grpc.channelz.v1.GetSocketResponse.socket:type_name -> grpc.channelz.v1.Socket
3693	43, // 52: grpc.channelz.v1.Address.OtherAddress.value:type_name -> google.protobuf.Any
3694	43, // 53: grpc.channelz.v1.Security.OtherSecurity.value:type_name -> google.protobuf.Any
3695	22, // 54: grpc.channelz.v1.Channelz.GetTopChannels:input_type -> grpc.channelz.v1.GetTopChannelsRequest
3696	24, // 55: grpc.channelz.v1.Channelz.GetServers:input_type -> grpc.channelz.v1.GetServersRequest
3697	26, // 56: grpc.channelz.v1.Channelz.GetServer:input_type -> grpc.channelz.v1.GetServerRequest
3698	28, // 57: grpc.channelz.v1.Channelz.GetServerSockets:input_type -> grpc.channelz.v1.GetServerSocketsRequest
3699	30, // 58: grpc.channelz.v1.Channelz.GetChannel:input_type -> grpc.channelz.v1.GetChannelRequest
3700	32, // 59: grpc.channelz.v1.Channelz.GetSubchannel:input_type -> grpc.channelz.v1.GetSubchannelRequest
3701	34, // 60: grpc.channelz.v1.Channelz.GetSocket:input_type -> grpc.channelz.v1.GetSocketRequest
3702	23, // 61: grpc.channelz.v1.Channelz.GetTopChannels:output_type -> grpc.channelz.v1.GetTopChannelsResponse
3703	25, // 62: grpc.channelz.v1.Channelz.GetServers:output_type -> grpc.channelz.v1.GetServersResponse
3704	27, // 63: grpc.channelz.v1.Channelz.GetServer:output_type -> grpc.channelz.v1.GetServerResponse
3705	29, // 64: grpc.channelz.v1.Channelz.GetServerSockets:output_type -> grpc.channelz.v1.GetServerSocketsResponse
3706	31, // 65: grpc.channelz.v1.Channelz.GetChannel:output_type -> grpc.channelz.v1.GetChannelResponse
3707	33, // 66: grpc.channelz.v1.Channelz.GetSubchannel:output_type -> grpc.channelz.v1.GetSubchannelResponse
3708	35, // 67: grpc.channelz.v1.Channelz.GetSocket:output_type -> grpc.channelz.v1.GetSocketResponse
3709	61, // [61:68] is the sub-list for method output_type
3710	54, // [54:61] is the sub-list for method input_type
3711	54, // [54:54] is the sub-list for extension type_name
3712	54, // [54:54] is the sub-list for extension extendee
3713	0,  // [0:54] is the sub-list for field type_name
3714}
3715
3716func init() { file_grpc_channelz_v1_channelz_proto_init() }
3717func file_grpc_channelz_v1_channelz_proto_init() {
3718	if File_grpc_channelz_v1_channelz_proto != nil {
3719		return
3720	}
3721	if !protoimpl.UnsafeEnabled {
3722		file_grpc_channelz_v1_channelz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
3723			switch v := v.(*Channel); i {
3724			case 0:
3725				return &v.state
3726			case 1:
3727				return &v.sizeCache
3728			case 2:
3729				return &v.unknownFields
3730			default:
3731				return nil
3732			}
3733		}
3734		file_grpc_channelz_v1_channelz_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
3735			switch v := v.(*Subchannel); i {
3736			case 0:
3737				return &v.state
3738			case 1:
3739				return &v.sizeCache
3740			case 2:
3741				return &v.unknownFields
3742			default:
3743				return nil
3744			}
3745		}
3746		file_grpc_channelz_v1_channelz_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
3747			switch v := v.(*ChannelConnectivityState); i {
3748			case 0:
3749				return &v.state
3750			case 1:
3751				return &v.sizeCache
3752			case 2:
3753				return &v.unknownFields
3754			default:
3755				return nil
3756			}
3757		}
3758		file_grpc_channelz_v1_channelz_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
3759			switch v := v.(*ChannelData); i {
3760			case 0:
3761				return &v.state
3762			case 1:
3763				return &v.sizeCache
3764			case 2:
3765				return &v.unknownFields
3766			default:
3767				return nil
3768			}
3769		}
3770		file_grpc_channelz_v1_channelz_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
3771			switch v := v.(*ChannelTraceEvent); i {
3772			case 0:
3773				return &v.state
3774			case 1:
3775				return &v.sizeCache
3776			case 2:
3777				return &v.unknownFields
3778			default:
3779				return nil
3780			}
3781		}
3782		file_grpc_channelz_v1_channelz_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
3783			switch v := v.(*ChannelTrace); i {
3784			case 0:
3785				return &v.state
3786			case 1:
3787				return &v.sizeCache
3788			case 2:
3789				return &v.unknownFields
3790			default:
3791				return nil
3792			}
3793		}
3794		file_grpc_channelz_v1_channelz_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
3795			switch v := v.(*ChannelRef); i {
3796			case 0:
3797				return &v.state
3798			case 1:
3799				return &v.sizeCache
3800			case 2:
3801				return &v.unknownFields
3802			default:
3803				return nil
3804			}
3805		}
3806		file_grpc_channelz_v1_channelz_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
3807			switch v := v.(*SubchannelRef); i {
3808			case 0:
3809				return &v.state
3810			case 1:
3811				return &v.sizeCache
3812			case 2:
3813				return &v.unknownFields
3814			default:
3815				return nil
3816			}
3817		}
3818		file_grpc_channelz_v1_channelz_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
3819			switch v := v.(*SocketRef); i {
3820			case 0:
3821				return &v.state
3822			case 1:
3823				return &v.sizeCache
3824			case 2:
3825				return &v.unknownFields
3826			default:
3827				return nil
3828			}
3829		}
3830		file_grpc_channelz_v1_channelz_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
3831			switch v := v.(*ServerRef); i {
3832			case 0:
3833				return &v.state
3834			case 1:
3835				return &v.sizeCache
3836			case 2:
3837				return &v.unknownFields
3838			default:
3839				return nil
3840			}
3841		}
3842		file_grpc_channelz_v1_channelz_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
3843			switch v := v.(*Server); i {
3844			case 0:
3845				return &v.state
3846			case 1:
3847				return &v.sizeCache
3848			case 2:
3849				return &v.unknownFields
3850			default:
3851				return nil
3852			}
3853		}
3854		file_grpc_channelz_v1_channelz_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
3855			switch v := v.(*ServerData); i {
3856			case 0:
3857				return &v.state
3858			case 1:
3859				return &v.sizeCache
3860			case 2:
3861				return &v.unknownFields
3862			default:
3863				return nil
3864			}
3865		}
3866		file_grpc_channelz_v1_channelz_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
3867			switch v := v.(*Socket); i {
3868			case 0:
3869				return &v.state
3870			case 1:
3871				return &v.sizeCache
3872			case 2:
3873				return &v.unknownFields
3874			default:
3875				return nil
3876			}
3877		}
3878		file_grpc_channelz_v1_channelz_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
3879			switch v := v.(*SocketData); i {
3880			case 0:
3881				return &v.state
3882			case 1:
3883				return &v.sizeCache
3884			case 2:
3885				return &v.unknownFields
3886			default:
3887				return nil
3888			}
3889		}
3890		file_grpc_channelz_v1_channelz_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
3891			switch v := v.(*Address); i {
3892			case 0:
3893				return &v.state
3894			case 1:
3895				return &v.sizeCache
3896			case 2:
3897				return &v.unknownFields
3898			default:
3899				return nil
3900			}
3901		}
3902		file_grpc_channelz_v1_channelz_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
3903			switch v := v.(*Security); i {
3904			case 0:
3905				return &v.state
3906			case 1:
3907				return &v.sizeCache
3908			case 2:
3909				return &v.unknownFields
3910			default:
3911				return nil
3912			}
3913		}
3914		file_grpc_channelz_v1_channelz_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
3915			switch v := v.(*SocketOption); i {
3916			case 0:
3917				return &v.state
3918			case 1:
3919				return &v.sizeCache
3920			case 2:
3921				return &v.unknownFields
3922			default:
3923				return nil
3924			}
3925		}
3926		file_grpc_channelz_v1_channelz_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
3927			switch v := v.(*SocketOptionTimeout); i {
3928			case 0:
3929				return &v.state
3930			case 1:
3931				return &v.sizeCache
3932			case 2:
3933				return &v.unknownFields
3934			default:
3935				return nil
3936			}
3937		}
3938		file_grpc_channelz_v1_channelz_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
3939			switch v := v.(*SocketOptionLinger); i {
3940			case 0:
3941				return &v.state
3942			case 1:
3943				return &v.sizeCache
3944			case 2:
3945				return &v.unknownFields
3946			default:
3947				return nil
3948			}
3949		}
3950		file_grpc_channelz_v1_channelz_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
3951			switch v := v.(*SocketOptionTcpInfo); i {
3952			case 0:
3953				return &v.state
3954			case 1:
3955				return &v.sizeCache
3956			case 2:
3957				return &v.unknownFields
3958			default:
3959				return nil
3960			}
3961		}
3962		file_grpc_channelz_v1_channelz_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
3963			switch v := v.(*GetTopChannelsRequest); i {
3964			case 0:
3965				return &v.state
3966			case 1:
3967				return &v.sizeCache
3968			case 2:
3969				return &v.unknownFields
3970			default:
3971				return nil
3972			}
3973		}
3974		file_grpc_channelz_v1_channelz_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
3975			switch v := v.(*GetTopChannelsResponse); i {
3976			case 0:
3977				return &v.state
3978			case 1:
3979				return &v.sizeCache
3980			case 2:
3981				return &v.unknownFields
3982			default:
3983				return nil
3984			}
3985		}
3986		file_grpc_channelz_v1_channelz_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
3987			switch v := v.(*GetServersRequest); i {
3988			case 0:
3989				return &v.state
3990			case 1:
3991				return &v.sizeCache
3992			case 2:
3993				return &v.unknownFields
3994			default:
3995				return nil
3996			}
3997		}
3998		file_grpc_channelz_v1_channelz_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
3999			switch v := v.(*GetServersResponse); i {
4000			case 0:
4001				return &v.state
4002			case 1:
4003				return &v.sizeCache
4004			case 2:
4005				return &v.unknownFields
4006			default:
4007				return nil
4008			}
4009		}
4010		file_grpc_channelz_v1_channelz_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
4011			switch v := v.(*GetServerRequest); i {
4012			case 0:
4013				return &v.state
4014			case 1:
4015				return &v.sizeCache
4016			case 2:
4017				return &v.unknownFields
4018			default:
4019				return nil
4020			}
4021		}
4022		file_grpc_channelz_v1_channelz_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
4023			switch v := v.(*GetServerResponse); i {
4024			case 0:
4025				return &v.state
4026			case 1:
4027				return &v.sizeCache
4028			case 2:
4029				return &v.unknownFields
4030			default:
4031				return nil
4032			}
4033		}
4034		file_grpc_channelz_v1_channelz_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
4035			switch v := v.(*GetServerSocketsRequest); i {
4036			case 0:
4037				return &v.state
4038			case 1:
4039				return &v.sizeCache
4040			case 2:
4041				return &v.unknownFields
4042			default:
4043				return nil
4044			}
4045		}
4046		file_grpc_channelz_v1_channelz_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
4047			switch v := v.(*GetServerSocketsResponse); i {
4048			case 0:
4049				return &v.state
4050			case 1:
4051				return &v.sizeCache
4052			case 2:
4053				return &v.unknownFields
4054			default:
4055				return nil
4056			}
4057		}
4058		file_grpc_channelz_v1_channelz_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
4059			switch v := v.(*GetChannelRequest); i {
4060			case 0:
4061				return &v.state
4062			case 1:
4063				return &v.sizeCache
4064			case 2:
4065				return &v.unknownFields
4066			default:
4067				return nil
4068			}
4069		}
4070		file_grpc_channelz_v1_channelz_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
4071			switch v := v.(*GetChannelResponse); i {
4072			case 0:
4073				return &v.state
4074			case 1:
4075				return &v.sizeCache
4076			case 2:
4077				return &v.unknownFields
4078			default:
4079				return nil
4080			}
4081		}
4082		file_grpc_channelz_v1_channelz_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
4083			switch v := v.(*GetSubchannelRequest); i {
4084			case 0:
4085				return &v.state
4086			case 1:
4087				return &v.sizeCache
4088			case 2:
4089				return &v.unknownFields
4090			default:
4091				return nil
4092			}
4093		}
4094		file_grpc_channelz_v1_channelz_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
4095			switch v := v.(*GetSubchannelResponse); i {
4096			case 0:
4097				return &v.state
4098			case 1:
4099				return &v.sizeCache
4100			case 2:
4101				return &v.unknownFields
4102			default:
4103				return nil
4104			}
4105		}
4106		file_grpc_channelz_v1_channelz_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
4107			switch v := v.(*GetSocketRequest); i {
4108			case 0:
4109				return &v.state
4110			case 1:
4111				return &v.sizeCache
4112			case 2:
4113				return &v.unknownFields
4114			default:
4115				return nil
4116			}
4117		}
4118		file_grpc_channelz_v1_channelz_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
4119			switch v := v.(*GetSocketResponse); i {
4120			case 0:
4121				return &v.state
4122			case 1:
4123				return &v.sizeCache
4124			case 2:
4125				return &v.unknownFields
4126			default:
4127				return nil
4128			}
4129		}
4130		file_grpc_channelz_v1_channelz_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
4131			switch v := v.(*Address_TcpIpAddress); i {
4132			case 0:
4133				return &v.state
4134			case 1:
4135				return &v.sizeCache
4136			case 2:
4137				return &v.unknownFields
4138			default:
4139				return nil
4140			}
4141		}
4142		file_grpc_channelz_v1_channelz_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
4143			switch v := v.(*Address_UdsAddress); i {
4144			case 0:
4145				return &v.state
4146			case 1:
4147				return &v.sizeCache
4148			case 2:
4149				return &v.unknownFields
4150			default:
4151				return nil
4152			}
4153		}
4154		file_grpc_channelz_v1_channelz_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
4155			switch v := v.(*Address_OtherAddress); i {
4156			case 0:
4157				return &v.state
4158			case 1:
4159				return &v.sizeCache
4160			case 2:
4161				return &v.unknownFields
4162			default:
4163				return nil
4164			}
4165		}
4166		file_grpc_channelz_v1_channelz_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
4167			switch v := v.(*Security_Tls); i {
4168			case 0:
4169				return &v.state
4170			case 1:
4171				return &v.sizeCache
4172			case 2:
4173				return &v.unknownFields
4174			default:
4175				return nil
4176			}
4177		}
4178		file_grpc_channelz_v1_channelz_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
4179			switch v := v.(*Security_OtherSecurity); i {
4180			case 0:
4181				return &v.state
4182			case 1:
4183				return &v.sizeCache
4184			case 2:
4185				return &v.unknownFields
4186			default:
4187				return nil
4188			}
4189		}
4190	}
4191	file_grpc_channelz_v1_channelz_proto_msgTypes[4].OneofWrappers = []interface{}{
4192		(*ChannelTraceEvent_ChannelRef)(nil),
4193		(*ChannelTraceEvent_SubchannelRef)(nil),
4194	}
4195	file_grpc_channelz_v1_channelz_proto_msgTypes[14].OneofWrappers = []interface{}{
4196		(*Address_TcpipAddress)(nil),
4197		(*Address_UdsAddress_)(nil),
4198		(*Address_OtherAddress_)(nil),
4199	}
4200	file_grpc_channelz_v1_channelz_proto_msgTypes[15].OneofWrappers = []interface{}{
4201		(*Security_Tls_)(nil),
4202		(*Security_Other)(nil),
4203	}
4204	file_grpc_channelz_v1_channelz_proto_msgTypes[37].OneofWrappers = []interface{}{
4205		(*Security_Tls_StandardName)(nil),
4206		(*Security_Tls_OtherName)(nil),
4207	}
4208	type x struct{}
4209	out := protoimpl.TypeBuilder{
4210		File: protoimpl.DescBuilder{
4211			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4212			RawDescriptor: file_grpc_channelz_v1_channelz_proto_rawDesc,
4213			NumEnums:      2,
4214			NumMessages:   39,
4215			NumExtensions: 0,
4216			NumServices:   1,
4217		},
4218		GoTypes:           file_grpc_channelz_v1_channelz_proto_goTypes,
4219		DependencyIndexes: file_grpc_channelz_v1_channelz_proto_depIdxs,
4220		EnumInfos:         file_grpc_channelz_v1_channelz_proto_enumTypes,
4221		MessageInfos:      file_grpc_channelz_v1_channelz_proto_msgTypes,
4222	}.Build()
4223	File_grpc_channelz_v1_channelz_proto = out.File
4224	file_grpc_channelz_v1_channelz_proto_rawDesc = nil
4225	file_grpc_channelz_v1_channelz_proto_goTypes = nil
4226	file_grpc_channelz_v1_channelz_proto_depIdxs = nil
4227}
4228