rpc

package
v1.14.5 Latest Latest
Warning

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

Go to latest
Published: Feb 11, 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 Dial

func Dial(hostName string, tlsConfig *tls.Config, logger log.Logger) (*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 NewContextFromParentWithTimeoutAndHeaders

func NewContextFromParentWithTimeoutAndHeaders(parentCtx context.Context, timeout time.Duration) (context.Context, context.CancelFunc)

NewContextFromParentWithTimeoutAndHeaders creates context from parent context with timeout and version headers.

func NewContextWithCLIHeaders

func NewContextWithCLIHeaders() (context.Context, context.CancelFunc)

NewContextWithCLIHeaders creates context with version headers for CLI.

func NewContextWithTimeout

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

NewContextWithTimeout creates context with timeout.

func NewContextWithTimeoutAndCLIHeaders

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

NewContextWithTimeoutAndCLIHeaders creates context with timeout and version headers for CLI.

func NewContextWithTimeoutAndHeaders

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

NewContextWithTimeoutAndHeaders 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 service.RPCFactory interface

func NewFactory

func NewFactory(cfg *config.RPC, sName string, logger log.Logger, tlsProvider encryption.TLSConfigProvider, dc *dynamicconfig.Collection) *RPCFactory

NewFactory builds a new RPCFactory conforming to the underlying configuration

func (*RPCFactory) CreateFrontendGRPCConnection

func (d *RPCFactory) CreateFrontendGRPCConnection(hostName string) *grpc.ClientConn

CreateFrontendGRPCConnection creates connection for gRPC calls

func (*RPCFactory) CreateInternodeGRPCConnection

func (d *RPCFactory) CreateInternodeGRPCConnection(hostName string) *grpc.ClientConn

CreateInternodeGRPCConnection 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) GetRingpopChannel

func (d *RPCFactory) GetRingpopChannel() *tchannel.Channel

GetRingpopChannel return a cached ringpop dispatcher

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