Skip to content

Commit

Permalink
fix: registerRTT would break successful queries (#610)
Browse files Browse the repository at this point in the history
* revert commit

* revert core registerRTT

* revert "revert commit"

* making this simpler

* changelog
  • Loading branch information
CosminPerRam authored Aug 19, 2024
1 parent d88f6cf commit 60c3990
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
## To Be Released...
## 5.X.Y
* Added Vintage Story support via the master server (#606)
* Fixed `registerRtt` breaking successful queries if it didn't respond in the query timeout (#610)
* Added support for rFactor 2 (By @xCausxn #614)

## 4.3.2
Expand Down
25 changes: 11 additions & 14 deletions protocols/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,20 +101,17 @@ export default class Core extends EventEmitter {
async run (/** Results */ state) {}

/** Param can be a time in ms, or a promise (which will be timed) */
async registerRtt (param) {
try {
if (param instanceof Promise) {
const start = Date.now()
await param
await this.registerRtt(Date.now() - start)
} else {
this.logger.debug(`Registered RTT: ${param}ms`)
if (this.shortestRTT === 0 || param < this.shortestRTT) {
this.shortestRTT = param
}
registerRtt (param) {
if (param instanceof Promise) {
const start = Date.now()
param.then(() => {
this.registerRtt(Date.now() - start)
}).catch((_) => {})
} else {
this.logger.debug('Registered RTT: ' + param + 'ms')
if (this.shortestRTT === 0 || param < this.shortestRTT) {
this.shortestRTT = param
}
} catch (error) {
this.logger.debug(`Error in promise: ${error}`)
}
}

Expand Down Expand Up @@ -198,7 +195,7 @@ export default class Core extends EventEmitter {
socket.on('ready', resolve)
socket.on('close', () => reject(new Error('TCP Connection Refused')))
})
await this.registerRtt(connectionPromise)
this.registerRtt(connectionPromise)
connectionTimeout = Promises.createTimeout(this.options.socketTimeout, 'TCP Opening')
await Promise.race([
connectionPromise,
Expand Down

0 comments on commit 60c3990

Please sign in to comment.