File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -12,6 +12,9 @@ const { mask: applyMask, toBuffer } = require('./buffer-util');
1212
1313const kByteLength = Symbol ( 'kByteLength' ) ;
1414const maskBuffer = Buffer . alloc ( 4 ) ;
15+ const RANDOM_POOL_SIZE = 8 * 1024 ;
16+ let randomPool ;
17+ let randomPoolPointer = RANDOM_POOL_SIZE ;
1518
1619/**
1720 * HyBi Sender implementation.
@@ -76,7 +79,19 @@ class Sender {
7679 if ( options . generateMask ) {
7780 options . generateMask ( mask ) ;
7881 } else {
79- randomFillSync ( mask , 0 , 4 ) ;
82+ if ( randomPoolPointer === RANDOM_POOL_SIZE ) {
83+ if ( randomPool === undefined ) {
84+ randomPool = Buffer . alloc ( RANDOM_POOL_SIZE ) ;
85+ }
86+
87+ randomFillSync ( randomPool , 0 , RANDOM_POOL_SIZE ) ;
88+ randomPoolPointer = 0 ;
89+ }
90+
91+ mask [ 0 ] = randomPool [ randomPoolPointer ++ ] ;
92+ mask [ 1 ] = randomPool [ randomPoolPointer ++ ] ;
93+ mask [ 2 ] = randomPool [ randomPoolPointer ++ ] ;
94+ mask [ 3 ] = randomPool [ randomPoolPointer ++ ] ;
8095 }
8196
8297 skipMasking = ( mask [ 0 ] | mask [ 1 ] | mask [ 2 ] | mask [ 3 ] ) === 0 ;
You can’t perform that action at this time.
0 commit comments