zrpc

package
v1.6.4 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2024 License: MIT Imports: 18 Imported by: 1,298

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// WithDialOption is an alias of internal.WithDialOption.
	WithDialOption = internal.WithDialOption
	// WithNonBlock sets the dialing to be nonblock.
	WithNonBlock = internal.WithNonBlock
	// WithStreamClientInterceptor is an alias of internal.WithStreamClientInterceptor.
	WithStreamClientInterceptor = internal.WithStreamClientInterceptor
	// WithTimeout is an alias of internal.WithTimeout.
	WithTimeout = internal.WithTimeout
	// WithTransportCredentials return a func to make the gRPC calls secured with given credentials.
	WithTransportCredentials = internal.WithTransportCredentials
	// WithUnaryClientInterceptor is an alias of internal.WithUnaryClientInterceptor.
	WithUnaryClientInterceptor = internal.WithUnaryClientInterceptor
)

Functions

func DontLogClientContentForMethod added in v1.4.3

func DontLogClientContentForMethod(method string)

DontLogClientContentForMethod disable logging content for given method.

func DontLogContentForMethod added in v1.3.5

func DontLogContentForMethod(method string)

DontLogContentForMethod disable logging content for given method. Deprecated: use ServerMiddlewaresConf.IgnoreContentMethods instead.

func SetClientSlowThreshold

func SetClientSlowThreshold(threshold time.Duration)

SetClientSlowThreshold sets the slow threshold on client side.

func SetServerSlowThreshold

func SetServerSlowThreshold(threshold time.Duration)

SetServerSlowThreshold sets the slow threshold on server side. Deprecated: use ServerMiddlewaresConf.SlowThreshold instead.

func WithCallTimeout added in v1.6.0

func WithCallTimeout(timeout time.Duration) grpc.CallOption

WithCallTimeout return a call option with given timeout to make a method call.

Types

type Client

type Client = internal.Client

Client is an alias of internal.Client.

func MustNewClient

func MustNewClient(c RpcClientConf, options ...ClientOption) Client

MustNewClient returns a Client, exits on any error.

func NewClient

func NewClient(c RpcClientConf, options ...ClientOption) (Client, error)

NewClient returns a Client.

func NewClientWithTarget

func NewClientWithTarget(target string, opts ...ClientOption) (Client, error)

NewClientWithTarget returns a Client with connecting to given target.

type ClientMiddlewaresConf added in v1.4.4

type ClientMiddlewaresConf = internal.ClientMiddlewaresConf

ClientMiddlewaresConf defines whether to use client middlewares.

type ClientOption

type ClientOption = internal.ClientOption

ClientOption is an alias of internal.ClientOption.

type MethodTimeoutConf added in v1.6.0

type MethodTimeoutConf = internal.MethodTimeoutConf

MethodTimeoutConf defines specified timeout for gRPC method.

type RpcClient

type RpcClient struct {
	// contains filtered or unexported fields
}

A RpcClient is a rpc client.

func (*RpcClient) Conn

func (rc *RpcClient) Conn() *grpc.ClientConn

Conn returns the underlying grpc.ClientConn.

type RpcClientConf

type RpcClientConf struct {
	Etcd          discov.EtcdConf `json:",optional,inherit"`
	Endpoints     []string        `json:",optional"`
	Target        string          `json:",optional"`
	App           string          `json:",optional"`
	Token         string          `json:",optional"`
	NonBlock      bool            `json:",optional"`
	Timeout       int64           `json:",default=2000"`
	KeepaliveTime time.Duration   `json:",optional"`
	Middlewares   ClientMiddlewaresConf
}

A RpcClientConf is a rpc client config.

func NewDirectClientConf

func NewDirectClientConf(endpoints []string, app, token string) RpcClientConf

NewDirectClientConf returns a RpcClientConf.

func NewEtcdClientConf

func NewEtcdClientConf(hosts []string, key, app, token string) RpcClientConf

NewEtcdClientConf returns a RpcClientConf.

func (RpcClientConf) BuildTarget

func (cc RpcClientConf) BuildTarget() (string, error)

BuildTarget builds the rpc target from the given config.

func (RpcClientConf) HasCredential

func (cc RpcClientConf) HasCredential() bool

HasCredential checks if there is a credential in config.

type RpcProxy

type RpcProxy struct {
	// contains filtered or unexported fields
}

A RpcProxy is a rpc proxy.

func NewProxy

func NewProxy(backend string, opts ...internal.ClientOption) *RpcProxy

NewProxy returns a RpcProxy.

func (*RpcProxy) TakeConn

func (p *RpcProxy) TakeConn(ctx context.Context) (*grpc.ClientConn, error)

TakeConn returns a grpc.ClientConn.

type RpcServer

type RpcServer struct {
	// contains filtered or unexported fields
}

A RpcServer is a rpc server.

func MustNewServer

func MustNewServer(c RpcServerConf, register internal.RegisterFn) *RpcServer

MustNewServer returns a RpcSever, exits on any error.

func NewServer

func NewServer(c RpcServerConf, register internal.RegisterFn) (*RpcServer, error)

NewServer returns a RpcServer.

func (*RpcServer) AddOptions

func (rs *RpcServer) AddOptions(options ...grpc.ServerOption)

AddOptions adds given options.

func (*RpcServer) AddStreamInterceptors

func (rs *RpcServer) AddStreamInterceptors(interceptors ...grpc.StreamServerInterceptor)

AddStreamInterceptors adds given stream interceptors.

func (*RpcServer) AddUnaryInterceptors

func (rs *RpcServer) AddUnaryInterceptors(interceptors ...grpc.UnaryServerInterceptor)

AddUnaryInterceptors adds given unary interceptors.

func (*RpcServer) Start

func (rs *RpcServer) Start()

Start starts the RpcServer. Graceful shutdown is enabled by default. Use proc.SetTimeToForceQuit to customize the graceful shutdown period.

func (*RpcServer) Stop

func (rs *RpcServer) Stop()

Stop stops the RpcServer.

type RpcServerConf

type RpcServerConf struct {
	service.ServiceConf
	ListenOn      string
	Etcd          discov.EtcdConf    `json:",optional,inherit"`
	Auth          bool               `json:",optional"`
	Redis         redis.RedisKeyConf `json:",optional"`
	StrictControl bool               `json:",optional"`
	// setting 0 means no timeout
	Timeout      int64 `json:",default=2000"`
	CpuThreshold int64 `json:",default=900,range=[0:1000)"`
	// grpc health check switch
	Health      bool `json:",default=true"`
	Middlewares ServerMiddlewaresConf
	// setting specified timeout for gRPC method
	MethodTimeouts []MethodTimeoutConf `json:",optional"`
}

A RpcServerConf is a rpc server config.

func (RpcServerConf) HasEtcd

func (sc RpcServerConf) HasEtcd() bool

HasEtcd checks if there is etcd settings in config.

func (RpcServerConf) Validate

func (sc RpcServerConf) Validate() error

Validate validates the config.

type ServerMiddlewaresConf added in v1.4.4

type ServerMiddlewaresConf = internal.ServerMiddlewaresConf

ServerMiddlewaresConf defines whether to use server middlewares.

type StatConf added in v1.5.1

type StatConf = internal.StatConf

StatConf defines the stat config.

Jump to

Keyboard shortcuts

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