libp2p/builders

Search:
Group by:
Source   Edit  

This module contains a Switch Building helper.

Example:

let switch = SwitchBuilder.new().withRng(rng).withAddresses(multiaddress)
  # etc
  .build()

Types

SecureProtocol {.pure.} = enum
  Noise
Source   Edit  
SwitchBuilder = ref object
Source   Edit  
TransportBuilder {.public.} = proc (config: TransportConfig): Transport {.
    ...gcsafe, raises: [].}
Source   Edit  
TransportConfig = ref object
  upgr*: Upgrade
  privateKey*: PrivateKey
  autotls*: Opt[AutotlsService]
Source   Edit  
TransportProvider {....deprecated: "Use TransportBuilder instead".} = proc (
    upgr: Upgrade; privateKey: PrivateKey): Transport {....gcsafe, raises: [].}
Deprecated: Use TransportBuilder instead
Source   Edit  
TransportType {.pure.} = enum
  QUIC, TCP, Memory
Source   Edit  

Consts

MemoryAutoAddress = "/memory/*"
Source   Edit  

Procs

proc build(b: SwitchBuilder): Switch {....raises: [LPError], public, ...raises: [],
                                       tags: [WriteIOEffect, RootEffect],
                                       forbids: [].}
Source   Edit  
proc new(T: type[SwitchBuilder]): T:type {.public, ...raises: [].}
Creates a SwitchBuilder Source   Edit  
proc newStandardSwitch(privKey = Opt.none(PrivateKey); addrs: MultiAddress |
    seq[MultiAddress] = newSeq[MultiAddress]();
                       transport: TransportType = TransportType.TCP;
                       transportFlags: set[ServerFlags] = {}; rng = newRng();
    secureManagers: openArray[SecureProtocol] = [SecureProtocol.Noise];
                       inTimeout: Duration = 5.minutes;
                       outTimeout: Duration = 5.minutes;
                       maxConnections = MaxConnections; maxIn = -1; maxOut = -1;
                       maxConnsPerPeer = MaxConnectionsPerPeer;
                       nameResolver = Opt.none(NameResolver);
                       sendSignedPeerRecord = false; peerStoreCapacity = 1000): Switch {.
    ...raises: [LPError], public, ...raises: [].}
Source   Edit  
proc newStandardSwitchBuilder(privKey = Opt.none(PrivateKey); addrs: MultiAddress |
    seq[MultiAddress] = newSeq[MultiAddress]();
                              transport: TransportType = TransportType.TCP;
                              transportFlags: set[ServerFlags] = {};
                              rng = newRng(); secureManagers: openArray[
    SecureProtocol] = [SecureProtocol.Noise]; inTimeout: Duration = 5.minutes;
                              outTimeout: Duration = 5.minutes;
                              maxConnections = MaxConnections; maxIn = -1;
                              maxOut = -1;
                              maxConnsPerPeer = MaxConnectionsPerPeer;
                              nameResolver = Opt.none(NameResolver);
                              sendSignedPeerRecord = false;
                              peerStoreCapacity = 1000): SwitchBuilder {.
    ...raises: [LPError], public, ...raises: [].}
Helper for common switch configurations. Source   Edit  
proc withAddress(b: SwitchBuilder; address: MultiAddress;
                 enableWildcardResolver: bool = true): SwitchBuilder {.public,
    ...raises: [], tags: [], forbids: [].}

Set the listening address of the switch
Calling it multiple time will override the value

Source   Edit  
proc withAddresses(b: SwitchBuilder; addresses: seq[MultiAddress];
                   enableWildcardResolver: bool = true): SwitchBuilder {.public,
    ...raises: [], tags: [], forbids: [].}

Set the listening addresses of the switch
Calling it multiple time will override the value

