zrpc

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Apr 3, 2022 License: MIT Imports: 17 Imported by: 1,643

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
	// 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 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.

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 ClientOption

type ClientOption = internal.ClientOption

ClientOption is an alias of internal.ClientOption.

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"`
	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"`
}

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"`
	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]"`
}

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.

Jump to

Keyboard shortcuts

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