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 ¶
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 // ProtocolVersion is the protocol version that identifies the family // of protocols used by the peer in the Identify protocol. It is set // using the [ProtocolVersion] option. ProtocolVersion 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, *madns.Resolver) (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).