File tree Expand file tree Collapse file tree 3 files changed +14
-5
lines changed
Expand file tree Collapse file tree 3 files changed +14
-5
lines changed Original file line number Diff line number Diff line change 88 pull_request :
99 branches :
1010 - master
11+ - v5.x
1112 paths-ignore :
1213 - ' **.md'
1314jobs :
Original file line number Diff line number Diff line change 1515 */
1616
1717var utils = require ( './utils' ) ,
18- buffer = require ( 'buffer' ) , // For `SlowBuffer`.
18+ buffer = require ( 'buffer' ) ,
1919 util = require ( 'util' ) ;
2020
2121var Buffer = buffer . Buffer ;
22- var SlowBuffer = buffer . SlowBuffer ;
2322
2423// Convenience imports.
2524var Tap = utils . Tap ;
@@ -48,7 +47,7 @@ var TYPES = {
4847var RANDOM = new utils . Lcg ( ) ;
4948
5049// Encoding tap (shared for performance).
51- var TAP = new Tap ( new SlowBuffer ( 1024 ) ) ;
50+ var TAP = new Tap ( utils . newSlowBuffer ( 1024 ) ) ;
5251
5352// Currently active logical type, used for name redirection.
5453var LOGICAL_TYPE = null ;
@@ -453,7 +452,7 @@ Type.isType = function (/* any, [prefix] ... */) {
453452
454453Type . __reset = function ( size ) {
455454 debug ( 'resetting type buffer to %d' , size ) ;
456- TAP . buf = new SlowBuffer ( size ) ;
455+ TAP . buf = utils . newSlowBuffer ( size ) ;
457456} ;
458457
459458Object . defineProperty ( Type . prototype , 'branchName' , {
Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ var buffer = require('buffer');
1111var crypto = require ( 'crypto' ) ;
1212var util = require ( 'util' ) ;
1313
14- var Buffer = buffer . Buffer ;
14+ var Buffer = buffer . Buffer ;
1515
1616// Shared buffer pool for all taps.
1717var POOL = new BufferPool ( 4096 ) ;
@@ -35,6 +35,14 @@ function newBuffer(size) {
3535 }
3636}
3737
38+ function newSlowBuffer ( size ) {
39+ if ( typeof Buffer . allocUnsafeSlow == 'function' ) {
40+ return Buffer . allocUnsafeSlow ( size ) ;
41+ } else {
42+ return new buffer . SlowBuffer ( size ) ;
43+ }
44+ }
45+
3846/**
3947 * Create a new buffer with the input contents.
4048 *
@@ -952,6 +960,7 @@ module.exports = {
952960 isValidName : isValidName ,
953961 jsonEnd : jsonEnd ,
954962 newBuffer : newBuffer ,
963+ newSlowBuffer : newSlowBuffer ,
955964 objectValues : objectValues ,
956965 qualify : qualify ,
957966 toMap : toMap ,
You can’t perform that action at this time.
0 commit comments