code: function (connection, mechanisms) {
      this.connection = connection;
      this.transport = new Transport(connection.amqp_transport.identifier, SASL_PROTOCOL_ID, frames.TYPE_SASL, this);
      this.next = connection.amqp_transport;
      this.mechanisms = mechanisms;
      this.mechanism = undefined;
      this.outcome = undefined;
      this.username = undefined;
      var mechlist = Object.getOwnPropertyNames(mechanisms);
      this.transport.encode(frames.sasl_frame(frames.sasl_mechanisms({sasl_server_mechanisms:mechlist})));
  }
docs: The mechanisms argument is a map of mechanism names to factory
  functions for objects that implement that mechanism.