libp2p

package
v0.4.23-rc2 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2020 License: Apache-2.0, MIT Imports: 43 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AutoRealy = simpleOpt(libp2p.ChainOptions(libp2p.EnableAutoRelay(), libp2p.DefaultStaticRelays()))
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 AutoNATService

func AutoNATService(quic bool) func(repo repo.Repo, mctx helpers.MetricsCtx, lc fx.Lifecycle, host host.Host) error

func BaseRouting

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

func ConnectionManager

func ConnectionManager(low, high int, grace time.Duration) func() (opts Libp2pOpts, err error)

func DiscoveryHandler

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

func FloodSub

func FloodSub(pubsubOptions ...pubsub.Option) interface{}

func GossipSub

func GossipSub(pubsubOptions ...pubsub.Option) interface{}

func PNet

func PNet(repo repo.Repo) (opts Libp2pOpts, fp PNetFingerprint, err error)

func PNetChecker

func PNetChecker(repo repo.Repo, ph host.Host, lc fx.Lifecycle) error

func Peerstore added in v0.4.23

func Peerstore(lc fx.Lifecycle) peerstore.Peerstore

func PstoreAddSelfKeys

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

func PubsubRouter

func PubsubRouter(mctx helpers.MetricsCtx, lc fx.Lifecycle, in p2pPSRoutingIn) (p2pRouterOut, *namesys.PubsubValueStore)

func Relay

func Relay(disable, enableHop bool) func() (opts Libp2pOpts, err error)

func Routing

func Routing(in p2pOnlineRoutingIn) routing.IpfsRouting

func Security

func Security(enabled, preferTLS bool) interface{}

func SetupDiscovery

func SetupDiscovery(mdns bool, mdnsInterval int) func(helpers.MetricsCtx, fx.Lifecycle, host.Host, *discoveryHandler) error

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.IpfsRouting

type HostOption

type HostOption func(ctx context.Context, id peer.ID, ps peerstore.Peerstore, options ...libp2p.Option) (host.Host, error)
var DefaultHostOption HostOption = constructPeerHost

type Libp2pOpts

type Libp2pOpts struct {
	fx.Out

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

func BandwidthCounter

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

type P2PHostIn

type P2PHostIn struct {
	fx.In

	Repo          repo.Repo
	Validator     record.Validator
	HostOption    HostOption
	RoutingOption RoutingOption
	ID            peer.ID
	Peerstore     peerstore.Peerstore

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

type P2PHostOut

type P2PHostOut struct {
	fx.Out

	Host    host.Host
	Routing BaseIpfsRouting
}

func Host

func Host(mctx helpers.MetricsCtx, lc fx.Lifecycle, params P2PHostIn) (out P2PHostOut, err error)

type PNetFingerprint

type PNetFingerprint []byte

type Router

type Router struct {
	routing.IpfsRouting

	Priority int // less = more important
}

type RoutingOption

type RoutingOption func(context.Context, host.Host, datastore.Batching, record.Validator) (routing.IpfsRouting, error)
var DHTClientOption RoutingOption = constructClientDHTRouting
var DHTOption RoutingOption = constructDHTRouting

Jump to

Keyboard shortcuts

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