google.golang.org/grpc@v1.62.1/credentials/alts/internal/proto/grpc_gcp/handshaker.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 // The canonical version of this proto can be found at 16 // https://github.com/grpc/grpc-proto/blob/master/grpc/gcp/handshaker.proto 17 18 // Code generated by protoc-gen-go. DO NOT EDIT. 19 // versions: 20 // protoc-gen-go v1.32.0 21 // protoc v4.25.2 22 // source: grpc/gcp/handshaker.proto 23 24 package grpc_gcp 25 26 import ( 27 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 28 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 29 reflect "reflect" 30 sync "sync" 31 ) 32 33 const ( 34 // Verify that this generated code is sufficiently up-to-date. 35 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 36 // Verify that runtime/protoimpl is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 38 ) 39 40 type HandshakeProtocol int32 41 42 const ( 43 // Default value. 44 HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED HandshakeProtocol = 0 45 // TLS handshake protocol. 46 HandshakeProtocol_TLS HandshakeProtocol = 1 47 // Application Layer Transport Security handshake protocol. 48 HandshakeProtocol_ALTS HandshakeProtocol = 2 49 ) 50 51 // Enum value maps for HandshakeProtocol. 52 var ( 53 HandshakeProtocol_name = map[int32]string{ 54 0: "HANDSHAKE_PROTOCOL_UNSPECIFIED", 55 1: "TLS", 56 2: "ALTS", 57 } 58 HandshakeProtocol_value = map[string]int32{ 59 "HANDSHAKE_PROTOCOL_UNSPECIFIED": 0, 60 "TLS": 1, 61 "ALTS": 2, 62 } 63 ) 64 65 func (x HandshakeProtocol) Enum() *HandshakeProtocol { 66 p := new(HandshakeProtocol) 67 *p = x 68 return p 69 } 70 71 func (x HandshakeProtocol) String() string { 72 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 73 } 74 75 func (HandshakeProtocol) Descriptor() protoreflect.EnumDescriptor { 76 return file_grpc_gcp_handshaker_proto_enumTypes[0].Descriptor() 77 } 78 79 func (HandshakeProtocol) Type() protoreflect.EnumType { 80 return &file_grpc_gcp_handshaker_proto_enumTypes[0] 81 } 82 83 func (x HandshakeProtocol) Number() protoreflect.EnumNumber { 84 return protoreflect.EnumNumber(x) 85 } 86 87 // Deprecated: Use HandshakeProtocol.Descriptor instead. 88 func (HandshakeProtocol) EnumDescriptor() ([]byte, []int) { 89 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{0} 90 } 91 92 type NetworkProtocol int32 93 94 const ( 95 NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED NetworkProtocol = 0 96 NetworkProtocol_TCP NetworkProtocol = 1 97 NetworkProtocol_UDP NetworkProtocol = 2 98 ) 99 100 // Enum value maps for NetworkProtocol. 101 var ( 102 NetworkProtocol_name = map[int32]string{ 103 0: "NETWORK_PROTOCOL_UNSPECIFIED", 104 1: "TCP", 105 2: "UDP", 106 } 107 NetworkProtocol_value = map[string]int32{ 108 "NETWORK_PROTOCOL_UNSPECIFIED": 0, 109 "TCP": 1, 110 "UDP": 2, 111 } 112 ) 113 114 func (x NetworkProtocol) Enum() *NetworkProtocol { 115 p := new(NetworkProtocol) 116 *p = x 117 return p 118 } 119 120 func (x NetworkProtocol) String() string { 121 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 122 } 123 124 func (NetworkProtocol) Descriptor() protoreflect.EnumDescriptor { 125 return file_grpc_gcp_handshaker_proto_enumTypes[1].Descriptor() 126 } 127 128 func (NetworkProtocol) Type() protoreflect.EnumType { 129 return &file_grpc_gcp_handshaker_proto_enumTypes[1] 130 } 131 132 func (x NetworkProtocol) Number() protoreflect.EnumNumber { 133 return protoreflect.EnumNumber(x) 134 } 135 136 // Deprecated: Use NetworkProtocol.Descriptor instead. 137 func (NetworkProtocol) EnumDescriptor() ([]byte, []int) { 138 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{1} 139 } 140 141 type Endpoint struct { 142 state protoimpl.MessageState 143 sizeCache protoimpl.SizeCache 144 unknownFields protoimpl.UnknownFields 145 146 // IP address. It should contain an IPv4 or IPv6 string literal, e.g. 147 // "192.168.0.1" or "2001:db8::1". 148 IpAddress string `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"` 149 // Port number. 150 Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"` 151 // Network protocol (e.g., TCP, UDP) associated with this endpoint. 152 Protocol NetworkProtocol `protobuf:"varint,3,opt,name=protocol,proto3,enum=grpc.gcp.NetworkProtocol" json:"protocol,omitempty"` 153 } 154 155 func (x *Endpoint) Reset() { 156 *x = Endpoint{} 157 if protoimpl.UnsafeEnabled { 158 mi := &file_grpc_gcp_handshaker_proto_msgTypes[0] 159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 160 ms.StoreMessageInfo(mi) 161 } 162 } 163 164 func (x *Endpoint) String() string { 165 return protoimpl.X.MessageStringOf(x) 166 } 167 168 func (*Endpoint) ProtoMessage() {} 169 170 func (x *Endpoint) ProtoReflect() protoreflect.Message { 171 mi := &file_grpc_gcp_handshaker_proto_msgTypes[0] 172 if protoimpl.UnsafeEnabled && x != nil { 173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 174 if ms.LoadMessageInfo() == nil { 175 ms.StoreMessageInfo(mi) 176 } 177 return ms 178 } 179 return mi.MessageOf(x) 180 } 181 182 // Deprecated: Use Endpoint.ProtoReflect.Descriptor instead. 183 func (*Endpoint) Descriptor() ([]byte, []int) { 184 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{0} 185 } 186 187 func (x *Endpoint) GetIpAddress() string { 188 if x != nil { 189 return x.IpAddress 190 } 191 return "" 192 } 193 194 func (x *Endpoint) GetPort() int32 { 195 if x != nil { 196 return x.Port 197 } 198 return 0 199 } 200 201 func (x *Endpoint) GetProtocol() NetworkProtocol { 202 if x != nil { 203 return x.Protocol 204 } 205 return NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED 206 } 207 208 type Identity struct { 209 state protoimpl.MessageState 210 sizeCache protoimpl.SizeCache 211 unknownFields protoimpl.UnknownFields 212 213 // Types that are assignable to IdentityOneof: 214 // 215 // *Identity_ServiceAccount 216 // *Identity_Hostname 217 IdentityOneof isIdentity_IdentityOneof `protobuf_oneof:"identity_oneof"` 218 // Additional attributes of the identity. 219 Attributes map[string]string `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 220 } 221 222 func (x *Identity) Reset() { 223 *x = Identity{} 224 if protoimpl.UnsafeEnabled { 225 mi := &file_grpc_gcp_handshaker_proto_msgTypes[1] 226 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 227 ms.StoreMessageInfo(mi) 228 } 229 } 230 231 func (x *Identity) String() string { 232 return protoimpl.X.MessageStringOf(x) 233 } 234 235 func (*Identity) ProtoMessage() {} 236 237 func (x *Identity) ProtoReflect() protoreflect.Message { 238 mi := &file_grpc_gcp_handshaker_proto_msgTypes[1] 239 if protoimpl.UnsafeEnabled && x != nil { 240 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 241 if ms.LoadMessageInfo() == nil { 242 ms.StoreMessageInfo(mi) 243 } 244 return ms 245 } 246 return mi.MessageOf(x) 247 } 248 249 // Deprecated: Use Identity.ProtoReflect.Descriptor instead. 250 func (*Identity) Descriptor() ([]byte, []int) { 251 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{1} 252 } 253 254 func (m *Identity) GetIdentityOneof() isIdentity_IdentityOneof { 255 if m != nil { 256 return m.IdentityOneof 257 } 258 return nil 259 } 260 261 func (x *Identity) GetServiceAccount() string { 262 if x, ok := x.GetIdentityOneof().(*Identity_ServiceAccount); ok { 263 return x.ServiceAccount 264 } 265 return "" 266 } 267 268 func (x *Identity) GetHostname() string { 269 if x, ok := x.GetIdentityOneof().(*Identity_Hostname); ok { 270 return x.Hostname 271 } 272 return "" 273 } 274 275 func (x *Identity) GetAttributes() map[string]string { 276 if x != nil { 277 return x.Attributes 278 } 279 return nil 280 } 281 282 type isIdentity_IdentityOneof interface { 283 isIdentity_IdentityOneof() 284 } 285 286 type Identity_ServiceAccount struct { 287 // Service account of a connection endpoint. 288 ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3,oneof"` 289 } 290 291 type Identity_Hostname struct { 292 // Hostname of a connection endpoint. 293 Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3,oneof"` 294 } 295 296 func (*Identity_ServiceAccount) isIdentity_IdentityOneof() {} 297 298 func (*Identity_Hostname) isIdentity_IdentityOneof() {} 299 300 type StartClientHandshakeReq struct { 301 state protoimpl.MessageState 302 sizeCache protoimpl.SizeCache 303 unknownFields protoimpl.UnknownFields 304 305 // Handshake security protocol requested by the client. 306 HandshakeSecurityProtocol HandshakeProtocol `protobuf:"varint,1,opt,name=handshake_security_protocol,json=handshakeSecurityProtocol,proto3,enum=grpc.gcp.HandshakeProtocol" json:"handshake_security_protocol,omitempty"` 307 // The application protocols supported by the client, e.g., "h2" (for http2), 308 // "grpc". 309 ApplicationProtocols []string `protobuf:"bytes,2,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` 310 // The record protocols supported by the client, e.g., 311 // "ALTSRP_GCM_AES128". 312 RecordProtocols []string `protobuf:"bytes,3,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"` 313 // (Optional) Describes which server identities are acceptable by the client. 314 // If target identities are provided and none of them matches the peer 315 // identity of the server, handshake will fail. 316 TargetIdentities []*Identity `protobuf:"bytes,4,rep,name=target_identities,json=targetIdentities,proto3" json:"target_identities,omitempty"` 317 // (Optional) Application may specify a local identity. Otherwise, the 318 // handshaker chooses a default local identity. 319 LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` 320 // (Optional) Local endpoint information of the connection to the server, 321 // such as local IP address, port number, and network protocol. 322 LocalEndpoint *Endpoint `protobuf:"bytes,6,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"` 323 // (Optional) Endpoint information of the remote server, such as IP address, 324 // port number, and network protocol. 325 RemoteEndpoint *Endpoint `protobuf:"bytes,7,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"` 326 // (Optional) If target name is provided, a secure naming check is performed 327 // to verify that the peer authenticated identity is indeed authorized to run 328 // the target name. 329 TargetName string `protobuf:"bytes,8,opt,name=target_name,json=targetName,proto3" json:"target_name,omitempty"` 330 // (Optional) RPC protocol versions supported by the client. 331 RpcVersions *RpcProtocolVersions `protobuf:"bytes,9,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"` 332 // (Optional) Maximum frame size supported by the client. 333 MaxFrameSize uint32 `protobuf:"varint,10,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` 334 } 335 336 func (x *StartClientHandshakeReq) Reset() { 337 *x = StartClientHandshakeReq{} 338 if protoimpl.UnsafeEnabled { 339 mi := &file_grpc_gcp_handshaker_proto_msgTypes[2] 340 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 341 ms.StoreMessageInfo(mi) 342 } 343 } 344 345 func (x *StartClientHandshakeReq) String() string { 346 return protoimpl.X.MessageStringOf(x) 347 } 348 349 func (*StartClientHandshakeReq) ProtoMessage() {} 350 351 func (x *StartClientHandshakeReq) ProtoReflect() protoreflect.Message { 352 mi := &file_grpc_gcp_handshaker_proto_msgTypes[2] 353 if protoimpl.UnsafeEnabled && x != nil { 354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 355 if ms.LoadMessageInfo() == nil { 356 ms.StoreMessageInfo(mi) 357 } 358 return ms 359 } 360 return mi.MessageOf(x) 361 } 362 363 // Deprecated: Use StartClientHandshakeReq.ProtoReflect.Descriptor instead. 364 func (*StartClientHandshakeReq) Descriptor() ([]byte, []int) { 365 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{2} 366 } 367 368 func (x *StartClientHandshakeReq) GetHandshakeSecurityProtocol() HandshakeProtocol { 369 if x != nil { 370 return x.HandshakeSecurityProtocol 371 } 372 return HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED 373 } 374 375 func (x *StartClientHandshakeReq) GetApplicationProtocols() []string { 376 if x != nil { 377 return x.ApplicationProtocols 378 } 379 return nil 380 } 381 382 func (x *StartClientHandshakeReq) GetRecordProtocols() []string { 383 if x != nil { 384 return x.RecordProtocols 385 } 386 return nil 387 } 388 389 func (x *StartClientHandshakeReq) GetTargetIdentities() []*Identity { 390 if x != nil { 391 return x.TargetIdentities 392 } 393 return nil 394 } 395 396 func (x *StartClientHandshakeReq) GetLocalIdentity() *Identity { 397 if x != nil { 398 return x.LocalIdentity 399 } 400 return nil 401 } 402 403 func (x *StartClientHandshakeReq) GetLocalEndpoint() *Endpoint { 404 if x != nil { 405 return x.LocalEndpoint 406 } 407 return nil 408 } 409 410 func (x *StartClientHandshakeReq) GetRemoteEndpoint() *Endpoint { 411 if x != nil { 412 return x.RemoteEndpoint 413 } 414 return nil 415 } 416 417 func (x *StartClientHandshakeReq) GetTargetName() string { 418 if x != nil { 419 return x.TargetName 420 } 421 return "" 422 } 423 424 func (x *StartClientHandshakeReq) GetRpcVersions() *RpcProtocolVersions { 425 if x != nil { 426 return x.RpcVersions 427 } 428 return nil 429 } 430 431 func (x *StartClientHandshakeReq) GetMaxFrameSize() uint32 { 432 if x != nil { 433 return x.MaxFrameSize 434 } 435 return 0 436 } 437 438 type ServerHandshakeParameters struct { 439 state protoimpl.MessageState 440 sizeCache protoimpl.SizeCache 441 unknownFields protoimpl.UnknownFields 442 443 // The record protocols supported by the server, e.g., 444 // "ALTSRP_GCM_AES128". 445 RecordProtocols []string `protobuf:"bytes,1,rep,name=record_protocols,json=recordProtocols,proto3" json:"record_protocols,omitempty"` 446 // (Optional) A list of local identities supported by the server, if 447 // specified. Otherwise, the handshaker chooses a default local identity. 448 LocalIdentities []*Identity `protobuf:"bytes,2,rep,name=local_identities,json=localIdentities,proto3" json:"local_identities,omitempty"` 449 } 450 451 func (x *ServerHandshakeParameters) Reset() { 452 *x = ServerHandshakeParameters{} 453 if protoimpl.UnsafeEnabled { 454 mi := &file_grpc_gcp_handshaker_proto_msgTypes[3] 455 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 456 ms.StoreMessageInfo(mi) 457 } 458 } 459 460 func (x *ServerHandshakeParameters) String() string { 461 return protoimpl.X.MessageStringOf(x) 462 } 463 464 func (*ServerHandshakeParameters) ProtoMessage() {} 465 466 func (x *ServerHandshakeParameters) ProtoReflect() protoreflect.Message { 467 mi := &file_grpc_gcp_handshaker_proto_msgTypes[3] 468 if protoimpl.UnsafeEnabled && x != nil { 469 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 470 if ms.LoadMessageInfo() == nil { 471 ms.StoreMessageInfo(mi) 472 } 473 return ms 474 } 475 return mi.MessageOf(x) 476 } 477 478 // Deprecated: Use ServerHandshakeParameters.ProtoReflect.Descriptor instead. 479 func (*ServerHandshakeParameters) Descriptor() ([]byte, []int) { 480 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{3} 481 } 482 483 func (x *ServerHandshakeParameters) GetRecordProtocols() []string { 484 if x != nil { 485 return x.RecordProtocols 486 } 487 return nil 488 } 489 490 func (x *ServerHandshakeParameters) GetLocalIdentities() []*Identity { 491 if x != nil { 492 return x.LocalIdentities 493 } 494 return nil 495 } 496 497 type StartServerHandshakeReq struct { 498 state protoimpl.MessageState 499 sizeCache protoimpl.SizeCache 500 unknownFields protoimpl.UnknownFields 501 502 // The application protocols supported by the server, e.g., "h2" (for http2), 503 // "grpc". 504 ApplicationProtocols []string `protobuf:"bytes,1,rep,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"` 505 // Handshake parameters (record protocols and local identities supported by 506 // the server) mapped by the handshake protocol. Each handshake security 507 // protocol (e.g., TLS or ALTS) has its own set of record protocols and local 508 // identities. Since protobuf does not support enum as key to the map, the key 509 // to handshake_parameters is the integer value of HandshakeProtocol enum. 510 HandshakeParameters map[int32]*ServerHandshakeParameters `protobuf:"bytes,2,rep,name=handshake_parameters,json=handshakeParameters,proto3" json:"handshake_parameters,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 511 // Bytes in out_frames returned from the peer's HandshakerResp. It is possible 512 // that the peer's out_frames are split into multiple HandshakReq messages. 513 InBytes []byte `protobuf:"bytes,3,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` 514 // (Optional) Local endpoint information of the connection to the client, 515 // such as local IP address, port number, and network protocol. 516 LocalEndpoint *Endpoint `protobuf:"bytes,4,opt,name=local_endpoint,json=localEndpoint,proto3" json:"local_endpoint,omitempty"` 517 // (Optional) Endpoint information of the remote client, such as IP address, 518 // port number, and network protocol. 519 RemoteEndpoint *Endpoint `protobuf:"bytes,5,opt,name=remote_endpoint,json=remoteEndpoint,proto3" json:"remote_endpoint,omitempty"` 520 // (Optional) RPC protocol versions supported by the server. 521 RpcVersions *RpcProtocolVersions `protobuf:"bytes,6,opt,name=rpc_versions,json=rpcVersions,proto3" json:"rpc_versions,omitempty"` 522 // (Optional) Maximum frame size supported by the server. 523 MaxFrameSize uint32 `protobuf:"varint,7,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` 524 } 525 526 func (x *StartServerHandshakeReq) Reset() { 527 *x = StartServerHandshakeReq{} 528 if protoimpl.UnsafeEnabled { 529 mi := &file_grpc_gcp_handshaker_proto_msgTypes[4] 530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 531 ms.StoreMessageInfo(mi) 532 } 533 } 534 535 func (x *StartServerHandshakeReq) String() string { 536 return protoimpl.X.MessageStringOf(x) 537 } 538 539 func (*StartServerHandshakeReq) ProtoMessage() {} 540 541 func (x *StartServerHandshakeReq) ProtoReflect() protoreflect.Message { 542 mi := &file_grpc_gcp_handshaker_proto_msgTypes[4] 543 if protoimpl.UnsafeEnabled && x != nil { 544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 545 if ms.LoadMessageInfo() == nil { 546 ms.StoreMessageInfo(mi) 547 } 548 return ms 549 } 550 return mi.MessageOf(x) 551 } 552 553 // Deprecated: Use StartServerHandshakeReq.ProtoReflect.Descriptor instead. 554 func (*StartServerHandshakeReq) Descriptor() ([]byte, []int) { 555 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{4} 556 } 557 558 func (x *StartServerHandshakeReq) GetApplicationProtocols() []string { 559 if x != nil { 560 return x.ApplicationProtocols 561 } 562 return nil 563 } 564 565 func (x *StartServerHandshakeReq) GetHandshakeParameters() map[int32]*ServerHandshakeParameters { 566 if x != nil { 567 return x.HandshakeParameters 568 } 569 return nil 570 } 571 572 func (x *StartServerHandshakeReq) GetInBytes() []byte { 573 if x != nil { 574 return x.InBytes 575 } 576 return nil 577 } 578 579 func (x *StartServerHandshakeReq) GetLocalEndpoint() *Endpoint { 580 if x != nil { 581 return x.LocalEndpoint 582 } 583 return nil 584 } 585 586 func (x *StartServerHandshakeReq) GetRemoteEndpoint() *Endpoint { 587 if x != nil { 588 return x.RemoteEndpoint 589 } 590 return nil 591 } 592 593 func (x *StartServerHandshakeReq) GetRpcVersions() *RpcProtocolVersions { 594 if x != nil { 595 return x.RpcVersions 596 } 597 return nil 598 } 599 600 func (x *StartServerHandshakeReq) GetMaxFrameSize() uint32 { 601 if x != nil { 602 return x.MaxFrameSize 603 } 604 return 0 605 } 606 607 type NextHandshakeMessageReq struct { 608 state protoimpl.MessageState 609 sizeCache protoimpl.SizeCache 610 unknownFields protoimpl.UnknownFields 611 612 // Bytes in out_frames returned from the peer's HandshakerResp. It is possible 613 // that the peer's out_frames are split into multiple NextHandshakerMessageReq 614 // messages. 615 InBytes []byte `protobuf:"bytes,1,opt,name=in_bytes,json=inBytes,proto3" json:"in_bytes,omitempty"` 616 // Number of milliseconds between when the application send the last handshake 617 // message to the peer and when the application received the current handshake 618 // message (in the in_bytes field) from the peer. 619 NetworkLatencyMs uint32 `protobuf:"varint,2,opt,name=network_latency_ms,json=networkLatencyMs,proto3" json:"network_latency_ms,omitempty"` 620 } 621 622 func (x *NextHandshakeMessageReq) Reset() { 623 *x = NextHandshakeMessageReq{} 624 if protoimpl.UnsafeEnabled { 625 mi := &file_grpc_gcp_handshaker_proto_msgTypes[5] 626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 627 ms.StoreMessageInfo(mi) 628 } 629 } 630 631 func (x *NextHandshakeMessageReq) String() string { 632 return protoimpl.X.MessageStringOf(x) 633 } 634 635 func (*NextHandshakeMessageReq) ProtoMessage() {} 636 637 func (x *NextHandshakeMessageReq) ProtoReflect() protoreflect.Message { 638 mi := &file_grpc_gcp_handshaker_proto_msgTypes[5] 639 if protoimpl.UnsafeEnabled && x != nil { 640 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 641 if ms.LoadMessageInfo() == nil { 642 ms.StoreMessageInfo(mi) 643 } 644 return ms 645 } 646 return mi.MessageOf(x) 647 } 648 649 // Deprecated: Use NextHandshakeMessageReq.ProtoReflect.Descriptor instead. 650 func (*NextHandshakeMessageReq) Descriptor() ([]byte, []int) { 651 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{5} 652 } 653 654 func (x *NextHandshakeMessageReq) GetInBytes() []byte { 655 if x != nil { 656 return x.InBytes 657 } 658 return nil 659 } 660 661 func (x *NextHandshakeMessageReq) GetNetworkLatencyMs() uint32 { 662 if x != nil { 663 return x.NetworkLatencyMs 664 } 665 return 0 666 } 667 668 type HandshakerReq struct { 669 state protoimpl.MessageState 670 sizeCache protoimpl.SizeCache 671 unknownFields protoimpl.UnknownFields 672 673 // Types that are assignable to ReqOneof: 674 // 675 // *HandshakerReq_ClientStart 676 // *HandshakerReq_ServerStart 677 // *HandshakerReq_Next 678 ReqOneof isHandshakerReq_ReqOneof `protobuf_oneof:"req_oneof"` 679 } 680 681 func (x *HandshakerReq) Reset() { 682 *x = HandshakerReq{} 683 if protoimpl.UnsafeEnabled { 684 mi := &file_grpc_gcp_handshaker_proto_msgTypes[6] 685 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 686 ms.StoreMessageInfo(mi) 687 } 688 } 689 690 func (x *HandshakerReq) String() string { 691 return protoimpl.X.MessageStringOf(x) 692 } 693 694 func (*HandshakerReq) ProtoMessage() {} 695 696 func (x *HandshakerReq) ProtoReflect() protoreflect.Message { 697 mi := &file_grpc_gcp_handshaker_proto_msgTypes[6] 698 if protoimpl.UnsafeEnabled && x != nil { 699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 700 if ms.LoadMessageInfo() == nil { 701 ms.StoreMessageInfo(mi) 702 } 703 return ms 704 } 705 return mi.MessageOf(x) 706 } 707 708 // Deprecated: Use HandshakerReq.ProtoReflect.Descriptor instead. 709 func (*HandshakerReq) Descriptor() ([]byte, []int) { 710 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{6} 711 } 712 713 func (m *HandshakerReq) GetReqOneof() isHandshakerReq_ReqOneof { 714 if m != nil { 715 return m.ReqOneof 716 } 717 return nil 718 } 719 720 func (x *HandshakerReq) GetClientStart() *StartClientHandshakeReq { 721 if x, ok := x.GetReqOneof().(*HandshakerReq_ClientStart); ok { 722 return x.ClientStart 723 } 724 return nil 725 } 726 727 func (x *HandshakerReq) GetServerStart() *StartServerHandshakeReq { 728 if x, ok := x.GetReqOneof().(*HandshakerReq_ServerStart); ok { 729 return x.ServerStart 730 } 731 return nil 732 } 733 734 func (x *HandshakerReq) GetNext() *NextHandshakeMessageReq { 735 if x, ok := x.GetReqOneof().(*HandshakerReq_Next); ok { 736 return x.Next 737 } 738 return nil 739 } 740 741 type isHandshakerReq_ReqOneof interface { 742 isHandshakerReq_ReqOneof() 743 } 744 745 type HandshakerReq_ClientStart struct { 746 // The start client handshake request message. 747 ClientStart *StartClientHandshakeReq `protobuf:"bytes,1,opt,name=client_start,json=clientStart,proto3,oneof"` 748 } 749 750 type HandshakerReq_ServerStart struct { 751 // The start server handshake request message. 752 ServerStart *StartServerHandshakeReq `protobuf:"bytes,2,opt,name=server_start,json=serverStart,proto3,oneof"` 753 } 754 755 type HandshakerReq_Next struct { 756 // The next handshake request message. 757 Next *NextHandshakeMessageReq `protobuf:"bytes,3,opt,name=next,proto3,oneof"` 758 } 759 760 func (*HandshakerReq_ClientStart) isHandshakerReq_ReqOneof() {} 761 762 func (*HandshakerReq_ServerStart) isHandshakerReq_ReqOneof() {} 763 764 func (*HandshakerReq_Next) isHandshakerReq_ReqOneof() {} 765 766 type HandshakerResult struct { 767 state protoimpl.MessageState 768 sizeCache protoimpl.SizeCache 769 unknownFields protoimpl.UnknownFields 770 771 // The application protocol negotiated for this connection. 772 ApplicationProtocol string `protobuf:"bytes,1,opt,name=application_protocol,json=applicationProtocol,proto3" json:"application_protocol,omitempty"` 773 // The record protocol negotiated for this connection. 774 RecordProtocol string `protobuf:"bytes,2,opt,name=record_protocol,json=recordProtocol,proto3" json:"record_protocol,omitempty"` 775 // Cryptographic key data. The key data may be more than the key length 776 // required for the record protocol, thus the client of the handshaker 777 // service needs to truncate the key data into the right key length. 778 KeyData []byte `protobuf:"bytes,3,opt,name=key_data,json=keyData,proto3" json:"key_data,omitempty"` 779 // The authenticated identity of the peer. 780 PeerIdentity *Identity `protobuf:"bytes,4,opt,name=peer_identity,json=peerIdentity,proto3" json:"peer_identity,omitempty"` 781 // The local identity used in the handshake. 782 LocalIdentity *Identity `protobuf:"bytes,5,opt,name=local_identity,json=localIdentity,proto3" json:"local_identity,omitempty"` 783 // Indicate whether the handshaker service client should keep the channel 784 // between the handshaker service open, e.g., in order to handle 785 // post-handshake messages in the future. 786 KeepChannelOpen bool `protobuf:"varint,6,opt,name=keep_channel_open,json=keepChannelOpen,proto3" json:"keep_channel_open,omitempty"` 787 // The RPC protocol versions supported by the peer. 788 PeerRpcVersions *RpcProtocolVersions `protobuf:"bytes,7,opt,name=peer_rpc_versions,json=peerRpcVersions,proto3" json:"peer_rpc_versions,omitempty"` 789 // The maximum frame size of the peer. 790 MaxFrameSize uint32 `protobuf:"varint,8,opt,name=max_frame_size,json=maxFrameSize,proto3" json:"max_frame_size,omitempty"` 791 } 792 793 func (x *HandshakerResult) Reset() { 794 *x = HandshakerResult{} 795 if protoimpl.UnsafeEnabled { 796 mi := &file_grpc_gcp_handshaker_proto_msgTypes[7] 797 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 798 ms.StoreMessageInfo(mi) 799 } 800 } 801 802 func (x *HandshakerResult) String() string { 803 return protoimpl.X.MessageStringOf(x) 804 } 805 806 func (*HandshakerResult) ProtoMessage() {} 807 808 func (x *HandshakerResult) ProtoReflect() protoreflect.Message { 809 mi := &file_grpc_gcp_handshaker_proto_msgTypes[7] 810 if protoimpl.UnsafeEnabled && x != nil { 811 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 812 if ms.LoadMessageInfo() == nil { 813 ms.StoreMessageInfo(mi) 814 } 815 return ms 816 } 817 return mi.MessageOf(x) 818 } 819 820 // Deprecated: Use HandshakerResult.ProtoReflect.Descriptor instead. 821 func (*HandshakerResult) Descriptor() ([]byte, []int) { 822 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{7} 823 } 824 825 func (x *HandshakerResult) GetApplicationProtocol() string { 826 if x != nil { 827 return x.ApplicationProtocol 828 } 829 return "" 830 } 831 832 func (x *HandshakerResult) GetRecordProtocol() string { 833 if x != nil { 834 return x.RecordProtocol 835 } 836 return "" 837 } 838 839 func (x *HandshakerResult) GetKeyData() []byte { 840 if x != nil { 841 return x.KeyData 842 } 843 return nil 844 } 845 846 func (x *HandshakerResult) GetPeerIdentity() *Identity { 847 if x != nil { 848 return x.PeerIdentity 849 } 850 return nil 851 } 852 853 func (x *HandshakerResult) GetLocalIdentity() *Identity { 854 if x != nil { 855 return x.LocalIdentity 856 } 857 return nil 858 } 859 860 func (x *HandshakerResult) GetKeepChannelOpen() bool { 861 if x != nil { 862 return x.KeepChannelOpen 863 } 864 return false 865 } 866 867 func (x *HandshakerResult) GetPeerRpcVersions() *RpcProtocolVersions { 868 if x != nil { 869 return x.PeerRpcVersions 870 } 871 return nil 872 } 873 874 func (x *HandshakerResult) GetMaxFrameSize() uint32 { 875 if x != nil { 876 return x.MaxFrameSize 877 } 878 return 0 879 } 880 881 type HandshakerStatus struct { 882 state protoimpl.MessageState 883 sizeCache protoimpl.SizeCache 884 unknownFields protoimpl.UnknownFields 885 886 // The status code. This could be the gRPC status code. 887 Code uint32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` 888 // The status details. 889 Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` 890 } 891 892 func (x *HandshakerStatus) Reset() { 893 *x = HandshakerStatus{} 894 if protoimpl.UnsafeEnabled { 895 mi := &file_grpc_gcp_handshaker_proto_msgTypes[8] 896 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 897 ms.StoreMessageInfo(mi) 898 } 899 } 900 901 func (x *HandshakerStatus) String() string { 902 return protoimpl.X.MessageStringOf(x) 903 } 904 905 func (*HandshakerStatus) ProtoMessage() {} 906 907 func (x *HandshakerStatus) ProtoReflect() protoreflect.Message { 908 mi := &file_grpc_gcp_handshaker_proto_msgTypes[8] 909 if protoimpl.UnsafeEnabled && x != nil { 910 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 911 if ms.LoadMessageInfo() == nil { 912 ms.StoreMessageInfo(mi) 913 } 914 return ms 915 } 916 return mi.MessageOf(x) 917 } 918 919 // Deprecated: Use HandshakerStatus.ProtoReflect.Descriptor instead. 920 func (*HandshakerStatus) Descriptor() ([]byte, []int) { 921 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{8} 922 } 923 924 func (x *HandshakerStatus) GetCode() uint32 { 925 if x != nil { 926 return x.Code 927 } 928 return 0 929 } 930 931 func (x *HandshakerStatus) GetDetails() string { 932 if x != nil { 933 return x.Details 934 } 935 return "" 936 } 937 938 type HandshakerResp struct { 939 state protoimpl.MessageState 940 sizeCache protoimpl.SizeCache 941 unknownFields protoimpl.UnknownFields 942 943 // Frames to be given to the peer for the NextHandshakeMessageReq. May be 944 // empty if no out_frames have to be sent to the peer or if in_bytes in the 945 // HandshakerReq are incomplete. All the non-empty out frames must be sent to 946 // the peer even if the handshaker status is not OK as these frames may 947 // contain the alert frames. 948 OutFrames []byte `protobuf:"bytes,1,opt,name=out_frames,json=outFrames,proto3" json:"out_frames,omitempty"` 949 // Number of bytes in the in_bytes consumed by the handshaker. It is possible 950 // that part of in_bytes in HandshakerReq was unrelated to the handshake 951 // process. 952 BytesConsumed uint32 `protobuf:"varint,2,opt,name=bytes_consumed,json=bytesConsumed,proto3" json:"bytes_consumed,omitempty"` 953 // This is set iff the handshake was successful. out_frames may still be set 954 // to frames that needs to be forwarded to the peer. 955 Result *HandshakerResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"` 956 // Status of the handshaker. 957 Status *HandshakerStatus `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` 958 } 959 960 func (x *HandshakerResp) Reset() { 961 *x = HandshakerResp{} 962 if protoimpl.UnsafeEnabled { 963 mi := &file_grpc_gcp_handshaker_proto_msgTypes[9] 964 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 965 ms.StoreMessageInfo(mi) 966 } 967 } 968 969 func (x *HandshakerResp) String() string { 970 return protoimpl.X.MessageStringOf(x) 971 } 972 973 func (*HandshakerResp) ProtoMessage() {} 974 975 func (x *HandshakerResp) ProtoReflect() protoreflect.Message { 976 mi := &file_grpc_gcp_handshaker_proto_msgTypes[9] 977 if protoimpl.UnsafeEnabled && x != nil { 978 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 979 if ms.LoadMessageInfo() == nil { 980 ms.StoreMessageInfo(mi) 981 } 982 return ms 983 } 984 return mi.MessageOf(x) 985 } 986 987 // Deprecated: Use HandshakerResp.ProtoReflect.Descriptor instead. 988 func (*HandshakerResp) Descriptor() ([]byte, []int) { 989 return file_grpc_gcp_handshaker_proto_rawDescGZIP(), []int{9} 990 } 991 992 func (x *HandshakerResp) GetOutFrames() []byte { 993 if x != nil { 994 return x.OutFrames 995 } 996 return nil 997 } 998 999 func (x *HandshakerResp) GetBytesConsumed() uint32 { 1000 if x != nil { 1001 return x.BytesConsumed 1002 } 1003 return 0 1004 } 1005 1006 func (x *HandshakerResp) GetResult() *HandshakerResult { 1007 if x != nil { 1008 return x.Result 1009 } 1010 return nil 1011 } 1012 1013 func (x *HandshakerResp) GetStatus() *HandshakerStatus { 1014 if x != nil { 1015 return x.Status 1016 } 1017 return nil 1018 } 1019 1020 var File_grpc_gcp_handshaker_proto protoreflect.FileDescriptor 1021 1022 var file_grpc_gcp_handshaker_proto_rawDesc = []byte{ 1023 0x0a, 0x19, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x63, 0x70, 0x2f, 0x68, 0x61, 0x6e, 0x64, 0x73, 1024 0x68, 0x61, 0x6b, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x67, 0x72, 0x70, 1025 0x63, 0x2e, 0x67, 0x63, 0x70, 0x1a, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x67, 0x63, 0x70, 0x2f, 1026 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 1027 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 1028 0x74, 0x0a, 0x08, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 1029 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1030 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 1031 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x35, 1032 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 1033 0x32, 0x19, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x4e, 0x65, 0x74, 0x77, 1034 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x08, 0x70, 0x72, 0x6f, 1035 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 1036 0x74, 0x79, 0x12, 0x29, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 1037 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x73, 1038 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 1039 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 1040 0x00, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x61, 1041 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 1042 0x22, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 1043 0x69, 0x74, 0x79, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 1044 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x1a, 1045 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 1046 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1047 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 1048 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x10, 1049 0x0a, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 1050 0x22, 0xd3, 0x04, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 1051 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x12, 0x5b, 0x0a, 0x1b, 1052 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 1053 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 1054 0x0e, 0x32, 0x1b, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 1055 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x52, 0x19, 1056 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 1057 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 0x70, 1058 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 1059 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 1060 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x29, 1061 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 1062 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 1063 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 0x3f, 0x0a, 0x11, 0x74, 0x61, 0x72, 1064 0x67, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x04, 1065 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 1066 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x10, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 1067 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 1068 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 1069 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 1070 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 1071 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x65, 1072 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 1073 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 1074 0x74, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 1075 0x12, 0x3b, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 1076 0x69, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 1077 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0e, 0x72, 1078 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 1079 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 1080 0x28, 0x09, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x40, 1081 0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 1082 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 1083 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 1084 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 1085 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69, 1086 0x7a, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 1087 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x85, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 1088 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 1089 0x74, 0x65, 0x72, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 1090 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 1091 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 1092 0x3d, 0x0a, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 1093 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 1094 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0f, 0x6c, 1095 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa5, 1096 0x04, 0x0a, 0x17, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 1097 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x12, 0x33, 0x0a, 0x15, 0x61, 0x70, 1098 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 1099 0x6f, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 1100 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x73, 0x12, 1101 0x6d, 0x0a, 0x14, 0x68, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x5f, 0x70, 0x61, 0x72, 1102 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 1103 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 1104 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 1105 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 1106 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x68, 0x61, 0x6e, 0x64, 0x73, 1107 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x19, 1108 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 1109 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 1110 0x61, 0x6c, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 1111 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 1112 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x45, 0x6e, 0x64, 0x70, 1113 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x65, 1114 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 1115 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 1116 0x74, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 1117 0x74, 0x12, 0x40, 0x0a, 0x0c, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1118 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 1119 0x63, 0x70, 0x2e, 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 1120 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x72, 0x70, 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 1121 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 1122 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 1123 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0x6b, 0x0a, 0x18, 0x48, 0x61, 0x6e, 1124 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 1125 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 1126 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 1127 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 1128 0x70, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 1129 0x65, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 1130 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x62, 0x0a, 0x17, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x61, 1131 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 1132 0x71, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 1133 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x6e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 1134 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 1135 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 1136 0x6b, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4d, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x0d, 0x48, 1137 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x46, 0x0a, 0x0c, 1138 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 1139 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x53, 0x74, 1140 0x61, 0x72, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 1141 0x6b, 0x65, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 1142 0x74, 0x61, 0x72, 0x74, 0x12, 0x46, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x73, 1143 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 1144 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 1145 0x72, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 1146 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x37, 0x0a, 0x04, 1147 0x6e, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x72, 0x70, 1148 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x4e, 0x65, 0x78, 0x74, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 1149 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x48, 0x00, 0x52, 1150 0x04, 0x6e, 0x65, 0x78, 0x74, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x5f, 0x6f, 0x6e, 0x65, 1151 0x6f, 0x66, 0x22, 0x9a, 0x03, 0x0a, 0x10, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 1152 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x61, 0x70, 0x70, 0x6c, 0x69, 1153 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 1154 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 1155 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 1156 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 1157 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 1158 0x63, 0x6f, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 1159 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6b, 0x65, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x37, 1160 0x0a, 0x0d, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 1161 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 1162 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x0c, 0x70, 0x65, 0x65, 0x72, 0x49, 1163 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x39, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 1164 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 1165 0x12, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 1166 0x69, 0x74, 0x79, 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 1167 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 1168 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6b, 1169 0x65, 0x65, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x49, 1170 0x0a, 0x11, 0x70, 0x65, 0x65, 0x72, 0x5f, 0x72, 0x70, 0x63, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 1171 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x72, 0x70, 0x63, 1172 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x52, 0x70, 0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 1173 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0f, 0x70, 0x65, 0x65, 0x72, 0x52, 0x70, 1174 0x63, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 1175 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 1176 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 1177 0x40, 0x0a, 0x10, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 1178 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 1179 0x0d, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 1180 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 1181 0x73, 0x22, 0xbe, 0x01, 0x0a, 0x0e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 1182 0x52, 0x65, 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x66, 0x72, 0x61, 0x6d, 1183 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x46, 0x72, 0x61, 1184 0x6d, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 1185 0x73, 0x75, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x62, 0x79, 0x74, 1186 0x65, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x72, 0x65, 1187 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x72, 0x70, 1188 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 1189 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x32, 1190 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1191 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 1192 0x61, 0x6b, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 1193 0x75, 0x73, 0x2a, 0x4a, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x50, 1194 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x22, 0x0a, 0x1e, 0x48, 0x41, 0x4e, 0x44, 0x53, 1195 0x48, 0x41, 0x4b, 0x45, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 1196 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 1197 0x4c, 0x53, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x4c, 0x54, 0x53, 0x10, 0x02, 0x2a, 0x45, 1198 0x0a, 0x0f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 1199 0x6c, 0x12, 0x20, 0x0a, 0x1c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x50, 0x52, 0x4f, 1200 0x54, 0x4f, 0x43, 0x4f, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 1201 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x43, 0x50, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 1202 0x55, 0x44, 0x50, 0x10, 0x02, 0x32, 0x5b, 0x0a, 0x11, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 1203 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x44, 0x6f, 1204 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x12, 0x17, 0x2e, 0x67, 0x72, 0x70, 0x63, 1205 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x52, 1206 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x63, 0x70, 0x2e, 0x48, 0x61, 1207 0x6e, 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x28, 0x01, 1208 0x30, 0x01, 0x42, 0x6b, 0x0a, 0x15, 0x69, 0x6f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x61, 0x6c, 1209 0x74, 0x73, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x42, 0x0f, 0x48, 0x61, 0x6e, 1210 0x64, 0x73, 0x68, 0x61, 0x6b, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3f, 1211 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 1212 0x67, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 1213 0x6c, 0x73, 0x2f, 0x61, 0x6c, 0x74, 0x73, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 1214 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x67, 0x63, 0x70, 0x62, 1215 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1216 } 1217 1218 var ( 1219 file_grpc_gcp_handshaker_proto_rawDescOnce sync.Once 1220 file_grpc_gcp_handshaker_proto_rawDescData = file_grpc_gcp_handshaker_proto_rawDesc 1221 ) 1222 1223 func file_grpc_gcp_handshaker_proto_rawDescGZIP() []byte { 1224 file_grpc_gcp_handshaker_proto_rawDescOnce.Do(func() { 1225 file_grpc_gcp_handshaker_proto_rawDescData = protoimpl.X.CompressGZIP(file_grpc_gcp_handshaker_proto_rawDescData) 1226 }) 1227 return file_grpc_gcp_handshaker_proto_rawDescData 1228 } 1229 1230 var file_grpc_gcp_handshaker_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1231 var file_grpc_gcp_handshaker_proto_msgTypes = make([]protoimpl.MessageInfo, 12) 1232 var file_grpc_gcp_handshaker_proto_goTypes = []interface{}{ 1233 (HandshakeProtocol)(0), // 0: grpc.gcp.HandshakeProtocol 1234 (NetworkProtocol)(0), // 1: grpc.gcp.NetworkProtocol 1235 (*Endpoint)(nil), // 2: grpc.gcp.Endpoint 1236 (*Identity)(nil), // 3: grpc.gcp.Identity 1237 (*StartClientHandshakeReq)(nil), // 4: grpc.gcp.StartClientHandshakeReq 1238 (*ServerHandshakeParameters)(nil), // 5: grpc.gcp.ServerHandshakeParameters 1239 (*StartServerHandshakeReq)(nil), // 6: grpc.gcp.StartServerHandshakeReq 1240 (*NextHandshakeMessageReq)(nil), // 7: grpc.gcp.NextHandshakeMessageReq 1241 (*HandshakerReq)(nil), // 8: grpc.gcp.HandshakerReq 1242 (*HandshakerResult)(nil), // 9: grpc.gcp.HandshakerResult 1243 (*HandshakerStatus)(nil), // 10: grpc.gcp.HandshakerStatus 1244 (*HandshakerResp)(nil), // 11: grpc.gcp.HandshakerResp 1245 nil, // 12: grpc.gcp.Identity.AttributesEntry 1246 nil, // 13: grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry 1247 (*RpcProtocolVersions)(nil), // 14: grpc.gcp.RpcProtocolVersions 1248 } 1249 var file_grpc_gcp_handshaker_proto_depIdxs = []int32{ 1250 1, // 0: grpc.gcp.Endpoint.protocol:type_name -> grpc.gcp.NetworkProtocol 1251 12, // 1: grpc.gcp.Identity.attributes:type_name -> grpc.gcp.Identity.AttributesEntry 1252 0, // 2: grpc.gcp.StartClientHandshakeReq.handshake_security_protocol:type_name -> grpc.gcp.HandshakeProtocol 1253 3, // 3: grpc.gcp.StartClientHandshakeReq.target_identities:type_name -> grpc.gcp.Identity 1254 3, // 4: grpc.gcp.StartClientHandshakeReq.local_identity:type_name -> grpc.gcp.Identity 1255 2, // 5: grpc.gcp.StartClientHandshakeReq.local_endpoint:type_name -> grpc.gcp.Endpoint 1256 2, // 6: grpc.gcp.StartClientHandshakeReq.remote_endpoint:type_name -> grpc.gcp.Endpoint 1257 14, // 7: grpc.gcp.StartClientHandshakeReq.rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions 1258 3, // 8: grpc.gcp.ServerHandshakeParameters.local_identities:type_name -> grpc.gcp.Identity 1259 13, // 9: grpc.gcp.StartServerHandshakeReq.handshake_parameters:type_name -> grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry 1260 2, // 10: grpc.gcp.StartServerHandshakeReq.local_endpoint:type_name -> grpc.gcp.Endpoint 1261 2, // 11: grpc.gcp.StartServerHandshakeReq.remote_endpoint:type_name -> grpc.gcp.Endpoint 1262 14, // 12: grpc.gcp.StartServerHandshakeReq.rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions 1263 4, // 13: grpc.gcp.HandshakerReq.client_start:type_name -> grpc.gcp.StartClientHandshakeReq 1264 6, // 14: grpc.gcp.HandshakerReq.server_start:type_name -> grpc.gcp.StartServerHandshakeReq 1265 7, // 15: grpc.gcp.HandshakerReq.next:type_name -> grpc.gcp.NextHandshakeMessageReq 1266 3, // 16: grpc.gcp.HandshakerResult.peer_identity:type_name -> grpc.gcp.Identity 1267 3, // 17: grpc.gcp.HandshakerResult.local_identity:type_name -> grpc.gcp.Identity 1268 14, // 18: grpc.gcp.HandshakerResult.peer_rpc_versions:type_name -> grpc.gcp.RpcProtocolVersions 1269 9, // 19: grpc.gcp.HandshakerResp.result:type_name -> grpc.gcp.HandshakerResult 1270 10, // 20: grpc.gcp.HandshakerResp.status:type_name -> grpc.gcp.HandshakerStatus 1271 5, // 21: grpc.gcp.StartServerHandshakeReq.HandshakeParametersEntry.value:type_name -> grpc.gcp.ServerHandshakeParameters 1272 8, // 22: grpc.gcp.HandshakerService.DoHandshake:input_type -> grpc.gcp.HandshakerReq 1273 11, // 23: grpc.gcp.HandshakerService.DoHandshake:output_type -> grpc.gcp.HandshakerResp 1274 23, // [23:24] is the sub-list for method output_type 1275 22, // [22:23] is the sub-list for method input_type 1276 22, // [22:22] is the sub-list for extension type_name 1277 22, // [22:22] is the sub-list for extension extendee 1278 0, // [0:22] is the sub-list for field type_name 1279 } 1280 1281 func init() { file_grpc_gcp_handshaker_proto_init() } 1282 func file_grpc_gcp_handshaker_proto_init() { 1283 if File_grpc_gcp_handshaker_proto != nil { 1284 return 1285 } 1286 file_grpc_gcp_transport_security_common_proto_init() 1287 if !protoimpl.UnsafeEnabled { 1288 file_grpc_gcp_handshaker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1289 switch v := v.(*Endpoint); i { 1290 case 0: 1291 return &v.state 1292 case 1: 1293 return &v.sizeCache 1294 case 2: 1295 return &v.unknownFields 1296 default: 1297 return nil 1298 } 1299 } 1300 file_grpc_gcp_handshaker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1301 switch v := v.(*Identity); i { 1302 case 0: 1303 return &v.state 1304 case 1: 1305 return &v.sizeCache 1306 case 2: 1307 return &v.unknownFields 1308 default: 1309 return nil 1310 } 1311 } 1312 file_grpc_gcp_handshaker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1313 switch v := v.(*StartClientHandshakeReq); i { 1314 case 0: 1315 return &v.state 1316 case 1: 1317 return &v.sizeCache 1318 case 2: 1319 return &v.unknownFields 1320 default: 1321 return nil 1322 } 1323 } 1324 file_grpc_gcp_handshaker_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1325 switch v := v.(*ServerHandshakeParameters); i { 1326 case 0: 1327 return &v.state 1328 case 1: 1329 return &v.sizeCache 1330 case 2: 1331 return &v.unknownFields 1332 default: 1333 return nil 1334 } 1335 } 1336 file_grpc_gcp_handshaker_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1337 switch v := v.(*StartServerHandshakeReq); i { 1338 case 0: 1339 return &v.state 1340 case 1: 1341 return &v.sizeCache 1342 case 2: 1343 return &v.unknownFields 1344 default: 1345 return nil 1346 } 1347 } 1348 file_grpc_gcp_handshaker_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1349 switch v := v.(*NextHandshakeMessageReq); i { 1350 case 0: 1351 return &v.state 1352 case 1: 1353 return &v.sizeCache 1354 case 2: 1355 return &v.unknownFields 1356 default: 1357 return nil 1358 } 1359 } 1360 file_grpc_gcp_handshaker_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1361 switch v := v.(*HandshakerReq); i { 1362 case 0: 1363 return &v.state 1364 case 1: 1365 return &v.sizeCache 1366 case 2: 1367 return &v.unknownFields 1368 default: 1369 return nil 1370 } 1371 } 1372 file_grpc_gcp_handshaker_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1373 switch v := v.(*HandshakerResult); i { 1374 case 0: 1375 return &v.state 1376 case 1: 1377 return &v.sizeCache 1378 case 2: 1379 return &v.unknownFields 1380 default: 1381 return nil 1382 } 1383 } 1384 file_grpc_gcp_handshaker_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1385 switch v := v.(*HandshakerStatus); i { 1386 case 0: 1387 return &v.state 1388 case 1: 1389 return &v.sizeCache 1390 case 2: 1391 return &v.unknownFields 1392 default: 1393 return nil 1394 } 1395 } 1396 file_grpc_gcp_handshaker_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1397 switch v := v.(*HandshakerResp); i { 1398 case 0: 1399 return &v.state 1400 case 1: 1401 return &v.sizeCache 1402 case 2: 1403 return &v.unknownFields 1404 default: 1405 return nil 1406 } 1407 } 1408 } 1409 file_grpc_gcp_handshaker_proto_msgTypes[1].OneofWrappers = []interface{}{ 1410 (*Identity_ServiceAccount)(nil), 1411 (*Identity_Hostname)(nil), 1412 } 1413 file_grpc_gcp_handshaker_proto_msgTypes[6].OneofWrappers = []interface{}{ 1414 (*HandshakerReq_ClientStart)(nil), 1415 (*HandshakerReq_ServerStart)(nil), 1416 (*HandshakerReq_Next)(nil), 1417 } 1418 type x struct{} 1419 out := protoimpl.TypeBuilder{ 1420 File: protoimpl.DescBuilder{ 1421 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1422 RawDescriptor: file_grpc_gcp_handshaker_proto_rawDesc, 1423 NumEnums: 2, 1424 NumMessages: 12, 1425 NumExtensions: 0, 1426 NumServices: 1, 1427 }, 1428 GoTypes: file_grpc_gcp_handshaker_proto_goTypes, 1429 DependencyIndexes: file_grpc_gcp_handshaker_proto_depIdxs, 1430 EnumInfos: file_grpc_gcp_handshaker_proto_enumTypes, 1431 MessageInfos: file_grpc_gcp_handshaker_proto_msgTypes, 1432 }.Build() 1433 File_grpc_gcp_handshaker_proto = out.File 1434 file_grpc_gcp_handshaker_proto_rawDesc = nil 1435 file_grpc_gcp_handshaker_proto_goTypes = nil 1436 file_grpc_gcp_handshaker_proto_depIdxs = nil 1437 }