Skip to content

Commit 7f8f61a

Browse files
LiviaMedeirosdanielleadams
authored andcommitted
tls: fix performance regression in convertALPNProtocols()
`isUint8Array()` covers instances of `Buffer` `isArrayBufferView()` path is cold and not worth additional check PR-URL: #43250 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Matteo Collina <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Minwoo Jung <[email protected]> Reviewed-By: Darshan Sen <[email protected]>
1 parent fff0560 commit 7f8f61a

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

lib/tls.js

+2-5
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ const internalUtil = require('internal/util');
5656
internalUtil.assertCrypto();
5757
const {
5858
isArrayBufferView,
59-
isDataView,
6059
isUint8Array,
6160
} = require('internal/util/types');
6261

@@ -148,16 +147,14 @@ exports.convertALPNProtocols = function convertALPNProtocols(protocols, out) {
148147
// If protocols is Array - translate it into buffer
149148
if (ArrayIsArray(protocols)) {
150149
out.ALPNProtocols = convertProtocols(protocols);
151-
} else if (Buffer.isBuffer(protocols) || isUint8Array(protocols)) {
150+
} else if (isUint8Array(protocols)) {
152151
// Copy new buffer not to be modified by user.
153152
out.ALPNProtocols = Buffer.from(protocols);
154-
} else if (isDataView(protocols)) {
153+
} else if (isArrayBufferView(protocols)) {
155154
out.ALPNProtocols = Buffer.from(protocols.buffer.slice(
156155
protocols.byteOffset,
157156
protocols.byteOffset + protocols.byteLength
158157
));
159-
} else if (isArrayBufferView(protocols)) {
160-
out.ALPNProtocols = Buffer.from(protocols.slice().buffer);
161158
}
162159
};
163160

0 commit comments

Comments
 (0)