Source   Edit  
proc withAgentVersion(b: SwitchBuilder; agentVersion: string): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withAutonat(b: SwitchBuilder): SwitchBuilder {....raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc withAutonatV2(b: SwitchBuilder;
                   serviceConfig = AutonatV2ServiceConfig.new()): SwitchBuilder {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withAutonatV2Server(b: SwitchBuilder;
                         config: AutonatV2Config = AutonatV2Config.new()): SwitchBuilder {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withCircuitRelay(b: SwitchBuilder; r: Relay = Relay.new()): SwitchBuilder {.
    ...raises: [], tags: [], forbids: [].}
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 {.
    public, ...raises: [], tags: [], forbids: [].}
Maximum concurrent connections of the switch. You should either use this, or withMaxIn & withMaxOut Source   Edit  
proc withMaxConnsPerPeer(b: SwitchBuilder; maxConnsPerPeer: int): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withMaxIn(b: SwitchBuilder; maxIn: int): SwitchBuilder {.public,
    ...raises: [], tags: [], forbids: [].}
Maximum concurrent incoming connections. Should be used with withMaxOut Source   Edit  
proc withMaxOut(b: SwitchBuilder; maxOut: int): SwitchBuilder {.public,
    ...raises: [], tags: [], forbids: [].}
Maximum concurrent outgoing connections. Should be used with withMaxIn Source   Edit  
proc withMemoryTransport(b: SwitchBuilder): SwitchBuilder {.public, ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc withMplex(b: SwitchBuilder; inTimeout = 5.minutes; outTimeout = 5.minutes;
               maxChannCount = 200): SwitchBuilder {.public, ...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 {.
    public, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withNoise(b: SwitchBuilder): SwitchBuilder {.public, ...raises: [], tags: [],
    forbids: [].}
Source   Edit  
proc withObservedAddrManager(b: SwitchBuilder;
                             observedAddrManager: ObservedAddrManager): SwitchBuilder {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withPeerStore(b: SwitchBuilder; capacity: int): SwitchBuilder {.public,
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withPrivateKey(b: SwitchBuilder; privateKey: PrivateKey): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Set the private key of the switch. Will be used to generate a PeerId Source   Edit  
proc withProtoVersion(b: SwitchBuilder; protoVersion: string): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withQuicTransport(b: SwitchBuilder): SwitchBuilder {.public, ...raises: [],
    tags: [], forbids: [].}
Source   Edit  
proc withRendezVous(b: SwitchBuilder; rdv: RendezVous): SwitchBuilder {.
    ...raises: [], tags: [WriteIOEffect, RootEffect], forbids: [].}
Source   Edit  
proc withRng(b: SwitchBuilder; rng: ref HmacDrbgContext): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withServices(b: SwitchBuilder; services: seq[Service]): SwitchBuilder {.
    ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withSignedPeerRecord(b: SwitchBuilder; sendIt = true): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withTcpTransport(b: SwitchBuilder; flags: set[ServerFlags] = {}): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Source   Edit  
proc withTransport(b: SwitchBuilder; prov: TransportBuilder): SwitchBuilder {.
    public, ...raises: [], tags: [], forbids: [].}
Use a custom transport

Example:

let switch = SwitchBuilder
  .new()
  .withTransport(
    proc(config: TransportConfig): Transport =
      TcpTransport.new(flags, config.upgr)
  )
  .build()
Source   Edit  
proc withTransport(b: SwitchBuilder; prov: TransportProvider): SwitchBuilder {.
    ...deprecated: "Use TransportBuilder instead", raises: [], tags: [],
    forbids: [].}
Deprecated: Use TransportBuilder instead
Use a custom transport

Example:

let switch = SwitchBuilder
  .new()
  .withTransport(
    proc(upgr: Upgrade, privateKey: PrivateKey): Transport =
      TcpTransport.new(flags, upgr)
  )
  .build()
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, random, new, UDP_DNS, MaxConnectionsPerPeer, libp2p_network_bytes, ephemeral, dial, decode, MaPatternOp, WS_DNS, initVBuffer, <=, MaxSizeError, DialFailedError, start, ConnectionSlot, handler, filterIt, ECDHEScheme, shortLog, init, closed, addConnEventHandler, shuffle, random, DNSANY, VBuffer, del, Secret, peekVarint, random, handshake, MaxConnections, $, validate, mapOr, dial, MaError, init, secure, Memory, UpgradeFailedError, IdentityInvalidMsgError, maxInlineKeyLength, addHandler, TranscoderDNS, QUIC, $, [], ephemeral, withValue, mac, init, writeLp, removeConnEventHandler, getWrapped, write, public, MAKind, write, write, init, getField, valueOr, negotiateStream, init, codec, getRepeatedField, matchPartial, addObservation, stop, removePeerEventHandler, push, len, areAddrsConsistent, trackConnection, ==, readLp, HTTP, initVBuffer, finish, start, atEof, PeerEventKind, getOutgoingSlot, peekSeq, SeqPeerBook, toOpt, join, fullAddrs, payloadType, concat, init, $, IP, protoAddress, QUIC_V1_IP, newRng, ==, shortLog, withValue, mount, SecureConn, checkValid, handle, getPublicKey, secure, libp2p_multiaddress_exts, len, getPart, libp2p_failed_upgrades_incoming, Secure, extractPublicKey, mapAnd, new, maErr, dial, UDP_IP, ConnManager, newLPStreamEOFError, selectMuxer, init, connCount, len, dialAndUpgrade, ==, DNSADDR, handler, AddressMapper, IdentifyPushHandler, init, write, new, WSS, waitForService, QUIC_V1, TCP_IP, close, selectMuxer, identify, closeImpl, Identify, toBytes, TCP_DNS, shortLog, encode, TooManyConnectionsError, capLen, dial, init, protoName, protoArgument, PeerEventHandler, LPProtoHandler, toRawBytes, identify, IdentifyPush, getStream, MaPattern, TranscoderIP6Zone, $, init, maxIncomingStreams, slotsAvailable, WSS_DNS, list, match, writeLPVarint, CryptoResult, parseFullAddress, init, WebRTCDirect, AgentBook, init, UDP, Dialer, disconnect, TranscoderOnion, goffset, IdentifyNoPubKeyError, write, init, updatePeerInfo, LPStreamResetError, run, writeArray, getRawBytes, new, LPStreamIncompleteError, connectedPeers, PeerId, LPStreamEOFError, maxIncomingStreams=, IP6, shortLog, new, release, initVBuffer, PKScheme, readVarint, new, payload, triggerConnEvent, triggerPeerEvents, init, connect, newSwitch, stretchKeys, Connection, getBytes, init, negotiateStream, TCP, PrivateKey, dropPeer, getBytes, del, start, write, MultiStreamError, close, &=, PeerInfoError, dial, newLPStreamClosedError, random, dialAndUpgrade, compilesOr, TranscoderMemory, toString, closeWrite, trackMuxer, TranscoderIP4, init, toException, DNS, init, collectCompleted, init, Upgrade, ProtoVersionBook, StreamTracker, HandlerHolder, >, SecureConnTrackerName, KeyPair, PeerStore, init, high, SPRBook, init, dial, cmp, peekArray, formatItIMPL, formatItIMPL, initStream, formatItIMPL, Signature, contains, codec=, exclIfIt, hash, hash, formatItIMPL, getStream, DigestSheme, init, IPFS, getField, shortLog, readOnce, init, removePeerEventHandler, isEmpty, ConnEventKind, MultiAddress, shortLog, data, getWrapped, connect, contains, hex, getMostObservedProtosAndPorts, expandItIMPL, protocols, bytes, DefaultMaxIncomingStreams, QUIC_DNS, HTTPS, UNIX, encode, WebSockets, LPError, addTransport, IdentifyCodec, TLS_WS, TranscoderIP6, readSeq, addHandler, encode, addConnEventHandler, formatItIMPL, guessDialableAddr, tryDial, PeerEvent, PublicKey, MaResult, init, connect, PeerBookChangeHandler, dialAndUpgrade, getStream, []=, writeSeq, ConnEvent, init, ==, $, DNS6, expandAddrs, contains, [], decode, IpTransportProtocol, init, [], IP4, TranscoderPort, getBytes, safeConvert, addPeerEventHandler, >=, expectConnection, QUIC_V1_DNS, payloadDomain, $, addTransport, withValue, handle, readOnce, includeFile, LPStreamLimitError, TranscoderOnion3, SignedPayload, toBytes, protoArgument, CircuitRelay, newLPStreamLimitError, write, ProtoBook, keyOpenArray, init, match, WebSockets_DNS, $, closeImpl, isEmpty, writeLp, connectedPeers, new, connect, init, newLPStreamIncompleteError, write, MAProtocol, newLPStreamResetError, initStream, contains, init, shortLog, DNS4, WS_IP, selectBest, P2PPattern, Envelope, connect, hasPublicKey, AddressBook, toException, init, isEnough, init, getConnections, Reliable, addrs, hex, removeConnEventHandler, closeImpl, decode, WS, UpgradeError, AgentVersion, init, MultistreamSelect, encode, LPProtocol, init, Matcher, IdentifyPushCodec, getField, match, LPStreamTrackerName, readArray, getField, <, iv, DefaultConnectionTimeout, readLine, Eof, CryptoError, addPeerEventHandler, dial, append, guessDialableAddr, init, parseFullAddress, WSS_IP, LPStreamConnDownError, PeerRecord, key, SupportedSchemes, new, select, RsaDefaultKeySize, Unreliable, SupportedSchemesInt, random, checkFutures, handler=, Dial, PeerBook, macOpenArray, init, validate, upgrade, addTransport, ProtoVersion, protoCode, mapEq, init, libp2p_pki_schemes, Onion3, stop, TcpOnion3, toFullAddress, select, TranscoderP2P, PeerInfo, AddressInfo, ConnectionTrackerName, sign, new, init, write, EnvelopeError, LPStream, IdentifyInfo, IdentifyError, addHandler, storeMuxer, len, newLPStreamRemoteClosedError, MaPatResult, isConnected, Direction, dialAndUpgrade, init, InvalidVarintError, Switch, shortLog, formatItIMPL, &, cleanup, init, write, getBytes, write, dial, init, UTP, toBytes, verify, [], TimeoutHandler, getMostObservedProtosAndPorts, QUIC_IP, ConcurrentUpgrades, ObservedAddrManager, ConnEventHandler, WebSockets_IP, decodeMsg, supported, addHandler, IdentityNoMatchError, writePBVarint, toChunks, readExactly, newLPStreamConnDownError, new, new, init, readMessage, initStream, getField, KeyBook, readVarint, ivOpenArray, connect, closeWithEOF, orError, getField, LPStreamRemoteClosedError, libp2p_failed_upgrades_outgoing, stop, MaInvalidAddress, select, LPStreamClosedError, getIncomingSlot, Service, items, write, toBytes, getOrder, hash, [], update, TranscoderUnix, LastSeenBook, setup, SignedPeerRecord, tryDial, stop, writeVarint, formatItIMPL, formatItIMPL, hash, shortLog, random, $, write, PeerId, ==, getField, <=, shortLog, capLen, init, validate, compilesOr, init, exclIfIt, match, <, write, maxInlineKeyLength, withValue, safeConvert, shortLog, >=, withValue, public, shortLog, includeFile, toBytes, waitForService, match, getBytes, valueOr, toChunks, init, init, init, toOpt, init, withValue, hasPublicKey, collectCompleted, filterIt, >, hex, len, cmp, extractPublicKey, shortLog, UDP_DNS, ephemeral, init, MaPatternOp, ==, <=, filterIt, shortLog, $, validate, init, Memory, TLS_WS, TranscoderDNS, init, ephemeral, MAKind, init, getRepeatedField, getBytes, WebSockets, &, peekSeq, fullAddrs, QUIC_V1_IP, withValue, getPublicKey, libp2p_multiaddress_exts, getPart, new, DNSANY, DNSADDR, AddressMapper, WSS, waitForService, init, toBytes, TCP_DNS, shortLog, encode, len, supported, init, ==, TranscoderIP6Zone, $, WSS_DNS, <, $, PeerInfo, TranscoderOnion, write, key, writeArray, PeerId, IP6, shortLog, payload, stretchKeys, TCP, PrivateKey, getBytes, init, &=, TranscoderMemory, init, $, getRawBytes, KeyPair, init, isEmpty, data, HTTPS, QUIC_DNS, TranscoderIP6, encode, MaResult, finish, DNS6, expandAddrs, [], IpTransportProtocol, TranscoderPort, >=, init, payloadDomain, $, includeFile, TranscoderOnion3, protoArgument, keyOpenArray, match, WebSockets_DNS, isEmpty, QUIC_V1_DNS, getField, selectBest, Envelope, init, init, Reliable, addrs, getField, match, CryptoError, append, parseFullAddress, checkFutures, shuffle, init, validate, protoCode, TranscoderP2P, sign, getBytes, encode, len, shortLog, items, getBytes, init, QUIC_IP, toChunks, protoArgument, readVarint, orError, MaInvalidAddress, getOrder, hash, TranscoderUnix, SignedPeerRecord, writeVarint, DNS_OR_IP, init, random, MaError, decode, matchPartial, WS_DNS, initVBuffer, ==, ECDHEScheme, init, [], decode, decode, random, Secret, peekVarint, random, mapOr, bytes, maxInlineKeyLength, QUIC, withValue, mac, WS_IP, public, write, valueOr, libp2p_pki_schemes, areAddrsConsistent, HTTP, initVBuffer, TcpOnion3, write, toOpt, payloadType, $, IP, protoAddress, newRng, checkValid, len, CircuitRelay, extractPublicKey, mapAnd, maErr, UDP_IP, init, ==, write, QUIC_V1, TCP_IP, readSeq, capLen, protoName, toRawBytes, MaPattern, toException, init, match, writeLPVarint, CryptoResult, parseFullAddress, WebRTCDirect, init, UDP, init, initVBuffer, PKScheme, random, write, init, write, PeerInfoError, compilesOr, TranscoderIP4, toException, DNS, init, collectCompleted, goffset, >, init, high, toString, init, cmp, init, formatItIMPL, formatItIMPL, formatItIMPL, Signature, exclIfIt, toBytes, DigestSheme, IPFS, getField, MultiAddress, shortLog, hex, protocols, init, UNIX, hash, LPError, toBytes, writeSeq, init, VBuffer, init, [], IP4, safeConvert, getField, init, withValue, SignedPayload, toBytes, init, MAProtocol, contains, DNS4, readArray, P2PPattern, hasPublicKey, isEnough, hex, WS, init, encode, init, init, getField, iv, WSS_IP, peekArray, PeerRecord, SupportedSchemes, getField, Unreliable, SupportedSchemesInt, random, macOpenArray, mapEq, Onion3, toFullAddress, concat, AddressInfo, write, EnvelopeError, MaPatResult, init, init, write, write, UTP, verify, PublicKey, WebSockets_IP, writePBVarint, init, ivOpenArray, RsaDefaultKeySize, write, update, DNS_OR_IP, shortLog, init, random, UDP_DNS, MaError, libp2p_network_bytes, ephemeral, decode, MaPattern, MaPatternOp, ==, WS_DNS, initVBuffer, <=, filterIt, ECDHEScheme, shortLog, init, closed, [], MaxSizeError, shuffle, random, init, Secret, peekVarint, random, $, validate, mac, init, Memory, maxInlineKeyLength, TranscoderDNS, QUIC, [], QUIC_V1_DNS, ephemeral, withValue, WS_IP, public, MAKind, write, write, getField, valueOr, init, getRepeatedField, matchPartial, libp2p_pki_schemes, getBytes, len, areAddrsConsistent, init, readLp, HTTP, initVBuffer, atEof, LPStreamTrackerName, peekSeq, toOpt, join, fullAddrs, payloadType, LPStreamError, $, IP, protoAddress, QUIC_V1_IP, decode, newRng, ==, withValue, checkValid, getPublicKey, libp2p_multiaddress_exts, len, getPart, CircuitRelay, extractPublicKey, mapAnd, new, maErr, UDP_IP, new, newLPStreamEOFError, init, ==, DNSADDR, AddressMapper, write, WSS, LPStream, waitForService, QUIC_V1, TCP_IP, init, closeImpl, readSeq, toBytes, TCP_DNS, closeWrite, shortLog, encode, WebSockets, capLen, init, protoName, protoArgument, toRawBytes, $, WSS_DNS, match, writeLPVarint, CryptoResult, parseFullAddress, init, WebRTCDirect, init, UDP, PeerInfo, TranscoderOnion, StreamTracker, write, init, LPStreamResetError, writeArray, getRawBytes, LPStreamIncompleteError, PeerId, [], LPStreamEOFError, IP6, shortLog, decode, initVBuffer, PKScheme, random, init, init, Connection, write, init, TCP, PrivateKey, getBytes, write, init, &=, PeerInfoError, newLPStreamClosedError, payload, compilesOr, TranscoderMemory, close, TranscoderIP4, init, toException, DNS, init, collectCompleted, goffset, >, KeyPair, init, high, toString, init, cmp, DefaultConnectionTimeout, formatItIMPL, formatItIMPL, formatItIMPL, Signature, contains, exclIfIt, hash, formatItIMPL, toBytes, DigestSheme, IPFS, getField, shortLog, readOnce, init, isEmpty, data, shortLog, hex, protocols, bytes, hash, HTTPS, UNIX, LPError, TLS_WS, sign, init, encode, formatItIMPL, supported, MaResult, init, toBytes, writeSeq, init, &, DNS6, expandAddrs, IpTransportProtocol, init, IP4, TranscoderPort, writeLp, getBytes, safeConvert, init, >=, init, payloadDomain, $, withValue, init, includeFile, LPStreamLimitError, TranscoderOnion3, SignedPayload, toBytes, newLPStreamLimitError, write, keyOpenArray, match, WebSockets_DNS, $, isEmpty, init, newLPStreamIncompleteError, MAProtocol, newLPStreamResetError, initStream, getField, shortLog, DNS4, MultiAddress, getWrapped, selectBest, P2PPattern, Envelope, hasPublicKey, toException, isEnough, DNSANY, finish, Reliable, addrs, hex, closeImpl, write, WS, init, encode, init, stretchKeys, getField, match, readArray, <, iv, readLine, Eof, CryptoError, append, hash, init, parseFullAddress, WSS_IP, LPStreamConnDownError, peekArray, PeerRecord, init, SupportedSchemes, getField, RsaDefaultKeySize, Unreliable, SupportedSchemesInt, random, checkFutures, macOpenArray, validate, $, mapEq, Onion3, TcpOnion3, toFullAddress, concat, TranscoderP2P, AddressInfo, ConnectionTrackerName, TranscoderIP6, write, EnvelopeError, encode, len, newLPStreamRemoteClosedError, TranscoderIP6Zone, MaPatResult, Direction, key, InvalidVarintError, shortLog, ==, init, write, getBytes, write, init, UTP, readVarint, verify, TimeoutHandler, QUIC_IP, PublicKey, WebSockets_IP, VBuffer, writeLp, writePBVarint, toChunks, readExactly, protoArgument, mapOr, newLPStreamConnDownError, init, initStream, readVarint, ivOpenArray, closeWithEOF, orError, getField, LPStreamRemoteClosedError, protoCode, MaInvalidAddress, LPStreamClosedError, items, write, getOrder, QUIC_DNS, update, TranscoderUnix, SignedPeerRecord, writeVarint, DNS_OR_IP, contains, exclIfIt, hash, readSeq, data, UDP_DNS, MaError, IPFS, MaPatternOp, isEmpty, WS_DNS, initVBuffer, hex, protocols, bytes, ==, HTTPS, UNIX, waitForService, QUIC_DNS, LPError, TranscoderIP6, encode, MaResult, init, peekVarint, mapOr, writeSeq, &, Memory, DNS6, TLS_WS, TranscoderDNS, QUIC, [], [], IP4, TranscoderPort, withValue, safeConvert, $, WS_IP, withValue, public, MAKind, valueOr, includeFile, TranscoderOnion3, getRepeatedField, matchPartial, protoArgument, match, WebSockets_DNS, WebSockets, $, areAddrsConsistent, isEmpty, HTTP, finish, init, TcpOnion3, MAProtocol, peekSeq, toOpt, concat, 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, filterIt, QUIC_V1, TCP_IP, getField, Unreliable, checkFutures, TCP_DNS, capLen, init, protoName, IpTransportProtocol, validate, mapEq, Onion3, MaPattern, MaInvalidAddress, TranscoderP2P, toException, WSS_DNS, writeLPVarint, write, WebRTCDirect, len, UDP, TranscoderIP6Zone, MaPatResult, TranscoderOnion, QUIC_V1_DNS, init, shortLog, writeArray, init, UTP, [], IP6, shortLog, initVBuffer, QUIC_IP, initVBuffer, WebSockets_IP, VBuffer, writePBVarint, toChunks, TCP, protoArgument, init, init, MultiAddress, &=, readVarint, compilesOr, TranscoderMemory, TranscoderIP4, init, protoCode, $, toException, DNS, collectCompleted, items, TranscoderUnix, high, toString, writeVarint, Signature, exclIfIt, shortLog, init, toBytes, DigestSheme, ephemeral, mac, ECDHEScheme, init, waitForService, init, sign, macOpenArray, PublicKey, Secret, $, init, selectBest, init, ephemeral, withValue, safeConvert, init, stretchKeys, libp2p_pki_schemes, withValue, public, write, write, init, getField, valueOr, init, includeFile, init, toBytes, write, random, getBytes, toOpt, init, newRng, withValue, getPublicKey, init, write, init, random, write, init, getField, iv, init, CryptoError, ==, key, filterIt, SupportedSchemes, RsaDefaultKeySize, init, SupportedSchemesInt, toBytes, capLen, shuffle, supported, ==, toRawBytes, random, init, random, CryptoResult, shortLog, getBytes, verify, shortLog, PKScheme, getBytes, init, toChunks, PrivateKey, ivOpenArray, compilesOr, orError, $, collectCompleted, goffset, getRawBytes, getOrder, keyOpenArray, KeyPair, init, init, toException, toException, checkFutures, LPError