class Net::IMAP::SASL::AuthenticationExchange

def self.build(client, mechanism, *args, sasl_ir: true, **kwargs, &block)

SASL::Authenticators registry.
SASL.authenticator. Use the +registry+ kwarg to override the global
+mechanism+, +args+, +kwargs+, and +block+ are all forwarded to

client adapter all support it. Defaults to +true+.
also on whether the server capabilities, mechanism authenticator, and
+sasl_ir+ allows or disallows sending an "initial response", depending

+mechanism+ must be a SASL mechanism name, as a string or symbol.

+client+ must be an instance of SASL::ClientAdapter.

a new Authentication exchange.
Convenience method to combine the creation of a new authenticator and
def self.build(client, mechanism, *args, sasl_ir: true, **kwargs, &block)
  authenticator = SASL.authenticator(mechanism, *args, **kwargs, &block)
  new(client, mechanism, authenticator, sasl_ir: sasl_ir)
end