Documentation ¶
Index ¶
- Constants
- Variables
- func AddrFilters(filters []string) func() (*ma.Filters, Libp2pOpts, error)
- func AddrsFactory(announce []string, appendAnnouce []string, noAnnounce []string) func() (opts Libp2pOpts, err error)
- func AutoNATService(throttle *config.AutoNATThrottleConfig) func() Libp2pOpts
- func BaseRouting(cfg *config.Config) interface{}
- func ConnectionManager(low, high int, grace time.Duration) func() (opts Libp2pOpts, err error)
- func ContentRouting(in p2pOnlineContentRoutingIn) routing.ContentRouting
- func DiscoveryHandler(mctx helpers.MetricsCtx, lc fx.Lifecycle, host host.Host) *discoveryHandler
- func FloodSub(pubsubOptions ...pubsub.Option) interface{}
- func ForceReachability(val *config.OptionalString) func() (opts Libp2pOpts, err error)
- func GossipSub(pubsubOptions ...pubsub.Option) interface{}
- func HolePunching(flag config.Flag, hasRelayClient bool) func() (opts Libp2pOpts, err error)
- func LimitConfig(cfg config.SwarmConfig, userResourceOverrides rcmgr.PartialLimitConfig) (limitConfig rcmgr.ConcreteLimitConfig, logMessageForStartup string, err error)
- func ListenOn(addresses []string) interface{}
- func MaybeAutoRelay(staticRelays []string, cfgPeering config.Peering, enabled bool) fx.Option
- func OfflineRouting(dstore ds.Datastore, validator record.Validator) p2pRouterOut
- func PNet(repo repo.Repo) (opts Libp2pOpts, fp PNetFingerprint, err error)
- func PNetChecker(repo repo.Repo, ph host.Host, lc fx.Lifecycle) error
- func Peerstore(lc fx.Lifecycle) (peerstore.Peerstore, error)
- func PstoreAddSelfKeys(id peer.ID, sk crypto.PrivKey, ps peerstore.Peerstore) error
- func PubsubRouter(mctx helpers.MetricsCtx, lc fx.Lifecycle, in p2pPSRoutingIn) (p2pRouterOut, *namesys.PubsubValueStore, error)
- func RelayService(enable bool, relayOpts config.RelayService) func() (opts Libp2pOpts, err error)
- func RelayTransport(enableRelay bool) func() (opts Libp2pOpts, err error)
- func ResourceManager(cfg config.SwarmConfig, userResourceOverrides rcmgr.PartialLimitConfig) interface{}
- func Routing(in p2pOnlineRoutingIn) irouting.ProvideManyRouter
- func Security(enabled bool, tptConfig config.Transports) interface{}
- func SetupDiscovery(useMdns bool) func(helpers.MetricsCtx, fx.Lifecycle, host.Host, *discoveryHandler) error
- func SmuxTransport(tptConfig config.Transports) func() (opts Libp2pOpts, err error)
- func TopicDiscovery() interface{}
- func Transports(tptConfig config.Transports) interface{}
- func UserAgent() func() (opts Libp2pOpts, err error)
- type AddrInfoChan
- type HostOption
- type Libp2pOpts
- type LimitsConfigAndUsage
- type P2PHostIn
- type P2PHostOut
- type PNetFingerprint
- type ResourceInfo
- type ResourceInfos
- type ResourceLimitsAndUsage
- type Router
- type RoutingOption
- type RoutingOptionArgs
Constants ¶
View Source
const NetLimitTraceFilename = "rcmgr.json.gz"
Variables ¶
View Source
var ( DHTOption RoutingOption = constructDHTRouting(dht.ModeAuto) DHTClientOption = constructDHTRouting(dht.ModeClient) DHTServerOption = constructDHTRouting(dht.ModeServer) NilRouterOption = constructNilRouting )
View Source
var ErrNoResourceMgr = fmt.Errorf("missing ResourceMgr: make sure the daemon is running with Swarm.ResourceMgr.Enabled")
View Source
var NatPortMap = simpleOpt(libp2p.NATPortMap())
Functions ¶
func AddrFilters ¶
func AddrFilters(filters []string) func() (*ma.Filters, Libp2pOpts, error)
func AddrsFactory ¶
func AddrsFactory(announce []string, appendAnnouce []string, noAnnounce []string) func() (opts Libp2pOpts, err error)
func AutoNATService ¶
func AutoNATService(throttle *config.AutoNATThrottleConfig) func() Libp2pOpts
func BaseRouting ¶
func ConnectionManager ¶
func ConnectionManager(low, high int, grace time.Duration) func() (opts Libp2pOpts, err error)
func ContentRouting ¶
func ContentRouting(in p2pOnlineContentRoutingIn) routing.ContentRouting
ContentRouting will get all routers that can do contentRouting and add them all together using a TieredRouter. It will be used for topic discovery.
func DiscoveryHandler ¶
func ForceReachability ¶
func ForceReachability(val *config.OptionalString) func() (opts Libp2pOpts, err error)
func HolePunching ¶
func HolePunching(flag config.Flag, hasRelayClient bool) func() (opts Libp2pOpts, err error)
func LimitConfig ¶ added in v0.24.0
func LimitConfig(cfg config.SwarmConfig, userResourceOverrides rcmgr.PartialLimitConfig) (limitConfig rcmgr.ConcreteLimitConfig, logMessageForStartup string, err error)
LimitConfig returns the union of the Computed Default Limits and the User Supplied Override Limits.
func MaybeAutoRelay ¶
func OfflineRouting ¶
OfflineRouting provides a special Router to the routers list when we are creating a offline node.
func PNet ¶
func PNet(repo repo.Repo) (opts Libp2pOpts, fp PNetFingerprint, err error)
func PstoreAddSelfKeys ¶
func PubsubRouter ¶
func PubsubRouter(mctx helpers.MetricsCtx, lc fx.Lifecycle, in p2pPSRoutingIn) (p2pRouterOut, *namesys.PubsubValueStore, error)
func RelayService ¶
func RelayService(enable bool, relayOpts config.RelayService) func() (opts Libp2pOpts, err error)
func RelayTransport ¶
func RelayTransport(enableRelay bool) func() (opts Libp2pOpts, err error)
func ResourceManager ¶
func ResourceManager(cfg config.SwarmConfig, userResourceOverrides rcmgr.PartialLimitConfig) interface{}
func Routing ¶
func Routing(in p2pOnlineRoutingIn) irouting.ProvideManyRouter
Routing will get all routers obtained from different methods (delegated routers, pub-sub, and so on) and add them all together using a TieredRouter.
func Security ¶
func Security(enabled bool, tptConfig config.Transports) interface{}
func SetupDiscovery ¶
func SmuxTransport ¶
func SmuxTransport(tptConfig config.Transports) func() (opts Libp2pOpts, err error)
func TopicDiscovery ¶
func TopicDiscovery() interface{}
func Transports ¶
func Transports(tptConfig config.Transports) interface{}
func UserAgent ¶
func UserAgent() func() (opts Libp2pOpts, err error)
Types ¶
type AddrInfoChan ¶
type HostOption ¶
type HostOption func(id peer.ID, ps peerstore.Peerstore, options ...libp2p.Option) (host.Host, error)
var DefaultHostOption HostOption = constructPeerHost
type Libp2pOpts ¶
func BandwidthCounter ¶
func BandwidthCounter() (opts Libp2pOpts, reporter *metrics.BandwidthCounter)
func MultiaddrResolver ¶
func MultiaddrResolver(rslv *madns.Resolver) (opts Libp2pOpts, err error)
type LimitsConfigAndUsage ¶ added in v0.24.0
type LimitsConfigAndUsage struct { // This is duplicated from rcmgr.ResourceManagerStat but using ResourceLimitsAndUsage // instead of network.ScopeStat. System ResourceLimitsAndUsage `json:",omitempty"` Transient ResourceLimitsAndUsage `json:",omitempty"` Services map[string]ResourceLimitsAndUsage `json:",omitempty"` Protocols map[protocol.ID]ResourceLimitsAndUsage `json:",omitempty"` Peers map[peer.ID]ResourceLimitsAndUsage `json:",omitempty"` }
func MergeLimitsAndStatsIntoLimitsConfigAndUsage ¶ added in v0.24.0
func MergeLimitsAndStatsIntoLimitsConfigAndUsage(l rcmgr.ConcreteLimitConfig, stats rcmgr.ResourceManagerStat) LimitsConfigAndUsage
func (LimitsConfigAndUsage) MarshalJSON ¶ added in v0.24.0
func (u LimitsConfigAndUsage) MarshalJSON() ([]byte, error)
func (LimitsConfigAndUsage) ToPartialLimitConfig ¶ added in v0.24.0
func (u LimitsConfigAndUsage) ToPartialLimitConfig() (result rcmgr.PartialLimitConfig)
type P2PHostOut ¶
func Host ¶
func Host(mctx helpers.MetricsCtx, lc fx.Lifecycle, params P2PHostIn) (out P2PHostOut, err error)
type PNetFingerprint ¶
type PNetFingerprint []byte
type ResourceInfo ¶ added in v0.24.0
type ResourceInfo struct { ScopeName string LimitName string LimitValue rcmgr.LimitVal64 CurrentUsage int64 }
type ResourceInfos ¶ added in v0.24.0
type ResourceInfos []ResourceInfo
func LimitConfigsToInfo ¶ added in v0.24.0
func LimitConfigsToInfo(stats LimitsConfigAndUsage) ResourceInfos
LimitConfigsToInfo gets limits and stats and generates a list of scopes and limits to be printed.
type ResourceLimitsAndUsage ¶ added in v0.24.0
type ResourceLimitsAndUsage struct { // This is duplicated from rcmgr.ResourceResourceLimits but adding *Usage fields. Memory rcmgr.LimitVal64 MemoryUsage int64 FD rcmgr.LimitVal FDUsage int Conns rcmgr.LimitVal ConnsUsage int ConnsInbound rcmgr.LimitVal ConnsInboundUsage int ConnsOutbound rcmgr.LimitVal ConnsOutboundUsage int Streams rcmgr.LimitVal StreamsUsage int StreamsInbound rcmgr.LimitVal StreamsInboundUsage int StreamsOutbound rcmgr.LimitVal StreamsOutboundUsage int }
func (ResourceLimitsAndUsage) ToResourceLimits ¶ added in v0.24.0
func (u ResourceLimitsAndUsage) ToResourceLimits() rcmgr.ResourceLimits
type RoutingOption ¶
type RoutingOption func(args RoutingOptionArgs) (routing.Routing, error)
func ConstructDefaultRouting ¶
func ConstructDefaultRouting(cfg *config.Config, routingOpt RoutingOption) RoutingOption
ConstructDefaultRouting returns routers used when Routing.Type is unset or set to "auto"
Source Files ¶
Click to show internal directories.
Click to hide internal directories.