diff options
author | Denys Otrishko <shishugi@gmail.com> | 2019-11-18 22:12:15 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2019-11-28 00:48:57 +0100 |
commit | 988034be6aece7bd103249e18ac7f0a5d3f92545 (patch) | |
tree | aaa2d24a4e27be44427c94dc9ffe80dfcf245a4e /lib | |
parent | 74f6bc70560aac981ac1b3019f628b81528a7053 (diff) | |
download | android-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.js | 14 |
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; |