kubo/core/node/libp2p/relay.go
Łukasz Magiera e133058487 constructor: break down libp2p logic
License: MIT
Signed-off-by: Łukasz Magiera <magik6k@gmail.com>
2019-04-30 00:09:42 +02:00

25 lines
594 B
Go

package libp2p
import (
"github.com/libp2p/go-libp2p"
relay "github.com/libp2p/go-libp2p-circuit"
)
func Relay(disable, enableHop bool) func() (opts Libp2pOpts, err error) {
return func() (opts Libp2pOpts, err error) {
if disable {
// Enabled by default.
opts.Opts = append(opts.Opts, libp2p.DisableRelay())
} else {
relayOpts := []relay.RelayOpt{relay.OptDiscovery}
if enableHop {
relayOpts = append(relayOpts, relay.OptHop)
}
opts.Opts = append(opts.Opts, libp2p.EnableRelay(relayOpts...))
}
return
}
}
var AutoRealy = simpleOpt(libp2p.EnableAutoRelay())