This commit is contained in:
crusader
2017-09-01 15:42:23 +09:00
parent d3f40ec6be
commit 1e1e212954
15 changed files with 365 additions and 288 deletions

27
grpc/pool.go Normal file
View File

@@ -0,0 +1,27 @@
package grpc
import (
"context"
"fmt"
"git.loafle.net/commons_go/config"
"git.loafle.net/commons_go/logging"
ogp "git.loafle.net/overflow/overflow_grpc_pool"
)
func NewPool(ctx context.Context) ogp.Pool {
h := &poolHandlers{
ctx: ctx,
logger: logging.WithContext(ctx),
}
h.cfg = config.Sub("grpc")
h.MaxIdle = h.cfg.GetInt("pool.MaxIdle")
h.MaxCapacity = h.cfg.GetInt("pool.MaxCapacity")
p, err := ogp.New(ctx, h)
if nil != err {
h.logger.Fatal(fmt.Sprintf("GRpc Pool: %v", err))
}
return p
}

30
grpc/pool_handlers.go Normal file
View File

@@ -0,0 +1,30 @@
package grpc
import (
"context"
"google.golang.org/grpc"
"git.loafle.net/commons_go/config"
oas "git.loafle.net/overflow/overflow_api_server/golang"
ogp "git.loafle.net/overflow/overflow_grpc_pool"
"go.uber.org/zap"
)
type poolHandlers struct {
ogp.PoolHandlers
ctx context.Context
logger *zap.Logger
cfg config.Configurator
}
func (h *poolHandlers) OnCreate() (*grpc.ClientConn, interface{}, error) {
var err error
conn, err := grpc.Dial(config.GetString("grpc.addr"), grpc.WithInsecure())
if nil != err {
return nil, nil, err
}
c := oas.NewOverflowApiServerClient(conn)
return conn, c, nil
}