package grpc_gcp

Import Path
	google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp (on go.dev)

Dependency Relation
	imports 7 packages, and imported by 3 packages


Package-Level Type Names (total 33, in which 28 are exported)
/* sort exporteds by: | */
The application protocol negotiated for this connection. The local service account. Additional attributes of the peer. The RPC protocol versions supported by the peer. The peer service account. The record protocol negotiated for this connection. The security level of the created secure channel. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetApplicationProtocol() string (*T) GetLocalServiceAccount() string (*T) GetPeerAttributes() map[string]string (*T) GetPeerRpcVersions() *RpcProtocolVersions (*T) GetPeerServiceAccount() string (*T) GetRecordProtocol() string (*T) GetSecurityLevel() SecurityLevel (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer
IP address. It should contain an IPv4 or IPv6 string literal, e.g. "192.168.0.1" or "2001:db8::1". Port number. Network protocol (e.g., TCP, UDP) associated with this endpoint. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetIpAddress() string (*T) GetPort() int32 (*T) GetProtocol() NetworkProtocol (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*StartClientHandshakeReq).GetLocalEndpoint() *Endpoint func (*StartClientHandshakeReq).GetRemoteEndpoint() *Endpoint func (*StartServerHandshakeReq).GetLocalEndpoint() *Endpoint func (*StartServerHandshakeReq).GetRemoteEndpoint() *Endpoint
( T) EnumDescriptor() ([]byte, []int) ( T) String() string T : expvar.Var T : fmt.Stringer func (*StartClientHandshakeReq).GetHandshakeSecurityProtocol() HandshakeProtocol const HandshakeProtocol_ALTS const HandshakeProtocol_HANDSHAKE_PROTOCOL_UNSPECIFIED const HandshakeProtocol_TLS
Types that are valid to be assigned to ReqOneof: *HandshakerReq_ClientStart *HandshakerReq_ServerStart *HandshakerReq_Next XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetClientStart() *StartClientHandshakeReq (*T) GetNext() *NextHandshakeMessageReq (*T) GetReqOneof() isHandshakerReq_ReqOneof (*T) GetServerStart() *StartServerHandshakeReq (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) XXX_OneofWrappers is for the internal use of the proto package. (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func HandshakerService_DoHandshakeServer.Recv() (*HandshakerReq, error) func HandshakerService_DoHandshakeClient.Send(*HandshakerReq) error
ClientStart *StartClientHandshakeReq
Next *NextHandshakeMessageReq
ServerStart *StartServerHandshakeReq
Number of bytes in the in_bytes consumed by the handshaker. It is possible that part of in_bytes in HandshakerReq was unrelated to the handshake process. Frames to be given to the peer for the NextHandshakeMessageReq. May be empty if no out_frames have to be sent to the peer or if in_bytes in the HandshakerReq are incomplete. All the non-empty out frames must be sent to the peer even if the handshaker status is not OK as these frames may contain the alert frames. This is set iff the handshake was successful. out_frames may still be set to frames that needs to be forwarded to the peer. Status of the handshaker. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetBytesConsumed() uint32 (*T) GetOutFrames() []byte (*T) GetResult() *HandshakerResult (*T) GetStatus() *HandshakerStatus (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func HandshakerService_DoHandshakeClient.Recv() (*HandshakerResp, error) func HandshakerService_DoHandshakeServer.Send(*HandshakerResp) error
The application protocol negotiated for this connection. Indicate whether the handshaker service client should keep the channel between the handshaker service open, e.g., in order to handle post-handshake messages in the future. Cryptographic key data. The key data may be more than the key length required for the record protocol, thus the client of the handshaker service needs to truncate the key data into the right key length. The local identity used in the handshake. The maximum frame size of the peer. The authenticated identity of the peer. The RPC protocol versions supported by the peer. The record protocol negotiated for this connection. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetApplicationProtocol() string (*T) GetKeepChannelOpen() bool (*T) GetKeyData() []byte (*T) GetLocalIdentity() *Identity (*T) GetMaxFrameSize() uint32 (*T) GetPeerIdentity() *Identity (*T) GetPeerRpcVersions() *RpcProtocolVersions (*T) GetRecordProtocol() string (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*HandshakerResp).GetResult() *HandshakerResult func google.golang.org/grpc/credentials/alts/internal/authinfo.New(result *HandshakerResult) credentials.AuthInfo
CloseSend closes the send direction of the stream. It closes the stream when non-nil error is met. It is also not safe to call CloseSend concurrently with SendMsg. Context returns the context for this stream. It should not be called until after Header or RecvMsg has returned. Once called, subsequent client-side retries are disabled. Header returns the header metadata received from the server if there is any. It blocks if the metadata is not ready to read. ( T) Recv() (*HandshakerResp, error) RecvMsg blocks until it receives a message into m or the stream is done. It returns io.EOF when the stream completes successfully. On any other error, the stream is aborted and the error contains the RPC status. It is safe to have a goroutine calling SendMsg and another goroutine calling RecvMsg on the same stream at the same time, but it is not safe to call RecvMsg on the same stream in different goroutines. ( T) Send(*HandshakerReq) error SendMsg is generally called by generated code. On error, SendMsg aborts the stream. If the error was generated by the client, the status is returned directly; otherwise, io.EOF is returned and the status of the stream may be discovered using RecvMsg. SendMsg blocks until: - There is sufficient flow control to schedule m with the transport, or - The stream is done, or - The stream breaks. SendMsg does not wait until the message is received by the server. An untimely stream closure may result in lost messages. To ensure delivery, users should ensure the RPC completed successfully using RecvMsg. It is safe to have a goroutine calling SendMsg and another goroutine calling RecvMsg on the same stream at the same time, but it is not safe to call SendMsg on the same stream in different goroutines. It is also not safe to call CloseSend concurrently with SendMsg. Trailer returns the trailer metadata from the server, if there is any. It must only be called after stream.CloseAndRecv has returned, or stream.Recv has returned a non-nil error (including io.EOF). T : google.golang.org/grpc.ClientStream T : google.golang.org/grpc.Stream func HandshakerServiceClient.DoHandshake(ctx context.Context, opts ...grpc.CallOption) (HandshakerService_DoHandshakeClient, error)
Context returns the context for this stream. ( T) Recv() (*HandshakerReq, error) RecvMsg blocks until it receives a message into m or the stream is done. It returns io.EOF when the client has performed a CloseSend. On any non-EOF error, the stream is aborted and the error contains the RPC status. It is safe to have a goroutine calling SendMsg and another goroutine calling RecvMsg on the same stream at the same time, but it is not safe to call RecvMsg on the same stream in different goroutines. ( T) Send(*HandshakerResp) error SendHeader sends the header metadata. The provided md and headers set by SetHeader() will be sent. It fails if called multiple times. SendMsg sends a message. On error, SendMsg aborts the stream and the error is returned directly. SendMsg blocks until: - There is sufficient flow control to schedule m with the transport, or - The stream is done, or - The stream breaks. SendMsg does not wait until the message is received by the client. An untimely stream closure may result in lost messages. It is safe to have a goroutine calling SendMsg and another goroutine calling RecvMsg on the same stream at the same time, but it is not safe to call SendMsg on the same stream in different goroutines. SetHeader sets the header metadata. It may be called multiple times. When call multiple times, all the provided metadata will be merged. All the metadata will be sent out when one of the following happens: - ServerStream.SendHeader() is called; - The first response is sent out; - An RPC status is sent out (error or success). SetTrailer sets the trailer metadata which will be sent with the RPC status. When called more than once, all the provided metadata will be merged. T : google.golang.org/grpc.ServerStream T : google.golang.org/grpc.Stream func HandshakerServiceServer.DoHandshake(HandshakerService_DoHandshakeServer) error func (*UnimplementedHandshakerServiceServer).DoHandshake(srv HandshakerService_DoHandshakeServer) error func UnstableHandshakerServiceService.DoHandshake(HandshakerService_DoHandshakeServer) error
HandshakerServiceClient is the client API for HandshakerService service. For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. Handshaker service accepts a stream of handshaker request, returning a stream of handshaker response. Client is expected to send exactly one message with either client_start or server_start followed by one or more messages with next. Each time client sends a request, the handshaker service expects to respond. Client does not have to wait for service's response before sending next request. func NewHandshakerServiceClient(cc grpc.ClientConnInterface) HandshakerServiceClient
HandshakerServiceServer is the server API for HandshakerService service. Handshaker service accepts a stream of handshaker request, returning a stream of handshaker response. Client is expected to send exactly one message with either client_start or server_start followed by one or more messages with next. Each time client sends a request, the handshaker service expects to respond. Client does not have to wait for service's response before sending next request. *UnimplementedHandshakerServiceServer UnstableHandshakerServiceService (interface) T : UnstableHandshakerServiceService func RegisterHandshakerServiceServer(s *grpc.Server, srv HandshakerServiceServer)
HandshakerServiceService is the service API for HandshakerService service. Fields should be assigned to their respective handler implementations only before RegisterHandshakerServiceService is called. Any unassigned fields will result in the handler for that method returning an Unimplemented error. Handshaker service accepts a stream of handshaker request, returning a stream of handshaker response. Client is expected to send exactly one message with either client_start or server_start followed by one or more messages with next. Each time client sends a request, the handshaker service expects to respond. Client does not have to wait for service's response before sending next request. func NewHandshakerServiceService(s interface{}) *HandshakerServiceService func RegisterHandshakerServiceService(s grpc.ServiceRegistrar, srv *HandshakerServiceService)
The status code. This could be the gRPC status code. The status details. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetCode() uint32 (*T) GetDetails() string (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*HandshakerResp).GetStatus() *HandshakerStatus
Additional attributes of the identity. Types that are valid to be assigned to IdentityOneof: *Identity_ServiceAccount *Identity_Hostname XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetAttributes() map[string]string (*T) GetHostname() string (*T) GetIdentityOneof() isIdentity_IdentityOneof (*T) GetServiceAccount() string (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) XXX_OneofWrappers is for the internal use of the proto package. (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*HandshakerResult).GetLocalIdentity() *Identity func (*HandshakerResult).GetPeerIdentity() *Identity func (*ServerHandshakeParameters).GetLocalIdentities() []*Identity func (*StartClientHandshakeReq).GetLocalIdentity() *Identity func (*StartClientHandshakeReq).GetTargetIdentities() []*Identity
Hostname string
ServiceAccount string
( T) EnumDescriptor() ([]byte, []int) ( T) String() string T : expvar.Var T : fmt.Stringer func (*Endpoint).GetProtocol() NetworkProtocol const NetworkProtocol_NETWORK_PROTOCOL_UNSPECIFIED const NetworkProtocol_TCP const NetworkProtocol_UDP
Bytes in out_frames returned from the peer's HandshakerResp. It is possible that the peer's out_frames are split into multiple NextHandshakerMessageReq messages. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetInBytes() []byte (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*HandshakerReq).GetNext() *NextHandshakeMessageReq
Max and min supported RPC protocol versions. Maximum supported RPC version. Minimum supported RPC version. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetMaxRpcVersion() *RpcProtocolVersions_Version (*T) GetMinRpcVersion() *RpcProtocolVersions_Version (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*AltsContext).GetPeerRpcVersions() *RpcProtocolVersions func (*HandshakerResult).GetPeerRpcVersions() *RpcProtocolVersions func (*StartClientHandshakeReq).GetRpcVersions() *RpcProtocolVersions func (*StartServerHandshakeReq).GetRpcVersions() *RpcProtocolVersions func google.golang.org/grpc/credentials/alts.AuthInfo.PeerRPCVersions() *RpcProtocolVersions
RPC version contains a major version and a minor version. Major uint32 Minor uint32 XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetMajor() uint32 (*T) GetMinor() uint32 (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*RpcProtocolVersions).GetMaxRpcVersion() *RpcProtocolVersions_Version func (*RpcProtocolVersions).GetMinRpcVersion() *RpcProtocolVersions_Version
The security level of the created channel. The list is sorted in increasing level of security. This order must always be maintained. ( T) EnumDescriptor() ([]byte, []int) ( T) String() string T : expvar.Var T : fmt.Stringer func (*AltsContext).GetSecurityLevel() SecurityLevel func google.golang.org/grpc/credentials/alts.AuthInfo.SecurityLevel() SecurityLevel const SecurityLevel_INTEGRITY_AND_PRIVACY const SecurityLevel_INTEGRITY_ONLY const SecurityLevel_SECURITY_NONE
(Optional) A list of local identities supported by the server, if specified. Otherwise, the handshaker chooses a default local identity. The record protocols supported by the server, e.g., "ALTSRP_GCM_AES128". XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetLocalIdentities() []*Identity (*T) GetRecordProtocols() []string (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*StartServerHandshakeReq).GetHandshakeParameters() map[int32]*ServerHandshakeParameters
The application protocols supported by the client, e.g., "h2" (for http2), "grpc". Handshake security protocol requested by the client. (Optional) Local endpoint information of the connection to the server, such as local IP address, port number, and network protocol. (Optional) Application may specify a local identity. Otherwise, the handshaker chooses a default local identity. (Optional) Maximum frame size supported by the client. The record protocols supported by the client, e.g., "ALTSRP_GCM_AES128". (Optional) Endpoint information of the remote server, such as IP address, port number, and network protocol. (Optional) RPC protocol versions supported by the client. (Optional) Describes which server identities are acceptable by the client. If target identities are provided and none of them matches the peer identity of the server, handshake will fail. (Optional) If target name is provided, a secure naming check is performed to verify that the peer authenticated identity is indeed authorized to run the target name. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetApplicationProtocols() []string (*T) GetHandshakeSecurityProtocol() HandshakeProtocol (*T) GetLocalEndpoint() *Endpoint (*T) GetLocalIdentity() *Identity (*T) GetMaxFrameSize() uint32 (*T) GetRecordProtocols() []string (*T) GetRemoteEndpoint() *Endpoint (*T) GetRpcVersions() *RpcProtocolVersions (*T) GetTargetIdentities() []*Identity (*T) GetTargetName() string (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*HandshakerReq).GetClientStart() *StartClientHandshakeReq
The application protocols supported by the server, e.g., "h2" (for http2), "grpc". Handshake parameters (record protocols and local identities supported by the server) mapped by the handshake protocol. Each handshake security protocol (e.g., TLS or ALTS) has its own set of record protocols and local identities. Since protobuf does not support enum as key to the map, the key to handshake_parameters is the integer value of HandshakeProtocol enum. Bytes in out_frames returned from the peer's HandshakerResp. It is possible that the peer's out_frames are split into multiple HandshakReq messages. (Optional) Local endpoint information of the connection to the client, such as local IP address, port number, and network protocol. (Optional) Maximum frame size supported by the server. (Optional) Endpoint information of the remote client, such as IP address, port number, and network protocol. (Optional) RPC protocol versions supported by the server. XXX_NoUnkeyedLiteral struct{} XXX_sizecache int32 XXX_unrecognized []byte (*T) Descriptor() ([]byte, []int) (*T) GetApplicationProtocols() []string (*T) GetHandshakeParameters() map[int32]*ServerHandshakeParameters (*T) GetInBytes() []byte (*T) GetLocalEndpoint() *Endpoint (*T) GetMaxFrameSize() uint32 (*T) GetRemoteEndpoint() *Endpoint (*T) GetRpcVersions() *RpcProtocolVersions (*T) ProtoMessage() (*T) Reset() (*T) String() string (*T) XXX_DiscardUnknown() (*T) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) (*T) XXX_Merge(src proto.Message) (*T) XXX_Size() int (*T) XXX_Unmarshal(b []byte) error *T : google.golang.org/protobuf/runtime/protoiface.MessageV1 *T : expvar.Var *T : fmt.Stringer func (*HandshakerReq).GetServerStart() *StartServerHandshakeReq
UnimplementedHandshakerServiceServer can be embedded to have forward compatible implementations. (*T) DoHandshake(srv HandshakerService_DoHandshakeServer) error *T : HandshakerServiceServer *T : UnstableHandshakerServiceService
UnstableHandshakerServiceService is the service API for HandshakerService service. New methods may be added to this interface if they are added to the service definition, which is not a backward-compatible change. For this reason, use of this type is not recommended. Handshaker service accepts a stream of handshaker request, returning a stream of handshaker response. Client is expected to send exactly one message with either client_start or server_start followed by one or more messages with next. Each time client sends a request, the handshaker service expects to respond. Client does not have to wait for service's response before sending next request. HandshakerServiceServer (interface) *UnimplementedHandshakerServiceServer T : HandshakerServiceServer
Package-Level Functions (total 11, in which 4 are exported)
NewHandshakerServiceService creates a new HandshakerServiceService containing the implemented methods of the HandshakerService service in s. Any unimplemented methods will result in the gRPC server returning an UNIMPLEMENTED status to the client. This includes situations where the method handler is misspelled or has the wrong signature. For this reason, this function should be used with great care and is not recommended to be used by most users.
RegisterHandshakerServiceService registers a service implementation with a gRPC server.