summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDenys Otrishko <shishugi@gmail.com>2019-11-18 22:12:15 +0200
committerAnna Henningsen <anna@addaleax.net>2019-11-28 00:48:57 +0100
commit988034be6aece7bd103249e18ac7f0a5d3f92545 (patch)
treeaaa2d24a4e27be44427c94dc9ffe80dfcf245a4e /lib
parent74f6bc70560aac981ac1b3019f628b81528a7053 (diff)
downloadandroid-node-v8-988034be6aece7bd103249e18ac7f0a5d3f92545.tar.gz
android-node-v8-988034be6aece7bd103249e18ac7f0a5d3f92545.tar.bz2
android-node-v8-988034be6aece7bd103249e18ac7f0a5d3f92545.zip
http2: make maximum tolerated rejected streams configurable
PR-URL: https://github.com/nodejs/node/pull/30534 Fixes: https://github.com/nodejs/node/issues/30505 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/internal/http2/core.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js
index 7eaf1f4e92..c4d12f9205 100644
--- a/lib/internal/http2/core.js
+++ b/lib/internal/http2/core.js
@@ -211,6 +211,7 @@ const {
kSessionPriorityListenerCount,
kSessionFrameErrorListenerCount,
kSessionMaxInvalidFrames,
+ kSessionMaxRejectedStreams,
kSessionUint8FieldCount,
kSessionHasRemoteSettingsListeners,
kSessionRemoteSettingsIsUpToDate,
@@ -955,6 +956,12 @@ function setupHandle(socket, type, options) {
uint32[0] = options.maxSessionInvalidFrames;
}
+ if (isUint32(options.maxSessionRejectedStreams)) {
+ const uint32 = new Uint32Array(
+ this[kNativeFields].buffer, kSessionMaxRejectedStreams, 1);
+ uint32[0] = options.maxSessionRejectedStreams;
+ }
+
const settings = typeof options.settings === 'object' ?
options.settings : {};
@@ -2788,6 +2795,13 @@ function initializeOptions(options) {
if (options.maxSessionInvalidFrames !== undefined)
validateUint32(options.maxSessionInvalidFrames, 'maxSessionInvalidFrames');
+ if (options.maxSessionRejectedStreams !== undefined) {
+ validateUint32(
+ options.maxSessionRejectedStreams,
+ 'maxSessionRejectedStreams'
+ );
+ }
+
// Used only with allowHTTP1
options.Http1IncomingMessage = options.Http1IncomingMessage ||
http.IncomingMessage;