2023-11-28 15:58:49 +00:00
<!DOCTYPE html> < html class = "default" lang = "en" > < head > < meta charSet = "utf-8" / > < meta http-equiv = "x-ua-compatible" content = "IE=edge" / > < title > WakuPeerExchange | Documentation< / title > < meta name = "description" content = "Documentation for Documentation" / > < meta name = "viewport" content = "width=device-width, initial-scale=1" / > < link rel = "stylesheet" href = "../assets/style.css" / > < link rel = "stylesheet" href = "../assets/highlight.css" / > < script defer src = "../assets/main.js" > < / script > < script async src = "../assets/search.js" id = "tsd-search-script" > < / script > < script async src = "../assets/navigation.js" id = "tsd-nav-script" > < / script > < / head > < body > < script > document . documentElement . dataset . theme = localStorage . getItem ( "tsd-theme" ) || "os" < / script > < header class = "tsd-page-toolbar" > < div class = "tsd-toolbar-contents container" > < div class = "table-cell" id = "tsd-search" data-base = ".." > < div class = "field" > < label for = "tsd-search-field" class = "tsd-widget tsd-toolbar-icon search no-caption" > < svg width = "16" height = "16" viewBox = "0 0 16 16" fill = "none" > < use href = "#icon-search" > < / use > < / svg > < / label > < input type = "text" id = "tsd-search-field" aria-label = "Search" / > < / div > < div class = "field" > < div id = "tsd-toolbar-links" > < / div > < / div > < ul class = "results" > < li class = "state loading" > Preparing search index...< / li > < li class = "state failure" > The search index is not available< / li > < / ul > < a href = "../index.html" class = "title" > Documentation< / a > < / div > < div class = "table-cell" id = "tsd-widgets" > < a href = "#" class = "tsd-widget tsd-toolbar-icon menu no-caption" data-toggle = "menu" aria-label = "Menu" > < svg width = "16" height = "16" viewBox = "0 0 16 16" fill = "none" > < use href = "#icon-menu" > < / use > < / svg > < / a > < / div > < / div > < / header > < div class = "container container-main" > < div class = "col-content" > < div class = "tsd-page-title" > < ul class = "tsd-breadcrumb" > < li > < a href = "../index.html" > Documentation< / a > < / li > < li > < a href = "../modules/_waku_peer_exchange.html" > @waku/peer-exchange< / a > < / li > < li > < a href = "_waku_peer_exchange.WakuPeerExchange.html" > WakuPeerExchange< / a > < / li > < / ul > < h1 > Class WakuPeerExchange< / h1 > < / div > < section class = "tsd-panel tsd-comment" > < div class = "tsd-comment tsd-typography" > < p > Implementation of the Peer Exchange protocol (< a href = "https://rfc.vac.dev/spec/34/" > https://rfc.vac.dev/spec/34/< / a > )< / p >
2024-03-11 13:21:59 +00:00
< / div > < div class = "tsd-comment tsd-typography" > < / div > < / section > < section class = "tsd-panel tsd-hierarchy" > < h4 > Hierarchy< / h4 > < ul class = "tsd-hierarchy" > < li > < span class = "tsd-signature-type" > BaseProtocol< / span > < ul class = "tsd-hierarchy" > < li > < span class = "target" > WakuPeerExchange< / span > < / li > < / ul > < / li > < / ul > < / section > < section class = "tsd-panel" > < h4 > Implements< / h4 > < ul class = "tsd-hierarchy" > < li > < a href = "../interfaces/_waku_interfaces.IPeerExchange.html" class = "tsd-signature-type tsd-kind-interface" > IPeerExchange< / a > < / li > < / ul > < / section > < aside class = "tsd-sources" > < ul > < li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/8deab1189/packages/peer-exchange/src/waku_peer_exchange.ts#L26" > packages/peer-exchange/src/waku_peer_exchange.ts:26< / a > < / li > < / ul > < / aside > < section class = "tsd-panel-group tsd-index-group" > < section class = "tsd-panel tsd-index-panel" > < details class = "tsd-index-content tsd-index-accordion" open > < summary class = "tsd-accordion-summary tsd-index-summary" > < h5 class = "tsd-index-heading uppercase" role = "button" aria-expanded = "false" tabIndex = "0" > < svg width = "16" height = "16" viewBox = "0 0 16 16" fill = "none" > < use href = "#icon-chevronSmall" > < / use > < / svg > Index< / h5 > < / summary > < div class = "tsd-accordion-details" > < section class = "tsd-index-section" > < h3 class = "tsd-index-heading" > Constructors< / h3 > < div class = "tsd-index-list" > < a href = "_waku_peer_exchange.WakuPeerExchange.html#constructor" class = "tsd-index-link" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-512" > < / use > < / svg > < span > constructor< / span > < / a >
2023-11-28 15:58:49 +00:00
< / div > < / section > < section class = "tsd-index-section" > < h3 class = "tsd-index-heading" > Properties< / h3 > < div class = "tsd-index-list" > < a href = "_waku_peer_exchange.WakuPeerExchange.html#addLibp2pEventListener" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-1024" > < / use > < / svg > < span > add< wbr / > Libp2p< wbr / > Event< wbr / > Listener< / span > < / a >
2023-09-21 08:59:21 +00:00
< a href = "_waku_peer_exchange.WakuPeerExchange.html#multicodec" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-1024" > < / use > < / svg > < span > multicodec< / span > < / a >
2024-03-11 13:21:59 +00:00
< a href = "_waku_peer_exchange.WakuPeerExchange.html#pubsubTopics" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-1024" > < / use > < / svg > < span > pubsub< wbr / > Topics< / span > < / a >
2023-09-21 08:59:21 +00:00
< a href = "_waku_peer_exchange.WakuPeerExchange.html#removeLibp2pEventListener" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-1024" > < / use > < / svg > < span > remove< wbr / > Libp2p< wbr / > Event< wbr / > Listener< / span > < / a >
< a href = "_waku_peer_exchange.WakuPeerExchange.html#streamManager" class = "tsd-index-link tsd-is-protected tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-1024" > < / use > < / svg > < span > stream< wbr / > Manager< / span > < / a >
2023-11-28 15:58:49 +00:00
< / div > < / section > < section class = "tsd-index-section" > < h3 class = "tsd-index-heading" > Accessors< / h3 > < div class = "tsd-index-list" > < a href = "_waku_peer_exchange.WakuPeerExchange.html#peerStore" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-262144" > < / use > < / svg > < span > peer< wbr / > Store< / span > < / a >
2024-01-19 15:14:39 +00:00
< / div > < / section > < section class = "tsd-index-section" > < h3 class = "tsd-index-heading" > Methods< / h3 > < div class = "tsd-index-list" > < a href = "_waku_peer_exchange.WakuPeerExchange.html#allPeers" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-2048" > < / use > < / svg > < span > all< wbr / > Peers< / span > < / a >
< a href = "_waku_peer_exchange.WakuPeerExchange.html#connectedPeers" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-2048" > < / use > < / svg > < span > connected< wbr / > Peers< / span > < / a >
2024-03-11 13:21:59 +00:00
< a href = "_waku_peer_exchange.WakuPeerExchange.html#getPeers" class = "tsd-index-link tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-2048" > < / use > < / svg > < span > get< wbr / > Peers< / span > < / a >
2023-09-21 08:59:21 +00:00
< a href = "_waku_peer_exchange.WakuPeerExchange.html#getStream" class = "tsd-index-link tsd-is-protected tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-2048" > < / use > < / svg > < span > get< wbr / > Stream< / span > < / a >
< a href = "_waku_peer_exchange.WakuPeerExchange.html#query" class = "tsd-index-link" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-2048" > < / use > < / svg > < span > query< / span > < / a >
2024-02-26 21:11:31 +00:00
< / div > < / section > < / div > < / details > < / section > < / section > < section class = "tsd-panel-group tsd-member-group" > < h2 > Constructors< / h2 > < section class = "tsd-panel tsd-member" > < a id = "constructor" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < span > constructor< / span > < a href = "#constructor" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / h3 > < ul class = "tsd-signatures" > < li class = "tsd-signature tsd-anchor-link" > < a id = "constructor.new_WakuPeerExchange" class = "tsd-anchor" > < / a > < span class = "tsd-kind-constructor-signature" > new < wbr / > Waku< wbr / > Peer< wbr / > Exchange< / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-kind-parameter" > components< / span > , < span class = "tsd-kind-parameter" > pubsubTopics< / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < a href = "_waku_peer_exchange.WakuPeerExchange.html" class = "tsd-signature-type tsd-kind-class" > WakuPeerExchange< / a > < a href = "#constructor.new_WakuPeerExchange" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / li > < li class = "tsd-description" > < div class = "tsd-parameters" > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameter-list" > < li > < span > < span class = "tsd-kind-parameter" > components< / span > : < span class = "tsd-signature-type" > Components< / span > < / span > < div class = "tsd-comment tsd-typography" > < p > libp2p components< / p >
2024-03-11 13:21:59 +00:00
< / div > < div class = "tsd-comment tsd-typography" > < / div > < / li > < li > < span > < span class = "tsd-kind-parameter" > pubsubTopics< / span > : < span class = "tsd-signature-type" > string< / span > < span class = "tsd-signature-symbol" > []< / span > < / span > < / li > < / ul > < / div > < h4 class = "tsd-returns-title" > Returns < a href = "_waku_peer_exchange.WakuPeerExchange.html" class = "tsd-signature-type tsd-kind-class" > WakuPeerExchange< / a > < / h4 > < aside class = "tsd-sources" > < p > Overrides BaseProtocol.constructor< / p > < ul > < li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/8deab1189/packages/peer-exchange/src/waku_peer_exchange.ts#L30" > packages/peer-exchange/src/waku_peer_exchange.ts:30< / a > < / li > < / ul > < / aside > < / li > < / ul > < / section > < / section > < section class = "tsd-panel-group tsd-member-group" > < h2 > Properties< / h2 > < section class = "tsd-panel tsd-member tsd-is-inherited" > < a id = "addLibp2pEventListener" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < code class = "tsd-tag ts-flagReadonly" > Readonly< / code > < span > add< wbr / > Libp2p< wbr / > Event< wbr / > Listener< / span > < a href = "#addLibp2pEventListener" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / h3 > < div class = "tsd-signature" > < span class = "tsd-kind-property" > add< wbr / > Libp2p< wbr / > Event< wbr / > Listener< / span > < span class = "tsd-signature-symbol" > :< / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-signature-symbol" > < < / span > < a class = "tsd-signature-type tsd-kind-type-parameter" href = "_waku_peer_exchange.WakuPeerExchange.html#addLibp2pEventListener.__type.__type-1.K" > K< / a > < span class = "tsd-signature-symbol" > > < / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-kind-parameter" > type< / span > , < span class = "tsd-kind-parameter" > listener< / span > , < span class = "tsd-kind-parameter" > options< / span > < span class = "tsd-signature-symbol" > ?< / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > => < / span > < span class = "tsd-signature-type" > void< / span > < span class = "tsd-signature-symbol" > )< / span > < / div > < div class = "tsd-type-declaration" > < h4 > Type declaration< / h4 > < ul class = "tsd-parameters" > < li class = "tsd-parameter-signature" > < ul class = "tsd-signatures" > < li class = "tsd-signature" id = "addLibp2pEventListener.__type.__type-1" > < span class = "tsd-signature-symbol" > < < / span > < a class = "tsd-signature-type tsd-kind-type-parameter" href = "_waku_peer_exchange.WakuPeerExchange.html#addLibp2pEventListener.__type.__type-1.K" > K< / a > < span class = "tsd-signature-symbol" > > < / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-kind-parameter" > type< / span > , < span class = "tsd-kind-parameter" > listener< / span > , < span class = "tsd-kind-parameter" > options< / span > < span class = "tsd-signature-symbol" > ?< / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > void< / span > < / li > < li class = "tsd-description" > < section class = "tsd-panel" > < h4 > Type Parameters< / h4 > < ul class = "tsd-type-parameter-list" > < li > < span > < a id = "addLibp2pEventListener.__type.__type-1.K" class = "tsd-anchor" > < / a > < span class = "tsd-kind-type-parameter" > K< / span > < span class = "tsd-signature-keyword" > extends < / span > < span class = "tsd-signature-keyword" > keyof < / span > < span class = "tsd-signature-type" > Libp2pEvents< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > ServiceMap< / span > < span class = "tsd-signature-symbol" > > < / span > < / span > < / li > < / ul > < / section > < div class = "tsd-parameters" > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameter-list" > < li > < span > < span class = "tsd-kind-parameter" > type< / span > : < a class = "tsd-signature-type tsd-kind-type-parameter" href = "_waku_peer_exchange.WakuPeerExchange.html#addLibp2pEventListener.__type.__type-1.K" > K< / a > < / span > < / li > < li > < span > < span class = "tsd-kind-parameter" > listener< / span > : < span class = "tsd-signature-type" > null< / span > < span class = "tsd-signature-symbol" > | < / span > < span class = "tsd-signature-type" > EventHandler< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Libp2pEvents< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-t
2023-02-28 04:01:39 +00:00
the class protocol. Waku may or may not be currently connected to these
peers.< / p >
2024-03-11 13:21:59 +00:00
< / div > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Peer< / span > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < div class = "tsd-comment tsd-typography" > < / div > < aside class = "tsd-sources" > < p > Implementation of < a href = "../interfaces/_waku_interfaces.IPeerExchange.html" > IPeerExchange< / a > .< a href = "../interfaces/_waku_interfaces.IPeerExchange.html#allPeers" > allPeers< / a > < / p > < p > Inherited from BaseProtocol.allPeers< / p > < ul > < li > Defined in packages/core/dist/lib/base_protocol.d.ts:27< / li > < / ul > < / aside > < / li > < / ul > < / section > < section class = "tsd-panel tsd-member tsd-is-inherited" > < a id = "connectedPeers" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < span > connected< wbr / > Peers< / span > < a href = "#connectedPeers" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / h3 > < ul class = "tsd-signatures tsd-is-inherited" > < li class = "tsd-signature tsd-anchor-link" > < a id = "connectedPeers.connectedPeers-1" class = "tsd-anchor" > < / a > < span class = "tsd-kind-call-signature" > connected< wbr / > Peers< / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Peer< / span > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < a href = "#connectedPeers.connectedPeers-1" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / li > < li class = "tsd-description" > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Peer< / span > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < aside class = "tsd-sources" > < p > Implementation of < a href = "../interfaces/_waku_interfaces.IPeerExchange.html" > IPeerExchange< / a > .< a href = "../interfaces/_waku_interfaces.IPeerExchange.html#connectedPeers" > connectedPeers< / a > < / p > < p > Inherited from BaseProtocol.connectedPeers< / p > < ul > < li > Defined in packages/core/dist/lib/base_protocol.d.ts:28< / li > < / ul > < / aside > < / li > < / ul > < / section > < section class = "tsd-panel tsd-member tsd-is-inherited" > < a id = "getPeers" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < span > get< wbr / > Peers< / span > < a href = "#getPeers" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / h3 > < ul class = "tsd-signatures tsd-is-inherited" > < li class = "tsd-signature tsd-anchor-link" > < a id = "getPeers.getPeers-1" class = "tsd-anchor" > < / a > < span class = "tsd-kind-call-signature" > get< wbr / > Peers< / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-kind-parameter" > __namedParameters< / span > < span class = "tsd-signature-symbol" > ?< / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Peer< / span > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < a href = "#getPeers.getPeers-1" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / li > < li class = "tsd-description" > < div class = "tsd-comment tsd-typography" > < p > Retrieves a list of connected peers that support the protocol. The list is sorted by latency.< / p >
2024-02-26 21:11:31 +00:00
< / div > < div class = "tsd-parameters" > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameter-list" > < li > < span > < code class = "tsd-tag ts-flagOptional" > Optional< / code > < span class = "tsd-kind-parameter" > __namedParameters< / span > : < span class = "tsd-signature-symbol" > { < / span > < br / > < span > < / span > < span class = "tsd-kind-property" > maxBootstrapPeers< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > number< / span > < span class = "tsd-signature-symbol" > ; < / span > < br / > < span > < / span > < span class = "tsd-kind-property" > numPeers< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > number< / span > < span class = "tsd-signature-symbol" > ; < / span > < br / > < span class = "tsd-signature-symbol" > }< / span > < / span > < ul class = "tsd-parameters" > < li class = "tsd-parameter" > < h5 > < span class = "tsd-kind-property" > max< wbr / > Bootstrap< wbr / > Peers< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > number< / span > < / h5 > < / li > < li class = "tsd-parameter" > < h5 > < span class = "tsd-kind-property" > num< wbr / > Peers< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > number< / span > < / h5 > < / li > < / ul > < / li > < / ul > < / div > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Peer< / span > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < p > A list of peers that support the protocol sorted by latency.< / p >
2024-03-11 13:21:59 +00:00
< div class = "tsd-comment tsd-typography" > < / div > < aside class = "tsd-sources" > < p > Inherited from BaseProtocol.getPeers< / p > < ul > < li > Defined in packages/core/dist/lib/base_protocol.d.ts:37< / li > < / ul > < / aside > < / li > < / ul > < / section > < section class = "tsd-panel tsd-member tsd-is-protected tsd-is-inherited" > < a id = "getStream" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < code class = "tsd-tag ts-flagProtected" > Protected< / code > < span > get< wbr / > Stream< / span > < a href = "#getStream" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / h3 > < ul class = "tsd-signatures tsd-is-protected tsd-is-inherited" > < li class = "tsd-signature tsd-anchor-link" > < a id = "getStream.getStream-1" class = "tsd-anchor" > < / a > < span class = "tsd-kind-call-signature" > get< wbr / > Stream< / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-kind-parameter" > peer< / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Stream< / span > < span class = "tsd-signature-symbol" > > < / span > < a href = "#getStream.getStream-1" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / li > < li class = "tsd-description" > < div class = "tsd-parameters" > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameter-list" > < li > < span > < span class = "tsd-kind-parameter" > peer< / span > : < span class = "tsd-signature-type" > Peer< / span > < / span > < / li > < / ul > < / div > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > Stream< / span > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < aside class = "tsd-sources" > < p > Inherited from BaseProtocol.getStream< / p > < ul > < li > Defined in packages/core/dist/lib/base_protocol.d.ts:20< / li > < / ul > < / aside > < / li > < / ul > < / section > < section class = "tsd-panel tsd-member" > < a id = "query" class = "tsd-anchor" > < / a > < h3 class = "tsd-anchor-link" > < span > query< / span > < a href = "#query" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / h3 > < ul class = "tsd-signatures" > < li class = "tsd-signature tsd-anchor-link" > < a id = "query.query-1" class = "tsd-anchor" > < / a > < span class = "tsd-kind-call-signature" > query< / span > < span class = "tsd-signature-symbol" > (< / span > < span class = "tsd-kind-parameter" > params< / span > < span class = "tsd-signature-symbol" > )< / span > < span class = "tsd-signature-symbol" > : < / span > < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > undefined< / span > < span class = "tsd-signature-symbol" > | < / span > < a href = "../interfaces/_waku_interfaces.PeerInfo.html" class = "tsd-signature-type tsd-kind-interface" > PeerInfo< / a > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < a href = "#query.query-1" aria-label = "Permalink" class = "tsd-anchor-icon" > < svg viewBox = "0 0 24 24" > < use href = "#icon-anchor" > < / use > < / svg > < / a > < / li > < li class = "tsd-description" > < div class = "tsd-comment tsd-typography" > < p > Make a peer exchange query to a peer< / p >
< / div > < div class = "tsd-parameters" > < h4 class = "tsd-parameters-title" > Parameters< / h4 > < ul class = "tsd-parameter-list" > < li > < span > < span class = "tsd-kind-parameter" > params< / span > : < a href = "../interfaces/_waku_interfaces.PeerExchangeQueryParams.html" class = "tsd-signature-type tsd-kind-interface" > PeerExchangeQueryParams< / a > < / span > < / li > < / ul > < / div > < h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > Promise< / span > < span class = "tsd-signature-symbol" > < < / span > < span class = "tsd-signature-type" > undefined< / span > < span class = "tsd-signature-symbol" > | < / span > < a href = "../interfaces/_waku_interfaces.PeerInfo.html" class = "tsd-signature-type tsd-kind-interface" > PeerInfo< / a > < span class = "tsd-signature-symbol" > []< / span > < span class = "tsd-signature-symbol" > > < / span > < / h4 > < div class = "tsd-comment tsd-typography" > < / div > < aside class = "tsd-sources" > < p > Implementation of < a href = "../interfaces/_waku_interfaces.IPeerExchange.html" > IPeerExchange< / a > .< a href = "../interfaces/_waku_interfaces.IPeerExchange.html#query" > query< / a > < / p > < ul > < li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/8deab1189/packages/peer-exchange/src/waku_peer_exchange.ts#L37" > packages/peer-exchange/src/waku_peer_exchange.ts:37< / a > < / li > < / ul > < / aside > < / li > < / ul > < / section > < / section > < / div > < div class = "col-sidebar" > < div class = "page-menu" > < div class = "tsd-navigation settings" > < details class = "tsd-index-accordion" > < summary class = "tsd-accordion-summary" > < h3 > < svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" > < use href = "#icon-chevronDown" > < / use > < / svg > Settings< / h3 > < / summary > < div class = "tsd-accordion-details" > < div class = "tsd-filter-visibility" > < h4 class = "uppercase" > Member Visibility< / h4 > < form > < ul id = "tsd-filter-options" > < li class = "tsd-filter-item" > < label class = "tsd-filter-input" > < input type = "checkbox" id = "tsd-filter-protected" name = "protected" / > < svg width = "32" height = "32" viewBox = "0 0 32 32" aria-hidden = "true" > < rect class = "tsd-checkbox-background" width = "30" height = "30" x = "1" y = "1" rx = "6" fill = "none" > < / rect > < path class = "tsd-checkbox-checkmark" d = "M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke = "none" stroke-width = "3.5" stroke-linejoin = "round" fill = "none" > < / path > < / svg > < span > Protected< / span > < / label > < / li > < li class = "tsd-filter-item" > < label class = "tsd-filter-input" > < input type = "checkbox" id = "tsd-filter-private" name = "private" / > < svg width = "32" height = "32" viewBox = "0 0 32 32" aria-hidden = "true" > < rect class = "tsd-checkbox-background" width = "30" height = "30" x = "1" y = "1" rx = "6" fill = "none" > < / rect > < path class = "tsd-checkbox-checkmark" d = "M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke = "none" stroke-width = "3.5" stroke-linejoin = "round" fill = "none" > < / path > < / svg > < span > Private< / span > < / label > < / li > < li class = "tsd-filter-item" > < label class = "tsd-filter-input" > < input type = "checkbox" id = "tsd-filter-inherited" name = "inherited" checked / > < svg width = "32" height = "32" viewBox = "0 0 32 32" aria-hidden = "true" > < rect class = "tsd-checkbox-background" width = "30" height = "30" x = "1" y = "1" rx = "6" fill = "none" > < / rect > < path class = "tsd-checkbox-checkmark" d = "M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke = "none" stroke-width = "3.5" stroke-linejoin = "round" fill = "none" > < / path > < / svg > < span > Inherited< / span > < / label > < / li > < / ul > < / form > < / div > < div class = "tsd-theme-toggle" > < h4 class = "uppercase" > Theme< / h4 > < select id = "tsd-theme" > < option value = "os" > OS< / option > < option value = "light" > Light< / option > < option value = "dark" > Dark< / option > < / select > < / div > < / div > < / details > < / div > < details open class = "tsd-index-accordion tsd-page-navigation" > < summary class = "tsd-accordion-summary" > < h3 > < svg width = "20" height = "20" viewBox = "0 0 24 24" fill = "none" > < use href = "#icon-chevronDown" > < / use > < / svg > On This Page< / h3 > < / summary > < div class = "tsd-accordion-details" > < ul > < li > < a href = "#constructor" class = "" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-512" > < / use > < / svg > < span > constructor< / span > < / a > < / li > < li > < a href = "#addLibp2pEventListener" class = "tsd-is-inherited" > < svg class = "tsd-kind-icon" viewBox = "0 0 24 24" > < use href = "#icon-1024" > < / use > < / svg > < span > add< wbr / > Libp2p< wbr / > Event< wbr / > Listener< / span > < / a > < / li > < li > < a href = "#multicodec" class = "t