Documentation ¶
Index ¶
- Constants
- func BuildForwardContext(ctx context.Context, addr string) context.Context
- func GetClientConn(ctx context.Context, addr string, tlsCfg *tls.Config, do ...grpc.DialOption) (*grpc.ClientConn, error)
- func GetForwardedHost(ctx context.Context) string
- func ResetForwardContext(ctx context.Context) context.Context
- type TLSConfig
Constants ¶
const ForwardMetadataKey = "pd-forwarded-host"
ForwardMetadataKey is used to record the forwarded host of PD.
Variables ¶
This section is empty.
Functions ¶
func BuildForwardContext ¶
BuildForwardContext creates a context with receiver metadata information. It is used in client side.
func GetClientConn ¶
func GetClientConn(ctx context.Context, addr string, tlsCfg *tls.Config, do ...grpc.DialOption) (*grpc.ClientConn, error)
GetClientConn returns a gRPC client connection. creates a client connection to the given target. By default, it's a non-blocking dial (the function won't wait for connections to be established, and connecting happens in the background). To make it a blocking dial, use WithBlock() dial option.
In the non-blocking case, the ctx does not act against the connection. It only controls the setup steps.
In the blocking case, ctx can be used to cancel or expire the pending connection. Once this function returns, the cancellation and expiration of ctx will be noop. Users should call ClientConn.Close to terminate all the pending operations after this function returns.
func GetForwardedHost ¶
GetForwardedHost returns the forwarded host in metadata.
Types ¶
type TLSConfig ¶
type TLSConfig struct { // CAPath is the path of file that contains list of trusted SSL CAs. if set, following four settings shouldn't be empty CAPath string `toml:"cacert-path" json:"cacert-path"` // CertPath is the path of file that contains X509 certificate in PEM format. CertPath string `toml:"cert-path" json:"cert-path"` // KeyPath is the path of file that contains X509 key in PEM format. KeyPath string `toml:"key-path" json:"key-path"` // CertAllowedCN is a CN which must be provided by a client CertAllowedCN []string `toml:"cert-allowed-cn" json:"cert-allowed-cn"` SSLCABytes []byte SSLCertBytes []byte SSLKEYBytes []byte }
TLSConfig is the configuration for supporting tls.
func (TLSConfig) GetOneAllowedCN ¶
GetOneAllowedCN only gets the first one CN.