rpc

package
v1.22.0 Latest Latest
Warning

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

Go to latest
Published: Sep 5, 2023 License: MIT Imports: 22 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

	// MaxHTTPAPIRequestBytes is the maximum number of bytes an HTTP API request
	// can have. This is currently set to the max gRPC request size.
	MaxHTTPAPIRequestBytes = 4 * 1024 * 1024
)

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 NewContextWithTimeoutAndVersionHeaders added in v1.17.2

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

NewContextWithTimeoutAndVersionHeaders creates context with timeout and version headers.

func ResetContextTimeout added in v1.21.0

func ResetContextTimeout(ctx context.Context, newTimeout time.Duration) (context.Context, context.CancelFunc)

ResetContextTimeout creates new context with specified timeout and copies values from source Context.

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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