Skip to content

Commit 9096c77

Browse files
committed
lib: use ArrayBuffer.prototype.transfer
1 parent ba7744e commit 9096c77

File tree

2 files changed

+6
-21
lines changed

2 files changed

+6
-21
lines changed

lib/internal/webstreams/readablestream.js

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ const {
105105
isBrandCheck,
106106
resetQueue,
107107
setPromiseHandled,
108-
transferArrayBuffer,
109108
nonOpCancel,
110109
nonOpPull,
111110
nonOpStart,
@@ -1954,7 +1953,7 @@ function readableByteStreamControllerConvertPullIntoDescriptor(desc) {
19541953
if (bytesFilled > byteLength)
19551954
throw new ERR_INVALID_STATE.RangeError('The buffer size is invalid');
19561955
assert(!(bytesFilled % elementSize));
1957-
const transferredBuffer = transferArrayBuffer(buffer);
1956+
const transferredBuffer = buffer.transfer();
19581957

19591958
if (ctor === Buffer) {
19601959
return Buffer.from(transferredBuffer, byteOffset, bytesFilled / elementSize);
@@ -2623,7 +2622,7 @@ function readableByteStreamControllerPullInto(
26232622

26242623
let transferredBuffer;
26252624
try {
2626-
transferredBuffer = transferArrayBuffer(buffer);
2625+
transferredBuffer = buffer.transfer();
26272626
} catch (error) {
26282627
readIntoRequest[kError](error);
26292628
return;
@@ -2715,7 +2714,7 @@ function readableByteStreamControllerRespond(controller, bytesWritten) {
27152714
throw new ERR_INVALID_ARG_VALUE.RangeError('bytesWritten', bytesWritten);
27162715
}
27172716

2718-
desc.buffer = transferArrayBuffer(desc.buffer);
2717+
desc.buffer = desc.buffer.transfer();
27192718

27202719
readableByteStreamControllerRespondInternal(controller, bytesWritten);
27212720
}
@@ -2765,7 +2764,7 @@ function readableByteStreamControllerEnqueue(controller, chunk) {
27652764
if (closeRequested || stream[kState].state !== 'readable')
27662765
return;
27672766

2768-
const transferredBuffer = transferArrayBuffer(buffer);
2767+
const transferredBuffer = buffer.transfer();
27692768

27702769
if (pendingPullIntos.length) {
27712770
const firstPendingPullInto = pendingPullIntos[0];
@@ -2778,9 +2777,7 @@ function readableByteStreamControllerEnqueue(controller, chunk) {
27782777

27792778
readableByteStreamControllerInvalidateBYOBRequest(controller);
27802779

2781-
firstPendingPullInto.buffer = transferArrayBuffer(
2782-
firstPendingPullInto.buffer,
2783-
);
2780+
firstPendingPullInto.buffer = firstPendingPullInto.buffer.transfer();
27842781

27852782
if (firstPendingPullInto.type === 'none') {
27862783
readableByteStreamControllerEnqueueDetachedPullIntoToQueue(
@@ -3075,7 +3072,7 @@ function readableByteStreamControllerRespondWithNewView(controller, view) {
30753072
if (bufferByteLength !== viewBufferByteLength)
30763073
throw new ERR_INVALID_ARG_VALUE.RangeError('view', view);
30773074

3078-
desc.buffer = transferArrayBuffer(viewBuffer);
3075+
desc.buffer = viewBuffer.transfer();
30793076

30803077
readableByteStreamControllerRespondInternal(controller, viewByteLength);
30813078
}

lib/internal/webstreams/util.js

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,12 @@ const {
2121
const {
2222
codes: {
2323
ERR_INVALID_ARG_VALUE,
24-
ERR_OPERATION_FAILED,
2524
ERR_INVALID_STATE,
2625
},
2726
} = require('internal/errors');
2827

2928
const {
3029
copyArrayBuffer,
31-
detachArrayBuffer,
3230
} = internalBinding('buffer');
3331

3432
const {
@@ -122,15 +120,6 @@ function isBrandCheck(brand) {
122120
};
123121
}
124122

125-
function transferArrayBuffer(buffer) {
126-
const res = detachArrayBuffer(buffer);
127-
if (res === undefined) {
128-
throw new ERR_OPERATION_FAILED.TypeError(
129-
'The ArrayBuffer could not be transferred');
130-
}
131-
return res;
132-
}
133-
134123
function dequeueValue(controller) {
135124
assert(controller[kState].queue !== undefined);
136125
assert(controller[kState].queueTotalSize !== undefined);
@@ -279,7 +268,6 @@ module.exports = {
279268
peekQueueValue,
280269
resetQueue,
281270
setPromiseHandled,
282-
transferArrayBuffer,
283271
nonOpCancel,
284272
nonOpFlush,
285273
nonOpPull,

0 commit comments

Comments
 (0)