diff --git a/src/held-messages.ts b/src/held-messages.ts index c47bbf3..5d6813d 100644 --- a/src/held-messages.ts +++ b/src/held-messages.ts @@ -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. */