feat: add grpc

This commit is contained in:
Rogee
2024-12-31 17:57:06 +08:00
parent daf39f7255
commit 64c08249df
8 changed files with 221 additions and 59 deletions

View File

@@ -0,0 +1,26 @@
package grpc
import (
"git.ipao.vip/rogeecn/atom/container"
"git.ipao.vip/rogeecn/atom/utils/opt"
"google.golang.org/grpc"
)
func Provide(opts ...opt.Option) error {
o := opt.New(opts...)
var config Config
if err := o.UnmarshalConfig(&config); err != nil {
return err
}
return container.Container.Provide(func() (*Grpc, error) {
server := grpc.NewServer()
grpc := &Grpc{
Server: server,
config: &config,
}
container.AddCloseAble(grpc.Server.GracefulStop)
return grpc, nil
}, o.DiOptions()...)
}