From 9dda1a6917637cafd34446071e26072c22592bc6 Mon Sep 17 00:00:00 2001 From: Lilleman auf Larv Date: Mon, 28 Sep 2026 01:02:43 +0200 Subject: [PATCH] Release a held message through the hold it was given --- test/session-extras.test.ts | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/test/session-extras.test.ts b/test/session-extras.test.ts index 8e23ed3..9bf67ed 100644 --- a/test/session-extras.test.ts +++ b/test/session-extras.test.ts @@ -1502,15 +1502,14 @@ describe('held message bounds', () => { test('is full at its count, and a re-used sequence number replaces rather than adding', () => { const held = new HeldMessages({ log: silentLog, max: 2, maxOctets: 1_000_000, timeout: 10_000 }); - const first = message(1); + const first = held.hold(message(1), 1); - held.hold(first); - held.hold(message(2)); - held.hold(message(2)); + held.hold(message(2), 1); + held.hold(message(2), 1); assert.equal(held.size, 2); assert.equal(held.full(), true); - assert.equal(held.has(first), true); + assert.equal(first.isHeld(), true); held.clear(); }); @@ -1519,23 +1518,22 @@ describe('held message bounds', () => { test('is full at its octet cap, until a message leaves by any way out', () => { let now = 0; const held = new HeldMessages({ log: silentLog, max: 10, maxOctets: 2000, now: () => now, timeout: 10_000 }); - const answered = message(1); + const answered = held.hold(message(1), 1); - held.hold(answered); assert.equal(held.full(), false); - held.hold(message(2)); + held.hold(message(2), 1); assert.equal(held.full(), true); - held.release(answered); + answered.release(); assert.equal(held.full(), false, 'after a release'); - held.hold(message(3)); + held.hold(message(3), 1); now = 20_000; held.sweep(); now = 0; assert.equal(held.full(), false, 'after a sweep'); - held.hold(message(4)); - held.hold(message(5)); + held.hold(message(4), 1); + held.hold(message(5), 1); held.clear(); assert.equal(held.full(), false, 'after a clear'); @@ -1624,11 +1622,11 @@ describe('held message bounds', () => { let now = 0; const held = new HeldMessages({ log: silentLog, max: 10, maxOctets: 1_000_000, now: () => now, timeout: 60 }); - held.hold(message(1)); + held.hold(message(1), 1); now = 61; // The next message sweeps the one that expired, so only the new one is still waited for. - held.hold(message(2)); + held.hold(message(2), 1); assert.equal(held.size, 1); @@ -1640,7 +1638,7 @@ describe('held message bounds', () => { let now = 0; const held = new HeldMessages({ log: silentLog, max: 10, maxOctets: 1_000_000, now: () => now, timeout: 60 }); - held.hold(message(1)); + held.hold(message(1), 1); const waiting = held.idle(1000, undefined);