Skip to content

Commit 4e9607b

Browse files
authored
[perf] Reset compressor/decompressor instead of re-initialize (#1840)
1 parent 2789887 commit 4e9607b

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

lib/permessage-deflate.js

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -376,12 +376,11 @@ class PerMessageDeflate {
376376
this._inflate[kTotalLength]
377377
);
378378

379+
this._inflate[kTotalLength] = 0;
380+
this._inflate[kBuffers] = [];
381+
379382
if (fin && this.params[`${endpoint}_no_context_takeover`]) {
380-
this._inflate.close();
381-
this._inflate = null;
382-
} else {
383-
this._inflate[kTotalLength] = 0;
384-
this._inflate[kBuffers] = [];
383+
this._inflate.reset();
385384
}
386385

387386
callback(null, data);
@@ -448,12 +447,11 @@ class PerMessageDeflate {
448447
//
449448
this._deflate[kCallback] = null;
450449

450+
this._deflate[kTotalLength] = 0;
451+
this._deflate[kBuffers] = [];
452+
451453
if (fin && this.params[`${endpoint}_no_context_takeover`]) {
452-
this._deflate.close();
453-
this._deflate = null;
454-
} else {
455-
this._deflate[kTotalLength] = 0;
456-
this._deflate[kBuffers] = [];
454+
this._deflate.reset();
457455
}
458456

459457
callback(null, data);

0 commit comments

Comments
 (0)