| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 136d4e7 commit ed5b040
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -591,7 +591,7 @@ class BroadcastWriter { | |||
| 591 | 591 | ||
| 592 | 592 | if (policy === 'strict') { | |
| 593 | 593 | if (this.#pendingWrites.length >= 1) { | |
| 594 | - throw new ERR_INVALID_STATE.TypeError( | ||
| 594 | + throw new ERR_INVALID_STATE.RangeError( | ||
| 595 | 595 | 'Backpressure violation: too many pending writes. ' + | |
| 596 | 596 | 'Await each write() call to respect backpressure.'); | |
| 597 | 597 | } | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -113,6 +113,28 @@ async function testBlockBackpressureContent() { | |||
| 113 | 113 | assert.strictEqual(done.done, true); | |
| 114 | 114 | } | |
| 115 | 115 | ||
| 116 | + async function testStrictBackpressureOverflow() { | ||
| 117 | + const { writer } = broadcast({ | ||
| 118 | + budget: 16384, | ||
| 119 | + backpressure: 'strict', | ||
| 120 | + }); | ||
| 121 | + | ||
| 122 | + await writer.write(new Uint8Array(16384)); | ||
| 123 | + const pending = writer.write('b'); | ||
| 124 | + | ||
| 125 | + await assert.rejects(writer.write('c'), { | ||
| 126 | + name: 'RangeError', | ||
| 127 | + code: 'ERR_INVALID_STATE', | ||
| 128 | + }); | ||
| 129 | + | ||
| 130 | + writer.fail(); | ||
| 131 | + await assert.rejects(pending, { | ||
| 132 | + name: 'TypeError', | ||
| 133 | + code: 'ERR_INVALID_STATE', | ||
| 134 | + message: 'Invalid state: Failed', | ||
| 135 | + }); | ||
| 136 | + } | ||
| 137 | + | ||
| 116 | 138 | // Writev async path | |
| 117 | 139 | async function testWritevAsync() { | |
| 118 | 140 | const { writer, broadcast: bc } = broadcast({ budget: 16384 }); | |
@@ -141,6 +163,7 @@ Promise.all([ | |||
| 141 | 163 | testDropNewest(), | |
| 142 | 164 | testBlockBackpressure(), | |
| 143 | 165 | testBlockBackpressureContent(), | |
| 166 | + testStrictBackpressureOverflow(), | ||
| 144 | 167 | testWritevAsync(), | |
| 145 | 168 | testEndSyncReturnValue(), | |
| 146 | 169 | ]).then(common.mustCall()); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments