lp2p

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 15, 2021 License: Apache-2.0, MIT Imports: 49 Imported by: 1

Documentation

Index

Constants

View Source
const (
	KLibp2pHost                = "libp2p-host"
	KTLibp2pHost types.KeyType = KLibp2pHost
)

Variables

View Source
var AutoNATService = simpleOpt(libp2p.EnableNATService())
View Source
var DefaultTransports = simpleOpt(libp2p.DefaultTransports)
View Source
var NatPortMap = simpleOpt(libp2p.NATPortMap())
View Source
var QUIC = simpleOpt(libp2p.Transport(libp2pquic.NewTransport))

Functions

func AddrFilters

func AddrFilters(filters []string) func() (opts Libp2pOpts, err error)

func AddrsFactory

func AddrsFactory(announce []string, noAnnounce []string) func() (opts Libp2pOpts, err error)

func BaseRouting

func BaseRouting(lc fx.Lifecycle, in BaseIpfsRouting) (out p2pRouterOut, dr *dht.IpfsDHT)

func ConnectionManager

func ConnectionManager(low, high uint, grace time.Duration, protected []string) func() (opts Libp2pOpts, err error)

func DHTRouting

func DHTRouting(mode dht.ModeOpt) interface{}

func Discovery

func Discovery(router BaseIpfsRouting) (coredisc.Discovery, error)

TODO: should be use baseRouting or can we use higher level router here?

func DiscoveryHandler

func DiscoveryHandler(mctx helpers.MetricsCtx, lc fx.Lifecycle, host host.Host) *discoveryHandler

func GossipSub

func GossipSub(in GossipIn) (service *pubsub.PubSub, err error)

func HashMsgId

func HashMsgId(m *pubsub_pb.Message) string

func NoRelay

func NoRelay() func() (opts Libp2pOpts, err error)

func PrivKey

func PrivKey(ks types.KeyStore) (crypto.PrivKey, error)

func PstoreAddSelfKeys

func PstoreAddSelfKeys(id peer.ID, sk crypto.PrivKey, ps peerstore.Peerstore) error

func RoutedHost

func RoutedHost(rh RawHost, r BaseIpfsRouting) host.Host

func Routing

func Routing(in p2pOnlineRoutingIn) routing.Routing

func ScoreKeeper

func ScoreKeeper() *dtypes.ScoreKeeper

func Security

func Security(enabled, preferTLS bool) interface{}

func SmuxTransport

func SmuxTransport(mplex bool) func() (opts Libp2pOpts, err error)

func StartListening

func StartListening(addresses []string) func(host host.Host) error

Types

type BaseIpfsRouting

type BaseIpfsRouting routing.Routing

func NilRouting

func NilRouting(mctx helpers.MetricsCtx) (BaseIpfsRouting, error)

type Libp2pOpts

type Libp2pOpts struct {
	fx.Out

	Opts []libp2p.Option `group:"libp2p"`
}

func BandwidthCounter

func BandwidthCounter() (opts Libp2pOpts, reporter metrics.Reporter)

func ConnGaterOption

func ConnGaterOption(cg *conngater.BasicConnectionGater) (opts Libp2pOpts, err error)

type P2PHostIn

type P2PHostIn struct {
	fx.In

	ID        peer.ID
	Peerstore peerstore.Peerstore

	Opts [][]libp2p.Option `group:"libp2p"`
}

type RawHost

type RawHost host.Host

func Host

func Host(mctx helpers.MetricsCtx, lc fx.Lifecycle, params P2PHostIn) (RawHost, error)

func MockHost

func MockHost(mn mocknet.Mocknet, id peer.ID, ps peerstore.Peerstore) (RawHost, error)

type Router

type Router struct {
	routing.Routing

	Priority int // less = more important
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL