mirror of
https://github.com/openstf/stf
synced 2025-10-05 10:39:25 +02:00
Try to read frames immediately instead of waiting for a readable event. We may already have received it before.
This commit is contained in:
parent
5bb05f52f6
commit
c1357ac540
1 changed files with 13 additions and 4 deletions
|
@ -42,6 +42,7 @@ module.exports = syrup.serial()
|
|||
this.failCounter = new FailCounter(3, 10000)
|
||||
this.failCounter.on('exceedLimit', this._failLimitExceeded.bind(this))
|
||||
this.failed = false
|
||||
this.readableListener = this._readableListener.bind(this)
|
||||
}
|
||||
|
||||
util.inherits(FrameProducer, EventEmitter)
|
||||
|
@ -298,12 +299,15 @@ module.exports = syrup.serial()
|
|||
return Promise.resolve(true)
|
||||
}
|
||||
|
||||
socket.stream.removeListener('readable', this.readableListener)
|
||||
|
||||
var endListener
|
||||
return new Promise(function(resolve/*, reject*/) {
|
||||
socket.on('end', endListener = function() {
|
||||
resolve(true)
|
||||
})
|
||||
|
||||
socket.stream.resume()
|
||||
socket.end()
|
||||
})
|
||||
.finally(function() {
|
||||
|
@ -373,11 +377,11 @@ module.exports = syrup.serial()
|
|||
|
||||
FrameProducer.prototype._readFrames = function(socket) {
|
||||
this.needsReadable = true
|
||||
socket.on('readable', this.readableListener)
|
||||
|
||||
socket.on('readable', function() {
|
||||
this.readable = true
|
||||
this._maybeEmitReadable()
|
||||
}.bind(this))
|
||||
// We may already have data pending. Let the user know they should
|
||||
// at least attempt to read frames now.
|
||||
this.readableListener()
|
||||
}
|
||||
|
||||
FrameProducer.prototype._maybeEmitReadable = function() {
|
||||
|
@ -387,6 +391,11 @@ module.exports = syrup.serial()
|
|||
}
|
||||
}
|
||||
|
||||
FrameProducer.prototype._readableListener = function() {
|
||||
this.readable = true
|
||||
this._maybeEmitReadable()
|
||||
}
|
||||
|
||||
function createServer() {
|
||||
log.info('Starting WebSocket server on port %d', screenOptions.publicPort)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue