lp2p

package
v0.0.0-...-484cccf Latest Latest
Warning

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

Go to latest
Published: Mar 16, 2023 License: Apache-2.0, MIT Imports: 59 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KLibp2pHost                = "libp2p-host"
	KTLibp2pHost types.KeyType = KLibp2pHost
)
View Source
const (
	GossipScoreThreshold             = -500
	PublishScoreThreshold            = -1000
	GraylistScoreThreshold           = -2500
	AcceptPXScoreThreshold           = 1000
	OpportunisticGraftScoreThreshold = 3.5
)

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 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 MakeAddrsFactory

func MakeAddrsFactory(announce []string, noAnnounce []string) (p2pbhost.AddrsFactory, error)

func NoRelay

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

func Peerstore

func Peerstore() (peerstore.Peerstore, 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 ResourceManager

func ResourceManager(connMgrHi uint) func(lc fx.Lifecycle, repo repo.LockedRepo) (network.ResourceManager, 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() func() (opts Libp2pOpts, err error)

func StartListening

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

func UserAgentOption

func UserAgentOption(agent string) func() (opts Libp2pOpts, err 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)

func ResourceManagerOption

func ResourceManagerOption(mgr network.ResourceManager) Libp2pOpts

type P2PHostIn

type P2PHostIn struct {
	fx.In

	ID        peer.ID
	Peerstore peerstore.Peerstore

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

type PeerScoreTracker

type PeerScoreTracker interface {
	UpdatePeerScore(scores map[peer.ID]*pubsub.PeerScoreSnapshot)
}

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