This module contains a Switch Building helper.
Imports
-
switch, peerid, peerinfo, peeraddrpolicy, stream/connection, multiaddress, crypto/crypto, transports/transport, transports/tcptransport, transports/wstransport, transports/quictransport, transports/memorytransport, muxers/muxer, muxers/mplex/mplex, muxers/yamux/yamux, protocols/identify, protocols/secure/secure, protocols/secure/noise, protocols/rendezvous, protocols/kademlia, protocols/connectivity/autonat/server, protocols/connectivity/autonatv2/server, protocols/connectivity/autonatv2/service, protocols/connectivity/relay/relay, protocols/connectivity/relay/client, protocols/connectivity/relay/rtransport, services/identify_pusher, services/natservice, services/wildcardresolverservice, connmanager, upgrademngrs/muxedupgrade, observedaddrmanager, autotls/service, nameresolving/nameresolver, errors, utils/opt
Types
RelayReservationHandler = proc (addresses: seq[MultiAddress]) {....gcsafe, raises: [].}
- Source Edit
SecureProtocol {.pure.} = enum Noise
- Source Edit
SwitchBuilder = ref object
- Source Edit
TransportBuilder = proc (config: TransportConfig): Transport {....gcsafe, raises: [].}
- Source Edit
TransportConfig = ref object upgr*: Upgrade privateKey*: PrivateKey autotls*: Opt[AutotlsService] connManager*: ConnManager rng*: Rng
- Source Edit
Consts
MemoryAutoAddress = "/memorytransport/*"
- Source Edit
Procs
proc new(T: type[SwitchBuilder]): T:type {....raises: [].}
- Creates a SwitchBuilder Source Edit
proc withAddress(b: SwitchBuilder; address: MultiAddress): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Set the listening address of the switch Source Edit
proc withAddress(b: SwitchBuilder; address: MultiAddress; enableWildcardResolver: bool): SwitchBuilder {. ...deprecated: "use withWildcardResolver()", raises: [], tags: [], forbids: [].}
- Set the listening address of the switch Source Edit
proc withAddressConfidenceTtls(b: SwitchBuilder; ttls: AddressConfidenceTtls): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Override the per-confidence TTLs used to expire peer addresses. Source Edit
proc withAddresses(b: SwitchBuilder; addresses: seq[MultiAddress]): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Set the listening addresses of the switch Source Edit
proc withAddresses(b: SwitchBuilder; addresses: seq[MultiAddress]; enableWildcardResolver: bool): SwitchBuilder {. ...deprecated: "use withWildcardResolver()", raises: [], tags: [], forbids: [].}
- Set the listening addresses of the switch Source Edit
proc withAddressPolicy(b: SwitchBuilder; addressPolicy: PeerAddressPolicy): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Applies a single address visibility policy across local address announcements and all discovery/storage paths configured by the builder. Source Edit
proc withAgentVersion(b: SwitchBuilder; agentVersion: string): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withAnnouncedAddress(b: SwitchBuilder; address: MultiAddress): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Set a single announced address. See withAnnouncedAddresses. Source Edit
proc withAnnouncedAddresses(b: SwitchBuilder; addresses: seq[MultiAddress]): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Set explicit addresses to advertise to peers, distinct from the switch's listening addresses. When non-empty, these replace the output of the address mapper chain (the addressPolicy filter is still applied). Use this to announce a public NAT-mapped address while binding locally. Source Edit
proc withAutonat(b: SwitchBuilder; enabled: bool = true): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withAutonatV2(b: SwitchBuilder; serviceConfig: AutonatV2ServiceConfig = AutonatV2ServiceConfig.new()): SwitchBuilder {....deprecated: "use withNAT(autonatConfig(AutonatV2, v2ServiceConfig = Opt.some(serviceConfig)))", raises: [], tags: [], forbids: [].}
- Source Edit
proc withAutonatV2Server(b: SwitchBuilder; config: AutonatV2Config = AutonatV2Config.new()): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withAutotls(b: SwitchBuilder; config: AutotlsConfig = AutotlsConfig.new()): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withCircuitRelay(b: SwitchBuilder; r: Relay = Relay.new()): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withConnectionLimits(b: SwitchBuilder; limits: ConnectionLimits): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Set the connection limits for the switch. Construct limits via ConnectionLimits.maxTotal for a shared cap or ConnectionLimits.maxInOut for independent per-direction caps. Source Edit
proc withHolePunching(b: SwitchBuilder; maxNumRelays: int; onReservationHandler: RelayReservationHandler): SwitchBuilder {....deprecated: "use withNAT(holePunchingConfig(maxNumRelays, onReservationHandler))", raises: [], tags: [], forbids: [].}
- Source Edit
proc withIdentifyPusher(b: SwitchBuilder; enabled: bool = true): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- When enabled, the IdentifyPush protocol is mounted on the switch and an IdentifyPusher service tracks which connected peers advertise IdentifyPush, broadcasting our updated PeerInfo to all tracked peers whenever it changes. Source Edit
proc withKademlia(b: SwitchBuilder; bootstrapNodes: seq[(PeerId, seq[MultiAddress])] = @[]; config: KadDHTConfig = KadDHTConfig.new()): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withMaxConnections(b: SwitchBuilder; maxConnections: int): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Maximum concurrent connections of the switch. You should either use this, or withMaxInOut. Source Edit
proc withMaxConnsPerPeer(b: SwitchBuilder; maxConnsPerPeer: int): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withMaxInOut(b: SwitchBuilder; maxIn: int; maxOut: int): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Maximum concurrent incoming and outgoing connections. Source Edit
proc withMemoryTransport(b: SwitchBuilder): SwitchBuilder {....raises: [], tags: [], forbids: [].}
- Source Edit
proc withMplex(b: SwitchBuilder; inTimeout = 5.minutes; outTimeout = 5.minutes; maxChannCount = 200): SwitchBuilder {....raises: [], tags: [], forbids: [].}
- Uses Mplex as a multiplexer Timeout is the duration after which a inactive connection will be closed Source Edit
proc withNameResolver(b: SwitchBuilder; nameResolver: NameResolver): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withNAT(b: SwitchBuilder; config: NATConfig; portMapperFactory: PortMapperFactory = nil): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Build config with the *Config helpers; call once per distinct concern, setting the same concern twice is a programmer error. Source Edit
proc withNoise(b: SwitchBuilder): SwitchBuilder {....raises: [], tags: [], forbids: [].}
- Source Edit
proc withObservedAddrManager(b: SwitchBuilder; observedAddrManager: ObservedAddrManager): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withPeerScoring(b: SwitchBuilder; scoring: PeerScoring = PeerScoring()): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Configure peer scoring parameters. Source Edit
proc withPeerStore(b: SwitchBuilder; capacity: int): SwitchBuilder {....raises: [], tags: [], forbids: [].}
- Source Edit
proc withPrivateAddressFilter(b: SwitchBuilder): SwitchBuilder {....raises: [], tags: [], forbids: [].}
-
Filter private (RFC1918/link-local) addresses from all peer address announcements and incoming peer address records. When enabled:
- Our node will not announce private addresses to the network
- Private addresses received from other peers are discarded
Circuit relay and DNS addresses are never filtered.
Source Edit proc withPrivateKey(b: SwitchBuilder; privateKey: PrivateKey | Opt[PrivateKey]): SwitchBuilder {. ...raises: [].}
- Set the private key of the switch. Will be used to generate a PeerId Source Edit
proc withProtoVersion(b: SwitchBuilder; protoVersion: string): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withQuicTransport(b: SwitchBuilder): SwitchBuilder {....raises: [], tags: [], forbids: [].}
- Source Edit
proc withRendezVous(b: SwitchBuilder; config: RendezVousConfig = RendezVousConfig.new()): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withRng(b: SwitchBuilder; rng: Rng): SwitchBuilder {....raises: [], tags: [], forbids: [].}
- Source Edit
proc withSignedPeerRecord(b: SwitchBuilder; sendIt = true): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withTcpTransport(b: SwitchBuilder; flags: set[ServerFlags] = {}): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withTransport(b: SwitchBuilder; prov: TransportBuilder): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Use a custom transport Source Edit
proc withWatermarkPolicy(b: SwitchBuilder; lowWater: int; highWater: int; gracePeriod: Duration = 0.minutes; silencePeriod: Duration = 10.seconds): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Enable hi/lo watermark connection management. When connected peers exceed highWater, the connection manager trims down to lowWater, skipping peers within gracePeriod and protected peers. Can be combined with withMaxConnections/withMaxInOut to apply both a hard semaphore cap and active trimming simultaneously. Source Edit
proc withWildcardResolver(b: SwitchBuilder; enabled: bool = true): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withWsTransport(b: SwitchBuilder; tlsPrivateKey: TLSPrivateKey = nil; tlsCertificate: TLSCertificate = nil; tlsFlags: set[TLSFlags] = {}; flags: set[ServerFlags] = {}): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
proc withYamux(b: SwitchBuilder; maxChannCount: int = MaxChannelCount; windowSize: int = YamuxDefaultWindowSize; inTimeout: Duration = 5.minutes; outTimeout: Duration = 5.minutes): SwitchBuilder {. ...raises: [], tags: [], forbids: [].}
- Source Edit
Exports
-
DNS_OR_IP, LPStreamError, AlreadyExpectingConnectionError, shortLog, init, resetImpl, new, UDP_DNS, MaError, libp2p_network_bytes, markConnected, writeField, ephemeral, close, dial, decode, replaceIp, unprotect, MaPatternOp, bumpDecayingTag, WS_DNS, initVBuffer, <=, MaxSizeError, ==, DialFailedError, addTransport, set, removeDecayingTag, LPError, handler, shortLog, filterIt, protect, ECDHEScheme, shortLog, supportsPacked, writeField, init, contains, closed, addConnEventHandler, WatermarkPolicy, [], new, macOpenArray, random, init, new, del, Secret, peekVarint, markPeerConnected, random, handshake, maxConnections, $, validate, mapOr, hash, identify, chroniclesFormatItIMPL, key, secure, Memory, bytes, UpgradeFailedError, publicRoutableAddressPolicy, getPubKey, IdentityInvalidMsgError, maxInlineKeyLength, addHandler, TranscoderDNS, QUIC, $, writeField, init, ephemeral, withValue, mac, init, dial, PeerInfoObserver, getIp, removeConnEventHandler, getWrapped, getBytes, MAKind, addPeerEventHandler, new, init, noPrivateAddressPolicy, codec, getRepeatedField, generate, matchPartial, addObservation, stop, ServiceSetupError, releaseOutgoing, libp2p_pki_schemes, len, push, getBytes, peerScore, areAddrsConsistent, trackConnection, ==, init, readLp, HTTP, initVBuffer, atEof, finish, PeerEventKind, getOutgoingSlot, supportsPacked, Service, peekSeq, update, TCP_IP4, toOpt, join, fullAddrs, payloadType, concat, init, IP, protoAddress, QUIC_V1_IP, decode, newRng, ==, shortLog, withValue, start, mount, SecureConn, checkValid, handle, getPublicKey, chroniclesFormatItIMPL, libp2p_multiaddress_exts, WebSockets, getPart, libp2p_failed_upgrades_incoming, releaseIncoming, secure, dial, extractPublicKey, mapAnd, new, maErr, LastSeenOutboundBook, verify, UDP_IP, new, newLPStreamEOFError, selectMuxer, connCount, resetImpl, DNSADDR, handler, AddressMapper, IdentifyPushHandler, init, write, shortLog, ConnManager, PeerId, EnvelopeError, WSS, UpgradeTimeout, QUIC_V1, TCP_IP, close, selectMuxer, startAddressPruning, add, init, closeImpl, toCidString, toBytes, dial, pruneExpired, TCP_DNS, closeWrite, shortLog, wasResetLocally, encode, UDP_IP4, len, capLen, untagPeer, protoName, protoArgument, PeerEventHandler, LPProtoHandler, Secure, toRawBytes, supportsPacked, MaPattern, IdentifyPush, getStream, TranscoderIP6Zone, $, TCP_IP6, len, DNS, WSS_DNS, list, match, <, addConnEventHandler, CryptoResult, parseFullAddress, defaultAddressPolicy, init, WebRTCDirect, PeerAddressPolicy, AgentBook, init, upgrade, $, UDP, Dialer, disconnect, TranscoderOnion, Dial, StreamTracker, waitForPeerReady, write, init, updatePeerInfo, LPStreamResetError, writeArray, new, LPStreamIncompleteError, connectedPeers, >, LPStreamEOFError, dialAndUpgrade, IP6, shortLog, release, items, reserveOutgoing, initVBuffer, DecayFn, ==, PKScheme, new, toString, payload, triggerConnEvent, triggerPeerEvents, init, connect, stretchKeys, accepts, addObserver, readFieldInto, init, negotiateStream, generate, TCP, PrivateKey, dropPeer, chroniclesExpandItIMPL, del, start, init, &=, PeerInfoError, canOpenOutgoing, newBearSslRng, computeFieldSize, maxInOut, newLPStreamClosedError, random, write, entries, TranscoderMemory, close, trackMuxer, markPeerDisconnected, TranscoderIP4, init, $, toException, removeConnEventHandler, init, init, Upgrade, ProtoVersionBook, goffset, HandlerHolder, getRawBytes, pick, SecureConnTrackerName, KeyPair, PeerStore, init, PeerScoring, high, SPRBook, cmp, DNSANY, DefaultConnectionTimeout, Delta, initStream, QUIC_DNS, dial, Signature, chroniclesFormatItIMPL, contains, codec=, computeFieldSize, tagPeerDecaying, computeFieldSize, removeObserver, readFieldInto, supportsPacked, stripPeerId, getStream, DigestSheme, init, IPFS, getField, shortLog, readOnce, dial, take, removePeerEventHandler, AddressConfidence, CircuitRelay, random, AddressEntry, isEmpty, ConnEventKind, readFieldInto, chroniclesFormatItIMPL, getWrapped, connect, contains, hex, getMostObservedProtosAndPorts, UpgradeError, protocols, chroniclesFormatItIMPL, HTTPS, UNIX, exclIfIt, encode, computeFieldSize, TooManyConnectionsError, supportsPacked, addTransport, write, TLS_WS, TranscoderIP6, init, readSeq, addHandler, storeMuxer, getProtocolArgument, identify, PeerEvent, data, PublicKey, supported, MaResult, supportsPacked, connect, PeerBookChangeHandler, getStream, []=, QUIC_V1_IP4, writeSeq, ConnEvent, init, isExpired, &, $, DNS6, expandAddrs, writeField, contains, [], decode, IpTransportProtocol, guessDialableAddr, init, [], IP4, TranscoderPort, chroniclesExpandItIMPL, readMessage, addPeerEventHandler, init, >=, expectConnection, init, payloadDomain, start, withValue, handle, MuxedStream, canAcceptIncoming, dial, init, LPStreamLimitError, TranscoderOnion3, ConnectionLimits, SignedPayload, [], closeImpl, toBytes, decayFixed, newLPStreamLimitError, readFieldInto, keyOpenArray, random, tagPeer, match, ConcurrentUpgrades, WebSockets_DNS, SignedPeerRecord, $, closeImpl, dial, isEmpty, writeLp, decode, connectedPeers, reset, AddressConfidenceTtls, new, connect, init, newLPStreamIncompleteError, generateBytes, MAProtocol, newLPStreamResetError, shortLog, initStream, contains, readFieldInto, init, DNS4, maxTotal, MultiAddress, readFieldInto, WS_IP, selectBest, encode, supportsPacked, write, P2PPattern, Connection, Envelope, connect, hasPublicKey, AddressBook, toException, init, Stream, isEnough, getConnections, Reliable, addrs, hex, [], write, ivOpenArray, WS, AgentVersion, init, MultiStreamError, MultistreamSelect, encode, LPProtocol, init, Matcher, match, TcpOnion3, readArray, filterAddrs, <, iv, RawConn, reserveIncoming, new, RsaDefaultKeySize, readLine, Eof, CryptoError, chroniclesFormatItIMPL, writeLPVarint, append, guessDialableAddr, IdentifyPushCodec, parseFullAddress, WSS_IP, LPStreamConnDownError, peekArray, PeerRecord, init, SupportedSchemes, select, generate, computeFieldSize, Unreliable, SupportedSchemesInt, random, checkFutures, isProtected, handler=, ConnectionSlot, toFullAddress, shuffle, init, checkAddresses, validate, addTransport, ProtoVersion, protoCode, mapEq, init, removePeerEventHandler, Onion3, stop, readOnce, select, pickOne, TranscoderP2P, PeerInfo, AddressInfo, decayNone, ConnectionTrackerName, KeyBook, sign, extend, init, write, notifyObservers, LPStream, verify, IdentifyInfo, IdentifyError, addHandler, Identify, encode, len, newLPStreamRemoteClosedError, MaPatResult, isConnected, Direction, IdentifyCodec, QUIC_V1_DNS, InvalidVarintError, Switch, shortLog, writeField, cleanup, init, IdentifyNoPubKeyError, getBytes, write, hash, init, UTP, toBytes, readVarint, hash, [], TimeoutHandler, toCid, getMostObservedProtosAndPorts, init, Rng, ObservedAddrManager, ConnEventHandler, lookupProtocol, WebSockets_IP, VBuffer, writeLp, decayLinear, start, IdentityNoMatchError, writePBVarint, toChunks, readExactly, protoArgument, ProtoBook, decode, setup, newLPStreamConnDownError, new, init, write, QUIC_IP, initStream, getField, supportsPacked, readVarint, toOpt, connect, closeWithEOF, LPStreamTrackerName, orError, LPStreamRemoteClosedError, availableSlots, libp2p_failed_upgrades_outgoing, stop, MaInvalidAddress, select, PeerBook, generate, extend, LPStreamClosedError, getIncomingSlot, writeField, getBytes, toBytes, getOrder, computeFieldSize, [], []=, TranscoderUnix, LastSeenBook, SeqPeerBook, toOpt, tryDial, stop, writeVarint, dialAndUpgrade, hash, shortLog, init, random, supportsPacked, $, write, PeerId, ==, getField, <=, toCidString, shortLog, computeFieldSize, shortLog, capLen, init, validate, init, supportsPacked, exclIfIt, match, <, chroniclesFormatItIMPL, write, getPubKey, maxInlineKeyLength, readFieldInto, withValue, writeField, >=, withValue, computeFieldSize, shortLog, writeField, toBytes, filterIt, match, readFieldInto, toChunks, toCid, getBytes, init, init, take, toOpt, toOpt, init, withValue, hasPublicKey, chroniclesFormatItIMPL, random, >, hex, len, toOpt, cmp, extractPublicKey, shortLog, UDP_DNS, writeField, ephemeral, init, replaceIp, MaPatternOp, <=, filterIt, supportsPacked, init, $, validate, chroniclesFormatItIMPL, init, Memory, getPubKey, TLS_WS, TranscoderDNS, writeField, init, ephemeral, PeerInfoObserver, getIp, generateBytes, MAKind, init, getRepeatedField, generate, getBytes, WebSockets, &, peekSeq, TCP_IP4, fullAddrs, init, QUIC_V1_IP, ==, withValue, getPublicKey, libp2p_multiaddress_exts, readFieldInto, getPart, DNSANY, DNSADDR, AddressMapper, WSS, init, toCidString, toBytes, TCP_DNS, shortLog, encode, UDP_IP4, len, supported, init, ==, supportsPacked, TranscoderIP6Zone, $, WSS_DNS, <, PeerAddressPolicy, $, PeerInfo, TranscoderOnion, write, key, Rng, writeArray, PeerId, IP6, shortLog, writeField, payload, stretchKeys, addObserver, generate, TCP, PrivateKey, getBytes, init, &=, newBearSslRng, TranscoderMemory, init, $, getRawBytes, KeyPair, computeFieldSize, chroniclesFormatItIMPL, hash, stripPeerId, shortLog, isEmpty, readFieldInto, data, HTTPS, QUIC_DNS, supportsPacked, TranscoderIP6, encode, getProtocolArgument, MaResult, finish, DNS6, expandAddrs, writeField, [], IpTransportProtocol, TranscoderPort, >=, payloadDomain, init, TranscoderOnion3, protoArgument, keyOpenArray, match, WebSockets_DNS, isEmpty, readFieldInto, QUIC_V1_DNS, getField, selectBest, Envelope, init, init, Reliable, addrs, init, match, filterAddrs, CryptoError, append, init, parseFullAddress, generate, checkFutures, supportsPacked, shuffle, checkAddresses, validate, protoCode, pickOne, TranscoderP2P, sign, new, getBytes, encode, len, shortLog, writeField, getBytes, init, computeFieldSize, QUIC_IP, toChunks, protoArgument, getField, readVarint, orError, MaInvalidAddress, getOrder, hash, TranscoderUnix, SignedPeerRecord, writeVarint, DNS_OR_IP, init, random, MaError, decode, matchPartial, WS_DNS, initVBuffer, ==, ECDHEScheme, items, init, [], decode, decode, random, Secret, peekVarint, random, mapOr, bytes, publicRoutableAddressPolicy, maxInlineKeyLength, QUIC, withValue, mac, WS_IP, noPrivateAddressPolicy, libp2p_pki_schemes, areAddrsConsistent, init, readFieldInto, HTTP, initVBuffer, TcpOnion3, write, update, toOpt, payloadType, $, IP, protoAddress, decode, newRng, shortLog, checkValid, chroniclesFormatItIMPL, len, CircuitRelay, extractPublicKey, mapAnd, maErr, UDP_IP, init, ==, write, notifyObservers, QUIC_V1, TCP_IP, readSeq, capLen, protoName, toRawBytes, MaPattern, writeField, TCP_IP6, toException, init, match, writeLPVarint, CryptoResult, parseFullAddress, WebRTCDirect, init, UDP, init, >, initVBuffer, PKScheme, random, accepts, take, write, PeerInfoError, random, TranscoderIP4, toException, DNS, goffset, pick, init, high, toString, init, cmp, init, verify, Signature, exclIfIt, computeFieldSize, removeObserver, supportsPacked, toBytes, DigestSheme, init, IPFS, MultiAddress, shortLog, hex, protocols, UNIX, computeFieldSize, LPError, init, supportsPacked, toBytes, QUIC_V1_IP4, writeSeq, init, VBuffer, init, [], IP4, init, supportsPacked, withValue, readFieldInto, SignedPayload, toBytes, $, MAProtocol, contains, DNS4, readFieldInto, readArray, P2PPattern, hasPublicKey, isEnough, hex, toOpt, WS, init, encode, init, init, <, iv, WSS_IP, peekArray, PeerRecord, SupportedSchemes, computeFieldSize, Unreliable, SupportedSchemesInt, random, macOpenArray, mapEq, Onion3, toFullAddress, concat, AddressInfo, write, EnvelopeError, computeFieldSize, MaPatResult, init, defaultAddressPolicy, write, UTP, verify, toCid, PublicKey, WebSockets_IP, writePBVarint, init, supportsPacked, ivOpenArray, RsaDefaultKeySize, generate, write, toOpt, PeerAddressPolicy, publicRoutableAddressPolicy, filterAddrs, defaultAddressPolicy, accepts, noPrivateAddressPolicy, DNS_OR_IP, shortLog, init, random, UDP_DNS, $, MaError, libp2p_network_bytes, writeField, ephemeral, replaceIp, MaPatternOp, ==, WS_DNS, initVBuffer, <=, MaxSizeError, decode, ==, shortLog, filterIt, ECDHEScheme, shortLog, hash, supportsPacked, writeField, init, closed, [], shuffle, random, init, Secret, peekVarint, payload, $, validate, mapOr, chroniclesFormatItIMPL, init, Memory, bytes, publicRoutableAddressPolicy, getPubKey, maxInlineKeyLength, TranscoderDNS, QUIC, writeField, [], init, ephemeral, withValue, PeerInfoObserver, getIp, generateBytes, WS_IP, write, MAKind, decode, getBytes, write, decode, init, noPrivateAddressPolicy, getRepeatedField, generate, matchPartial, getBytes, len, areAddrsConsistent, init, readLp, HTTP, initVBuffer, atEof, LPStreamTrackerName, removeObserver, peekSeq, update, TCP_IP4, toOpt, join, fullAddrs, payloadType, LPStreamError, init, IP, protoAddress, QUIC_V1_IP, newRng, ==, shortLog, withValue, checkValid, getPublicKey, chroniclesFormatItIMPL, libp2p_multiaddress_exts, WebSockets, readFieldInto, getPart, CircuitRelay, extractPublicKey, mapAnd, new, maErr, computeFieldSize, UDP_IP, newLPStreamEOFError, init, random, ==, DNSADDR, AddressMapper, write, notifyObservers, WSS, QUIC_V1, TCP_IP, close, init, closeImpl, toCidString, readSeq, toBytes, TCP_DNS, closeWrite, shortLog, wasResetLocally, encode, UDP_IP4, len, capLen, init, protoName, protoArgument, toRawBytes, supportsPacked, $, writeField, TCP_IP6, init, DNS, WSS_DNS, match, writeLPVarint, CryptoResult, LPStream, parseFullAddress, WebRTCDirect, PeerAddressPolicy, init, $, UDP, PeerInfo, TranscoderOnion, StreamTracker, defaultAddressPolicy, init, LPStreamResetError, writeArray, LPStreamIncompleteError, PeerId, >, [], LPStreamEOFError, IP6, shortLog, reset, initVBuffer, PKScheme, random, stretchKeys, accepts, addObserver, Connection, write, init, generate, TCP, PrivateKey, readFieldInto, write, init, RawConn, &=, PeerInfoError, newBearSslRng, verify, newLPStreamClosedError, random, TranscoderMemory, toString, TranscoderIP4, init, toException, init, goffset, getRawBytes, pick, KeyPair, init, high, cmp, init, DefaultConnectionTimeout, Signature, chroniclesFormatItIMPL, contains, hash, exclIfIt, computeFieldSize, computeFieldSize, supportsPacked, stripPeerId, toBytes, DigestSheme, IPFS, getField, shortLog, readOnce, init, resetImpl, isEmpty, shortLog, data, chroniclesFormatItIMPL, hex, protocols, chroniclesFormatItIMPL, computeFieldSize, HTTPS, UNIX, LPError, supportsPacked, readFieldInto, TLS_WS, sign, encode, Rng, getProtocolArgument, supported, MaResult, init, supportsPacked, toBytes, QUIC_V1_IP4, writeSeq, finish, &, DNS6, expandAddrs, writeField, decode, IpTransportProtocol, key, IP4, TranscoderPort, getBytes, readFieldInto, DNSANY, >=, QUIC_V1_DNS, payloadDomain, $, MaPattern, withValue, MuxedStream, init, LPStreamLimitError, TranscoderOnion3, SignedPayload, mac, toBytes, protoArgument, newLPStreamLimitError, keyOpenArray, match, WebSockets_DNS, SignedPeerRecord, $, isEmpty, writeLp, toCid, init, newLPStreamIncompleteError, MAProtocol, newLPStreamResetError, initStream, init, getField, DNS4, readFieldInto, getWrapped, selectBest, supportsPacked, P2PPattern, Envelope, hasPublicKey, toException, init, Stream, isEnough, Reliable, addrs, hex, closeImpl, getBytes, ivOpenArray, WS, init, encode, take, init, init, match, readArray, filterAddrs, <, iv, readLine, Eof, CryptoError, computeFieldSize, append, hash, init, parseFullAddress, WSS_IP, LPStreamConnDownError, peekArray, PeerRecord, SupportedSchemes, generate, QUIC_DNS, Unreliable, SupportedSchemesInt, random, checkFutures, supportsPacked, macOpenArray, init, checkAddresses, validate, protoCode, mapEq, libp2p_pki_schemes, Onion3, TcpOnion3, toFullAddress, pickOne, concat, TranscoderP2P, AddressInfo, ConnectionTrackerName, TranscoderIP6, new, write, EnvelopeError, computeFieldSize, encode, len, newLPStreamRemoteClosedError, TranscoderIP6Zone, MaPatResult, Direction, init, InvalidVarintError, shortLog, items, init, write, write, init, UTP, readVarint, verify, readFieldInto, TimeoutHandler, QUIC_IP, init, PublicKey, WebSockets_IP, VBuffer, writeLp, writePBVarint, toChunks, readExactly, newLPStreamConnDownError, init, initStream, MultiAddress, supportsPacked, readVarint, toOpt, closeWithEOF, RsaDefaultKeySize, orError, LPStreamRemoteClosedError, <, MaInvalidAddress, generate, LPStreamClosedError, writeField, write, getOrder, TranscoderUnix, toOpt, writeVarint, DNS_OR_IP, contains, exclIfIt, hash, shortLog, readSeq, UDP_DNS, MaError, IPFS, writeField, data, MaPatternOp, isEmpty, WS_DNS, initVBuffer, hex, protocols, bytes, ==, HTTPS, UNIX, filterIt, QUIC_DNS, shortLog, LPError, TranscoderIP6, encode, getProtocolArgument, MaResult, init, supportsPacked, peekVarint, mapOr, QUIC_V1_IP4, writeSeq, &, Memory, DNS6, TLS_WS, TranscoderDNS, QUIC, [], [], IP4, TranscoderPort, withValue, getIp, $, WS_IP, withValue, MAKind, TranscoderOnion3, getRepeatedField, matchPartial, IpTransportProtocol, match, WebSockets_DNS, WebSockets, $, areAddrsConsistent, isEmpty, HTTP, finish, init, TcpOnion3, MAProtocol, peekSeq, TCP_IP4, toOpt, concat, init, IP, protoAddress, DNS4, QUIC_V1_IP, readArray, withValue, P2PPattern, isEnough, libp2p_multiaddress_exts, Reliable, len, WS, getPart, CircuitRelay, mapAnd, maErr, <, UDP_IP, DNSANY, DNSADDR, append, write, WSS_IP, peekArray, WSS, QUIC_V1, TCP_IP, getField, Unreliable, checkFutures, TCP_DNS, UDP_IP4, capLen, init, protoName, protoArgument, validate, mapEq, Onion3, MaPattern, MaInvalidAddress, TCP_IP6, TranscoderP2P, toException, WSS_DNS, writeLPVarint, write, WebRTCDirect, len, UDP, TranscoderIP6Zone, MaPatResult, TranscoderOnion, QUIC_V1_DNS, readFieldInto, init, shortLog, writeArray, readFieldInto, init, UTP, [], computeFieldSize, IP6, writeField, initVBuffer, QUIC_IP, initVBuffer, WebSockets_IP, VBuffer, writePBVarint, toChunks, TCP, protoArgument, replaceIp, init, take, MultiAddress, supportsPacked, &=, readVarint, toOpt, TranscoderMemory, TranscoderIP4, init, protoCode, $, toException, DNS, items, computeFieldSize, TranscoderUnix, high, toOpt, toString, writeVarint, computeFieldSize, Signature, exclIfIt, shortLog, init, supportsPacked, toBytes, DigestSheme, ephemeral, ECDHEScheme, init, filterIt, shortLog, init, sign, Rng, macOpenArray, PublicKey, Secret, supportsPacked, $, mac, init, selectBest, init, ephemeral, withValue, readFieldInto, init, stretchKeys, generateBytes, withValue, readFieldInto, write, init, init, init, generate, toBytes, write, random, getBytes, toOpt, init, newRng, supportsPacked, withValue, getPublicKey, init, init, random, write, ivOpenArray, init, iv, init, CryptoError, ==, key, SupportedSchemes, generate, RsaDefaultKeySize, init, keyOpenArray, SupportedSchemesInt, toBytes, capLen, shuffle, supported, ==, toRawBytes, libp2p_pki_schemes, random, pickOne, init, random, CryptoResult, shortLog, writeField, getBytes, verify, writeField, PKScheme, getBytes, init, toChunks, generate, PrivateKey, take, supportsPacked, toOpt, newBearSslRng, orError, $, generate, goffset, getRawBytes, pick, getOrder, computeFieldSize, KeyPair, init, toOpt, init, toException, toException, checkFutures, LPError, ConnectionLimits, maxTotal, maxInOut, NATConfig, PortMappingMode, AutonatVersion, PortMapperFactory, NATService, upnpConfig, natPmpConfig, explicitIpConfig, autonatConfig, holePunchingConfig, AutonatV2ServiceConfig, AutonatV2Service, natService