MCPcopy Create free account
hub / github.com/nodejs/node / wireBroadcastWriteSignal

Function wireBroadcastWriteSignal

lib/internal/streams/iter/broadcast.js:721–740  ·  view source on GitHub ↗
(entry, signal, resolve, reject, self)

Source from the content-addressed store, hash-verified

719}
720
721function wireBroadcastWriteSignal(entry, signal, resolve, reject, self) {
722 const onAbort = () => {
723 const pendingWrites = getBroadcastPendingWrites(self);
724 const idx = pendingWrites.indexOf(entry);
725 if (idx !== -1) pendingWrites.removeAt(idx);
726 entry.chunk = null;
727 reject(signal.reason ?? lazyDOMException('Aborted', 'AbortError'));
728 };
729 entry.resolve = function() {
730 signal.removeEventListener('abort', onAbort);
731 entry.chunk = null;
732 resolve();
733 };
734 entry.reject = function(reason) {
735 signal.removeEventListener('abort', onAbort);
736 entry.chunk = null;
737 reject(reason);
738 };
739 signal.addEventListener('abort', onAbort, { __proto__: null, once: true });
740}
741
742function onBroadcastCancel(broadcastImpl, signal) {
743 onSignalAbort(signal, () => broadcastImpl.cancel(signal.reason));

Callers 1

#createPendingWriteMethod · 0.85

Calls 4

resolveFunction · 0.70
rejectFunction · 0.70
removeEventListenerMethod · 0.65
addEventListenerMethod · 0.65

Tested by

no test coverage detected