From 8a7a26169dcb3a1def939cd28549d33a4591dc9a Mon Sep 17 00:00:00 2001 From: vyzo Date: Sun, 12 Aug 2018 12:48:05 +0300 Subject: [PATCH] instantiate pubsub router based on configuration in particular, this enabls gossipsub when configured so. License: MIT Signed-off-by: vyzo --- core/core.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/core/core.go b/core/core.go index cb39e5707..d5944d106 100644 --- a/core/core.go +++ b/core/core.go @@ -453,7 +453,26 @@ func (n *IpfsNode) startOnlineServicesWithHost(ctx context.Context, host p2phost n.Ping = ping.NewPingService(host) if pubsub || ipnsps { - service, err := floodsub.NewFloodSub(ctx, host) + cfg, err := n.Repo.Config() + if err != nil { + return err + } + + var service *floodsub.PubSub + + switch cfg.Pubsub.Router { + case "": + fallthrough + case "floodsub": + service, err = floodsub.NewFloodSub(ctx, host) + + case "gossipsub": + service, err = floodsub.NewGossipSub(ctx, host) + + default: + err = fmt.Errorf("Unknown pubsub router %s", cfg.Pubsub.Router) + } + if err != nil { return err }