Documentation ¶
Overview ¶
Package grpcx provides grpc service functionalities.
Index ¶
- Constants
- Variables
- type GrpcServer
- func (s *GrpcServer) GetConfig() *GrpcServerConfig
- func (s *GrpcServer) GetListenedAddress() string
- func (s *GrpcServer) GetListenedPort() int
- func (s *GrpcServer) Logger() *glog.Logger
- func (s *GrpcServer) Run()
- func (s *GrpcServer) Service(services ...gsvc.Service)
- func (s *GrpcServer) Start()
- func (s *GrpcServer) Stop()
- func (s *GrpcServer) UnaryLogger(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, ...) (interface{}, error)
- func (s *GrpcServer) Wait()
- type GrpcServerConfig
- type Service
Constants ¶
const (
FreePortAddress = ":0" // FreePortAddress marks the server listens using random free port.
)
Variables ¶
var ( Ctx = modCtx{} // Ctx is instance of module Context, which manages the context feature. Balancer = modBalancer{} // Balancer is instance of module Balancer, which manages the load balancer features. Resolver = modResolver{} // Resolver is instance of module Resolver, which manages the DNS resolving for client. Client = modClient{} // Client is instance of module Client, which manages the client features. Server = modServer{} // Server is instance of module Server, which manages the server feature. )
Functions ¶
This section is empty.
Types ¶
type GrpcServer ¶
GrpcServer is the server for GRPC protocol.
func (*GrpcServer) GetConfig ¶ added in v2.4.0
func (s *GrpcServer) GetConfig() *GrpcServerConfig
GetConfig returns the configuration of current Server.
func (*GrpcServer) GetListenedAddress ¶
func (s *GrpcServer) GetListenedAddress() string
GetListenedAddress retrieves and returns the address string which are listened by current server.
func (*GrpcServer) GetListenedPort ¶
func (s *GrpcServer) GetListenedPort() int
GetListenedPort retrieves and returns one port which is listened to by current server.
func (*GrpcServer) Logger ¶ added in v2.4.0
func (s *GrpcServer) Logger() *glog.Logger
Logger is alias of GetLogger.
func (*GrpcServer) Service ¶
func (s *GrpcServer) Service(services ...gsvc.Service)
Service binds service list to current server. Server will automatically register the service list after it starts.
func (*GrpcServer) UnaryLogger ¶
func (s *GrpcServer) UnaryLogger( ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler, ) (interface{}, error)
UnaryLogger is the default unary interceptor for logging purpose.
func (*GrpcServer) Wait ¶
func (s *GrpcServer) Wait()
Wait works with Start, which blocks current goroutine until the server stops.
type GrpcServerConfig ¶
type GrpcServerConfig struct { // (optional) Name for current service. Name string // (optional) Single address for server listening, use `:0` or `ip:0` to serve random port. Address string // (optional) Logger for server. Logger *glog.Logger // (optional) LogPath specifies the directory for storing logging files. LogPath string // (optional) LogStdout specifies whether printing logging content to stdout. LogStdout bool // (optional) ErrorStack specifies whether logging stack information when error. ErrorStack bool // (optional) ErrorLogEnabled enables error logging content to files. ErrorLogEnabled bool // (optional) ErrorLogPattern specifies the error log file pattern like: error-{Ymd}.log ErrorLogPattern string // (optional) AccessLogEnabled enables access logging content to file. AccessLogEnabled bool // (optional) AccessLogPattern specifies the error log file pattern like: access-{Ymd}.log AccessLogPattern string // (optional) Endpoints are custom endpoints for service register, it uses Address if empty. Endpoints []string // (optional) GRPC Server options. Options []grpc.ServerOption }
GrpcServerConfig is the configuration for server.
func (*GrpcServerConfig) MustSetWithMap ¶
func (c *GrpcServerConfig) MustSetWithMap(m g.Map)
MustSetWithMap acts as SetWithMap but panics if error occurs.
func (*GrpcServerConfig) SetWithMap ¶
func (c *GrpcServerConfig) SetWithMap(m g.Map) error
SetWithMap changes current configuration with map. This is commonly used for changing several configurations of current object.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
internal
|
|
balancer
Package balancer defines APIs for load balancing in gRPC.
|
Package balancer defines APIs for load balancing in gRPC. |
grpcctx
Package grpcctx provides context feature for GRPC.
|
Package grpcctx provides context feature for GRPC. |
resolver
Package resolver defines APIs for name resolution in gRPC.
|
Package resolver defines APIs for name resolution in gRPC. |
tracing
Package tracing provide tracing feature for GRPC.
|
Package tracing provide tracing feature for GRPC. |
utils
Package utils provides utilities for GRPC.
|
Package utils provides utilities for GRPC. |