niki/pkg/grpc/server.go

32 lines
500 B
Go

package grpc
import (
"time"
"google.golang.org/grpc"
)
type Config struct {
Port int `koanf:"port"`
NetworkType string `koanf:"type"`
ShutDownCtxTimeout time.Duration `koanf:"shutdown_context_timeout"`
}
type RPCServer struct {
Config Config
Server *grpc.Server
}
func New(cfg Config) *RPCServer {
grpcServer := grpc.NewServer()
return &RPCServer{
Server: grpcServer,
Config: cfg,
}
}
func (s RPCServer) Stop() {
s.Server.GracefulStop()
}