fix(remoteingress-protocol): reduce per-stream flow control windows and increase control channel buffering

This commit is contained in:
2026-03-18 00:02:20 +00:00
parent ce7ccd83dc
commit 28a0c769d9
6 changed files with 36 additions and 29 deletions

View File

@@ -324,7 +324,7 @@ tap.test('setup: start echo server and tunnel', async () => {
expect(tunnel.hub.running).toBeTrue();
});
tap.test('single stream: 32MB transfer exceeding initial 4MB window', async () => {
tap.test('single stream: 32MB transfer exceeding initial 4MB window (multiple refills)', async () => {
const size = 32 * 1024 * 1024;
const data = crypto.randomBytes(size);
const expectedHash = sha256(data);
@@ -392,7 +392,7 @@ tap.test('asymmetric transfer: 4KB request -> 4MB response', async () => {
}
});
tap.test('100 streams x 1MB each (100MB total exceeding 32MB budget)', async () => {
tap.test('100 streams x 1MB each (100MB total exceeding 200MB budget)', async () => {
const streamCount = 100;
const payloadSize = 1 * 1024 * 1024;
@@ -446,7 +446,7 @@ tap.test('active stream counter tracks concurrent connections', async () => {
});
tap.test('50 streams x 2MB each (forces multiple window refills per stream)', async () => {
// At 50 concurrent streams: adaptive window = 32MB/50 = 655KB per stream
// At 50 concurrent streams: adaptive window = 200MB/50 = 4MB per stream
// Each stream sends 2MB → needs ~3 WINDOW_UPDATE refill cycles per stream
const streamCount = 50;
const payloadSize = 2 * 1024 * 1024;