| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 5dee17b commit 41637a5
8 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1929,6 +1929,11 @@ error will be thrown. | |||
| 1929 | 1929 | <!-- YAML | |
| 1930 | 1930 | added: v8.4.0 | |
| 1931 | 1931 | changes: | |
| 1932 | + - version: REPLACEME | ||
| 1933 | + pr-url: https://github.com/nodejs/node/pull/29144 | ||
| 1934 | + description: The `PADDING_STRATEGY_CALLBACK` has been made equivalent to | ||
| 1935 | + providing `PADDING_STRATEGY_ALIGNED` and `selectPadding` | ||
| 1936 | + has been removed. | ||
| 1932 | 1937 | - version: v12.4.0 | |
| 1933 | 1938 | pr-url: https://github.com/nodejs/node/pull/27782 | |
| 1934 | 1939 | description: The `options` parameter now supports `net.createServer()` | |
@@ -1975,9 +1980,6 @@ changes: | |||
| 1975 | 1980 | * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum | |
| 1976 | 1981 | amount of padding, as determined by the internal implementation, is to | |
| 1977 | 1982 | be applied. | |
| 1978 | - * `http2.constants.PADDING_STRATEGY_CALLBACK` - Specifies that the user | ||
| 1979 | - provided `options.selectPadding()` callback is to be used to determine | ||
| 1980 | - the amount of padding. | ||
| 1981 | 1983 | * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply | |
| 1982 | 1984 | enough padding to ensure that the total frame length, including the | |
| 1983 | 1985 | 9-byte header, is a multiple of 8. For each frame, however, there is a | |
@@ -1989,9 +1991,6 @@ changes: | |||
| 1989 | 1991 | streams for the remote peer as if a `SETTINGS` frame had been received. Will | |
| 1990 | 1992 | be overridden if the remote peer sets its own value for | |
| 1991 | 1993 | `maxConcurrentStreams`. **Default:** `100`. | |
| 1992 | - * `selectPadding` {Function} When `options.paddingStrategy` is equal to | ||
| 1993 | - `http2.constants.PADDING_STRATEGY_CALLBACK`, provides the callback function | ||
| 1994 | - used to determine the padding. See [Using `options.selectPadding()`][]. | ||
| 1995 | 1994 | * `settings` {HTTP/2 Settings Object} The initial settings to send to the | |
| 1996 | 1995 | remote peer upon connection. | |
| 1997 | 1996 | * `Http1IncomingMessage` {http.IncomingMessage} Specifies the | |
@@ -2044,6 +2043,11 @@ server.listen(80); | |||
| 2044 | 2043 | <!-- YAML | |
| 2045 | 2044 | added: v8.4.0 | |
| 2046 | 2045 | changes: | |
| 2046 | + - version: REPLACEME | ||
| 2047 | + pr-url: https://github.com/nodejs/node/pull/29144 | ||
| 2048 | + description: The `PADDING_STRATEGY_CALLBACK` has been made equivalent to | ||
| 2049 | + providing `PADDING_STRATEGY_ALIGNED` and `selectPadding` | ||
| 2050 | + has been removed. | ||
| 2047 | 2051 | - version: v10.12.0 | |
| 2048 | 2052 | pr-url: https://github.com/nodejs/node/pull/22956 | |
| 2049 | 2053 | description: Added the `origins` option to automatically send an `ORIGIN` | |
@@ -2090,9 +2094,6 @@ changes: | |||
| 2090 | 2094 | * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum | |
| 2091 | 2095 | amount of padding, as determined by the internal implementation, is to | |
| 2092 | 2096 | be applied. | |
| 2093 | - * `http2.constants.PADDING_STRATEGY_CALLBACK` - Specifies that the user | ||
| 2094 | - provided `options.selectPadding()` callback is to be used to determine | ||
| 2095 | - the amount of padding. | ||
| 2096 | 2097 | * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply | |
| 2097 | 2098 | enough padding to ensure that the total frame length, including the | |
| 2098 | 2099 | 9-byte header, is a multiple of 8. For each frame, however, there is a | |
@@ -2104,9 +2105,6 @@ changes: | |||
| 2104 | 2105 | streams for the remote peer as if a `SETTINGS` frame had been received. Will | |
| 2105 | 2106 | be overridden if the remote peer sets its own value for | |
| 2106 | 2107 | `maxConcurrentStreams`. **Default:** `100`. | |
| 2107 | - * `selectPadding` {Function} When `options.paddingStrategy` is equal to | ||
| 2108 | - `http2.constants.PADDING_STRATEGY_CALLBACK`, provides the callback function | ||
| 2109 | - used to determine the padding. See [Using `options.selectPadding()`][]. | ||
| 2110 | 2108 | * `settings` {HTTP/2 Settings Object} The initial settings to send to the | |
| 2111 | 2109 | remote peer upon connection. | |
| 2112 | 2110 | * ...: Any [`tls.createServer()`][] options can be provided. For | |
@@ -2146,6 +2144,11 @@ server.listen(80); | |||
| 2146 | 2144 | <!-- YAML | |
| 2147 | 2145 | added: v8.4.0 | |
| 2148 | 2146 | changes: | |
| 2147 | + - version: REPLACEME | ||
| 2148 | + pr-url: https://github.com/nodejs/node/pull/29144 | ||
| 2149 | + description: The `PADDING_STRATEGY_CALLBACK` has been made equivalent to | ||
| 2150 | + providing `PADDING_STRATEGY_ALIGNED` and `selectPadding` | ||
| 2151 | + has been removed. | ||
| 2149 | 2152 | - version: v8.9.3 | |
| 2150 | 2153 | pr-url: https://github.com/nodejs/node/pull/17105 | |
| 2151 | 2154 | description: Added the `maxOutstandingPings` option with a default limit of | |
@@ -2191,9 +2194,6 @@ changes: | |||
| 2191 | 2194 | * `http2.constants.PADDING_STRATEGY_MAX` - Specifies that the maximum | |
| 2192 | 2195 | amount of padding, as determined by the internal implementation, is to | |
| 2193 | 2196 | be applied. | |
| 2194 | - * `http2.constants.PADDING_STRATEGY_CALLBACK` - Specifies that the user | ||
| 2195 | - provided `options.selectPadding()` callback is to be used to determine | ||
| 2196 | - the amount of padding. | ||
| 2197 | 2197 | * `http2.constants.PADDING_STRATEGY_ALIGNED` - Will *attempt* to apply | |
| 2198 | 2198 | enough padding to ensure that the total frame length, including the | |
| 2199 | 2199 | 9-byte header, is a multiple of 8. For each frame, however, there is a | |
@@ -2205,9 +2205,6 @@ changes: | |||
| 2205 | 2205 | streams for the remote peer as if a `SETTINGS` frame had been received. Will | |
| 2206 | 2206 | be overridden if the remote peer sets its own value for | |
| 2207 | 2207 | `maxConcurrentStreams`. **Default:** `100`. | |
| 2208 | - * `selectPadding` {Function} When `options.paddingStrategy` is equal to | ||
| 2209 | - `http2.constants.PADDING_STRATEGY_CALLBACK`, provides the callback function | ||
| 2210 | - used to determine the padding. See [Using `options.selectPadding()`][]. | ||
| 2211 | 2208 | * `settings` {HTTP/2 Settings Object} The initial settings to send to the | |
| 2212 | 2209 | remote peer upon connection. | |
| 2213 | 2210 | * `createConnection` {Function} An optional callback that receives the `URL` | |
@@ -2389,30 +2386,6 @@ properties. | |||
| 2389 | 2386 | ||
| 2390 | 2387 | All additional properties on the settings object are ignored. | |
| 2391 | 2388 | ||
| 2392 | - ### Using `options.selectPadding()` | ||
| 2393 | - | ||
| 2394 | - When `options.paddingStrategy` is equal to | ||
| 2395 | - `http2.constants.PADDING_STRATEGY_CALLBACK`, the HTTP/2 implementation will | ||
| 2396 | - consult the `options.selectPadding()` callback function, if provided, to | ||
| 2397 | - determine the specific amount of padding to use per `HEADERS` and `DATA` frame. | ||
| 2398 | - | ||
| 2399 | - The `options.selectPadding()` function receives two numeric arguments, | ||
| 2400 | - `frameLen` and `maxFrameLen` and must return a number `N` such that | ||
| 2401 | - `frameLen <= N <= maxFrameLen`. | ||
| 2402 | - | ||
| 2403 | - ```js | ||
| 2404 | - const http2 = require('http2'); | ||
| 2405 | - const server = http2.createServer({ | ||
| 2406 | - paddingStrategy: http2.constants.PADDING_STRATEGY_CALLBACK, | ||
| 2407 | - selectPadding(frameLen, maxFrameLen) { | ||
| 2408 | - return maxFrameLen; | ||
| 2409 | - } | ||
| 2410 | - }); | ||
| 2411 | - ``` | ||
| 2412 | - | ||
| 2413 | - The `options.selectPadding()` function is invoked once for *every* `HEADERS` and | ||
| 2414 | - `DATA` frame. This has a definite noticeable impact on performance. | ||
| 2415 | - | ||
| 2416 | 2389 | ### Error Handling | |
| 2417 | 2390 | ||
| 2418 | 2391 | There are several types of error conditions that may arise when using the | |
@@ -3498,7 +3471,6 @@ following additional properties: | |||
| 3498 | 3471 | [RFC 8441]: https://tools.ietf.org/html/rfc8441 | |
| 3499 | 3472 | [Readable Stream]: stream.html#stream_class_stream_readable | |
| 3500 | 3473 | [Stream]: stream.html#stream_stream | |
| 3501 | - [Using `options.selectPadding()`]: #http2_using_options_selectpadding | ||
| 3502 | 3474 | [`'checkContinue'`]: #http2_event_checkcontinue | |
| 3503 | 3475 | [`'connect'`]: #http2_event_connect | |
| 3504 | 3476 | [`'request'`]: #http2_event_request | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -194,10 +194,6 @@ const kType = Symbol('type'); | |||
| 194 | 194 | const kWriteGeneric = Symbol('write-generic'); | |
| 195 | 195 | ||
| 196 | 196 | const { | |
| 197 | - paddingBuffer, | ||
| 198 | - PADDING_BUF_FRAME_LENGTH, | ||
| 199 | - PADDING_BUF_MAX_PAYLOAD_LENGTH, | ||
| 200 | - PADDING_BUF_RETURN_VALUE, | ||
| 201 | 197 | kBitfield, | |
| 202 | 198 | kSessionPriorityListenerCount, | |
| 203 | 199 | kSessionFrameErrorListenerCount, | |
@@ -617,20 +613,6 @@ function onGoawayData(code, lastStreamID, buf) { | |||
| 617 | 613 | } | |
| 618 | 614 | } | |
| 619 | 615 | ||
| 620 | - // Returns the padding to use per frame. The selectPadding callback is set | ||
| 621 | - // on the options. It is invoked with two arguments, the frameLen, and the | ||
| 622 | - // maxPayloadLen. The method must return a numeric value within the range | ||
| 623 | - // frameLen <= n <= maxPayloadLen. | ||
| 624 | - function onSelectPadding() { | ||
| 625 | - const session = this[kOwner]; | ||
| 626 | - if (session.destroyed) | ||
| 627 | - return; | ||
| 628 | - const fn = session[kSelectPadding]; | ||
| 629 | - const frameLen = paddingBuffer[PADDING_BUF_FRAME_LENGTH]; | ||
| 630 | - const maxFramePayloadLen = paddingBuffer[PADDING_BUF_MAX_PAYLOAD_LENGTH]; | ||
| 631 | - paddingBuffer[PADDING_BUF_RETURN_VALUE] = fn(frameLen, maxFramePayloadLen); | ||
| 632 | - } | ||
| 633 | - | ||
| 634 | 616 | // When a ClientHttp2Session is first created, the socket may not yet be | |
| 635 | 617 | // connected. If request() is called during this time, the actual request | |
| 636 | 618 | // will be deferred until the socket is ready to go. | |
@@ -3018,7 +3000,6 @@ binding.setCallbackFunctions( | |||
| 3018 | 3000 | onGoawayData, | |
| 3019 | 3001 | onAltSvc, | |
| 3020 | 3002 | onOrigin, | |
| 3021 | - onSelectPadding, | ||
| 3022 | 3003 | onStreamTrailers, | |
| 3023 | 3004 | onStreamClose | |
| 3024 | 3005 | ); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -426,7 +426,6 @@ constexpr size_t kFsStatsBufferLength = | |||
| 426 | 426 | V(http2session_on_origin_function, v8::Function) \ | |
| 427 | 427 | V(http2session_on_ping_function, v8::Function) \ | |
| 428 | 428 | V(http2session_on_priority_function, v8::Function) \ | |
| 429 | - V(http2session_on_select_padding_function, v8::Function) \ | ||
| 430 | 429 | V(http2session_on_settings_function, v8::Function) \ | |
| 431 | 430 | V(http2session_on_stream_close_function, v8::Function) \ | |
| 432 | 431 | V(http2session_on_stream_trailers_function, v8::Function) \ | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -840,32 +840,6 @@ ssize_t Http2Session::OnMaxFrameSizePadding(size_t frameLen, | |||
| 840 | 840 | return maxPayloadLen; | |
| 841 | 841 | } | |
| 842 | 842 | ||
| 843 | - // Used as one of the Padding Strategy functions. Uses a callback to JS land | ||
| 844 | - // to determine the amount of padding for the current frame. This option is | ||
| 845 | - // rather more expensive because of the JS boundary cross. It generally should | ||
| 846 | - // not be the preferred option. | ||
| 847 | - ssize_t Http2Session::OnCallbackPadding(size_t frameLen, | ||
| 848 | - size_t maxPayloadLen) { | ||
| 849 | - if (frameLen == 0) return 0; | ||
| 850 | - Debug(this, "using callback to determine padding"); | ||
| 851 | - Isolate* isolate = env()->isolate(); | ||
| 852 | - HandleScope handle_scope(isolate); | ||
| 853 | - Local<Context> context = env()->context(); | ||
| 854 | - Context::Scope context_scope(context); | ||
| 855 | - | ||
| 856 | - AliasedUint32Array& buffer = env()->http2_state()->padding_buffer; | ||
| 857 | - buffer[PADDING_BUF_FRAME_LENGTH] = frameLen; | ||
| 858 | - buffer[PADDING_BUF_MAX_PAYLOAD_LENGTH] = maxPayloadLen; | ||
| 859 | - buffer[PADDING_BUF_RETURN_VALUE] = frameLen; | ||
| 860 | - MakeCallback(env()->http2session_on_select_padding_function(), 0, nullptr); | ||
| 861 | - uint32_t retval = buffer[PADDING_BUF_RETURN_VALUE]; | ||
| 862 | - retval = std::min(retval, static_cast<uint32_t>(maxPayloadLen)); | ||
| 863 | - retval = std::max(retval, static_cast<uint32_t>(frameLen)); | ||
| 864 | - Debug(this, "using padding size %d", retval); | ||
| 865 | - return retval; | ||
| 866 | - } | ||
| 867 | - | ||
| 868 | - | ||
| 869 | 843 | // Write data received from the i/o stream to the underlying nghttp2_session. | |
| 870 | 844 | // On each call to nghttp2_session_mem_recv, nghttp2 will begin calling the | |
| 871 | 845 | // various callback functions. Each of these will typically result in a call | |
@@ -1251,9 +1225,6 @@ ssize_t Http2Session::OnSelectPadding(nghttp2_session* handle, | |||
| 1251 | 1225 | case PADDING_STRATEGY_ALIGNED: | |
| 1252 | 1226 | padding = session->OnDWordAlignedPadding(padding, maxPayloadLen); | |
| 1253 | 1227 | break; | |
| 1254 | - case PADDING_STRATEGY_CALLBACK: | ||
| 1255 | - padding = session->OnCallbackPadding(padding, maxPayloadLen); | ||
| 1256 | - break; | ||
| 1257 | 1228 | } | |
| 1258 | 1229 | return padding; | |
| 1259 | 1230 | } | |
@@ -3024,7 +2995,7 @@ void nghttp2_header::MemoryInfo(MemoryTracker* tracker) const { | |||
| 3024 | 2995 | ||
| 3025 | 2996 | void SetCallbackFunctions(const FunctionCallbackInfo<Value>& args) { | |
| 3026 | 2997 | Environment* env = Environment::GetCurrent(args); | |
| 3027 | - CHECK_EQ(args.Length(), 12); | ||
| 2998 | + CHECK_EQ(args.Length(), 11); | ||
| 3028 | 2999 | ||
| 3029 | 3000 | #define SET_FUNCTION(arg, name) \ | |
| 3030 | 3001 | CHECK(args[arg]->IsFunction()); \ | |
@@ -3039,9 +3010,8 @@ void SetCallbackFunctions(const FunctionCallbackInfo<Value>& args) { | |||
| 3039 | 3010 | SET_FUNCTION(6, goaway_data) | |
| 3040 | 3011 | SET_FUNCTION(7, altsvc) | |
| 3041 | 3012 | SET_FUNCTION(8, origin) | |
| 3042 | - SET_FUNCTION(9, select_padding) | ||
| 3043 | - SET_FUNCTION(10, stream_trailers) | ||
| 3044 | - SET_FUNCTION(11, stream_close) | ||
| 3013 | + SET_FUNCTION(9, stream_trailers) | ||
| 3014 | + SET_FUNCTION(10, stream_close) | ||
| 3045 | 3015 | ||
| 3046 | 3016 | #undef SET_FUNCTION | |
| 3047 | 3017 | } | |
@@ -3062,9 +3032,6 @@ void Initialize(Local<Object> target, | |||
| 3062 | 3032 | FIXED_ONE_BYTE_STRING(isolate, (name)), \ | |
| 3063 | 3033 | (field)).FromJust() | |
| 3064 | 3034 | ||
| 3065 | - // Initialize the buffer used for padding callbacks | ||
| 3066 | - SET_STATE_TYPEDARRAY( | ||
| 3067 | - "paddingBuffer", state->padding_buffer.GetJSArray()); | ||
| 3068 | 3035 | // Initialize the buffer used to store the session state | |
| 3069 | 3036 | SET_STATE_TYPEDARRAY( | |
| 3070 | 3037 | "sessionState", state->session_state_buffer.GetJSArray()); | |
@@ -3083,10 +3050,6 @@ void Initialize(Local<Object> target, | |||
| 3083 | 3050 | ||
| 3084 | 3051 | env->set_http2_state(std::move(state)); | |
| 3085 | 3052 | ||
| 3086 | - NODE_DEFINE_CONSTANT(target, PADDING_BUF_FRAME_LENGTH); | ||
| 3087 | - NODE_DEFINE_CONSTANT(target, PADDING_BUF_MAX_PAYLOAD_LENGTH); | ||
| 3088 | - NODE_DEFINE_CONSTANT(target, PADDING_BUF_RETURN_VALUE); | ||
| 3089 | - | ||
| 3090 | 3053 | NODE_DEFINE_CONSTANT(target, kBitfield); | |
| 3091 | 3054 | NODE_DEFINE_CONSTANT(target, kSessionPriorityListenerCount); | |
| 3092 | 3055 | NODE_DEFINE_CONSTANT(target, kSessionFrameErrorListenerCount); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -321,11 +321,9 @@ enum padding_strategy_type { | |||
| 321 | 321 | PADDING_STRATEGY_ALIGNED, | |
| 322 | 322 | // Padding will ensure all data frames are maxFrameSize | |
| 323 | 323 | PADDING_STRATEGY_MAX, | |
| 324 | - // Padding will be determined via a JS callback. Note that this can be | ||
| 325 | - // expensive because the callback is called once for every DATA and | ||
| 326 | - // HEADERS frame. For performance reasons, this strategy should be | ||
| 327 | - // avoided. | ||
| 328 | - PADDING_STRATEGY_CALLBACK | ||
| 324 | + // Removed and turned into an alias because it is unreasonably expensive for | ||
| 325 | + // very little benefit. | ||
| 326 | + PADDING_STRATEGY_CALLBACK = PADDING_STRATEGY_ALIGNED | ||
| 329 | 327 | }; | |
| 330 | 328 | ||
| 331 | 329 | enum session_state_flags { | |
@@ -877,8 +875,6 @@ class Http2Session : public AsyncWrap, public StreamListener { | |||
| 877 | 875 | size_t maxPayloadLen); | |
| 878 | 876 | ssize_t OnMaxFrameSizePadding(size_t frameLength, | |
| 879 | 877 | size_t maxPayloadLen); | |
| 880 | - ssize_t OnCallbackPadding(size_t frameLength, | ||
| 881 | - size_t maxPayloadLen); | ||
| 882 | 878 | ||
| 883 | 879 | // Frame Handler | |
| 884 | 880 | int HandleDataFrame(const nghttp2_frame* frame); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -55,13 +55,6 @@ namespace http2 { | |||
| 55 | 55 | IDX_OPTIONS_FLAGS | |
| 56 | 56 | }; | |
| 57 | 57 | ||
| 58 | - enum Http2PaddingBufferFields { | ||
| 59 | - PADDING_BUF_FRAME_LENGTH, | ||
| 60 | - PADDING_BUF_MAX_PAYLOAD_LENGTH, | ||
| 61 | - PADDING_BUF_RETURN_VALUE, | ||
| 62 | - PADDING_BUF_FIELD_COUNT | ||
| 63 | - }; | ||
| 64 | - | ||
| 65 | 58 | enum Http2StreamStatisticsIndex { | |
| 66 | 59 | IDX_STREAM_STATS_ID, | |
| 67 | 60 | IDX_STREAM_STATS_TIMETOFIRSTBYTE, | |
@@ -111,11 +104,6 @@ class Http2State { | |||
| 111 | 104 | offsetof(http2_state_internal, session_stats_buffer), | |
| 112 | 105 | IDX_SESSION_STATS_COUNT, | |
| 113 | 106 | root_buffer), | |
| 114 | - padding_buffer( | ||
| 115 | - isolate, | ||
| 116 | - offsetof(http2_state_internal, padding_buffer), | ||
| 117 | - PADDING_BUF_FIELD_COUNT, | ||
| 118 | - root_buffer), | ||
| 119 | 107 | options_buffer( | |
| 120 | 108 | isolate, | |
| 121 | 109 | offsetof(http2_state_internal, options_buffer), | |
@@ -133,7 +121,6 @@ class Http2State { | |||
| 133 | 121 | AliasedFloat64Array stream_state_buffer; | |
| 134 | 122 | AliasedFloat64Array stream_stats_buffer; | |
| 135 | 123 | AliasedFloat64Array session_stats_buffer; | |
| 136 | - AliasedUint32Array padding_buffer; | ||
| 137 | 124 | AliasedUint32Array options_buffer; | |
| 138 | 125 | AliasedUint32Array settings_buffer; | |
| 139 | 126 | ||
@@ -144,7 +131,6 @@ class Http2State { | |||
| 144 | 131 | double stream_state_buffer[IDX_STREAM_STATE_COUNT]; | |
| 145 | 132 | double stream_stats_buffer[IDX_STREAM_STATS_COUNT]; | |
| 146 | 133 | double session_stats_buffer[IDX_SESSION_STATS_COUNT]; | |
| 147 | - uint32_t padding_buffer[PADDING_BUF_FIELD_COUNT]; | ||
| 148 | 134 | uint32_t options_buffer[IDX_OPTIONS_FLAGS + 1]; | |
| 149 | 135 | uint32_t settings_buffer[IDX_SETTINGS_COUNT + 1]; | |
| 150 | 136 | }; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -5,7 +5,7 @@ if (!common.hasCrypto) | |||
| 5 | 5 | common.skip('missing crypto'); | |
| 6 | 6 | const assert = require('assert'); | |
| 7 | 7 | const http2 = require('http2'); | |
| 8 | - const { PADDING_STRATEGY_ALIGNED } = http2.constants; | ||
| 8 | + const { PADDING_STRATEGY_ALIGNED, PADDING_STRATEGY_CALLBACK } = http2.constants; | ||
| 9 | 9 | const makeDuplexPair = require('../common/duplexpair'); | |
| 10 | 10 | ||
| 11 | 11 | { | |
@@ -66,3 +66,6 @@ const makeDuplexPair = require('../common/duplexpair'); | |||
| 66 | 66 | })); | |
| 67 | 67 | req.end(); | |
| 68 | 68 | } | |
| 69 | + | ||
| 70 | + // PADDING_STRATEGY_CALLBACK has been aliased to mean aligned padding. | ||
| 71 | + assert.strictEqual(PADDING_STRATEGY_ALIGNED, PADDING_STRATEGY_CALLBACK); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments