Return the hold offer() took
This commit is contained in:
@@ -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. */
|
||||||
|
|||||||
Reference in New Issue
Block a user