2024-01-16 18:17:31 +00:00
<!DOCTYPE html> < html class = "default" lang = "en" >< head >< meta charSet = "utf-8" />< meta http-equiv = "x-ua-compatible" content = "IE=edge" />< title > StreamManager | 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_core.html" > @waku/core</ a ></ li >< li >< a href = "_waku_core.StreamManager.html" > StreamManager</ a ></ li ></ ul >< h1 > Class StreamManager</ h1 ></ div >< aside class = "tsd-sources" >< ul >< li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/00bd51a42/packages/core/src/lib/stream_manager.ts#L8" > packages/core/src/lib/stream_manager.ts:8</ 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_core.StreamManager.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_core.StreamManager.html#addEventListener" class = "tsd-index-link" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-1024" ></ use ></ svg >< span > add< wbr /> Event< wbr /> Listener</ span ></ a >
2023-09-21 08:59:21 +00:00
< a href = "_waku_core.StreamManager.html#getConnections" class = "tsd-index-link" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-1024" ></ use ></ svg >< span > get< wbr /> Connections</ span ></ a >
< a href = "_waku_core.StreamManager.html#log" class = "tsd-index-link tsd-is-private" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-1024" ></ use ></ svg >< span > log</ span ></ a >
< a href = "_waku_core.StreamManager.html#multicodec" class = "tsd-index-link" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-1024" ></ use ></ svg >< span > multicodec</ span ></ a >
< a href = "_waku_core.StreamManager.html#streamPool" class = "tsd-index-link tsd-is-private" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-1024" ></ use ></ svg >< span > stream< wbr /> Pool</ span ></ a >
2023-11-28 15:58:49 +00:00
</ div ></ section >< section class = "tsd-index-section" >< h3 class = "tsd-index-heading" > Methods</ h3 >< div class = "tsd-index-list" >< a href = "_waku_core.StreamManager.html#getStream" class = "tsd-index-link" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-2048" ></ use ></ svg >< span > get< wbr /> Stream</ span ></ a >
2023-09-21 08:59:21 +00:00
< a href = "_waku_core.StreamManager.html#handlePeerUpdateStreamPool" class = "tsd-index-link tsd-is-private" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-2048" ></ use ></ svg >< span > handle< wbr /> Peer< wbr /> Update< wbr /> Stream< wbr /> Pool</ span ></ a >
< a href = "_waku_core.StreamManager.html#newStream" class = "tsd-index-link tsd-is-private" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-2048" ></ use ></ svg >< span > new< wbr /> Stream</ span ></ a >
< a href = "_waku_core.StreamManager.html#prepareNewStream" class = "tsd-index-link tsd-is-private" >< svg class = "tsd-kind-icon" viewBox = "0 0 24 24" >< use href = "#icon-2048" ></ use ></ svg >< span > prepare< wbr /> New< wbr /> Stream</ span ></ a >
2023-11-28 15:58:49 +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_StreamManager" class = "tsd-anchor" ></ a >< span class = "tsd-kind-constructor-signature" > new < wbr /> Stream< wbr /> Manager</ span >< span class = "tsd-signature-symbol" > (</ span >< span class = "tsd-kind-parameter" > multicodec</ span > , < span class = "tsd-kind-parameter" > getConnections</ span > , < span class = "tsd-kind-parameter" > addEventListener</ span >< span class = "tsd-signature-symbol" > )</ span >< span class = "tsd-signature-symbol" > : </ span >< a href = "_waku_core.StreamManager.html" class = "tsd-signature-type tsd-kind-class" > StreamManager</ a >< a href = "#constructor.new_StreamManager" 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 >< h5 >< span class = "tsd-kind-parameter" > multicodec</ span > : < span class = "tsd-signature-type" > string</ span ></ h5 ></ li >< li >< h5 >< span class = "tsd-kind-parameter" > getConnections</ span > : < span class = "tsd-signature-symbol" > (</ span >< span class = "tsd-signature-symbol" > (</ span >< span class = "tsd-kind-parameter" > peerId</ span >< span class = "tsd-signature-symbol" > ?</ span >< span class = "tsd-signature-symbol" > )</ span >< span class = "tsd-signature-symbol" > => </ span >< span class = "tsd-signature-type " > Connection</ span >< span class = "tsd-signature-symbol" > []</ span >< span class = "tsd-signature-symbol" > )</ span ></ h5 >< ul class = "tsd-parameters" >< li class = "tsd-parameter-signature" >< ul class = "tsd-signatures" >< li class = "tsd-signature" >< span class = "tsd-signature-symbol" > (</ span >< span class = "tsd-kind-parameter" > peerId</ span >< span class = "tsd-signature-symbol" > ?</ span >< span class = "tsd-signature-symbol" > )</ span >< span class = "tsd-signature-symbol" > : </ span >< span class = "tsd-signature-type " > Connection</ span >< span class = "tsd-signature-symbol" > []</ span ></ li >< li class = "tsd-description" >< div class = "tsd-comment tsd-typography" >< p > Return a list of all connections this node has open, optionally filtering
2023-09-04 04:59:12 +00:00
by a PeerId</ p >
2023-11-28 15:58:49 +00:00
</ div >< div class = "tsd-parameters" >< h4 class = "tsd-parameters-title" > Parameters</ h4 >< ul class = "tsd-parameter-list" >< li >< h5 >< code class = "tsd-tag ts-flagOptional" > Optional</ code > < span class = "tsd-kind-parameter" > peerId</ span > : < span class = "tsd-signature-type " > PeerId</ span ></ h5 ></ li ></ ul ></ div >< h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type " > Connection</ span >< span class = "tsd-signature-symbol" > []</ span ></ h4 >< div class = "tsd-comment tsd-typography" >< h4 > Example</ h4 >< pre >< code class = "language-js" >< span class = "hl-6" > for</ span >< span class = "hl-1" > (</ span >< span class = "hl-3" > const</ span >< span class = "hl-1" > </ span >< span class = "hl-5" > connection</ span >< span class = "hl-1" > </ span >< span class = "hl-3" > of</ span >< span class = "hl-1" > </ span >< span class = "hl-4" > libp2p</ span >< span class = "hl-1" > .</ span >< span class = "hl-0" > getConnections</ span >< span class = "hl-1" > ()) {</ span >< br />< span class = "hl-1" > </ span >< span class = "hl-4" > console</ span >< span class = "hl-1" > .</ span >< span class = "hl-0" > log</ span >< span class = "hl-1" > (</ span >< span class = "hl-4" > peerId</ span >< span class = "hl-1" > , </ span >< span class = "hl-4" > connection</ span >< span class = "hl-1" > .</ span >< span class = "hl-4" > remoteAddr</ span >< span class = "hl-1" > .</ span >< span class = "hl-0" > toString</ span >< span class = "hl-1" > ())</ span >< br />< span class = "hl-1" > </ span >< span class = "hl-7" > // Logs the PeerId string and the observed remote multiaddr of each Connection</ span >< br />< span class = "hl-1" > }</ span >
2023-09-21 08:59:21 +00:00
</ code >< button > Copy</ button ></ pre >
2024-01-16 18:17:31 +00:00
</ div ></ li ></ ul ></ li ></ ul ></ li >< li >< h5 >< span class = "tsd-kind-parameter" > addEventListener</ span > : < span class = "tsd-signature-symbol" > (</ span >< span class = "tsd-signature-symbol" > < </ span >< span class = "tsd-signature-type tsd-kind-type-parameter" > K</ span >< 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 ></ h5 >< ul class = "tsd-parameters" >< li class = "tsd-parameter-signature" >< ul class = "tsd-signatures" >< li class = "tsd-signature" >< span class = "tsd-signature-symbol" > < </ span >< span class = "tsd-signature-type tsd-kind-type-parameter" > K</ span >< 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 >< h4 >< span class = "tsd-kind-type-parameter" > K</ span >< span class = "tsd-signature-symbol" > extends </ span >< span class = "tsd-signature-keyword" > keyof </ span >< span class = "tsd-signature-type " > Libp2pEvents</ span >< span class = "tsd-signature-symbol" > < </ span >< a href = "../types/_waku_interfaces.Libp2pServices.html" class = "tsd-signature-type tsd-kind-type-alias" > Libp2pServices</ a >< span class = "tsd-signature-symbol" > > </ span ></ h4 ></ li ></ ul ></ section >< div class = "tsd-parameters" >< h4 class = "tsd-parameters-title" > Parameters</ h4 >< ul class = "tsd-parameter-list" >< li >< h5 >< span class = "tsd-kind-parameter" > type</ span > : < span class = "tsd-signature-type tsd-kind-type-parameter" > K</ span ></ h5 ></ li >< li >< h5 >< 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 >< a href = "../types/_waku_interfaces.Libp2pServices.html" class = "tsd-signature-type tsd-kind-type-alias" > Libp2pServices</ a >< span class = "tsd-signature-symbol" > > </ span >< span class = "tsd-signature-symbol" > [</ span >< span class = "tsd-signature-type tsd-kind-type-parameter" > K</ span >< span class = "tsd-signature-symbol" > ]</ span >< span class = "tsd-signature-symbol" > > </ span ></ h5 ></ li >< li >< h5 >< code class = "tsd-tag ts-flagOptional" > Optional</ code > < span class = "tsd-kind-parameter" > options</ span > : < span class = "tsd-signature-type" > boolean</ span >< span class = "tsd-signature-symbol" > | </ span >< span class = "tsd-signature-type " > AddEventListenerOptions</ span ></ h5 ></ li ></ ul ></ div >< h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type" > void</ span ></ h4 ></ li ></ ul ></ li ></ ul ></ li ></ ul ></ div >< h4 class = "tsd-returns-title" > Returns < a href = "_waku_core.StreamManager.html" class = "tsd-signature-type tsd-kind-class" > StreamManager</ a ></ h4 >< aside class = "tsd-sources" >< ul >< li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/00bd51a42/packages/core/src/lib/stream_manager.ts#L12" > packages/core/src/lib/stream_manager.ts:12</ 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" >< a id = "addEventListener" class = "tsd-anchor" ></ a >< h3 class = "tsd-anchor-link" >< span > add< wbr /> Event< wbr /> Listener</ span >< a href = "#addEventListener" 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< w
2023-09-04 04:59:12 +00:00
by a PeerId </ p >
2023-11-28 15:58:49 +00:00
</ div >< div class = "tsd-parameters" >< h4 class = "tsd-parameters-title" > Parameters</ h4 >< ul class = "tsd-parameter-list" >< li >< h5 >< code class = "tsd-tag ts-flagOptional" > Optional</ code > < span class = "tsd-kind-parameter" > peerId</ span > : < span class = "tsd-signature-type " > PeerId</ span ></ h5 ></ li ></ ul ></ div >< h4 class = "tsd-returns-title" > Returns < span class = "tsd-signature-type " > Connection</ span >< span class = "tsd-signature-symbol" > []</ span ></ h4 >< div class = "tsd-comment tsd-typography" >< h4 > Example</ h4 >< pre >< code class = "language-js" >< span class = "hl-6" > for</ span >< span class = "hl-1" > (</ span >< span class = "hl-3" > const</ span >< span class = "hl-1" > </ span >< span class = "hl-5" > connection</ span >< span class = "hl-1" > </ span >< span class = "hl-3" > of</ span >< span class = "hl-1" > </ span >< span class = "hl-4" > libp2p</ span >< span class = "hl-1" > .</ span >< span class = "hl-0" > getConnections</ span >< span class = "hl-1" > ()) {</ span >< br />< span class = "hl-1" > </ span >< span class = "hl-4" > console</ span >< span class = "hl-1" > .</ span >< span class = "hl-0" > log</ span >< span class = "hl-1" > (</ span >< span class = "hl-4" > peerId</ span >< span class = "hl-1" > , </ span >< span class = "hl-4" > connection</ span >< span class = "hl-1" > .</ span >< span class = "hl-4" > remoteAddr</ span >< span class = "hl-1" > .</ span >< span class = "hl-0" > toString</ span >< span class = "hl-1" > ())</ span >< br />< span class = "hl-1" > </ span >< span class = "hl-7" > // Logs the PeerId string and the observed remote multiaddr of each Connection</ span >< br />< span class = "hl-1" > }</ span >
2023-09-21 08:59:21 +00:00
</ code >< button > Copy</ button ></ pre >
2024-01-16 18:17:31 +00:00
</ div ></ li ></ ul ></ li ></ ul ></ div >< aside class = "tsd-sources" >< ul >< li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/00bd51a42/packages/core/src/lib/stream_manager.ts#L14" > packages/core/src/lib/stream_manager.ts:14</ a ></ li ></ ul ></ aside ></ section >< section class = "tsd-panel tsd-member tsd-is-private" >< a id = "log" class = "tsd-anchor" ></ a >< h3 class = "tsd-anchor-link" >< code class = "tsd-tag ts-flagPrivate" > Private</ code > < code class = "tsd-tag ts-flagReadonly" > Readonly</ code > < span > log</ span >< a href = "#log" 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" > log</ span >< span class = "tsd-signature-symbol" > :</ span > < a href = "_waku_utils.Logger.html" class = "tsd-signature-type tsd-kind-class" > Logger</ a ></ div >< aside class = "tsd-sources" >< ul >< li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/00bd51a42/packages/core/src/lib/stream_manager.ts#L10" > packages/core/src/lib/stream_manager.ts:10</ a ></ li ></ ul ></ aside ></ section >< section class = "tsd-panel tsd-member" >< a id = "multicodec" class = "tsd-anchor" ></ a >< h3 class = "tsd-anchor-link" >< span > multicodec</ span >< a href = "#multicodec" 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" > multicodec</ span >< span class = "tsd-signature-symbol" > :</ span > < span class = "tsd-signature-type" > string</ span ></ div >< aside class = "tsd-sources" >< ul >< li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/00bd51a42/packages/core/src/lib/stream_manager.ts#L13" > packages/core/src/lib/stream_manager.ts:13</ a ></ li ></ ul ></ aside ></ section >< section class = "tsd-panel tsd-member tsd-is-private" >< a id = "streamPool" class = "tsd-anchor" ></ a >< h3 class = "tsd-anchor-link" >< code class = "tsd-tag ts-flagPrivate" > Private</ code > < span > stream< wbr /> Pool</ span >< a href = "#streamPool" 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" > stream< wbr /> Pool</ span >< span class = "tsd-signature-symbol" > :</ span > < span class = "tsd-signature-type " > Map</ span >< span class = "tsd-signature-symbol" > < </ span >< span class = "tsd-signature-type" > string</ 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" > void</ span >< span class = "tsd-signature-symbol" > | </ span >< span class = "tsd-signature-type " > Stream</ span >< span class = "tsd-signature-symbol" > > </ span >< span class = "tsd-signature-symbol" > > </ span ></ div >< aside class = "tsd-sources" >< ul >< li > Defined in < a href = "https://github.com/waku-org/js-waku/blob/00bd51a42/packages/core/src/lib/stream_manager.ts#L9" > packages/core/src/lib/stream_manager.ts:9</ a ></ li ></ ul ></ aside ></ section ></ section >< section class = "tsd-panel-group tsd-member-group" >< h2 > Methods</ h2 >< section class = "tsd-panel tsd-member" >< a id = "getStream" class = "tsd-anchor" ></ a >< h3 class = "tsd-anchor-link" >< 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" >< 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-param