_handleFatalError (error) {
    this._isBroken = true
    this._error = this.handleAndTransformError(
      this._protocol.currentFailure || error,
      this._address
    )

    if (this._log.isErrorEnabled()) {
      this._log.error(
        `experienced a fatal error caused by ${this._error} (${json.stringify(this._error)})`
      )
    }

    this._protocol.notifyFatalError(this._error)
  }
"Fatal" means the connection is dead. Only call this if something
happens that cannot be recovered from. This will lead to all subscribers
failing, and the connection getting ejected from the session pool.

@param error an error object, forwarded to all current and future subscribers