@cryptotaxi247 / kubo / commits / a87558e02

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(