net,http2: merge setTimeout code · nodejs/node@802ea05 (original) (raw)

`@@ -110,13 +110,11 @@ const {

`

110

110

` onStreamRead,

`

111

111

` kAfterAsyncWrite,

`

112

112

` kMaybeDestroy,

`

113

``

`-

kUpdateTimer

`

``

113

`+

kUpdateTimer,

`

``

114

`+

kSession,

`

``

115

`+

setStreamTimeout

`

114

116

`} = require('internal/stream_base_commons');

`

115

``

`-

const {

`

116

``

`-

kTimeout,

`

117

``

`-

setUnrefTimeout,

`

118

``

`-

validateTimerDuration

`

119

``

`-

} = require('internal/timers');

`

``

117

`+

const { kTimeout } = require('internal/timers');

`

120

118

`const { isArrayBufferView } = require('internal/util/types');

`

121

119

``

122

120

`const { FileHandle } = internalBinding('fs');

`

`@@ -163,7 +161,6 @@ const kSelectPadding = Symbol('select-padding');

`

163

161

`const kSentHeaders = Symbol('sent-headers');

`

164

162

`const kSentTrailers = Symbol('sent-trailers');

`

165

163

`const kServer = Symbol('server');

`

166

``

`-

const kSession = Symbol('session');

`

167

164

`const kState = Symbol('state');

`

168

165

`const kType = Symbol('type');

`

169

166

`const kWriteGeneric = Symbol('write-generic');

`

`@@ -2546,35 +2543,7 @@ const setTimeout = {

`

2546

2543

`configurable: true,

`

2547

2544

`enumerable: true,

`

2548

2545

`writable: true,

`

2549

``

`-

value: function(msecs, callback) {

`

2550

``

`-

if (this.destroyed)

`

2551

``

`-

return;

`

2552

``

-

2553

``

`-

// Type checking identical to timers.enroll()

`

2554

``

`-

msecs = validateTimerDuration(msecs);

`

2555

``

-

2556

``

`-

// Attempt to clear an existing timer lear in both cases -

`

2557

``

`-

// even if it will be rescheduled we don't want to leak an existing timer.

`

2558

``

`-

clearTimeout(this[kTimeout]);

`

2559

``

-

2560

``

`-

if (msecs === 0) {

`

2561

``

`-

if (callback !== undefined) {

`

2562

``

`-

if (typeof callback !== 'function')

`

2563

``

`-

throw new ERR_INVALID_CALLBACK();

`

2564

``

`-

this.removeListener('timeout', callback);

`

2565

``

`-

}

`

2566

``

`-

} else {

`

2567

``

`-

this[kTimeout] = setUnrefTimeout(this._onTimeout.bind(this), msecs);

`

2568

``

`-

if (this[kSession]) this[kSession]kUpdateTimer;

`

2569

``

-

2570

``

`-

if (callback !== undefined) {

`

2571

``

`-

if (typeof callback !== 'function')

`

2572

``

`-

throw new ERR_INVALID_CALLBACK();

`

2573

``

`-

this.once('timeout', callback);

`

2574

``

`-

}

`

2575

``

`-

}

`

2576

``

`-

return this;

`

2577

``

`-

}

`

``

2546

`+

value: setStreamTimeout

`

2578

2547

`};

`

2579

2548

`Object.defineProperty(Http2Stream.prototype, 'setTimeout', setTimeout);

`

2580

2549

`Object.defineProperty(Http2Session.prototype, 'setTimeout', setTimeout);

`