Documentation ¶
Index ¶
- Constants
- func CopyContextValues(dst context.Context, src context.Context) context.Context
- func Dial(hostName string, tlsConfig *tls.Config, logger log.Logger, ...) (*grpc.ClientConn, error)
- func NewContextFromParentWithTimeoutAndVersionHeaders(parentCtx context.Context, timeout time.Duration) (context.Context, context.CancelFunc)
- func NewContextWithTimeout(timeout time.Duration) (context.Context, context.CancelFunc)
- func NewContextWithTimeoutAndVersionHeaders(timeout time.Duration) (context.Context, context.CancelFunc)
- func ServiceErrorInterceptor(ctx context.Context, req interface{}, _ *grpc.UnaryServerInfo, ...) (interface{}, error)
- type RPCFactory
- func (d *RPCFactory) CreateInternodeGRPCConnection(hostName string) *grpc.ClientConn
- func (d *RPCFactory) CreateLocalFrontendGRPCConnection() *grpc.ClientConn
- func (d *RPCFactory) CreateRemoteFrontendGRPCConnection(rpcAddress string) *grpc.ClientConn
- func (d *RPCFactory) GetFrontendClientTlsConfig() (*tls.Config, error)
- func (d *RPCFactory) GetFrontendGRPCServerOptions() ([]grpc.ServerOption, error)
- func (d *RPCFactory) GetGRPCListener() net.Listener
- func (d *RPCFactory) GetInternodeClientTlsConfig() (*tls.Config, error)
- func (d *RPCFactory) GetInternodeGRPCServerOptions() ([]grpc.ServerOption, error)
- func (d *RPCFactory) GetRemoteClusterClientConfig(hostname string) (*tls.Config, error)
- func (d *RPCFactory) GetTLSConfigProvider() encryption.TLSConfigProvider
Constants ¶
const ( // DefaultServiceConfig is a default gRPC connection service config which enables DNS round robin between IPs. // To use DNS resolver, a "dns:///" prefix should be applied to the hostPort. // https://github.com/grpc/grpc/blob/master/doc/naming.md DefaultServiceConfig = `{"loadBalancingConfig": [{"round_robin":{}}]}` // MaxBackoffDelay is a maximum interval between reconnect attempts. MaxBackoffDelay = 10 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func CopyContextValues ¶ added in v1.17.2
CopyContextValues copies values in source Context to destination Context.
func Dial ¶
func Dial(hostName string, tlsConfig *tls.Config, logger log.Logger, interceptors ...grpc.UnaryClientInterceptor) (*grpc.ClientConn, error)
Dial creates a client connection to the given target with default options. The hostName syntax is defined in https://github.com/grpc/grpc/blob/master/doc/naming.md. e.g. to use dns resolver, a "dns:///" prefix should be applied to the target.
func NewContextFromParentWithTimeoutAndVersionHeaders ¶ added in v1.17.2
func NewContextFromParentWithTimeoutAndVersionHeaders(parentCtx context.Context, timeout time.Duration) (context.Context, context.CancelFunc)
NewContextFromParentWithTimeoutAndVersionHeaders creates context from parent context with timeout and version headers.
func NewContextWithTimeout ¶
NewContextWithTimeout creates context with timeout.
func NewContextWithTimeoutAndVersionHeaders ¶ added in v1.17.2
func NewContextWithTimeoutAndVersionHeaders(timeout time.Duration) (context.Context, context.CancelFunc)
NewContextWithTimeoutAndVersionHeaders creates context with timeout and version headers.
func ServiceErrorInterceptor ¶ added in v1.3.0
func ServiceErrorInterceptor( ctx context.Context, req interface{}, _ *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
Types ¶
type RPCFactory ¶
type RPCFactory struct {
// contains filtered or unexported fields
}
RPCFactory is an implementation of common.RPCFactory interface
func NewFactory ¶
func NewFactory( cfg *config.RPC, sName primitives.ServiceName, logger log.Logger, tlsProvider encryption.TLSConfigProvider, frontendURL string, frontendTLSConfig *tls.Config, clientInterceptors []grpc.UnaryClientInterceptor, ) *RPCFactory
NewFactory builds a new RPCFactory conforming to the underlying configuration
func (*RPCFactory) CreateInternodeGRPCConnection ¶
func (d *RPCFactory) CreateInternodeGRPCConnection(hostName string) *grpc.ClientConn
CreateInternodeGRPCConnection creates connection for gRPC calls
func (*RPCFactory) CreateLocalFrontendGRPCConnection ¶ added in v1.18.0
func (d *RPCFactory) CreateLocalFrontendGRPCConnection() *grpc.ClientConn
CreateLocalFrontendGRPCConnection creates connection for internal frontend calls
func (*RPCFactory) CreateRemoteFrontendGRPCConnection ¶ added in v1.18.0
func (d *RPCFactory) CreateRemoteFrontendGRPCConnection(rpcAddress string) *grpc.ClientConn
CreateRemoteFrontendGRPCConnection creates connection for gRPC calls
func (*RPCFactory) GetFrontendClientTlsConfig ¶
func (d *RPCFactory) GetFrontendClientTlsConfig() (*tls.Config, error)
func (*RPCFactory) GetFrontendGRPCServerOptions ¶
func (d *RPCFactory) GetFrontendGRPCServerOptions() ([]grpc.ServerOption, error)
func (*RPCFactory) GetGRPCListener ¶
func (d *RPCFactory) GetGRPCListener() net.Listener
GetGRPCListener returns cached dispatcher for gRPC inbound or creates one
func (*RPCFactory) GetInternodeClientTlsConfig ¶
func (d *RPCFactory) GetInternodeClientTlsConfig() (*tls.Config, error)
func (*RPCFactory) GetInternodeGRPCServerOptions ¶
func (d *RPCFactory) GetInternodeGRPCServerOptions() ([]grpc.ServerOption, error)
func (*RPCFactory) GetRemoteClusterClientConfig ¶ added in v1.15.1
func (d *RPCFactory) GetRemoteClusterClientConfig(hostname string) (*tls.Config, error)
func (*RPCFactory) GetTLSConfigProvider ¶ added in v1.5.7
func (d *RPCFactory) GetTLSConfigProvider() encryption.TLSConfigProvider