xgrpc

package
v0.0.0-...-d6ac821 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2021 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StreamInterceptorChain

func StreamInterceptorChain(interceptors ...grpc.StreamServerInterceptor) grpc.StreamServerInterceptor

StreamInterceptorChain returns stream interceptors chain.

func UnaryInterceptorChain

func UnaryInterceptorChain(interceptors ...grpc.UnaryServerInterceptor) grpc.UnaryServerInterceptor

UnaryInterceptorChain returns interceptors chain.

Types

type Config

type Config struct {
	Host string
	Port int
	// Network network type, tcp4 by default
	Network string `json:"network" toml:"network"`
	// DisableTrace disbale Trace Interceptor, false by default
	DisableTrace bool
	// DisableMetric disable Metric Interceptor, false by default
	DisableMetric bool
	// SlowQueryThresholdInMilli, request will be colored if cost over this threshold value
	SlowQueryThresholdInMilli int64
	// contains filtered or unexported fields
}

Config ...

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig represents default config User should construct config base on DefaultConfig

func RawConfig

func RawConfig(key string) *Config

RawConfig ...

func StdConfig

func StdConfig(name string) *Config

StdConfig represents Standard gRPC Server config which will parse config by conf package, panic if no config key found in conf

func (Config) Address

func (config Config) Address() string

Address ...

func (*Config) Build

func (config *Config) Build() *Server

Build ...

func (*Config) WithLogger

func (config *Config) WithLogger(logger *xlog.Logger) *Config

WithLogger ...

func (*Config) WithServerOption

func (config *Config) WithServerOption(options ...grpc.ServerOption) *Config

WithServerOption inject server option to grpc server User should not inject interceptor option, which is recommend by WithStreamInterceptor and WithUnaryInterceptor

func (*Config) WithStreamInterceptor

func (config *Config) WithStreamInterceptor(intes ...grpc.StreamServerInterceptor) *Config

WithStreamInterceptor inject stream interceptors to server option

func (*Config) WithUnaryInterceptor

func (config *Config) WithUnaryInterceptor(intes ...grpc.UnaryServerInterceptor) *Config

WithUnaryInterceptor inject unary interceptors to server option

type Server

type Server struct {
	*grpc.Server

	*Config
	// contains filtered or unexported fields
}

Server ...

func (*Server) GracefulStop

func (s *Server) GracefulStop(ctx context.Context) error

GracefulStop implements server.Server interface it will stop echo server gracefully

func (*Server) Info

func (s *Server) Info() *server.ServiceInfo

Info returns server info, used by governor and consumer balancer TODO(gorexlv): implements government protocol with juno

func (*Server) Serve

func (s *Server) Serve() error

Server implements server.Server interface.

func (*Server) Stop

func (s *Server) Stop() error

Stop implements server.Server interface it will terminate echo server immediately

Jump to

Keyboard shortcuts

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