lotus/node/modules/lp2p/relay.go

29 lines
774 B
Go
Raw Normal View History

2019-07-02 12:40:25 +00:00
package lp2p
import (
"fmt"
"github.com/libp2p/go-libp2p"
coredisc "github.com/libp2p/go-libp2p-core/discovery"
"github.com/libp2p/go-libp2p-core/routing"
routingdisc "github.com/libp2p/go-libp2p/p2p/discovery/routing"
)
2020-05-25 10:39:50 +00:00
func NoRelay() func() (opts Libp2pOpts, err error) {
return func() (opts Libp2pOpts, err error) {
2020-05-25 10:39:50 +00:00
// always disabled, it's an eclipse attack vector
opts.Opts = append(opts.Opts, libp2p.DisableRelay())
return
}
}
// TODO: should be use baseRouting or can we use higher level router here?
func Discovery(router BaseIpfsRouting) (coredisc.Discovery, error) {
crouter, ok := router.(routing.ContentRouting)
if !ok {
return nil, fmt.Errorf("no suitable routing for discovery")
}
return routingdisc.NewRoutingDiscovery(crouter), nil
}