fix: registerRTT would break successful queries (#610)

* revert commit

* revert core registerRTT

* revert "revert commit"

* making this simpler

* changelog
This commit is contained in:
CosminPerRam 2024-08-19 18:51:21 +03:00 committed by GitHub
parent d88f6cfca3
commit 60c3990c7c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 14 deletions

View file

@ -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

View file

@ -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}`)
}
}
@ -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,