async check (connection) {
    if (this._isCheckDisabled || this._isNewlyCreatedConnection(connection)) {
      return true
    }

    const idleFor = Date.now() - connection.idleTimestamp

    if (this._connectionLivenessCheckTimeout === 0 ||
         idleFor > this._connectionLivenessCheckTimeout) {
      return await connection.resetAndFlush()
        .then(() => true)
    }

    return true
  }
Checks connection liveness with configured params.

@param {Connection} connection
@returns {Promise<true>} If liveness checks succeed, throws otherwise