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