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,
build: (hold: MessageHold) => T,
emit: (message: T) => boolean,
): void {
): MessageHold {
const hold = this.hold(pduObjs, listeners);
const message = build(hold);
this.offered.set(message, hold);
if (!emit(message)) hold.release();
return hold;
}
/** One listener gave up on a message; the last one to do so is what releases it. */