mirror of
https://github.com/fluencelabs/js-libp2p
synced 2025-06-24 06:21:32 +00:00
feat!: limit protocol streams per-connection (#1255)
* feat: limit protocol streams per-connection Uses the `maxInboundStreams` and `maxOutboundStreams` of the `registrar.handle` opts to limit the number of concurrent streams open on each connection on a per-protocol basis. Both values default to 1 so some tuning will be necessary to set appropriate values for some protocols. * chore: make error codes consistent * chore: fix up examples
This commit is contained in:
@ -38,22 +38,25 @@ const createNode = async () => {
|
||||
console.log(`from: ${protocol}, msg: ${uint8ArrayToString(msg)}`)
|
||||
}
|
||||
}
|
||||
)
|
||||
).finally(() => {
|
||||
// clean up resources
|
||||
stream.close()
|
||||
})
|
||||
})
|
||||
|
||||
const { stream: stream1 } = await node1.dialProtocol(node2.peerId, ['/a'])
|
||||
const stream1 = await node1.dialProtocol(node2.peerId, ['/a'])
|
||||
await pipe(
|
||||
[uint8ArrayFromString('protocol (a)')],
|
||||
stream1
|
||||
)
|
||||
|
||||
const { stream: stream2 } = await node1.dialProtocol(node2.peerId, ['/b'])
|
||||
const stream2 = await node1.dialProtocol(node2.peerId, ['/b'])
|
||||
await pipe(
|
||||
[uint8ArrayFromString('protocol (b)')],
|
||||
stream2
|
||||
)
|
||||
|
||||
const { stream: stream3 } = await node1.dialProtocol(node2.peerId, ['/b'])
|
||||
const stream3 = await node1.dialProtocol(node2.peerId, ['/b'])
|
||||
await pipe(
|
||||
[uint8ArrayFromString('another stream on protocol (b)')],
|
||||
stream3
|
||||
|
Reference in New Issue
Block a user