rpc

package
v1.18.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2022 License: MIT Imports: 21 Imported by: 2

Documentation

Index

Constants

View Source
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

func CopyContextValues(dst context.Context, src context.Context) context.Context

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

func NewContextWithTimeout(timeout time.Duration) (context.Context, context.CancelFunc)

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 {
	sync.Mutex
	// contains filtered or unexported fields
}

RPCFactory is an implementation of common.RPCFactory interface

func NewFactory

func NewFactory(
	cfg *config.RPC,
	sName string,
	logger log.Logger,
	tlsProvider encryption.TLSConfigProvider,
	dc *dynamicconfig.Collection,
	frontendURL string,
	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 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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL