instantiate pubsub router based on configuration
in particular, this enabls gossipsub when configured so. License: MIT Signed-off-by: vyzo <vyzo@hackzen.org>
vyzo committed
Aug 12, 2018 at 12:48 UTC
8a7a26169dcb3a1def939cd28549d33a4591dc9a
1 file changed
+20
-1
core/core.go
+20
-1
@@ -453,7 +453,26 @@ func (n *IpfsNode) startOnlineServicesWithHost(ctx context.Context, host p2phost
453
n.Ping = ping.NewPingService(host)
454
455
if pubsub || ipnsps {
456
- service, err := floodsub.NewFloodSub(ctx, host)
456
+ cfg, err := n.Repo.Config()
457
+ if err != nil {
458
+ return err
459
+ }
460
+
461
+ var service *floodsub.PubSub
462
+
463
+ switch cfg.Pubsub.Router {
464
+ case "":
465
+ fallthrough
466
+ case "floodsub":
467
+ service, err = floodsub.NewFloodSub(ctx, host)
468
+
469
+ case "gossipsub":
470
+ service, err = floodsub.NewGossipSub(ctx, host)
471
+
472
+ default:
473
+ err = fmt.Errorf("Unknown pubsub router %s", cfg.Pubsub.Router)
474
+ }
475
+
476
if err != nil {
477
return err
478
}