lp2p

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2020 License: Apache-2.0, MIT Imports: 44 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

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 AdvertiseRelay

func AdvertiseRelay(mctx helpers.MetricsCtx, d coredisc.Discovery)

NOTE: only set when relayHop is set

func AutoRelay

func AutoRelay(mctx helpers.MetricsCtx, lc fx.Lifecycle, router BaseIpfsRouting, h RawHost, d coredisc.Discovery) error

NOTE: only set when relayHop is not set

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(client bool) 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(pubsubOptions ...PubsubOpt) interface{}

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 Relay

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

func RoutedHost

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

func Routing

func Routing(in p2pOnlineRoutingIn) routing.Routing

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)

type P2PHostIn

type P2PHostIn struct {
	fx.In

	ID        peer.ID
	Peerstore peerstore.Peerstore

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

type PubsubOpt

type PubsubOpt func(host.Host) pubsub.Option

func PubsubTracer

func PubsubTracer() PubsubOpt

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