forked from ebhomengo/niki
38 lines
771 B
Go
38 lines
771 B
Go
package grpc
|
|
|
|
import (
|
|
"fmt"
|
|
"net"
|
|
|
|
paymentpb "git.gocasts.ir/ebhomengo/niki/paymentapp/protobuf"
|
|
"git.gocasts.ir/ebhomengo/niki/pkg/grpc"
|
|
)
|
|
|
|
type PaymentGrpcServer struct {
|
|
server *grpc.RPCServer
|
|
handler *Handler
|
|
}
|
|
|
|
func NewPaymentGrpcServer(server *grpc.RPCServer, handler *Handler) PaymentGrpcServer {
|
|
return PaymentGrpcServer{
|
|
server: server,
|
|
handler: handler,
|
|
}
|
|
}
|
|
|
|
func (s PaymentGrpcServer) Serve() error {
|
|
listener, err := net.Listen(s.server.Config.NetworkType, fmt.Sprintf(":%d", s.server.Config.Port))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
paymentpb.RegisterPaymentServiceServer(s.server.Server, s.handler)
|
|
if err := s.server.Server.Serve(listener); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (s PaymentGrpcServer) Stop() {
|
|
s.server.Stop()
|
|
}
|