Class AutoRelay

property

{import('../')} libp2p

property

{number} [maxListeners = 1] - maximum number of relays to listen.

Hierarchy

  • AutoRelay

Index

References

Address

Re-exports Address

AutoRelayOptions

Re-exports AutoRelayOptions

AutoRelayProperties

Re-exports AutoRelayProperties

Connection

Re-exports Connection

Constructors

constructor

  • new AutoRelay(__namedParameters: { libp2p: Libp2p; maxListeners: undefined | number }): AutoRelay
  • Creates an instance of AutoRelay.

    Parameters

    • __namedParameters: { libp2p: Libp2p; maxListeners: undefined | number }
      • libp2p: Libp2p
      • maxListeners: undefined | number

    Returns AutoRelay

Properties

Private _addListenRelay

_addListenRelay: any

Attempt to listen on the given relay connection.

param

connection to the peer

param

peer identifier string

returns

_addressSorter

_addressSorter: (addresses: { isCertified: boolean; multiaddr: Multiaddr }[]) => { isCertified: boolean; multiaddr: Multiaddr }[]

Type declaration

    • (addresses: { isCertified: boolean; multiaddr: Multiaddr }[]): { isCertified: boolean; multiaddr: Multiaddr }[]
    • Parameters

      • addresses: { isCertified: boolean; multiaddr: Multiaddr }[]

      Returns { isCertified: boolean; multiaddr: Multiaddr }[]

_connectionManager

_connectionManager: ConnectionManager

_libp2p

_libp2p: Libp2p

_listenRelays

_listenRelays: Set<string>

_peerId

_peerId: PeerId

_peerStore

_peerStore: PeerStore

Private _removeListenRelay

_removeListenRelay: any

Remove listen relay.

param

peer identifier string.

returns

_transportManager

_transportManager: TransportManager

maxListeners

maxListeners: number

Methods

_listenOnAvailableHopRelays

  • _listenOnAvailableHopRelays(peersToIgnore?: string[] | undefined): Promise<void>
  • Try to listen on available hop relay connections. The following order will happen while we do not have enough relays.

    1. Check the metadata store for known relays, try to listen on the ones we are already connected.
    2. Dial and try to listen on the peers we know that support hop but are not connected.
    3. Search the network.

    Parameters

    • Optional peersToIgnore: string[] | undefined

    Returns Promise<void>

_onPeerDisconnected

  • _onPeerDisconnected(connection: Connection): void
  • Peer disconnects.

    Parameters

    Returns void

_onProtocolChange

  • _onProtocolChange(__namedParameters: { peerId: PeerId; protocols: string[] }): Promise<void>
  • Check if a peer supports the relay protocol. If the protocol is not supported, check if it was supported before and remove it as a listen relay. If the protocol is supported, check if the peer supports HOP and add it as a listener if inside the threshold.

    Parameters

    • __namedParameters: { peerId: PeerId; protocols: string[] }
      • peerId: PeerId
      • protocols: string[]

    Returns Promise<void>