Return the hold offer() took

This commit is contained in:
2026-09-28 10:51:07 +02:00
parent b5e6b03ff8
commit 1db63e19ed
+3 -1
View File
@@ -124,13 +124,15 @@ export class HeldMessages {
listeners: number, listeners: number,
build: (hold: MessageHold) => T, build: (hold: MessageHold) => T,
emit: (message: T) => boolean, emit: (message: T) => boolean,
): void { ): MessageHold {
const hold = this.hold(pduObjs, listeners); const hold = this.hold(pduObjs, listeners);
const message = build(hold); const message = build(hold);
this.offered.set(message, hold); this.offered.set(message, hold);
if (!emit(message)) hold.release(); if (!emit(message)) hold.release();
return hold;
} }
/** One listener gave up on a message; the last one to do so is what releases it. */ /** One listener gave up on a message; the last one to do so is what releases it. */