rpc

package
v1.20.10 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2023 License: Zlib Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Close

func Close(client *grpc.ClientConn)

func HealthCheck

func HealthCheck(grpcServer *grpc.Server)

func IsClosed added in v1.8.8

func IsClosed(s *status.Status) bool

func IsDeadlineExceeded added in v1.8.8

func IsDeadlineExceeded(s *status.Status) bool

func IsNeedAlarm added in v1.10.11

func IsNeedAlarm(s *status.Status) bool

func IsUnimplemented added in v1.10.11

func IsUnimplemented(s *status.Status) bool

func NewClient

func NewClient(addr string, opts ...grpc.DialOption) (*grpc.ClientConn, error)

func Reflection

func Reflection(grpcServer *grpc.Server)

func UnaryServerInterceptor

func UnaryServerInterceptor(authFunc AuthFunc) grpc.UnaryServerInterceptor

UnaryServerInterceptor returns a new unary server interceptors that performs per-request auth.

func WithStatus added in v1.1.12

func WithStatus(err error) *status.Status

Types

type AuthFunc

type AuthFunc func(ctx context.Context, req interface{}, fullMethodName string) (context.Context, error)

type Client added in v1.1.9

type Client struct {
	Config
	// contains filtered or unexported fields
}

func (*Client) Alarm added in v1.1.9

func (cli *Client) Alarm(method string, latency time.Duration, err error)

func (*Client) CheckHealth added in v1.1.10

func (cli *Client) CheckHealth() (int, error)

func (*Client) Close added in v1.1.9

func (cli *Client) Close()

func (*Client) CreateConnect added in v1.1.9

func (cli *Client) CreateConnect(opts ...grpc.DialOption) (*grpc.ClientConn, error)

func (*Client) HandlerError added in v1.1.9

func (cli *Client) HandlerError(conn *grpc.ClientConn, err error, start time.Time, method string) error

HandlerError "State":"IDLE","Status":"rpc error: code = Unknown desc = rpc error: code = DeadlineExceeded desc = context deadline exceeded"}

func (*Client) WatchHealth added in v1.1.10

func (cli *Client) WatchHealth() (grpc_health_v1.Health_WatchClient, error)

type Config

type Config struct {
	Timeout time.Duration
	Server  string
	Service string
	Title   string
}

type HealthClient added in v1.1.9

type HealthClient struct {
}

func (*HealthClient) Check added in v1.1.9

func (client *HealthClient) Check(conn *grpc.ClientConn, service string, duration time.Duration) (int, error)

func (*HealthClient) Watch added in v1.1.9

func (client *HealthClient) Watch(conn *grpc.ClientConn, service string, duration time.Duration) (grpc_health_v1.Health_WatchClient, error)

type HealthServer added in v1.1.9

type HealthServer struct{}

HealthServer 健康检查实现

func (*HealthServer) Check added in v1.1.9

Check 实现健康检查接口,这里直接返回健康状态,这里也可以有更复杂的健康检查策略,比如根据服务器负载来返回

func (*HealthServer) Watch added in v1.1.9

Watch Performs a watch for the serving status of the requested service. The server will immediately send back a message indicating the current serving status. It will then subsequently send a new message whenever the service's serving status changes.

If the requested service is unknown when the call is received, the server will send a message setting the serving status to SERVICE_UNKNOWN but will *not* terminate the call. If at some future point, the serving status of the service becomes known, the server will send a new message with the service's serving status.

If the call terminates with status UNIMPLEMENTED, then clients should assume this method is not supported and should not retry the call. If the call terminates with any other status (including OK), clients should retry the call with appropriate exponential backoff.

type OptionFunc added in v1.1.9

type OptionFunc func(conf *Config)

type ServiceAuthOverride

type ServiceAuthOverride interface {
	AuthFuncOverride(ctx context.Context, req interface{}, fullMethodName string) (context.Context, error)
}

ServiceAuthOverride allows a given gRPC service implementation to override the global `AuthFunc`.

If a service implements the AuthFuncOverride method, it takes precedence over the `AuthFunc` method, and will be called instead of AuthFunc for all method invocations within that service.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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