simplify dependency resolution

This commit is contained in:
Darien Raymond
2018-10-22 11:26:22 +02:00
parent 9decb3fe36
commit 307aac26b3
13 changed files with 135 additions and 56 deletions
+9 -5
View File
@@ -75,17 +75,21 @@ func (s *statsServer) QueryStats(ctx context.Context, request *QueryStatsRequest
}
type service struct {
v *core.Instance
statsManager feature_stats.Manager
}
func (s *service) Register(server *grpc.Server) {
f := s.v.GetFeature(feature_stats.ManagerType())
RegisterStatsServiceServer(server, NewStatsServer(f.(feature_stats.Manager)))
RegisterStatsServiceServer(server, NewStatsServer(s.statsManager))
}
func init() {
common.Must(common.RegisterConfig((*Config)(nil), func(ctx context.Context, cfg interface{}) (interface{}, error) {
s := core.MustFromContext(ctx)
return &service{v: s}, nil
s := new(service)
core.RequireFeatures(ctx, func(sm feature_stats.Manager) {
s.statsManager = sm
})
return s, nil
}))
}