1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-05-06 12:39:12 -04:00

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

View File

@@ -6,8 +6,6 @@ import (
"context"
"time"
"v2ray.com/core/features"
"v2ray.com/core"
"v2ray.com/core/common"
"v2ray.com/core/common/buf"
@@ -37,10 +35,9 @@ func New(ctx context.Context, config *Config) (*Handler, error) {
config: *config,
}
v := core.MustFromContext(ctx)
v.RequireFeatures([]interface{}{policy.ManagerType(), dns.ClientType()}, func(fs []features.Feature) {
f.policyManager = fs[0].(policy.Manager)
f.dns = fs[1].(dns.Client)
core.RequireFeatures(ctx, func(pm policy.Manager, d dns.Client) {
f.policyManager = pm
f.dns = d
})
return f, nil