constructor(sasl, host, port, logger, saslAuthenticate, digestDefinition) {
    this.sasl = sasl
    this.host = host
    this.port = port
    this.logger = logger
    this.saslAuthenticate = saslAuthenticate
    this.digestDefinition = digestDefinition

    const digestType = digestDefinition.type.toUpperCase()
    this.PREFIX = `SASL SCRAM ${digestType} authentication`

    this.currentNonce = SCRAM.nonce()
  }
@param {SASLOptions} sasl
@param {Logger} logger
@param {Function} saslAuthenticate
@param {DigestDefinition} digestDefinition