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