Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddrsFactory ¶
type AddrsFactory = bhost.AddrsFactory
AddrsFactory is a function that takes a set of multiaddrs we're listening on and returns the set of multiaddrs we should advertise to the network.
type AutoNATConfig ¶ added in v0.8.0
type AutoNATConfig struct { ForceReachability *network.Reachability EnableService bool ThrottleGlobalLimit int ThrottlePeerLimit int ThrottleInterval time.Duration }
AutoNATConfig defines the AutoNAT behavior for the libp2p host.
type Config ¶
type Config struct { // UserAgent is the identifier this node will send to other peers when // identifying itself, e.g. via the identify protocol. // // Set it via the UserAgent option function. UserAgent string PeerKey crypto.PrivKey Transports []TptC Muxers []MsMuxC SecurityTransports []MsSecC Insecure bool PSK pnet.PSK DialTimeout time.Duration RelayCustom bool Relay bool // should the relay transport be used EnableRelayService bool // should we run a circuitv2 relay (if publicly reachable) RelayServiceOpts []relayv2.Option ListenAddrs []ma.Multiaddr AddrsFactory bhost.AddrsFactory ConnectionGater connmgr.ConnectionGater ConnManager connmgr.ConnManager ResourceManager network.ResourceManager NATManager NATManagerC Peerstore peerstore.Peerstore Reporter metrics.Reporter MultiaddrResolver *madns.Resolver DisablePing bool Routing RoutingC EnableAutoRelay bool AutoRelayOpts []autorelay.Option AutoNATConfig EnableHolePunching bool HolePunchingOptions []holepunch.Option }
Config describes a set of settings for a libp2p node
This is *not* a stable interface. Use the options defined in the root package.
type MuxC ¶
type MuxC func(h host.Host) (network.Multiplexer, error)
MuxC is a stream multiplex transport constructor.
func MuxerConstructor ¶
MuxerConstructor creates a multiplex constructor from the passed parameter using reflection.
type NATManagerC ¶
type NATManagerC func(network.Network) bhost.NATManager
NATManagerC is a NATManager constructor.
type Option ¶
Option is a libp2p config option that can be given to the libp2p constructor (`libp2p.New`).
type SecC ¶
type SecC func(h host.Host) (sec.SecureTransport, error)
SecC is a security transport constructor.
func SecurityConstructor ¶
SecurityConstructor creates a security constructor from the passed parameter using reflection.
type TptC ¶
type TptC func(host.Host, transport.Upgrader, pnet.PSK, connmgr.ConnectionGater, network.ResourceManager) (transport.Transport, error)
TptC is the type for libp2p transport constructors. You probably won't ever implement this function interface directly. Instead, pass your transport constructor to TransportConstructor.
func TransportConstructor ¶
TransportConstructor uses reflection to turn a function that constructs a transport into a TptC.
You can pass either a constructed transport (something that implements `transport.Transport`) or a function that takes any of:
* The local peer ID. * A transport connection upgrader. * A private key. * A public key. * A Host. * A Network. * A Peerstore. * An address filter. * A security transport. * A stream multiplexer transport. * A private network protection key. * A connection gater.
And returns a type implementing transport.Transport and, optionally, an error (as the second argument).