Documentation ¶
Overview ¶
Package grpcapplication offers an Application implementation of github.com/goinsane/application for GRPC applications.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GRPCApplication ¶ added in v0.1.0
type GRPCApplication struct { // App is an Application instance for wrapping notification methods if needed. App application.Application // Logger logs error and warning logs if needed. Logger *xlog.Logger // HTTPServer for using custom HTTP server if needed. HTTPServer *http.Server // GRPCServerOptions for additional server options if needed. GRPCServerOptions []grpc.ServerOption // If HandleMetrics is true, the GRPCApplication serves /metrics end-point for prometheus metrics . HandleMetrics bool // If HandlePprof is true, the GRPCApplication serves /debug/pprof/ end-point for pprof. HandlePprof bool // RegisterFunc for registering GRPC services. If it is nil, the GRPCApplication doesn't handle any request. RegisterFunc RegisterFunc // Listeners for serving requests. If it is nil, the GRPCApplication doesn't serve any connections. Listeners []net.Listener // contains filtered or unexported fields }
GRPCApplication is an implementation of Application optimized by GRPC applications.
func (*GRPCApplication) Run ¶ added in v0.1.0
func (a *GRPCApplication) Run(ctx application.Context)
Run implements Application.Run(). It calls Serve methods for given listeners. And also it calls App.Run() asynchronously if App isn't nil.
func (*GRPCApplication) Start ¶ added in v0.1.0
func (a *GRPCApplication) Start(ctx application.Context)
Start implements Application.Start(). It initializes HTTP and GRPC servers, calls RegisterFunc. And after calls App.Start() if App isn't nil.
func (*GRPCApplication) Stop ¶ added in v0.1.0
func (a *GRPCApplication) Stop()
Stop implements Application.Stop(). And also it calls App.Stop() if App isn't nil.
func (*GRPCApplication) Terminate ¶ added in v0.1.0
func (a *GRPCApplication) Terminate(ctx context.Context)
Terminate implements Application.Terminate(). It terminates servers. And also it calls App.Terminate() asynchronously if App isn't nil.
type RegisterFunc ¶
type RegisterFunc func(ctx application.Context, grpcServer *grpc.Server, httpServeMux *http.ServeMux)
RegisterFunc is a type of function for using in GRPCApplication.