Move more cfg out of groups
License: MIT Signed-off-by: Michael Avila <davidmichaelavila@gmail.com>
Michael Avila committed
May 6, 2019 at 11:18 UTC
a87558e02cc5c1cf4728c734e9c0566b3f1969e3
2 files changed
+13
-14
core/node/groups.go
+2
-2
@@ -232,7 +232,7 @@ func Online(bcfg *BuildCfg, cfg *config.Config) fx.Option {
232
fx.Provide(p2p.New),
233
234
LibP2P(bcfg, cfg),
235
- OnlineProviders(cfg),
235
+ OnlineProviders(cfg.Experimental.StrategicProviding, cfg.Reprovider.Strategy, cfg.Reprovider.Interval),
236
)
237
}
238
@@ -242,7 +242,7 @@ func Offline(cfg *config.Config) fx.Option {
242
fx.Provide(offline.Exchange),
243
fx.Provide(Namesys(0)),
244
fx.Provide(offroute.NewOfflineRouter),
245
- OfflineProviders(cfg),
245
+ OfflineProviders(cfg.Experimental.StrategicProviding, cfg.Reprovider.Strategy, cfg.Reprovider.Interval),
246
)
247
}
248
core/node/provider.go
+11
-12
@@ -7,7 +7,6 @@ import (
7
8
"go.uber.org/fx"
9
10
- "github.com/ipfs/go-ipfs-config"
10
"github.com/ipfs/go-ipfs/core/node/helpers"
11
"github.com/ipfs/go-ipfs/provider"
12
q "github.com/ipfs/go-ipfs/provider/queue"
@@ -72,34 +71,34 @@ func StrategicOfflineProviderSysCtor() provider.System {
71
// ONLINE/OFFLINE
72
73
// OnlineProviders groups units managing provider routing records online
75
-func OnlineProviders(cfg *config.Config) fx.Option {
76
- if cfg.Experimental.StrategicProviding {
74
+func OnlineProviders(useStrategicProviding bool, reprovideStrategy string, reprovideInterval string) fx.Option {
75
+ if useStrategicProviding {
76
return fx.Provide(StrategicProviderSysCtor)
77
}
78
79
return fx.Options(
81
- SimpleProviders(cfg),
80
+ SimpleProviders(reprovideStrategy, reprovideInterval),
81
fx.Provide(SimpleProviderSysCtor),
82
)
83
}
84
85
// OfflineProviders groups units managing provider routing records offline
87
-func OfflineProviders(cfg *config.Config) fx.Option {
88
- if cfg.Experimental.StrategicProviding {
86
+func OfflineProviders(useStrategicProviding bool, reprovideStrategy string, reprovideInterval string) fx.Option {
87
+ if useStrategicProviding {
88
return fx.Provide(StrategicOfflineProviderSysCtor)
89
}
90
91
return fx.Options(
93
- SimpleProviders(cfg),
92
+ SimpleProviders(reprovideStrategy, reprovideInterval),
93
fx.Provide(SimpleOfflineProviderSysCtor),
94
)
95
}
96
97
// SimpleProviders creates the simple provider/reprovider dependencies
99
-func SimpleProviders(cfg *config.Config) fx.Option {
98
+func SimpleProviders(reprovideStrategy string, reprovideInterval string) fx.Option {
99
reproviderInterval := kReprovideFrequency
101
- if cfg.Reprovider.Interval != "" {
102
- dur, err := time.ParseDuration(cfg.Reprovider.Interval)
100
+ if reprovideInterval != "" {
101
+ dur, err := time.ParseDuration(reprovideInterval)
102
if err != nil {
103
return fx.Error(err)
104
}
@@ -108,7 +107,7 @@ func SimpleProviders(cfg *config.Config) fx.Option {
107
}
108
109
var keyProvider fx.Option
111
- switch cfg.Reprovider.Strategy {
110
+ switch reprovideStrategy {
111
case "all":
112
fallthrough
113
case "":
@@ -118,7 +117,7 @@ func SimpleProviders(cfg *config.Config) fx.Option {
117
case "pinned":
118
keyProvider = fx.Provide(simple.NewPinnedProvider(false))
119
default:
121
- return fx.Error(fmt.Errorf("unknown reprovider strategy '%s'", cfg.Reprovider.Strategy))
120
+ return fx.Error(fmt.Errorf("unknown reprovider strategy '%s'", reprovideStrategy))
121
}
122
123
return fx.Options(