Commit 1056fa81 authored by vyzo's avatar vyzo
Browse files

Ping constructor option, enabled by default

parent 0fa1c254
...@@ -56,6 +56,9 @@ type Config struct { ...@@ -56,6 +56,9 @@ type Config struct {
NATManager NATManagerC NATManager NATManagerC
Peerstore pstore.Peerstore Peerstore pstore.Peerstore
Reporter metrics.Reporter Reporter metrics.Reporter
PingCustom bool
Ping bool
} }
// NewNode constructs a new libp2p Host from the Config. // NewNode constructs a new libp2p Host from the Config.
...@@ -102,6 +105,7 @@ func (cfg *Config) NewNode(ctx context.Context) (host.Host, error) { ...@@ -102,6 +105,7 @@ func (cfg *Config) NewNode(ctx context.Context) (host.Host, error) {
ConnManager: cfg.ConnManager, ConnManager: cfg.ConnManager,
AddrsFactory: cfg.AddrsFactory, AddrsFactory: cfg.AddrsFactory,
NATManager: cfg.NATManager, NATManager: cfg.NATManager,
EnablePing: cfg.Ping,
}) })
if err != nil { if err != nil {
swrm.Close() swrm.Close()
......
...@@ -75,6 +75,11 @@ var DefaultEnableRelay = func(cfg *Config) error { ...@@ -75,6 +75,11 @@ var DefaultEnableRelay = func(cfg *Config) error {
return cfg.Apply(EnableRelay()) return cfg.Apply(EnableRelay())
} }
// DefaultEnablePing enables the ping service by default
var DefaultEnablePing = func(cfg *Config) error {
return cfg.Apply(Ping(true))
}
// Complete list of default options and when to fallback on them. // Complete list of default options and when to fallback on them.
// //
// Please *DON'T* specify default options any other way. Putting this all here // Please *DON'T* specify default options any other way. Putting this all here
...@@ -111,6 +116,10 @@ var defaults = []struct { ...@@ -111,6 +116,10 @@ var defaults = []struct {
fallback: func(cfg *Config) bool { return !cfg.RelayCustom }, fallback: func(cfg *Config) bool { return !cfg.RelayCustom },
opt: DefaultEnableRelay, opt: DefaultEnableRelay,
}, },
{
fallback: func(cfg *Config) bool { return !cfg.PingCustom },
opt: DefaultEnablePing,
},
} }
// Defaults configures libp2p to use the default options. Can be combined with // Defaults configures libp2p to use the default options. Can be combined with
......
...@@ -252,6 +252,15 @@ func NATManager(nm config.NATManagerC) Option { ...@@ -252,6 +252,15 @@ func NATManager(nm config.NATManagerC) Option {
} }
} }
// Ping will configure libp2p to support the ping service; enable by default.
func Ping(enable bool) Option {
return func(cfg *Config) error {
cfg.PingCustom = true
cfg.Ping = enable
return nil
}
}
// NoListenAddrs will configure libp2p to not listen by default. // NoListenAddrs will configure libp2p to not listen by default.
// //
// This will both clear any configured listen addrs and prevent libp2p from // This will both clear any configured listen addrs and prevent libp2p from
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment