Skip to content

Commit ed7b7bd

Browse files
committed
tls: fix performance regression in convertALPNProtocols()
`isUint8Array()` covers instances of `Buffer` `isArrayBufferView()` path is cold and not worth additional check
1 parent d72dcb0 commit ed7b7bd

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

lib/tls.js

Lines changed: 2 additions & 5 deletions
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

@@ -147,16 +146,14 @@ exports.convertALPNProtocols = function convertALPNProtocols(protocols, out) {
147146
// If protocols is Array - translate it into buffer
148147
if (ArrayIsArray(protocols)) {
149148
out.ALPNProtocols = convertProtocols(protocols);
150-
} else if (Buffer.isBuffer(protocols) || isUint8Array(protocols)) {
149+
} else if (isUint8Array(protocols)) {
151150
// Copy new buffer not to be modified by user.
152151
out.ALPNProtocols = Buffer.from(protocols);
153-
} else if (isDataView(protocols)) {
152+
} else if (isArrayBufferView(protocols)) {
154153
out.ALPNProtocols = Buffer.from(protocols.buffer.slice(
155154
protocols.byteOffset,
156155
protocols.byteOffset + protocols.byteLength
157156
));
158-
} else if (isArrayBufferView(protocols)) {
159-
out.ALPNProtocols = Buffer.from(protocols.slice().buffer);
160157
}
161158
};
162159

0 commit comments

Comments
 (0)