mirror of
https://github.com/v2fly/v2ray-core
synced 2024-02-27 03:18:06 +00:00
simplify dependency resolution
This commit is contained in:
@@ -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
|
||||
}))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user